Unit 1 - The Internet
In this unit students learn how computers represent all kinds of information and how the Internet allows that information to be shared with millions of people.
The first chapter explores the challenges and questions that arise when representing information in a computer or sending it from one computer to another. It begins by investigating why on-off signals, also known as binary signals, are used to represent information in a computer. It then introduces the way common information types like text and numbers are represented using these binary signals. Finally, it illustrates the importance of establishing shared communication rules, or protocols, for successfully sending and receiving information.
In the second chapter, students learn how the design of the internet allows information to be shared across billions of people and devices. Making frequent use of the Internet Simulator, they explore the problems the original designers of the internet had to solve and then students “invent” solutions. To conclude the unit, students research a modern social dilemma driven by the ubiquity of internet and the way it works.
Chapter 1: Representing and Transmitting Information
Big Questions
- How do computer represent information?
- How does information get from one computer to another?
- What challenges are involved when developing systems to represent or transmit information?
Enduring Understandings
- 2.1 A variety of abstractions built upon binary sequences can be used to represent all digital data.
- 3.3 There are trade offs when representing information as digital data.
- 6.2 Characteristics of the Internet influence the systems built on it.
- 7.2 Computing enables innovation in nearly every field.
Week 1
Lesson 1: Personal Innovations
Unplugged
- Tech Setup
- CSP Pre-Course Survey
- Getting Started (15 mins)
- Activity (25 mins)
- Wrap-up (5 - 10 min)
- Assessment Questions
- Extended Learning
Welcome to Computer Science Principles! Groups make a “rapid” prototype of an innovative idea and share it. Students watch a brief video about computing innovations.
Teacher Links: | Student Links: Activity Guide | Video | Rubric
Lesson 2: Sending Binary Messages
Unplugged | Concept Invention
- Getting Started (5 mins)
- Activity
- Wrap-up
- Assessment
- Extended Learning
Students collaborate in an iterative design process to make a “bit sending device” using classroom supplies and everyday objects. They develop systems for encoding and sending simple binary messages over a physical distance.
Teacher Links: Video Student Links: Activity Guide | Rubric
Optional Lesson: Sending Bits in the Real World
Optional
- Getting Started (10 mins)
- Activity (35 mins)
- Wrap-up (10 mins)
- Assessment
- Extended Learning
In this lesson, students will be introduced to how bits are transmitted over the most common mediums (copper wire, fiber-optic cable, and radio waves) used to connect devices on the Internet. They then chose a device that transmits bits and research that device and the system it uses. Students create a poster presenting their findings, and the lesson concludes with a gallery walk of the posters.
Teacher Links: Student Links: Rubric | Video | Worksheet | Activity Guide
Week 2
Lesson 4: Number Systems
Unplugged | Concept Invention
- Getting Started (5 mins)
- Activity (30 mins)
- Wrap-up
- Assessment
- Extended Learning
Students will explore the properties of number systems by inventing their own number system using only three shapes: a circle, triangle and a square. This lesson is a precursor to looking at several other number systems important to computing, especially binary and hexadecimal.
Teacher Links: Resource | Video Student Links: Worksheet
Lesson 5: Binary Numbers
Unplugged | Reinforcement
- Getting Started (15 mins)
- Activity (30 mins)
- Wrap-up
- Assessment
- Extended Learning
Students become more familiar with the binary number system by making a "flippy do" using the binary odometer widget and practicing doing binary-to-decimal number conversions.
Teacher Links: Slides | Teacher Guide | Code Studio | Video | Video | App Student Links: Worksheet | Activity Guide
Optional Lesson: Encoding Numbers in the Real World
Optional
- Getting Started (5 mins)
- Activity (35 mins)
- Wrap-up (10 mins)
- Assessment
- Extended Learning
In this lesson, students explore some fascinating stories from the news and history (and the future) about number encodings in computers. These stories should serve to illuminate how the kinds of decisions students have been making about number encodings are the same kinds of things that real scientists in the world have to worry about, sometimes with disastrous consequences. While this lesson has the possibility of running long, it is meant only as a short excursion into real-world application and should be limited to one class period.
Teacher Links: Student Links: Rubric | Activity Guide
Chapter Commentary
Key Concepts and Pedagogy
Protocols are Creative (and Arbitrary): In this chapter, students often design their own communication protocols to address a targeted problem. Students may be surprised to find how creative and seemingly arbitrary this process is. This highlights an important understanding that even widely used protocols on the internet were developed by someone to creatively solve a problem. Furthermore, any particular protocol succeeds primarily because the whole computing community agrees to use it.
Activity Before Concept, Concept Before Vocabulary: Rather than present the topics covered in this chapter in lecture form, students are presented inquiry-based activities in which they must discover or invent concepts themselves. Once the class has gone through this shared activity, the teacher will lead discussions that help synthesize the concepts they were exploring. Only then is technical vocabulary introduced. This approach is often shortened to “ABC CBV.”
An Equitable Introduction: Many aspects of Unit 1 were designed specifically to make it an equitable introduction to computer science. Unlike other CS topics, (like programming, where some students may already have experience), the internet is likely to be both relevant and mysterious to all students. These activities encourage collaboration, inventiveness, and exploration. These features combine to build a positive and supportive classroom environment where it is safe to make mistakes or ask questions. The “ABC CBV” pedagogy ensures all students have a shared experience to refer to before more technical vocabulary is introduced.
Chapter 2: Inventing the Internet
Big Questions
- What problems was the internet designed to solve and how does it solve these problems?
- How has the design of the internet allowed it to grow or evolve?
- Who or what is “in charge” of the internet?
- How should we resolve dilemmas caused by the structure and continuing growth of the internet?
Enduring Understandings
- 2.1 A variety of abstractions built upon binary sequences can be used to represent all digital data.
- 6.1 The Internet is a network of autonomous systems.
- 6.2 Characteristics of the Internet influence the systems built on it.
- 7.3 Computing has a global affect -- both beneficial and harmful -- on people and society.
Week 3
Lesson 8: The Internet Is for Everyone
Unplugged | Research
- Getting Started
- Activity 1 - KWL The Internet (25 mins)
- Activity - Vint Cerf: The Internet is for Everyone (20 mins)
- Wrap-up (5 mins)
- Assessment
- Extended Learning
Students read portions of a memo written by Vint Cerf entitled “The Internet is for Everyone”, a call-to-arms that highlights the benefits of a free and open Internet and identifies threats to this system.
Student Links: Activity Guide | Resource | Video | Handout
Week 4
Optional Lesson: Algorithms Detour - Minimum Spanning Tree
Optional
- Getting Started (5-20 mins)
- Activity (35 mins)
- Wrap-up (10 mins)
- Assessment
- Extended Learning
In this and the subsequent lesson, we consider some of the strategies used to construct networks and find paths for data in them. While this has a connection to ideas about the Internet, the focus of these lessons is on algorithms, formal techniques, and processes for solving problems. Students will explore and solve the Minimum Spanning Tree (MST) problem, first, in an unplugged fashion on paper. The real challenge is not in solving a particular instance of the minimum spanning tree, but to develop an algorithm, a clear series of steps, that if followed properly, will solve any instance of the problem. There is a possible misconception to look out for: the MST has a definite, verifiable optimal solution, as opposed to the Text Compression problem (from Unit 1), which does not.
Teacher Links: Answer Key | Student Links: Activity Guide
Optional Lesson: Algorithms Detour - Shortest Path
Optional
- Getting Started (5-20 mins)
- Activity (35 mins)
- Wrap-up (10 mins)
- Assessment
- Extended Learning
In this lesson students will explore the Single Source Shortest Path problem, by solving the problem with pencil and paper first, then by following a famous algorithm that solves the shortest path problem known as Dijkstra’s Algorithm. Even though this is an algorithms detour, there is a strong connection in this lesson to routing algorithms used on the Internet. This lesson also introduces ideas about how we analyze algorithms: looking for correctness, efficiency and running time. As foreshadowing: in the next lesson students will act out another distributed shortest path algorithm used by routers to learn about the Internet dynamically.
Teacher Links: Answer Key | Answer Key | Student Links: Worksheet | Activity Guide
Optional Lesson: Algorithms Detour - How Routers Learn
Optional
- Getting Started (5-20 mins)
- Activity (35 mins)
- Wrap-up (10 mins)
- Assessment
- Extended Learning
This lesson is the last of the algorithm series. Building off of the previous lesson about shortest path algorithms, the activity in this lesson shows how routers learn about the rest of the Internet in order to route traffic so it takes the shortest path. In the previous lessons, students use the Internet Simulator to send packets to other students through simulated routers. The path that the packet follows, and how the router knows where to send it, however, has been largely untouched. Today, students simulate the process of a router joining a network and generating a router table that would allow them to send packets to anyone else in their network as efficiently as possible. They then reflect on the process by comparing the similarities between the SSSP problem and the process the used today, and how it facilitates the structure of the Internet.
Teacher Links: Video | Student Links: Activity Guide | Video
Lesson 13: HTTP and Abstraction on the Internet
External Tool | Exploration
- Getting Started (15 mins)
- Activity (25 mins)
- Wrap-up (10 mins)
- Assessment
- Extended Learning
Students learn about and investigate HTTP by looking at HTTP traffic generated within their own browser. Students visit a variety of websites and use the browser’s built-in tools to view all the traffic.
Student Links: Resource | Worksheet | Video
Week 5
Lesson 14: Practice PT - The Internet and Society
Project | Practice PT | Research | Presentation
- Getting Started (2 mins)
- Activity (3 days)
- Wrap-up
- Assessment
- Extended Learning
In this Practice Performance Task students research and prepare a flash talk about the controversial issues around either Net Neutrality or Internet Censorship. The talk and artifacts produced should exhibit students' knowledge of the Internet.
Student Links: Practice PT
Chapter Commentary
Key Concepts and Pedagogy
Building Up the Layers of the Internet: The internet is a set of rules (or protocols) computers use to communicate. These protocols rely on one another and represent solutions to the problems that arise when multiple computers are connected in a network. When more than two computers are in the network, each will need a unique “address” in order to tell them apart. Since networks often feature complex webs of connections, there need to be rules to route messages so they’ll arrive at the intended address. If the network is sometimes unreliable, it’ll need a protocol that guarantees messages arrive safely. Just as the creators of the internet did before them, students encounter and then solve these problems, thereby “inventing” the different layers of the internet.
The Internet Simulator and Inventing the Internet: This chapter features many different versions of the Internet Simulator, each with slightly more functionality than the last. As they design solutions to problems, the simulator continues to incorporate these solutions, adding features that prevent needing to re-solve them. At the same time, the simulator will exhibit some new behavior or problem that must be solved. In this way students truly move up through the different layers of the internet, inventing the different protocols as they go.
A Familiar Pedagogy: Similar to the last chapter, the general approach to learning is through concept invention and using the “ABC CBV” pedagogy. Each lesson explores one of the fundamental problems that had to be solved for internet communication to work. They use robust unplugged activities to illuminate these abstract problems in a physical and experiential way. This approach provides students a common experience to draw on and explicitly avoids privileging students with prior knowledge. Combined with the inherently collaborative nature of using the Internet Simulator, these approaches are designed to create an equitable classroom environment.