| 1 | What is Computer Science? | CRD-1.A.1 | A computing innovation includes a program as an integral part of its function. |
| | CRD-1.A.2 | A computing innovation can be physical (i.e., self-driving car), non-physical computing software (i.e., picture editing software), or non-physical computing concepts (i.e., eCommerce). |
| | CRD-1.A.3 | Effective collaboration produces a computing innovation that reflects the diversity of talents and perspectives of those who designed it. |
| | CRD-1.A.4 | Collaboration that includes diverse perspectives helps to avoid bias in the development of computing innovations. |
| | CRD-1.A.5 | Consultation and communication with users is an important aspect of the development of computing innovations. |
| | CRD-2.A.1 | The purpose of computing innovations is to solve problems or pursue interests through creative expression. |
| 2 | Hardware & Software | CRD-1.A.6 | Research gathered from users can be used to understand the purpose of a program from diverse perspectives in order to develop a program that can be used to fully incorporate these perspectives. |
| | 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.3 | A computer network is a group of interconnected computing devices capable of sending or receiving data. |
| 3 | Hardware (Continued) | 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 a computing system. |
| | CSN-1.B.1 | The Internet is a computer network consisting of interconnected networks that use standardized, open or non-proprietary, communication protocols. |
| | CSN-1.B.2 | Access to the Internet depends on the ability to connect a computing device to a part of the Internet. |
| | CSN-1.B.3 | A protocol is an agreed-upon set of rules that specify the behavior of some system. |
| | CSN-1.C.1 | Information is passed through the Internet as a datastream. Datastreams contains chunks of data which are encapsulated in packets. |
| 4 | Number Systems, Binary, Conversions | 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.3 | A computer network is a group of interconnected computing devices capable of sending or receiving data. |
| | DAT-1.A.1 | Data are values that can be stored in variables, passed as input to procedures and returned from procedures, items of lists, or standalone constant values. |
| | DAT-1.A.2 | Computing devices represent data digitally, which means that the lowest level components of any value are bits. |
| | DAT-1.A.3 | A “bit” is shorthand for “binary digit,” and is either 0 or 1. |
| | DAT-1.A.4 | A “byte” is 8 bits. |
| | DAT-1.B.1 | In many programming languages, the fixed number of bits used to represent integers limits the range of integer values and mathematical operations on those values; this limitation can result in overflow or other errors. |
| | DAT-1.B.2 | Other programming languages provide an abstraction through which the size of representable integers is limited only by the size of the computer’s memory; this is the case for the language defined in the exam reference sheet. |
| | DAT-1.A.6 | Bits are grouped to represent abstractions. These abstractions include, but are not limited to numbers, characters, and color. |
| | DAT-1.A.7 | The same sequence of bits may represent different types of data in different contexts. |
| | DAT-1.A.8 | Analog data are data with values that change continuously, or smoothly, over time. Some examples of analog data include music, colors of a painting, or position of a sprinter during a race. |
| | DAT-1.A.9 | The use of digital data to approximate real-world analog data is an example of abstraction. |
| | DAT-1.A.10 | Analog data can be closely approximated digitally using a sampling technique, which means measuring values of the analog signal at regular intervals (usually in time or space) called samples. The samples are measured to figure out the exact bits required to store each sample. |
| | DAT-1.B.3 | In programming languages, the fixed number of bits used to represent real numbers limits the range of values and mathematical operations on those values; this limitation can result in round-off and other errors. Real numbers can only be approximated in computer storage. EXCLUSION STATEMENT (EK DAT-1.B.3): Specific range limitations for real numbers is outside the scope of this course and the AP Exam. |
| | DAT-1.C.1 | Number bases, including binary and decimal, are used to represent data. |
| | DAT-1.C.2 | Binary (base 2) uses only combinations of the digits zero and one. |
| | DAT-1.C.3 | Decimal (base 10) uses only combinations of the digits 0 – 9. |
| | DAT-1.C.4 | As with decimal, a digit’s position within the binary sequence determines its numeric value. The numeric value is equal to the bits value multiplied by the place value of the position. |
| | DAT-1.C.5 | The place value of each position is determined by the base raised to the power of the position. Positions are numbered starting at the rightmost position with 0 and increasing by 1 for each subsequent position to the left. |
| 5 | Boolean Logic, Truth Tables, and Logic Gates | AAP-2.A.1 | An algorithm is a finite set of instructions that accomplish a specific task. |
| | AAP-2.A.2 | Beyond visual and textual programming languages, algorithms can be expressed in a variety of ways such as natural language, diagrams, and pseudocode. |
| | AAP-2.A.3 | Algorithms executed by a program are implemented using programming languages. |
| | AAP-2.A.4 | Every algorithm can be constructed using combinations of sequencing, selection, and iteration. |
| | AAP-2.C.1 | Arithmetic operators are part of most programming languages and include addition, subtraction, multiplication, division, and modulus operators. |
| | AAP-2.C.2 | The exam reference sheet provides a MOD b, which evaluates to the remainder when a is divided by b. Assume that a is an integer greater than or equal to 0 and b is an integer greater than 0. For example, 17 MOD 5 evaluates to 2. |
| | AAP-2.C.3 | The exam reference sheet provides the arithmetic operators +, -, *, /, and MOD. a + b; a – b; a * b; a / b; a MOD b; These are used to perform arithmetic on a and b. For example, 17 / 5 evaluates to 3.4. |
| 6 | Unit 1 Review | CRD-1.A.2 | A computing innovation can be physical (i.e., self-driving car), non-physical computing software (i.e., picture editing software), or non-physical computing concepts (i.e., eCommerce). |
| | 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. |
| | 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. |
| 7 | Unit 1 Exam & Intro to Pixels & Images | CRD-1.B.2 | Common models such as pair programming exist to facilitate collaboration. |
| | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | 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. |
| | DAT-2.A.1 | Information is the collection of facts and patterns extracted from data. |
| 8 | Encoding, Color Models, Vector vs. Raster, etc. | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | DAT-2.A.1 | Information is the collection of facts and patterns extracted from data. |
| | DAT-2.A.2 | Data provide opportunities for identifying trends, making connections, and addressing problems. |
| | DAT-2.A.3 | Digitally processed data may show correlation between variables. A correlation found in data does not necessarily imply a causal relationship exists. Often additional research is needed to understand the exact nature of the relationship. |
| 9 | Intro to Masking | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CRD-2.B.3 | A program needs to work for a variety of inputs and situations. |
| | DAT-2.A.1 | Information is the collection of facts and patterns extracted from data. |
| | DAT-2.A.3 | Digitally processed data may show correlation between variables. A correlation found in data does not necessarily imply a causal relationship exists. Often additional research is needed to understand the exact nature of the relationship. |
| 10 | Unit 2 Project (Part 1) | CRD-1.A.2 | A computing innovation can be physical (i.e., self-driving car), non-physical computing software (i.e., picture editing software), or non-physical computing concepts (i.e., eCommerce). |
| | CRD-1.A.6 | Research gathered from users can be used to understand the purpose of a program from diverse perspectives in order to develop a program that can be used to fully incorporate these perspectives. |
| | DAT-2.A.2 | Data provide opportunities for identifying trends, making connections, and addressing problems. |
| 11 | Unit 2 Project (Part 2) | CRD-1.A.3 | Effective collaboration produces a computing innovation that reflects the diversity of talents and perspectives of those who designed it. |
| | CRD-1.A.4 | Collaboration that includes diverse perspectives helps to avoid bias in the development of computing innovations. |
| | CRD-2.A.2 | An understanding of the purpose of a computing innovation provides developers with an improved ability to develop the computing innovation. |
| 12 | Unit 2 Project (Part 2, continued) | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CRD-2.A.2 | An understanding of the purpose of a computing innovation provides developers with an improved ability to develop the computing innovation. |
| | DAT-2.A.1 | Information is the collection of facts and patterns extracted from data. |
| | DAT-2.A.3 | Digitally processed data may show correlation between variables. A correlation found in data does not necessarily imply a causal relationship exists. Often additional research is needed to understand the exact nature of the relationship. |
| | DAT-2.A.4 | Often a single data source does not contain the necessary data to draw a conclusion. It may be required to combine data from a variety of sources to formulate a conclusion. |
| 13 | Group Research (Computational Innovation Task) | CRD-1.A.5 | Consultation and communication with users is an important aspect of the development of computing innovations. |
| | CRD-2.B.1 | A program is a collection of program statements that performs a specific task when run by a computer. A program is often referred to as software. |
| | IOC-1.A.4 | A single effect can be viewed as both beneficial and harmful based on an individual’s perspectives. |
| | IOC-1.B.1 | Computing innovations can be used in ways that the creator had not originally intended. Some examples include: The World Wide Web was originally intended only for rapid and easy exchange of information within the scientific community; Targeted advertising is used to help individuals, but it can be misused at both individual and aggregate levels; Machine learning and data mining have enabled innovation in medicine, business, and science, but information discovered in this way could also be used to discriminate against groups of individuals. |
| 14 | Midterm Partner Project | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CRD-2.B.1 | A program is a collection of program statements that performs a specific task when run by a computer. A program is often referred to as software. |
| | IOC-1.A.4 | A single effect can be viewed as both beneficial and harmful based on an individual’s perspectives. |
| | IOC-1.B.1 | Computing innovations can be used in ways that the creator had not originally intended. Some examples include: The World Wide Web was originally intended only for rapid and easy exchange of information within the scientific community; Targeted advertising is used to help individuals, but it can be misused at both individual and aggregate levels; Machine learning and data mining have enabled innovation in medicine, business, and science, but information discovered in this way could also be used to discriminate against groups of individuals. |
| 15 | Encoding/Compression | DAT-2.C.1 | The ability to process data depends on the capabilities of the users and their tools. Therefore, a data set can be considered to be a large data set based on the capabilities of some users, but not necessarily for all users. |
| | DAT-2.C.2 | Data pose challenges regardless of size. Such as: the need to clean data; incomplete data; invalid data; or the need to combine data sources. |
| | DAT-2.C.3 | Depending on how data are being collected, the data may not be uniform. For example, if users enter data into an open field, the way they choose to abbreviate, spell or capitalize something may vary from user to user. |
| | DAT-2.C.4 | Cleaning data is a process that makes the data uniform without changing its meaning. For example, replacing all abbreviations, spellings and capitalizations with the same word. |
| | DAT-1.D.1 | Data compression can reduce the size (number of bits) of the data transmitted or stored. |
| | DAT-1.D.2 | Fewer bits does not necessarily mean less information. |
| | DAT-1.D.3 | The amount of reduction in bits by compression depends on both the amount of redundancy in the original data representation and the compression algorithm applied. |
| | DAT-1.D.4 | Lossless data compression algorithms can usually reduce the number of bits stored or transmitted while guaranteeing complete reconstruction of the original data. |
| | DAT-1.D.5 | Lossy data compression algorithms can significantly reduce the number of bits stored or transmitted, but only allow the reconstruction of an approximation of the original data. |
| | DAT-1.D.6 | Lossy data compression algorithms can usually reduce the number of bits stored or transmitted more than lossless compression. |
| | DAT-1.D.7 | In situations where quality or ability to reconstruct the original is maximally important, lossless compression algorithms are typically chosen. |
| | DAT-1.D.8 | In situations where minimizing data size or short transmission time is maximally important, lossy compression algorithms are typically chosen. |
| 16 | Text Compression (continued) | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | DAT-2.C.5 | Problems of bias are often caused by the type or source of data that is being collected. Bias is not eliminated by simply collecting more data. |
| | DAT-1.D.1 | Data compression can reduce the size (number of bits) of the data transmitted or stored. |
| | DAT-1.D.2 | Fewer bits does not necessarily mean less information. |
| | DAT-1.D.3 | The amount of reduction in bits by compression depends on both the amount of redundancy in the original data representation and the compression algorithm applied. |
| | DAT-1.D.4 | Lossless data compression algorithms can usually reduce the number of bits stored or transmitted while guaranteeing complete reconstruction of the original data. |
| | DAT-1.D.5 | Lossy data compression algorithms can significantly reduce the number of bits stored or transmitted, but only allow the reconstruction of an approximation of the original data. |
| | DAT-1.D.6 | Lossy data compression algorithms can usually reduce the number of bits stored or transmitted more than lossless compression. |
| | DAT-1.D.7 | In situations where quality or ability to reconstruct the original is maximally important, lossless compression algorithms are typically chosen. |
| | DAT-1.D.8 | In situations where minimizing data size or short transmission time is maximally important, lossy compression algorithms are typically chosen. |
| 17 | Audio/Video Compression | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | DAT-2.C.1 | The ability to process data depends on the capabilities of the users and their tools. Therefore, a data set can be considered to be a large data set based on the capabilities of some users, but not necessarily for all users. |
| | DAT-2.C.2 | Data pose challenges regardless of size. Such as: the need to clean data; incomplete data; invalid data; or the need to combine data sources. |
| | DAT-2.C.3 | Depending on how data are being collected, the data may not be uniform. For example, if users enter data into an open field, the way they choose to abbreviate, spell or capitalize something may vary from user to user. |
| | DAT-2.C.6 | The size of the data set affects the amount of information that can be extracted from it. |
| | DAT-2.C.8 | Scalability of systems is an important consideration when working with large data sets, since the size or scale of a system affects how that data set can be processed and stored. |
| | DAT-1.D.1 | Data compression can reduce the size (number of bits) of the data transmitted or stored. |
| | DAT-1.D.2 | Fewer bits does not necessarily mean less information. |
| | DAT-1.D.3 | The amount of reduction in bits by compression depends on both the amount of redundancy in the original data representation and the compression algorithm applied. |
| | DAT-1.D.4 | Lossless data compression algorithms can usually reduce the number of bits stored or transmitted while guaranteeing complete reconstruction of the original data. |
| | DAT-1.D.5 | Lossy data compression algorithms can significantly reduce the number of bits stored or transmitted, but only allow the reconstruction of an approximation of the original data. |
| | DAT-1.D.6 | Lossy data compression algorithms can usually reduce the number of bits stored or transmitted more than lossless compression. |
| | DAT-1.D.7 | In situations where quality or ability to reconstruct the original is maximally important, lossless compression algorithms are typically chosen. |
| | DAT-1.D.8 | In situations where minimizing data size or short transmission time is maximally important, lossy compression algorithms are typically chosen. |
| 18 | New File Type | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | DAT-2.A.1 | Information is the collection of facts and patterns extracted from data. |
| | DAT-2.C.1 | The ability to process data depends on the capabilities of the users and their tools. Therefore, a data set can be considered to be a large data set based on the capabilities of some users, but not necessarily for all users. |
| | DAT-2.C.7 | Large data sets are difficult to process using a single computer and may require parallel systems. |
| 19 | Unit 3 Exam | AAP-2.A.1 | An algorithm is a finite set of instructions that accomplish a specific task. |
| | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CRD-2.A.2 | An understanding of the purpose of a computing innovation provides developers with an improved ability to develop the computing innovation. |
| | DAT-2.A.3 | Digitally processed data may show correlation between variables. A correlation found in data does not necessarily imply a causal relationship exists. Often additional research is needed to understand the exact nature of the relationship. |
| 20 | Introduction to Data & Visualizing Data | CRD-2.A.1 | The purpose of computing innovations is to solve problems or pursue interests through creative expression. |
| | DAT-2.A.3 | Digitally processed data may show correlation between variables. A correlation found in data does not necessarily imply a causal relationship exists. Often additional research is needed to understand the exact nature of the relationship. |
| | DAT-2.B.1 | Metadata are data about data. Metadata is associated with the primary data; the primary data may be an image, a Web page, or other complex object. |
| | IOC-1.E.1 | Widespread access to information and public data facilitates the identification of problems, development of solutions, and dissemination of results. |
| 21 | Misrepresenting Data | DAT-2.B.2 | Changes and deletions made to metadata do not change the primary data. |
| | DAT-2.B.3 | Metadata are used for finding, organizing and managing information. |
| | IOC-1.D.1 | Computing innovations can reflect existing human biases because of biases written into the algorithms or biases in the data used by the innovation. |
| | IOC-1.E.1 | Widespread access to information and public data facilitates the identification of problems, development of solutions, and dissemination of results. |
| 22 | Spreadsheets (Part 1) | AAP-2.B.1 | Sequencing is the application of each step of an algorithm in the order in which the code statements are given. |
| | AAP-2.B.2 | A code statement is a part of program code that expresses an action to be carried out. |
| | AAP-2.B.3 | Expressions can consist of a value, a variable, operators, or procedure calls that return a value. |
| | AAP-2.B.4 | Expressions are evaluated to produce a single value. |
| | AAP-2.B.5 | The evaluation of expressions follows a set order of operations defined by the programming language. |
| | AAP-2.B.6 | Sequential statements execute in the order they appear in the code segment. |
| | AAP-2.B.7 | Clarity and readability are important considerations when expressing an algorithm in a programming language. |
| | AAP-2.D.1 | String concatenation joins together two or more strings end-to-end to make a new string. |
| | AAP-2.D.2 | A substring is part of an existing string. |
| | AAP-2.E.1 | A Boolean value is either true or false. |
| | AAP-2.E.2 | The exam reference sheet provides the following relational operators =, ≠, >, <, ≥, and ≤. a = b; a ≠ b; a > b; a < b; a ≥ b; a ≤ b; These are used to test the relationship between two variables, expressions, or values. A comparison using a relational operator evaluates to a Boolean value. For example, a = b evaluates to true if a and b are equal; otherwise, it evaluates to false. |
| | AAP-2.F.1 | The exam reference sheet provides the following logic operators: NOT, AND, and OR, which evaluate to a Boolean value. |
| | AAP-2.F.2 | The exam reference sheet provides NOT condition, which evaluates to true if condition is false; otherwise it evaluates to false. |
| | AAP-2.F.3 | The exam reference sheet provides condition1 AND condition2, which evaluates to true if both condition1 and condition2 are true; otherwise it evaluates to false. |
| | AAP-2.F.4 | The exam reference sheet provides condition1 OR condition2, which evaluates to true if condition1 is true or if condition2 is true or if both condition1 and condition2 are true; otherwise it evaluates to false. |
| | AAP-2.F.5 | The operands for a logic operator are either a Boolean expression or a single Boolean value. |
| | DAT-2.B.1 | Metadata are data about data. Metadata is associated with the primary data; the primary data may be an image, a Web page, or other complex object. |
| 23 | Spreadsheets (Part 2) | CRD-2.A.2 | An understanding of the purpose of a computing innovation provides developers with an improved ability to develop the computing innovation. |
| | DAT-2.B.1 | Metadata are data about data. Metadata is associated with the primary data; the primary data may be an image, a Web page, or other complex object. |
| | DAT-2.B.3 | Metadata are used for finding, organizing and managing information. |
| | DAT-2.B.4 | Metadata can increase the effective use of data or data sets by providing additional information. |
| | DAT-2.B.5 | Metadata allows data to be structured and organized. |
| | DAT-2.D.2 | Tables, diagrams, and textual displays or other visual tools can be used in communicating insight and knowledge gained from data. |
| | DAT-2.E.1 | Programs are used in an iterative and interactive way when processing information to allow users to gain insight and knowledge. |
| | DAT-2.E.2 | Programmers can use programs to filter and clean digital data, thereby gaining insight and knowledge. |
| | DAT-2.E.3 | Combining data sources, clustering data, and classifying data are parts of the process of using programs to gain insight and knowledge from data. |
| | DAT-2.E.4 | Insight and knowledge can be obtained from translating and transforming digitally represented information. |
| | DAT-2.E.5 | Patterns can emerge when data is transformed using programs. |
| 24 | Databases/SQL | CRD-1.B.1 | Online tools support collaboration by allowing programmers to virtually share and provide feedback on ideas and documents. |
| | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CRD-2.A.1 | The purpose of computing innovations is to solve problems or pursue interests through creative expression. |
| | IOC-1.B.1 | Computing innovations can be used in ways that the creator had not originally intended. Some examples include: The World Wide Web was originally intended only for rapid and easy exchange of information within the scientific community; Targeted advertising is used to help individuals, but it can be misused at both individual and aggregate levels; Machine learning and data mining have enabled innovation in medicine, business, and science, but information discovered in this way could also be used to discriminate against groups of individuals. |
| | IOC-1.D.1 | Computing innovations can reflect existing human biases because of biases written into the algorithms or biases in the data used by the innovation. |
| | DAT-2.D.1 | Programs can be used to process data to acquire information. |
| | DAT-2.D.2 | Tables, diagrams, and textual displays or other visual tools can be used in communicating insight and knowledge gained from data. |
| | DAT-2.D.3 | Search tools are useful for efficiently finding information. |
| | DAT-2.D.4 | Data filtering systems are important tools for finding information and recognizing patterns in the data. |
| | DAT-2.D.5 | Programs, including spreadsheets, help to efficiently organize and find trends in information. |
| | DAT-2.D.6 | Some processes that can be used to extract or modify information from data include: transforming every element of a data set, such as doubling every element in a list, or extracting the parent’s email from every student record; filtering a data set, such as keeping only positive numbers from a list of numbers, or keeping only students who signed up for band from all the student records; combining or comparing data in some way, such as adding up a list of numbers, or finding the student who has the highest GPA; OR visualize a data set through a chart, graph or other visual representation. |
| 25 | Automation | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CRD-2.B.1 | A program is a collection of program statements that performs a specific task when run by a computer. A program is often referred to as software. |
| | IOC-1.A.2 | As computing evolves, the way people complete tasks often changes to incorporate new computing innovations. |
| | IOC-1.D.1 | Computing innovations can reflect existing human biases because of biases written into the algorithms or biases in the data used by the innovation. |
| | IOC-1.F.1 | Material created on a computer is the intellectual property of the creator or an organization. |
| 26 | Intro to Security & Encryption & Passwords | 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 | The HTTP protocol is the used on the World Wide Web. |
| | IOC-1.F.4 | The use of material created by someone else without permission is plagiarism and may have legal consequences. |
| 27 | Ciphers | CSN-1.C.1 | Information is passed through the Internet as a datastream. Datastreams contains chunks of data which are encapsulated in packets. |
| | CSN-1.C.2 | Packets contain a chunk of data and metadata used for routing a packet between the origin and the destination on the Internet and 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.2 | The HTTP protocol is the used on the World Wide Web. |
| | CSN-1.D.3 | The World Wide Web uses the Internet. |
| | IOC-1.F.5 | Some examples of legal ways to use materials created by someone else include: Creative Commons – a public copyright license that enables the free distribution of an otherwise copyrighted work. This is used when the content creator wants to give others the right to share, use, and build upon the work they have created; open source – programs that are made freely available and may be redistributed and modified; open access – online research outputs that are free of any and all restrictions on access, and free of many restrictions on use such as copyright or license restrictions. |
| 28 | Enigma Machine & Computationally Hard and Unsolvable Problems | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CSN-1.C.2 | Packets contain a chunk of data and metadata used for routing a packet between the origin and the destination on the Internet and data reassembly. |
| | CSN-2.B.3 | Distributed computing allows problems to be solved that could not be solved on a single computer, either because of the processing time or storage needs involved. |
| | AAP-4.B.1 | A decidable problem is a decision problem for which an algorithm can be written to produce a correct output for all inputs (e.g., “Is the number even?”). |
| 29 | Symmetric vs Asymmetric Encryption | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CSN-1.C.1 | Information is passed through the Internet as a datastream. Datastreams contains chunks of data which are encapsulated in packets. |
| | IOC-2.B.2 | A strong password is something that is easy for a user to remember but would be difficult for someone else to guess based on knowledge of that user. |
| 30 | Malware | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CSN-1.C.1 | Information is passed through the Internet as a datastream. Datastreams contains chunks of data which are encapsulated in packets. |
| | CSN-1.C.2 | Packets contain a chunk of data and metadata used for routing a packet between the origin and the destination on the Internet and data reassembly. |
| | CSN-1.C.3 | Packets may arrive at the destination in order, out-of-order, or not at all. |
| | IOC-1.F.8 | Using computing to harm individuals or groups of people raise legal and ethical concerns. |
| | IOC-2.B.1 | Authentication measures protect devices and information from unauthorized access. Examples of authentication measures include: Strong passwords; and Multi-factor authentication. |
| | IOC-2.B.3 | Multi-factor authentication is a method of computer access control in which a user is only granted access after successfully presenting several separate pieces of evidence to an authentication mechanism–typically at least two of the following categories: knowledge (something they know); possession (something they have), and inherence (something they are). |
| | IOC-2.B.4 | Multi-factor authentication requires at least two steps to unlock protected information; each step adds a new layer of security that must be broken to gain unauthorized access. |
| | IOC-2.B.5 | Encryption is the process of encoding data to prevent unauthorized access to information. Decryption is the process of decoding the data. Two common encryption approaches are: Symmetric key encryption – a method of encryption involving one key for encryption and decryption; and Public key encryption – a method of encryption that pairs a public key for encryption and a private key for decryption. The sender does not need the receiver’s private key to encrypt a message, but the receiver’s private key is required to decrypt the message. Exclusion Statement (EK IOC-2.B.5): Specific mathematical procedures for encryption and decryption are beyond the scope of this course. |
| | IOC-2.B.6 | Certificate authorities (CAs) issue digital certificates that validate the ownership of encryption keys used in secured communications and are based on a trust model. |
| | IOC-2.B.8 | A computer virus is a malicious program that can copy itself and gain access to a computer in an unauthorized way. Computer viruses often attach themselves to legitimate programs, and start running independently on a computer. |
| | IOC-2.B.9 | Malware is software intended to damage a computing system or to take partial control over its operation. |
| | IOC-2.B.10 | All real-world systems have errors or design flaws that can be exploited to compromise them. Regular software updates help to fix errors that comprise a computing system. |
| | IOC-2.B.11 | Users can control the permissions applications have for collecting user information. Users should review the permissions of applications to protect their privacy. |
| | IOC-2.C.1 | Phishing is a technique that is used to trick a user into providing personal information. That personal information can then be used to access sensitive online resources, such as bank accounts and emails. |
| | IOC-2.C.3 | Data sent over public networks can be intercepted, analyzed and modified. One way that this can happen is through a rogue access point. |
| | IOC-2.C.4 | A rogue access point is a wireless access point that gives unauthorized access to secure networks. |
| | IOC-2.C.5 | A malicious link can be disguised on a web page or in an email message. |
| 31 | CIA Triad | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CSN-1.C.1 | Information is passed through the Internet as a datastream. Datastreams contains chunks of data which are encapsulated in packets. |
| | CSN-1.C.2 | Packets contain a chunk of data and metadata used for routing a packet between the origin and the destination on the Internet and data reassembly. |
| | CSN-1.C.4 | IP, TCP, and UDP are common protocols used on the Internet. |
| | IOC-1.F.8 | Using computing to harm individuals or groups of people raise legal and ethical concerns. |
| | IOC-2.B.4 | Multi-factor authentication requires at least two steps to unlock protected information; each step adds a new layer of security that must be broken to gain unauthorized access. |
| 32 | Exam Review | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CSN-1.C.1 | Information is passed through the Internet as a datastream. Datastreams contains chunks of data which are encapsulated in packets. |
| | CSN-1.C.2 | Packets contain a chunk of data and metadata used for routing a packet between the origin and the destination on the Internet and data reassembly. |
| 33 | Unit 5 Exam | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CSN-1.C.1 | Information is passed through the Internet as a datastream. Datastreams contains chunks of data which are encapsulated in packets. |
| | IOC-1.F.6 | The use of material created by someone other than yourself should always be cited. |
| 34-35 | The Imitation Game | CRD-1.A.1 | A computing innovation includes a program as an integral part of its function. |
| | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CRD-2.A.1 | The purpose of computing innovations is to solve problems or pursue interests through creative expression. |
| | CSN-1.C.1 | Information is passed through the Internet as a datastream. Datastreams contains chunks of data which are encapsulated in packets. |
| | CSN-1.C.3 | Packets may arrive at the destination in order, out-of-order, or not at all. |
| | CSN-2.B.3 | Distributed computing allows problems to be solved that could not be solved on a single computer, either because of the processing time or storage needs involved. |
| | IOC-1.A.5 | Advances in computing have generated and increased creativity in other fields, such as medicine, engineering, communications and the arts. |
| 36 | Impact of Computing (continued) | IOC-1.A.2 | As computing evolves, the way people complete tasks often changes to incorporate new computing innovations. |
| | IOC-1.A.4 | A single effect can be viewed as both beneficial and harmful based on an individual’s perspectives. |
| | IOC-2.A.1 | Personally identifiable information (PII) is information about an individual that identifies, links, relates, is unique to, or describes them. Examples of PII include: social security number; age; race; phone number(s); medical information; financial information; and biometric data. |
| | IOC-2.A.2 | Search engines can record and maintain a history of searches made by users. |
| | IOC-2.A.3 | Websites can record and maintain a history of individuals who have viewed their pages. |
| | IOC-2.A.4 | Devices, websites, and networks can collect information about a user’s location. |
| | IOC-2.A.5 | Technology enables the collection, use, and exploitation of information about, by, and for individuals, groups, and institutions. |
| | IOC-2.A.6 | Search engines can use search history to suggest websites or for target marketing. |
| | IOC-2.A.7 | Disparate personal data, such as geolocation, cookies, and browsing history, can be aggregated to create knowledge about an individual. |
| | IOC-2.A.8 | PII and other information placed online can be used to enhance a user’s online experiences. |
| | IOC-2.A.9 | PII stored online can be used to simplify making online purchases. |
| | IOC-2.A.10 | Commercial and governmental curation of information may be exploited if privacy and other protections are ignored. |
| | IOC-2.A.11 | Information placed online can be used in ways that were not intended and in ways that may have a harmful impact. For example, an email message may be forwarded, tweets can be retweeted, social media posts can be viewed by potential employers. |
| | IOC-2.A.12 | PII can be used to stalk or steal the identity of a person, or to aid in the planning of criminal acts. |
| | IOC-2.A.13 | It is difficult to delete information once it has been placed online. |
| | IOC-2.A.14 | Applications can collect your location and record where you have been, how you got there, and how long you have been at a given location. |
| | IOC-2.A.15 | Information posted to social media services can be used by others. Combining information posted on social media and other sources can be used to deduce private information about you. |
| | IOC-1.D.1 | Computing innovations can reflect existing human biases because of biases written into the algorithms or biases in the data used by the innovation. |
| | IOC-1.E.1 | Widespread access to information and public data facilitates the identification of problems, development of solutions, and dissemination of results. |
| 37 | Intro to the Internet & History of the Internet | 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.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 a computing system. |
| | CSN-1.A.6 | Routing is the process of finding a path from sender to receiver. |
| | CSN-1.E.1 | The Internet has been engineered to be fault-tolerant, with abstractions for routing and transmitting data. |
| 38 | Submarine Cables | 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.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.B.3 | A protocol is an agreed-upon set of rules that specify the behavior of some system. |
| | CSN-1.C.1 | Information is passed through the Internet as a datastream. Datastreams contains chunks of data which are encapsulated in packets. |
| | CSN-1.E.2 | Redundancy is the inclusion of extra components that can be used to mitigate failure of the system if other components fail. |
| 39 | Mediums | 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.5 | A path between two computing devices on a computer network (a sender or a receiver) is a sequence of directly-connected computing devices beginning at the sender and ending at the receiver. |
| | CSN-1.A.8 | Bandwidth is usually measured in bits per second. |
| | 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 | 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.1 | Information is passed through the Internet as a datastream. Datastreams contains chunks of data which are encapsulated in packets. |
| | CSN-1.E.2 | Redundancy is the inclusion of extra components that can be used to mitigate failure of the system if other components fail. |
| | 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. |
| 40 | Protocols/URLs | 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 a computing system. |
| | CSN-1.E.2 | Redundancy is the inclusion of extra components that can be used to mitigate failure of the system if other components fail. |
| | CSN-1.E.3 | One way redundancy is accomplished in networks is by having more than one path between two devices. |
| | 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 bunches, 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 between two points on the Internet increases the reliability of the Internet and helps it scale to more devices and more people. |
| 41 | Networking Hardware | 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.5 | A path between two computing devices on a computer network (a sender or a receiver) is a sequence of directly-connected computing devices beginning at the sender and ending at the receiver. |
| | CSN-1.E.2 | Redundancy is the inclusion of extra components that can be used to mitigate failure of the system if other components fail. |
| 42 | Exam Review | CSN-1.C.1 | Information is passed through the Internet as a datastream. Datastreams contains chunks of data which are encapsulated in packets. |
| | 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 the system if other components fail. |
| 43 | Unit Exam | CSN-1.C.1 | Information is passed through the Internet as a datastream. Datastreams contains chunks of data which are encapsulated in packets. |
| | 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 the system if other components fail. |
| 44 | Intro to Web Design & Intro to HTML & CSS | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CRD-2.A.1 | The purpose of computing innovations is to solve problems or pursue interests through creative expression. |
| 45 | CSS Selectors & Rules | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CRD-2.A.1 | The purpose of computing innovations is to solve problems or pursue interests through creative expression. |
| | CRD-2.A.2 | An understanding of the purpose of a computing innovation provides developers with an improved ability to develop the computing innovation. |
| 46 | Media Queries/Responsiveness | CRD-1.A.1 | A computing innovation includes a program as an integral part of its function. |
| | CRD-1.A.4 | Collaboration that includes diverse perspectives helps to avoid bias in the development of computing innovations. |
| | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | IOC-1.C.1 | Internet access varies between socioeconomic, geographic, or demographic characteristics and between countries. |
| 47 | Paired Programming Activity | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CRD-2.A.2 | An understanding of the purpose of a computing innovation provides developers with an improved ability to develop the computing innovation. |
| | CRD-2.B.1 | A program is a collection of program statements that performs a specific task when run by a computer. A program is often referred to as software. |
| | CRD-2.B.2 | A code segment refers to a collection of program statements that are part of a program. |
| 48 | Independent Web Design Project Time | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CRD-2.A.2 | An understanding of the purpose of a computing innovation provides developers with an improved ability to develop the computing innovation. |
| | IOC-1.B.1 | Computing innovations can be used in ways that the creator had not originally intended. Some examples include: The World Wide Web was originally intended only for rapid and easy exchange of information within the scientific community; Targeted advertising is used to help individuals, but it can be misused at both individual and aggregate levels; Machine learning and data mining have enabled innovation in medicine, business, and science, but information discovered in this way could also be used to discriminate against groups of individuals. |
| | IOC-1.D.1 | Computing innovations can reflect existing human biases because of biases written into the algorithms or biases in the data used by the innovation. |
| | IOC-1.F.7 | Creative commons, open source, and open access have enabled broad access to digital information. |
| 49 | Intro to Programming & Variables | CRD-1.A.3 | Effective collaboration produces a computing innovation that reflects the diversity of talents and perspectives of those who designed it. |
| | CRD-2.A.1 | The purpose of computing innovations is to solve problems or pursue interests through creative expression. |
| | IOC-1.A.2 | As computing evolves, the way people complete tasks often changes to incorporate new computing innovations. |
| 50 | Methods & Selection and Logic | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CRD-2.A.2 | An understanding of the purpose of a computing innovation provides developers with an improved ability to develop the computing innovation. |
| 51 | Iteration | AAP-2.K.1 | Iteration statements change the sequential flow of control by repeating a set of statements zero or more times until a stopping condition is met. |
| | AAP-2.K.2 | The exam reference sheet provides REPEAT n TIMES { <block of statements> } in which the block of statements is executed n times. |
| | AAP-2.K.3 | The exam reference sheet provides REPEAT UNTIL(condition) { <block of statements> } in which the code in block of statements is repeated until the Boolean expression condition evaluates to true. |
| | AAP-2.K.4 | In REPEAT UNTIL(condition) iteration, an infinite loop occurs when the ending condition will never evaluate to true. |
| | AAP-2.K.5 | In REPEAT UNTIL(condition) iteration, if the conditional evaluates to true initially, the loop body is not executed at all due to the condition being checked before the loop. |
| | AAP-2.O.2 | Iteration statements can be used to traverse a list. |
| 52 | Arrays | AAP-1.C.1 | A list is an ordered sequence of elements. For example, [value1, value2, value3, …] where value1 is the first element, value 2 is the second element, value 3 is the third element, … |
| | AAP-1.C.3 | An index is a common method for referencing the elements in a list or string using natural numbers. |
| | AAP-1.C.4 | A string is an ordered sequence of characters. |
| | AAP-1.D.3 | Data abstractions can be created using lists. |
| | AAP-2.N.1 | The exam reference sheet provides basic operations on lists include: accessing an element by index; aList[i] accesses the element of aList at index i. The first element of aList is at index 1 and accessed using the notation alist[1]; assigning a value of an element of a list to a variable; x ← aList [i] – assigns the value of aList[i] to the variable x; assigning a value to an element of a list; aList[i] ← x – assigns the value of x to aList[i]. aList[i] ← aList[j] – assigns the value of aList[j] to aList[i]. inserting elements at a given index; INSERT(aList, i, value) – any values in aList at indices greater than or equal to i are shifted one position to the right. The length of the list is increased by 1, and value is placed at index i in aList. adding elements to the end of the list (append); APPEND(aList, value) – the length of aList is increased by 1, and value is placed at the end of the aList. removing elements; and REMOVE(aList, i) – Removes the item at index i in aList and shifts to the left any values at indices greater than i. The length of aList is decreased by 1. determining the length of a list. LENGTH(aList) – Evaluates to the number of elements currently in aList. |
| | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| 53 | Functions (Parameters, Return Statements) (continued) | AAP-3.B.1 | One common type of abstraction is procedural abstraction which provides a name for a process and allows a procedure to be used only knowing what it does, not how it does it. |
| | AAP-3.B.3 | The process of subdividing a computer program into separate sub-programs is called modularity. |
| | AAP-3.B.5 | Using parameters allows procedures to be generalized, enabling the procedures to be reused with a range of input values or arguments. |
| | AAP-3.B.6 | Using procedural abstraction helps improve code readability. |
| | AAP-3.C.1 | The exam reference sheet provides PROCEDURE procName(parameter1, parameter2, …) { <block of statements> } that is used to define a procedure that takes zero or more arguments. The procedure contains block of statements. |
| | AAP-3.C.2 | The exam reference sheet provides PROCEDURE procName(parameter1, parameter2, …) { <block of statements> RETURN(expression) } that is used to define a procedure that takes zero or more arguments. The procedure contains block of statements and returns the value of expression. The RETURN statement may appear at any point inside the procedure and causes an immediate return from the procedure back to the calling statement. |
| | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| 54 | Forms & eventListener | CRD-1.C.1 | Effective collaborative teams practice interpersonal skills including but not limited to: communication skills; consensus building; conflict resolution; negotiation. |
| | CRD-2.C.1 | Program input is data that are sent to a computer for processing by a program. Input can come in a variety of forms, such as tactile, audible, visual, or text. |
| | CRD-2.C.2 | An event is associated with an action and supplies input data to a program. |
| | CRD-2.C.3 | Events can be generated when a key is pressed, a mouse is clicked, a program is started, or by any other defined action that affects the flow of execution. |
| | CRD-2.C.4 | Inputs usually affect the output produced by a program. |
| | CRD-2.C.5 | In event-driven programming, program statements are executed when triggered instead of through the sequential flow of control. |
| | CRD-2.C.6 | Input can come from a user or other applications. |
| | CRD-2.D.1 | Program output is any data that are sent from a program to a device. Program output can come in a variety of forms, such as tactile, audible, visual, or text. |
| | CRD-2.D.2 | Program output is usually based on a program’s input or prior state (such as internal values). |
| 55 | Date Class | AAP-1.A.1 | A variable is an abstraction inside the program that can hold a value. Each variable has associated data storage that represents one value at a time, but that value can be a list or other collection that in turn contains multiple values. |
| | AAP-1.B.1 | The assignment operator allows a program to change the value represented by a variable. |
| | DAT-1.A.2 | Computing devices represent data digitally, which means that the lowest level components of any value are bits. |
| | DAT-1.A.5 | Abstraction is the process of reducing complexity by focusing on the main idea. By hiding details irrelevant to the question at hand and bringing together related and useful details, abstraction reduces complexity and allows one to focus on the idea. |