Unit1

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

Lesson 3: Sending Binary Messages with the Internet Simulator

Widget | Internet Simulator | Group Problem Solving | Concept Invention

  • Getting Started (10 mins)
  • Activity (35 mins)
  • Wrap-up (10 mins)
  • Assessment
  • Extended Learning

Students use the Internet simulator for the first time in this lesson. It is configured to represent two parties connected on a single shared wire that only hold one of two possible states. Students invent a binary call-response protocol that can overcome the coordination, timing and synchronization problems that arise when forced to use such a truly binary system.

Teacher Links: Video | Student Links: Activity Guide | Presentation | Video | Video | Video Worksheet

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

Lesson 6: Sending Numbers

Widget | Internet Simulator | Group Problem Solving

  • Getting Started (5 mins)
  • Activity (35 mins)
  • Wrap-up (10 mins)
  • Assessment
  • Extended Learning

Students invent a binary protocol for sending a line drawing represented as list of grid coordinates (numbers). Students test and hone their protocols using a new version of the Internet Simulator which is now configured to automatically send and receive streams of bits.

Student Links: Video | Activity Guide | Worksheet

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

Lesson 7: Sending Text

Widget | Group Problem Solving | Internet Simulator

  • Activity (35 mins)
  • Wrap-up (10 mins)
  • Assessment

Students invent a system for representing text using binary, incorporating ideas from the previous lesson on representing numbers. Students then learn the official ASCII system for representing text in binary and optionally practice using it on the Internet Simulator.

Teacher Links: Student Links:

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

Lesson 9: The Need for Addressing

Widget | Group Problem Solving | Internet Simulator | Unplugged

  • Getting Started (20 mins)
  • Activity: Silent Broadcast Battleship (25 mins)
  • Activity 2: Invent a Binary Protocol for Battleship (20 mins)
  • Wrap-up
  • Assessment
  • Extended Learning

Students invent a protocol (similar to the real Internet Protocol IP) to encode the necessary elements for playing a simplified, but multi-person, game of Battleship. Students first play unplugged, then using a new version of the Internet Simulator configured to allow a user to broadcast messages to a group.

Teacher Links: Video Student Links: Activity Guide | Activity Guide | Video | Video Worksheet | Activity Guide | Video

Lesson 10: Routers and Redundancy

Widget | Internet Simulator | Whole Class Discovery

  • Getting Started
  • Activity
  • Wrap-up
  • Assessment

Students use a new version of the Internet Simulator configured with simulated IP addresses and routers to explore the benefits (and potential security concerns) associated with routing traffic across the Internet. Students should see that messages go through many different routers, may not always take the same path to reach a destination, and all the traffic is publicly viewable!

Student Links: Activity Guide

Week 4

Lesson 11: Packets and Making a Reliable Internet

Widget | Internet Simulator | Group Problem Solving

  • Getting Started (5-20 mins)
  • Activity (35 mins)
  • Wrap-up (10 mins)
  • Assessment
  • Extended Learning

Through an unplugged activity students are introduced to packets, and issues with packets being delayed and dropped. Students invent a protocol to reliably send a message over an unreliable network using the Internet Simulator now configured to be "unreliable" by delaying and randomly dropping packets sent between routers.

Teacher Links: Video | Teacher Guide Student Links: Video | Activity Guide

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 12: The Need for DNS

Widget | Unplugged | Group Problem Solving | Internet Simulator | Research

  • Getting Started (15 mins)
  • Activity
  • Activity 2
  • Wrap-up
  • Assessment
  • Extended Learning

Through an unplugged activity students see the difficulties in trying to maintain a universal name-to-IP address mapping. The Domain Name System (DNS) is introduced and students can experiment with a simplified version using the Internet Simulator.

Teacher Links: Video | Teacher Resource Student Links: Worksheet | Activity Guide | 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.