CS.M.1 
Analyze the various mathematical bases (e.g., binary, decimal, hexadecimal) and convert between them. 

CS.M.2 
Describe the relationship between binary and hexadecimal representations. 

CS.M.3 
Convert information between various encoding formats (e.g., ASCII, Unicode, hexadecimal, binary). 

CS.M.4 
Compare techniques (e.g., sorting, statistics, searching) for analyzing massive data collections. 

1.8 Visualizing and Interpreting Data

1.9 Data Collection & Limitations

CS.M.5 
Describe how mathematical and statistical functions, sets, and logic are used in computation. 

5.4 Basic Math in JavaScript

7.2 Logical Operators

7.3 Comparison Operators

CS.M.6 
Utilize predefined mathematical functions and parameters to divide a complex problem into simpler parts, including parallel processing. 

CS.M.7 
Interpret truth tables from basic statements using Boolean operators (AND, OR, XOR, and NOT). 

7.1 Booleans

7.3 Comparison Operators

CS.M.8 
Explain ways in which sequence, selection, iteration, and recursion are building blocks of algorithms. 

2.15 More Karel Examples and Testing

7.6 General For Loops

7.9 While Loops

CS.M.9 
Create systems of equations based on realworld situations. 

CS.M.10 
Analyze decisions and strategies using probability and statistical concepts. 

CS.M.11 
Utilize modeling and simulation techniques to represent and understand natural phenomena. 

CS.M.12 
Examine classical algorithms (e.g., searching, sorting, and shortest path). 

16.2 Finding an Element in a List

CS.M.13 
Manipulate formulas and equations and apply them to algorithm development. 

16.2 Finding an Element in a List

CS.M.14 
Apply algorithm analysis and design techniques to solve problems. 

CS.M.15 
Write algorithms to solve mathematical problems using formulas, equations, and functions. 

CS.M.16 
Implement conditional statements that include if/then, if/then/else, case statements, and Boolean logic, in the design of algorithms. 

7.1 Booleans

7.2 Logical Operators

7.3 Comparison Operators

7.4 If Statements

CS.M.17 
Represent algorithms using flowcharts and pseudocode. 

2.6 Top Down Design and Decomposition in Karel

CS.M.18 
Combine standard function types using arithmetic operations. 

5.4 Basic Math in JavaScript

CS.M.19 
Analyze algorithms for correctness, clarity, and efficiency. 

CS.M.20 
Compare and contrast computer programming languages and paradigms (e.g., compiled and interpreted languages, procedural and objectoriented paradigms). 

CS.M.21 
Diagram the program execution process. 

2.15 More Karel Examples and Testing

CS.M.22 
Determine the output of a given sample program without the use of a computer. 

2.15 More Karel Examples and Testing

CS.M.23 
Implement computing applications using the following software development tools and techniques: branching (if, ifelse), declare, define, and reference variables, lists/arrays, looping (for, while, do/while), recursion, sequencing 

7.4 If Statements

7.5 For Loops in JavaScript

7.9 While Loops

9.1 Functions and Parameters 1

9.2 Functions and Parameters 2

9.3 Functions and Parameters 3

9.4 Functions and Return Values 1

9.5 Functions and Return Values 2

CS.M.24 
Use various debugging and testing methods to ensure program correctness. 

2.6 Top Down Design and Decomposition in Karel

2.7 Commenting Your Code

2.17 Debugging Strategies

CS.M.25 
Cite evidence to support or refute the correctness of software solutions. 

CS.M.26 
Recognize that computers are devices that execute programs. 

CS.M.27 
Identify a variety of electronic devices (e.g., cell phones, desktops, laptops, vehicles, programmable thermostats, and programmable kitchen appliances) that contain computational processors. 

1.1 What is Cybersecurity?

CS.M.28 
Describe unique features of computers embedded in mobile devices and vehicles. 

CS.M.29 
Investigate the history of computers, identifying contributors and major milestones (e.g., Alan Turing, Charles Babbage, Ada Lovelace, Grace Hopper, analytical machine, ENIAC, IBM PC). 

CS.M.30 
Demonstrate an understanding of the relationship between hardware and software. 

CS.M.31 
Develop criteria for purchasing or upgrading computer system hardware. 

CS.M.32 
Describe primary components of computer systems (e.g., input, output, processing, and storage). 

CS.M.33 
Explain multiple levels of hardware and software that support program execution (e.g., compilers, interpreters, operating systems, networks). 

CS.M.34 
Apply strategies for identifying and solving routine hardware problems that occur during everyday computer use. 

CS.M.35 
Describe how the Internet facilitates global communication. 

4.7 The Impact of the Internet

CS.M.36 
Describe issues that impact network functionality (e.g., latency, bandwidth, firewalls, server capability). 

4.2 Internet Hardware

CS.M.37 
Summarize appropriate and inappropriate technological behaviors, including issues of privacy, copyright, security, legalities, and politics. 

1.4 Cyberbullying

1.5 Internet Safety

1.6 Privacy & Security

1.10 Creative Credit & Copyright

1.11 Hacking Ethics

CS.M.38 
Explore the ramifications of inappropriate uses of technology. 

1.4 Cyberbullying

1.10 Creative Credit & Copyright

1.11 Hacking Ethics

CS.M.39 
Investigate the national and global economic impact of cybercrime. 

1.1 What is Cybersecurity?

CS.M.40 
Discuss accessibility issues (e.g., adaptive technology for special needs individuals, censorship, geographical locations, and economicallydisadvantaged populations). 

CS.M.41 
Compare the reliability of various online sources. 

1.7 Information Literacy

CS.M.42 
Investigate information ownership topics: access, distribution rights, hacking, licensure, open source, public domain, software privacy 

1.10 Creative Credit & Copyright

1.11 Hacking Ethics

CS.M.43 
Describe security and privacy issues that relate to computer networks. 

1.6 Privacy & Security

CS.M.44 
Explain principles of network security and techniques that protect stored and transmitted data (e.g., encryption, cryptography, and authentication). 
