Standards in this Framework
Standards Mapped
Mapped to Course
| Standard | Lessons | 
|---|---|
| I.1.A Understands computing as a way of expressing creativity, solving problems, enabling communication, and fostering innovation in a variety of fields and careers | 
 | 
| I.1.B Knows the obstacles to equal access to computing among different groups and the impact of those obstacles | 
 | 
| I.1.C Understands beneficial and harmful effects of computing innovations and the trade-offs between them | 
 | 
| I.2.A Knows different methods of protecting intellectual property rights and the tradeoffs between them in a variety of contexts (e.g., Creative Commons, open source, copyright) | 
 | 
| I.2.B Understands ethical and unethical computing practices and their social, economic, and cultural implications | 
 | 
| I.2.C Knows privacy and security issues regarding the acquisition, use, and disclosure of information in a digital world | 
 | 
| II.1.A Understands abstraction as a foundation of computer science | 
 | 
| II.1.B Knows how to use pattern recognition, problem decomposition, and abstraction to develop an algorithm | 
 | 
| II.1.C Understands number base conversion and binary, decimal, and hexadecimal number systems | 
 | 
| II.1.D Understands how to develop and analyze algorithms expressed in multiple formats (e.g., natural language, flowcharts, pseudocode) | 
 | 
| II.2.A Is familiar with the limitations of computing in terms of time, space, and solvability as well as with the use of heuristic solutions that can address these limitations | 
 | 
| II.2.B Understands searching and sorting algorithms; can analyze sorting algorithms for correctness and can analyze searching algorithms for correctness and efficiency | 
 | 
| II.2.C Understands simple recursive algorithms (e.g., n factorial, sum of first n integers) | 
 | 
| II.2.D Is familiar with the use of randomization in computing | 
 | 
| III.1.A Understands how to write and modify computer programs in a text-based programming language | 
 | 
| III.1.B Understands how to analyze computer programs in terms of correctness | 
 | 
| III.1.C Knows the concepts of extensibility, modifiability, and reusability | 
 | 
| III.1.D Understands the three basic constructs used in programming: sequence, selection, and iteration | 
 | 
| III.1.E Understands how to use standard operators (i.e., assignment, arithmetic, relational, logical) and operator precedence to write programs | 
 | 
| III.1.F Understands how to use variables and a variety of data types | 
 | 
| III.2.A Understands how to write and call procedures with parameters and return values | 
 | 
| III.2.B Knows the concepts of event-driven programs that respond to external events (e.g., sensors, messages, clicks) | 
 | 
| III.2.C Is familiar with usability and user experience (e.g., ease of use and accessibility) | 
 | 
| III.2.D Is familiar with dictionaries/maps, stacks, and queues | 
 | 
| III.2.E Understands how to use debugging techniques and appropriate test cases | 
 | 
| III.2.F Is familiar with characteristics of well-documented computer programs that are usable, readable, and modular | 
 | 
| III.2.G Is familiar with techniques to obtain and use feedback to produce high-quality code (e.g., code reviews, peer feedback, end user feedback) | 
 | 
| III.2.H Knows how to use libraries and APIs | 
 | 
| III.2.I Understands programming techniques to validate correct input and detect incorrect input | 
 | 
| III.2.J Is familiar with the features and capabilities of integrated development environments (IDEs) | 
 | 
| III.2.K Is familiar with the differences between low- and high-level programming languages | 
 | 
| III.2.L Is familiar with different programming paradigms | 
 | 
| III.2.M Knows object-oriented programming concepts | 
 | 
| III.2.N Is familiar with program compilation and program interpretation | 
 | 
| IV.1.A Understands bits as the universal medium for expressing digital information | 
 | 
| IV.1.B Is familiar with concepts of data encryption and decryption | 
 | 
| IV.1.C Knows how to use computational tools, including spreadsheets, to analyze data in order to discover, explain, and visualize patterns, connections, and trends | 
 | 
| IV.2.A Is familiar with the use of computing in simulation and modeling | 
 | 
| IV.2.B Is familiar with methods to store, manage, and manipulate data | 
 | 
| IV.2.C Is familiar with a variety of computational methods for data collection, aggregation, and generation | 
 | 
| V.1.A Knows that operating systems are programs that control and coordinate interactions between hardware and software components | 
 | 
| V.1.B Is familiar with computing systems embedded in everyday objects (e.g., Internet of Things [IoT], ATMs, medical devices) | 
 | 
| V.1.C Knows the capabilities, features, and uses of different types of computing systems (e.g., desktop, mobile, cluster) | 
 | 
| V.1.D Is familiar with computers as layers of abstraction from hardware (e.g., logic gates, chips) to software (e.g., system software, applications) | 
 | 
| V.1.E Is familiar with the steps required to execute a computer program (fetch-decodeexecute cycles) | 
 | 
| V.1.F Is familiar with trade-offs between local, network, and cloud computing and storage | 
 | 
| V.1.G Is familiar with communication between devices | 
 | 
| V.2.A Knows components of networks | 
 | 
| V.2.B Is familiar with factors that have an impact on network functionality | 
 | 
| V.2.C Is familiar with how Internet and Web protocols work | 
 | 
| V.2.D Is familiar with digital and physical strategies for maintaining security | 
 | 
| V.2.E Is familiar with concepts of cybersecurity | 
 | 
| V.2.F Is familiar with the components that make up the Web (e.g., HTTP, HTML, browsers, servers, clients) | 
 |