Below are lists of the Computational Thinking Practices, Big Ideas, and Course Content in Unit 2. For more information on the Unit 2 Standards, please refer to the 2020 Course and Exam Description document.
Practice 1
Skill 1.D: Evaluate solution options.
Practice 5
Skill 5.A: Explain how computing systems work.
Skill 5.C: Describe the impact of a computing innovation.
Skill 5.E: Evaluate the use of computing based on legal and ethical factors.
Big Idea 3: Algorithms and Programming (AAP)
Enduring Understanding, Learning Objectives, and Essential Knowledge
CSN-1: Computer systems and networks facilitate the transfer of data.
CSN-1.B.6: The scalability of a system is the capacity for the system to change in size and scale to meet new demands.
CSN-1.B.7: The Internet was designed to be scalable.
CSN-1.D: Students will describe the differences between the Internet and the World Wide Web.
CSN-1.E: For fault-tolerant systems, like the Internet:
a. Students will describe the benefits of fault tolerance.
b. Students will explain how a given system is fault-tolerant.
IOC-1: While computing innovations are typically designed to achieve a specific purpose, they may have unintended consequences.
IOC-1.A: Students will identify and explain both beneficial and harmful effects of an innovation.
IOC-1.C: Students will describe issues that contribute to the digital divide.
IOC-1: While computing innovations are typically designed to achieve a specific purpose, they may have unintended consequences.
IOC-1.C.1: Internet access varies between socioeconomic, geographic, and demographic characteristics, as well as between countries.
IOC-1.C.2: The “digital divide” refers to differing access to computing devices and the Internet, based on socioeconomic, geographic, or demographic characteristics.
IOC-1.C.3: The digital divide can affect both groups and individuals.
IOC-1.C.4: The digital divide raises issues of equity, access, and influence, both globally and locally.
IOC-1.C.5: The digital divide is affected by the actions of individuals, organizations, and governments.
IOC-1.D: Students will identify and describe bias in the selected innovation.
IOC-1.F.10: The digital divide raises ethical concerns around computing.
CRD-1: Incorporating multiple perspectives through collaboration improves computing innovations as they are developed.
CRD-1.C: Demonstrate effective interpersonal skills during collaboration.
CRD-2: Developers create and innovate using an iterative design process that is user-focused, that incorporates implementation/feedback cycles, and that leaves ample room for experimentation and risk-taking.
CRD-2.E.4: Students will actively engage in a development process that is incremental by breaking down the problem into smaller pieces.
AAP-3: Programmers break down problems into smaller and more manageable pieces. By creating procedures and leveraging parameters, programmers generalize processes that can be reused. Procedures allow programmers to draw upon existing code that has already been tested, allowing them to write programs more quickly and with more confidence.
AAP-3.A: Students will write statements to call procedures.
AAP-3.A: Students will determine the result or effect of a procedure call.
AAP-3.D: Students will select appropriate libraries or existing code segments to use in creating new programs.
CSN-1: Computer systems and networks facilitate the transfer of data.
CSN-1.A.1: A computing device is a physical artifact that can run a program. Some examples include computers, tablets, servers, routers, and 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 on a computer network (a sender and a receiver) is a sequence of directly connected computing devices that begins at the sender and ends at the receiver.
CSN-1.A.6: Routing is the process of finding a path from sender to receiver.
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.
CSN-1.B.3: A protocol is an agreed-upon set of rules that specify the behavior of a system.
CSN-1.B.4: The protocols used in the Internet are open, which allows users to easily connect additional computing devices to the Internet.
CSN-1.C.1: Information is passed through the Internet as a data stream. Data streams contain chunks of data, which are encapsulated in packets.
CSN-1.C.2: Packets contain a chunk of data and metadata used for routing the packet between the origin and the destination on the Internet, as well as for data reassembly.
CSN-1.C.3: Packets may arrive at the destination in order, out of order, or not at all.
CSN-1.C-4: IP, TCP, and UDP are common protocols used on the Internet.
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.
CSN-1.E.2: Redundancy is the inclusion of extra components that can be used to mitigate failure of a system if other components fail.
CSN-1.E.5: When a system can support failures and still continue to function, it is called fault-tolerant. This is important because elements of complex systems fail at unexpected times, often in groups, and fault tolerance allows users to continue to use the network.
CSN-2: Parallel and distributed computing leverage multiple computers to more quickly solve complex problems or process large data sets.
CSN-2.A.1: Sequential computing is a computational model in which 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 computing operations, some of which are performed simultaneously.
CSN-2.A.3: Distributed computing is a computational model in which multiple devices are used to run a program.
CSN-1: Computer systems and networks facilitate the transfer of data.
CSN-1.A: Students will explain how computing devices work together in a network.
CSN-1.A.3: A computer network is a group of interconnected computing devices capable of sending or receiving data.
CSN-1.A.5: A path between two computing devices on a computer network (a sender and a receiver) is a sequence of directly connected computing devices that begins at the sender and ends at the receiver.
CSN-1: Computer systems and networks facilitate the transfer of data.
CSN-1.C: Students will explain how data are sent through the Internet via packets.
CSN-1.E: For fault-tolerant systems, like the Internet:
CSN-1.E.a: Students will describe the benefits of fault tolerance.
CSN-1.E.b: Students will explain how a given system is fault-tolerant.
CSN-1.B.5: Routing on the Internet is usually dynamic, it is not specified in advance.
CSN-1.C.1: Information is passed through the Internet as a data stream. Data streams contain chunks of data, which are encapsulated in packets.
CSN-1.C.2: Packets contain a chunk of data and metadata used for routing the packet between the origin and the destination on the Internet, as well as for data reassembly.
CSN-1.C.3: Packets may arrive at the destination in order, out of order, or not at all.
CSN-1.C-4: IP, TCP, and UDP are common protocols used on the Internet.
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 that can be used to mitigate failure of a system if other components fail.
CSN-1.E.3: One way to accomplish network redundancy is by having more than one path between any two connected devices.
CSN-1.E.4: If a particular device or connection on the Internet fails, subsequent data will be sent via a different route, if possible.
CSN-1.E.5: When a system can support failures and still continue to function, it is called fault-tolerant. This is important because elements of complex systems fail at unexpected times, often in groups, and fault tolerance allows users to continue to use the network.
CSN-1.E.6: Redundancy within a system often requires additional resources but can provide the benefit of fault tolerance.
CSN-1.E.7: The redundancy of routing options between two points increases the reliability of the Internet and helps it scale to more devices and more people.
CSN-1: Computer systems and networks facilitate the transfer of data.
CSN-1.B: Students will explain how the Internet works.
CSN-1.B.1: The Internet is a computer network consisting of interconnected networks that use standardized, open (nonproprietary) communication protocols.
CSN-1.B.2: Access to the Internet depends on the ability to connect 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: The protocols used in the Internet are open, which allows users to easily connect additional computing devices to the Internet.
CSN-1.B.5: Routing on the Internet is usually dynamic; it is not specified in advance.
CSN-1.B.6: The scalability of a system is the capacity for the system to change in size and scale to meet new demands.
CSN-1.B.7: The Internet was designed to be scalable.
CSN-2: Parallel and distributed computing leverage multiple computers to more quickly solve complex problems or process large data sets.
CSN-2.A: For sequential, parallel, and distributed computing:
a. Students will compare problem solutions
b. Students will determine the efficiency of solutions
CSN-2.A.1: Sequential computing is a computational model in which 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 computing operations, some of which are performed simultaneously.
CSN-2.A.3: Distributed computing is a computational model in which multiple devices are used to run a program.
CSN-2.A.4: Comparing the efficiency of solutions can be done by comparing the time it takes them to perform the same task.
CSN-2.A.5: A sequential solution takes as long as the sum of all of 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 it took to complete the task sequentially divided by the time it took to complete the task when done in parallel.
CSN-2.B: Students will describe benefits and challenges of parallel and distributed computing.
CSN-2.B.1: Parallel computing consists of a parallel portion and a sequential portion.
CSN-2.B.2: Solutions that use parallel computing can scale more effectively than solutions that use sequential computing.
CSN-2.B.3: Distributed computing allows problems to be solved that could not be solved on a single computer because of either the processing time or storage needs involved.
CSN-2.B.4: Distributed computing allows much larger problems to be solved quicker than they could be solved using a single computer.
CSN-2.B.5: When increasing the use of parallel computing in a solution, the efficiency of the solution is still limited by the sequential portion. This means that at some point, adding parallel portions will no longer meaningfully increase efficiency.
CSN-2.B.4: Distributed computing allows much larger problems to be solved quicker than they could be solved using a single computer.
CSN-2.B.5: When increasing the use of parallel computing in a solution, the efficiency of the solution is still limited by the sequential portion. This means that at some point, adding parallel portions will no longer meaningfully increase efficiency.
IOC-1: While computing innovations are typically designed to achieve a specific purpose, they may have unintended consequences.
IOC-1.E: Students will explain how people participate in problem-solving processes at scale.
CRD-1: Incorporating multiple perspectives through collaboration improves computing innovations as they are developed.
CRD-1.C: Students will demonstrate effective interpersonal skills during collaboration.
CRD-2.E.4: Students will actively engage in a development process that is incremental by breaking down the problem into smaller pieces .
Programming plug in:
AAP-3: Programmers break down problems into smaller and more manageable pieces. By creating procedures and leveraging parameters, programmers generalize processes that can be reused. Procedures allow programmers to draw upon existing code that has already been tested, allowing them to write programs more quickly and with more confidence.
AAP-3.a: Students will write statements to call procedures.
AAP-3.b: Students will determine the result or effect of a procedure call.
AAP-3.D: Students will select appropriate libraries or existing code segments to use in creating new programs.
AAP-3: Programmers break down problems into smaller and more manageable pieces. By creating procedures and leveraging parameters, programmers generalize processes that can be reused. Procedures allow programmers to draw upon existing code that has already been tested, allowing them to write programs more quickly and with more confidence.
AAP-3.a: Students will write statements to call procedures using the the setEffect function to code sound effects.
AAP-3.b: Students will determine the result or effect of a procedure.
CSN-1.A.1 A computing device is a physical artifact that can run a program. Some examples include computers, tablets, servers, routers, and 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 on a computer network (a sender and a receiver) is a sequence of directly connected computing devices that begins at the sender and ends at the receiver.
CSN-1.A.6 Routing is the process of finding a path from sender to receiver.
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.
CSN-1.B: Explain how the internet works
CSN-1.B.1 The Internet is a computer network consisting of interconnected networks that use standardized, open (nonproprietary) communication protocols.
CSN-1.B.2 Access to the Internet depends on the ability to connect 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 The protocols used in the Internet are open, which allows users to easily connect additional computing devices to the Internet.
CSN-1.B.5 Routing on the Internet is usually dynamic; it is not specified in advance.
CSN-1.B.6 The scalability of a system is the capacity for the system to change in size and scale to meet new demands.
CSN-1.B.7 The Internet was designed to be scalable.
CSN-1.C: Explain how data are sent through the Internet via packets
CSN-1.C.1 Information is passed through the Internet as a data stream. Data streams contain chunks of data, which are encapsulated in packets.
CSN-1.C.2 Packets contain a chunk of data and metadata used for routing the packet between the origin and the destination on the Internet, as well as for data reassembly
CSN-1.C.3 Packets may arrive at the destination in order, out of order, or not at all.
CSN-1.C.4 IP, TCP, and UDP are common protocols used on the Internet.
CSN-1.D: Describe the differences between the Internet and the World Wide Web
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.
CSN-1.E: For fault-tolerant systems like the internet,
Describe the benefits of fault tolerance.
Explain how a given system is fault tolerant.
Identify vulnerabilities to failure in a system.
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 that can be used to mitigate failure of a system if other components fail.
CSN-1.E.3 One way to accomplish network redundancy is by having more than one path between any two connected devices.
CSN-1.E.4 If a particular device or connection on the Internet fails, subsequent data will be sent via a different route, if possible.
CSN-1.E.5 When a system can support failures and still continue to function, it is called fault-tolerant. This is important because elements of complex systems fail at unexpected times, often in groups, and fault tolerance allows users to continue to use the network.
CSN-1.E.6 Redundancy within a system often requires additional resources but can provide the benefit of fault tolerance.
CSN-1.E.7 The redundancy of routing options between two points increases the reliability of the Internet and helps it scale to more devices and more people.
CSN-2: Parallel and distributed computing leverage multiple computers to more quickly solve complex problems or process large data sets.
CSN-2.A: For sequential, parallel, and distributed computing:
Compare problem solutions.
Determine the efficiency of solutions.
CSN-2.A.1 Sequential computing is a computational model in which 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 computing operations, some of which are performed simultaneously.
CSN-2.A.3 Distributed computing is a computational model in which multiple devices are used to run a program.
CSN-2.A.4 Comparing efficiency of solutions can be done by comparing the time it takes them to perform the same task.
CSN-2.A.5 A sequential solution takes as long as the sum of all of 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 it took to complete the task sequentially divided by the time it took to complete the task when done in parallel.
CSN-2.B: Describe benefits and challenges of parallel and distributed computing.
CSN-2.B.1 Parallel computing consists of a parallel portion and a sequential portion.
CSN-2.B.2 Solutions that use parallel computing can scale more effectively than solutions that use sequential computing.
CSN-2.B.3 Distributed computing allows problems to be solved that could not be solved on a single computer because of either the processing time or storage needs involved.
CSN-2.B.4 Distributed computing allows much larger problems to be solved quicker than they could be solved using a single computer.
CSN-2.B.5 When increasing the use of parallel computing in a solution, the efficiency of the solution is still limited by the sequential portion. This means that at some point, adding parallel portions will no longer meaningfully increase efficiency.
IOC-1: While computing innovations are typically designed to achieve a specific purpose, they may have unintended consequences.
IOC-1.A: Explain how an effect of a computing innovation can be both beneficial and harmful.
IOC-1.B: Explain how a computing innovation can have an impact beyond its intended purpose.
IOC-1.C: Describe issues that contribute to the digital divide
IOC-1.C.1: Internet access varies between socioeconomic, geographic, and demographic characteristics, as well as between countries.
IOC-1.C.2: The “digital divide” refers to differing access to computing devices and the Internet, based on socioeconomic, geographic, or demographic characteristics.
IOC-1.C.3: The digital divide can affect both groups and individuals.
IOC-1.C.4: The digital divide raises issues of equity, access, and influence, both globally and locally.
IOC-1.C.5: The digital divide is affected by the actions of individuals, organizations, and governments.
IOC-1.D: Explain how bias exists in computing innovations.
IOC-1.D: Students will identify and describe bias in the selected innovation.
IOC-1.F.10: The digital divide raises ethical concerns around computing.
AAP-3: Programmers break down problems into smaller and more manageable pieces. By creating procedures and leveraging parameters, programmers generalize processes that can be reused. Procedures allow programmers to draw upon existing code that has already been tested, allowing them to write programs more quickly and with more confidence.
AAP-3.A: Students will write statements to call procedures.
AAP-3.A: Students will determine the result or effect of a procedure call.
AAP-3.D: Students will select appropriate libraries or existing code segments to use in creating new programs.
CRD-1: Incorporating multiple perspectives through collaboration improves computing innovations as they are developed.
CRD-1.C: Demonstrate effective interpersonal skills during collaboration.
CRD-2: Developers create and innovate using an iterative design process that is user-focused, that incorporates implementation/feedback cycles, and that leaves ample room for experimentation and risk-taking.
CRD-2.E.4: Students will actively engage in a development process that is incremental by breaking down the problem into smaller pieces.