Please enable JavaScript to use CodeHS

West Virginia Computer Science and Mathematics Standards Mapping

to

AP Computer Science A (Nitro)

44 Standards in this Framework 20 Standards Mapped 45% Mapped to Course


Standard Lessons
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. 7.5 Searching
  2. 7.6 Sorting
  3. 10.2 Recursive Searching
  4. 10.3 Recursive Sorting
CS.M.5 Describe how mathematical and statistical functions, sets, and logic are used in computation.
  1. 1.4 Expressions and Assignment Statements
CS.M.6 Utilize predefined mathematical functions and parameters to divide a complex problem into simpler parts, including parallel processing.
  1. 1.4 Expressions and Assignment Statements
CS.M.7 Interpret truth tables from basic statements using Boolean operators (AND, OR, XOR, and NOT).
  1. 3.5 Compound Boolean Expressions
  2. 3.6 Equivalent Boolean Expressions
CS.M.8 Explain ways in which sequence, selection, iteration, and recursion are building blocks of algorithms.
  1. 4.1 Iteration
  2. 4.2 For Loops
  3. 4.4 Nested Iteration
  4. 10.1 Recursion
CS.M.9 Create systems of equations based on real-world 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).
  1. 7.5 Searching
  2. 7.6 Sorting
  3. 10.2 Recursive Searching
  4. 10.3 Recursive Sorting
CS.M.13 Manipulate formulas and equations and apply them to algorithm development.
  1. 6.4 Developing Algorithms Using Arrays
  2. 7.4 Developing Algorithms using ArrayLists
CS.M.14 Apply algorithm analysis and design techniques to solve problems.
  1. 6.4 Developing Algorithms Using Arrays
  2. 7.4 Developing Algorithms using ArrayLists
  3. 8.2 Traversing 2D Arrays
CS.M.15 Write algorithms to solve mathematical problems using formulas, equations, and functions.
  1. 6.4 Developing Algorithms Using Arrays
  2. 7.4 Developing Algorithms using ArrayLists
  3. 8.2 Traversing 2D Arrays
CS.M.16 Implement conditional statements that include if/then, if/then/else, case statements, and Boolean logic, in the design of algorithms.
  1. 3.1 Boolean Expressions and if Statements
  2. 3.2 if Statements and Control Flow
  3. 3.3 if-else Statements
  4. 3.4 else if Statements
CS.M.17 Represent algorithms using flowcharts and pseudocode.
  1. 4.1 Iteration
  2. 4.2 For Loops
  3. 4.5 Informal Code Analysis
  4. 5.8 Scope and Access
CS.M.18 Combine standard function types using arithmetic operations.
  1. 1.4 Expressions and Assignment Statements
CS.M.19 Analyze algorithms for correctness, clarity, and efficiency.
  1. 7.5 Searching
  2. 7.6 Sorting
  3. 10.2 Recursive Searching
  4. 10.3 Recursive Sorting
CS.M.20 Compare and contrast computer programming languages and paradigms (e.g., compiled and interpreted languages, procedural and object-oriented paradigms).
CS.M.21 Diagram the program execution process.
  1. 4.1 Iteration
  2. 4.2 For Loops
CS.M.22 Determine the output of a given sample program without the use of a computer.
  1. 12.1 AP Practice Test 1
CS.M.23 Implement computing applications using the following software development tools and techniques: -branching (if, if-else), -declare, define, and reference variables, -lists/arrays, -looping (for, while, do/while), -recursion, -sequencing
  1. 2.4 Calling a Void Method
  2. 2.5 Calling a Void Method with Parameters
  3. 3.2 if Statements and Control Flow
  4. 3.3 if-else Statements
  5. 5.4 Accessor Methods
  6. 5.5 Mutator Methods
  7. 6.1 Array
  8. 6.2 Traversing Arrays
  9. 10.1 Recursion
CS.M.24 Use various debugging and testing methods to ensure program correctness.
  1. 5.3 Documentation with Comments
  2. 5.8 Scope and Access
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.
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.
CS.M.36 Describe issues that impact network functionality (e.g., latency, bandwidth, firewalls, server capability).
CS.M.37 Summarize appropriate and inappropriate technological behaviors, including issues of privacy, copyright, security, legalities, and politics.
  1. 7.7 Ethical Issues Around Data Collection
CS.M.38 Explore the ramifications of inappropriate uses of technology.
CS.M.39 Investigate the national and global economic impact of cybercrime.
  1. 7.7 Ethical Issues Around Data Collection
CS.M.40 Discuss accessibility issues (e.g., adaptive technology for special needs individuals, censorship, geographical locations, and economically-disadvantaged populations).
CS.M.41 Compare the reliability of various online sources.
CS.M.42 Investigate information ownership topics: -access, -distribution rights, -hacking, -licensure, -open source, -public domain, -software privacy
  1. 7.7 Ethical Issues Around Data Collection
CS.M.43 Describe security and privacy issues that relate to computer networks.
CS.M.44 Explain principles of network security and techniques that protect stored and transmitted data (e.g., encryption, cryptography, and authentication).