AP Computer Science Principles - Big Idea 4
AP Computer Science Principles: Big Idea 4 - Computer Systems and Networks (11-15% AP Exam Weighting)
Developing Understanding
- The Internet is a network used daily for information, socialization, and schoolwork.
- Students will learn how computer systems and networks (primarily the Internet) function.
- Topics include information transmission, system safeguards, and the impact of dividing tasks across multiple computing devices to enhance processing speed.
- This big idea connects to Big Idea 5: Impact of Computing.
Computational Thinking Practices
- 1.D: Evaluate solution options.
- 5.A: Explain how computing systems work.
- Large and complex programs can have impractical runtimes. To minimize runtime, individual processes can be run on multiple processors simultaneously.
- Programmers must evaluate running processes sequentially versus in parallel to optimize solution time.
- Real-world examples: Dividing household chores or passing back classroom papers can illustrate distributed processes.
- Additional connections and routers can create more stable Internet access, providing redundant routing options to ensure reliability.
- Evaluating existing infrastructure helps determine where to add connections and routers.
- Kinesthetic learning techniques can simulate connections and routers to make the abstract idea more concrete.
Preparing for the AP Exam
- Students will analyze scenarios of information transfer via the Internet and interconnected computer diagrams.
- Questions will assess understanding of how information passes through networks and how redundancy makes systems fault-tolerant.
- Encourage students to use the Marking the Text strategy to annotate diagrams for accurate visualization and matching with explanations.
Essential Questions
- CSN-1:
- Why are long text messages sometimes delivered out of order?
- How can you still access the Internet during a service outage in another part of town?
- CSN-2:
- What are the benefits of dividing tasks among group members?
- Is there a point where adding another group member would not make completing the task faster? Why?
Big Idea at a Glance
Learning Objective | Topic | Skills | Unit/Module |
---|
CSN-1.A, CSN-1.B, CSN-1.C, CSN-1.D | 4.1 The Internet | 5.A Explain how computing systems work. | |
CSN-1.E | 4.2 Fault Tolerance | 1.D Evaluate solution options. | |
| | 5.A Explain how computing systems work. | |
CSN-2.A, CSN-2.B | 4.3 Parallel and Distributed Computing | 1.D Evaluate solution options. | |
Sample Instructional Activities
- These activities are optional and aim to provide ways to incorporate instructional approaches.
Activity 1
- Topic: 4.1
- Type: Journaling
- Students read about the Internet and packet switching in Blown to Bits. Prompts include:
- How is the Internet like the US Post Office?
- Explain the difference between circuit switching and packet switching.
- Students draw how an email travels from one place to another based on their reading.
Activity 2
- Topic: 4.3
- Type: Predict and compare
- Introduce parallel and distributed computing by presenting processes and distributed models.
- Students compare the models and predict efficiency.
- Show students how to determine the efficiency of each model to verify their predictions.
Topic 4.1: The Internet
Enduring Understanding
- CSN-1: Computer systems and networks facilitate the transfer of data.
Learning Objective CSN-1.A
- Explain how computing devices work together in a network.
- Skill: 5.A (Explain how computing systems work)
Essential Knowledge
- CSN-1.A.1: A computing device is a physical artifact that can run a program (e.g., computers, tablets, servers, routers, smart sensors).
- CSN-1.A.2: A computing system is a group of computing devices and programs working together for a common purpose.
- CSN-1.A.3: A computer network is a group of interconnected computing devices capable of sending or receiving data.
- CSN-1.A.4: A computer network is a type of computing system.
- CSN-1.A.5: A path between two computing devices (sender and receiver) is a sequence of directly connected devices from sender to receiver.
- CSN-1.A.6: Routing is the process of finding a path from sender to receiver.
Learning Objective CSN-1.A (continued)
- CSN-1.A.7: The bandwidth of a computer network is the maximum amount of data that can be sent in a fixed amount of time.
- CSN-1.A.8: Bandwidth is usually measured in bits per second.
Learning Objective CSN-1.B
- Explain how the Internet works.
- Skill: 5.A
Essential Knowledge
- CSN-1.B.1: The Internet is a computer network of interconnected networks using standardized, open (nonproprietary) communication protocols.
- CSN-1.B.2: Access to the Internet depends on connecting a computing device to an Internet-connected device.
- CSN-1.B.3: A protocol is an agreed-upon set of rules that specify the behavior of a system.
- CSN-1.B.4: Internet protocols are open, allowing easy connection of additional computing devices.
- CSN-1.B.5: Routing on the Internet is usually dynamic and not specified in advance.
- CSN-1.B.6: Scalability is the capacity of a system to change in size and scale to meet new demands.
- CSN-1.B.7: The Internet was designed to be scalable.
Learning Objective CSN-1.C
- Explain how data are sent through the Internet via packets.
- Skill: 5.A
Essential Knowledge
- CSN-1.C.1: Information is passed through the Internet as a data stream, which contains chunks of data encapsulated in packets.
- CSN-1.C.2: Packets contain a chunk of data and metadata for routing and data reassembly.
- CSN-1.C.3: Packets may arrive in order, out of order, or not at all.
- CSN-1.C.4: IP, TCP, and UDP are common protocols used on the Internet.
Learning Objective CSN-1.D
- Describe the differences between the Internet and the World Wide Web.
- Skill: 5.A
Essential Knowledge
- CSN-1.D.1: The World Wide Web is a system of linked pages, programs, and files.
- CSN-1.D.2: HTTP is a protocol used by the World Wide Web.
- CSN-1.D.3: The World Wide Web uses the Internet.
Topic 4.2: Fault Tolerance
Enduring Understanding
- CSN-1: Computer systems and networks facilitate the transfer of data.
Learning Objective CSN-1.E
- For fault-tolerant systems, like the Internet:
- Describe the benefits of fault tolerance. (Skill: 1.D)
- Explain how a given system is fault-tolerant. (Skill: 5.A)
- Identify vulnerabilities to failure in a system. (Skill: 1.D)
Essential Knowledge
- CSN-1.E.1: The Internet has been engineered to be fault-tolerant with abstractions for routing and transmitting data.
- CSN-1.E.2: Redundancy is the inclusion of extra components to mitigate failure if other components fail.
- CSN-1.E.3: Network redundancy is achieved by having more than one path between any two connected devices.
- CSN-1.E.4: If a device or connection fails, subsequent data will be sent via a different route, if possible.
- CSN-1.E.5: A fault-tolerant system can support failures and still function, which is important because complex systems fail unexpectedly.
- CSN-1.E.6: Redundancy requires additional resources but provides the benefit of fault tolerance.
- CSN-1.E.7: Redundancy of routing options increases reliability and helps the Internet scale.
Topic 4.3: Parallel and Distributed Computing
Enduring Understanding
- CSN-2: Parallel and distributed computing leverage multiple computers to more quickly solve complex problems or process large datasets.
Learning Objective CSN-2.A
- For sequential, parallel, and distributed computing:
- Compare problem solutions. (Skill: 1.D)
- Determine the efficiency of solutions. (Skill: 1.D)
Essential Knowledge
- CSN-2.A.1: Sequential computing is a computational model where operations are performed in order, one at a time.
- CSN-2.A.2: Parallel computing is a computational model where the program is broken into multiple smaller sequential operations, some performed simultaneously.
- CSN-2.A.3: Distributed computing is a computational model using multiple devices to run a program.
- CSN-2.A.4: Comparing efficiency is done by comparing the time it takes to perform the same task.
- CSN-2.A.5: A sequential solution takes as long as the sum of all its steps.
- CSN-2.A.6: A parallel computing solution takes as long as its sequential tasks plus the longest of its parallel tasks.
- CSN-2.A.7: The “speedup” of a parallel solution is measured in the time sequentially divided by the time in parallel: Speedup = \frac{Time{sequential}}{Time{parallel}}.
Learning Objective CSN-2.B
- Describe benefits and challenges of parallel and distributed computing. (Skill: 1.D)
Essential Knowledge
- CSN-2.B.1: Parallel computing consists of a parallel portion and a sequential portion.
- CSN-2.B.2: Solutions using parallel computing can scale more effectively than sequential solutions.
- CSN-2.B.3: Distributed computing allows solving problems that are too large for a single computer due to processing time or storage needs.
- CSN-2.B.4: Distributed computing allows much larger problems to be solved quicker than with a single computer.
- CSN-2.B.5: When increasing parallel computing, efficiency is limited by the sequential portion. Adding parallel portions will eventually no longer meaningfully increase efficiency.