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 |
-
10.1 History of Computers
-
11.1 Introduction to the Internet
-
11.8 The Impact of the Internet
|
I.1.B |
Knows the obstacles to equal access to computing among different groups and the impact of those obstacles |
-
11.8 The Impact of the Internet
|
I.1.C |
Understands beneficial and harmful effects of computing innovations and the trade-offs between them |
-
7.7 Ethical Issues Around Data Collection
-
11.8 The Impact of the Internet
|
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) |
-
12.6 Creative Credit & Copyright
|
I.2.B |
Understands ethical and unethical computing practices and their social, economic, and cultural implications |
-
7.7 Ethical Issues Around Data Collection
-
11.8 The Impact of the Internet
|
I.2.C |
Knows privacy and security issues regarding the acquisition, use, and disclosure of information in a digital world |
-
7.7 Ethical Issues Around Data Collection
-
10.6 Storage Options
-
12.4 Privacy & Security
|
II.1.A |
Understands abstraction as a foundation of computer science |
-
5.5 Mutator Methods
-
5.6 Writing Methods
-
5.8 Scope and Access
|
II.1.B |
Knows how to use pattern recognition, problem decomposition, and abstraction to develop an algorithm |
-
5.1 Writing Classes
-
5.6 Writing Methods
-
7.5 Searching
-
7.6 Sorting
-
14.5 Writing Classes
|
II.1.C |
Understands number base conversion and binary, decimal, and hexadecimal number systems |
-
6.1 Binary
-
13.2 Number Systems
-
13.3 Hexadecimal
|
II.1.D |
Understands how to develop and analyze algorithms expressed in multiple formats (e.g., natural language, flowcharts, pseudocode) |
-
3.2 if Statements and Control Flow
-
5.8 Scope and Access
|
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 |
-
2.9 Wrapper Classes: Integers and Doubles
|
II.2.B |
Understands searching and sorting algorithms; can analyze sorting algorithms for correctness and can analyze searching algorithms for correctness and efficiency |
-
7.5 Searching
-
7.6 Sorting
|
II.2.C |
Understands simple recursive algorithms (e.g., n factorial, sum of first n integers) |
-
9.1 Recursion
-
14.9 Recursion
|
II.2.D |
Is familiar with the use of randomization in computing |
-
2.10 Using the Math Class
-
5.7 Static Variables and Methods
|
III.1.A |
Understands how to write and modify computer programs in a text-based programming language |
-
5.1 Writing Classes
-
5.6 Writing Methods
-
14.5 Writing Classes
|
III.1.B |
Understands how to analyze computer programs in terms of correctness |
-
4.5 Informal Code Analysis
|
III.1.C |
Knows the concepts of extensibility, modifiability, and reusability |
-
2.9 Wrapper Classes: Integers and Doubles
-
2.10 Using the Math Class
-
4.5 Informal Code Analysis
-
5.1 Writing Classes
-
5.3 Documentation with Comments
-
8.6 Polymorphism
-
14.5 Writing Classes
|
III.1.D |
Understands the three basic constructs used in programming: sequence, selection, and iteration |
-
3.1 Boolean Expressions and if Statements
-
3.2 if Statements and Control Flow
-
4.1 Iteration
-
14.3 Boolean Expressions and if Statements
-
14.4 Iteration
|
III.1.E |
Understands how to use standard operators (i.e., assignment, arithmetic, relational, logical) and operator precedence to write programs |
-
1.5 Expressions and Assignment Statements
-
3.1 Boolean Expressions and if Statements
-
14.3 Boolean Expressions and if Statements
|
III.1.F |
Understands how to use variables and a variety of data types |
-
1.4 Variables and Data Types
|
III.2.A |
Understands how to write and call procedures with parameters and return values |
-
2.5 Calling a Void Method with Parameters
-
5.4 Accessor Methods
-
5.6 Writing Methods
|
III.2.B |
Knows the concepts of event-driven programs that respond to external events (e.g., sensors, messages, clicks) |
-
1.7 User Input
|
III.2.C |
Is familiar with usability and user experience (e.g., ease of use and accessibility) |
-
11.9 Empathy
|
III.2.D |
Is familiar with dictionaries/maps, stacks, and queues |
-
2.1 Objects: Instances of Classes
-
6.2 Data Structures
|
III.2.E |
Understands how to use debugging techniques and appropriate test cases |
-
5.3 Documentation with Comments
-
5.8 Scope and Access
|
III.2.F |
Is familiar with characteristics of well-documented computer programs that are usable, readable, and modular |
-
5.3 Documentation with Comments
|
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) |
-
4.5 Informal Code Analysis
|
III.2.H |
Knows how to use libraries and APIs |
-
2.10 Using the Math Class
|
III.2.I |
Understands programming techniques to validate correct input and detect incorrect input |
-
1.7 User Input
-
5.3 Documentation with Comments
-
5.8 Scope and Access
|
III.2.J |
Is familiar with the features and capabilities of integrated development environments (IDEs) |
-
1.3 Why Programming? Why Java?
-
1.4 Variables and Data Types
|
III.2.K |
Is familiar with the differences between low- and high-level programming languages |
-
1.3 Why Programming? Why Java?
|
III.2.L |
Is familiar with different programming paradigms |
-
2.1 Objects: Instances of Classes
|
III.2.M |
Knows object-oriented programming concepts |
-
2.1 Objects: Instances of Classes
-
2.3 Overloading
-
2.4 Calling a Void Method
-
5.1 Writing Classes
-
8.1 Inheritance
-
8.6 Polymorphism
-
14.5 Writing Classes
-
14.8 Inheritance
|
III.2.N |
Is familiar with program compilation and program interpretation |
-
1.3 Why Programming? Why Java?
-
8.1 Inheritance
-
8.3 Overriding Methods
-
8.5 Creating References Using Inheritance
-
14.8 Inheritance
|
IV.1.A |
Understands bits as the universal medium for expressing digital information |
-
13.4 Data Compression
-
13.5 Lossy Compression
|
IV.1.B |
Is familiar with concepts of data encryption and decryption |
-
12.5 Cryptography, Cryptology, Cryptanalysis
|
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 |
-
13.1 The Value of Data
|
IV.2.A |
Is familiar with the use of computing in simulation and modeling |
-
13.1 The Value of Data
|
IV.2.B |
Is familiar with methods to store, manage, and manipulate data |
-
7.1 ArrayList
-
14.7 ArrayList
|
IV.2.C |
Is familiar with a variety of computational methods for data collection, aggregation, and generation |
-
13.1 The Value of Data
|
V.1.A |
Knows that operating systems are programs that control and coordinate interactions between hardware and software components |
-
10.2 Hardware
-
10.4 Operating Systems
-
10.5 Software and Applications
|
V.1.B |
Is familiar with computing systems embedded in everyday objects (e.g., Internet of Things [IoT], ATMs, medical devices) |
-
12.1 What is Cybersecurity?
|
V.1.C |
Knows the capabilities, features, and uses of different types of computing systems (e.g., desktop, mobile, cluster) |
-
10.4 Operating Systems
|
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) |
-
10.2 Hardware
|
V.1.E |
Is familiar with the steps required to execute a computer program (fetch-decodeexecute cycles) |
-
10.2 Hardware
|
V.1.F |
Is familiar with trade-offs between local, network, and cloud computing and storage |
-
10.6 Storage Options
|
V.1.G |
Is familiar with communication between devices |
-
10.3 Network Devices
|
V.2.A |
Knows components of networks |
-
10.3 Network Devices
|
V.2.B |
Is familiar with factors that have an impact on network functionality |
-
10.3 Network Devices
-
11.2 Internet Hardware and Sending Information
|
V.2.C |
Is familiar with how Internet and Web protocols work |
-
11.2 Internet Hardware and Sending Information
-
11.3 Internet Addresses
-
11.4 Domain Name System (DNS)
-
11.5 Routing
-
11.6 Packets & Protocols
|
V.2.D |
Is familiar with digital and physical strategies for maintaining security |
-
12.1 What is Cybersecurity?
-
12.2 Impact of Cybersecurity
|
V.2.E |
Is familiar with concepts of cybersecurity |
-
12.1 What is Cybersecurity?
-
12.2 Impact of Cybersecurity
-
12.3 The CIA Triad
|
V.2.F |
Is familiar with the components that make up the Web (e.g., HTTP, HTML, browsers, servers, clients) |
-
11.7 Viewing a Webpage
|