Please enable JavaScript to use CodeHS

Standards Mapping

for Indiana Computer Science

12

Standards in this Framework

12

Standards Mapped

100%

Mapped to Course

Standard Lessons
7352.D1.1
Discuss software development methodology that include fundamental design concepts and principles, Structured and Iterative design, UML (Unified Modeling Language).
  1. AP Computer Science A (Cortado)
  2. 3.1 Abstraction and Program Design
7352.D1.2
Demonstrate fundamental programming constructs such as understanding of language syntax, semantics and style standards including documentation and commenting, using IDEs to create, execute, test, and debug programs utilizing standard software development design and methodologies.
  1. AP Computer Science A (Cortado)
  2. 1.1 Introduction to Algorithms, Programming, and Compilers
  3. 1.2 Variables and Data Types
  4. 1.4 Assignment Statements and Input
  5. 1.8 Documentation with Comments
  6. AP Computer Science Principles in Python
  7. 1.2 Introduction to Programming With Karel
  8. 1.6 Top Down Design and Decomposition in Karel
  9. 1.15 Debugging Strategies
  10. 1.16 Algorithms
7352.D1.3
Analyze and explain the behavior of simple programs utilizing variables, expressions, assignments, I/O, control structures, functions, parameter passing, preconditions, postconditions, and invariants.
  1. AP Computer Science A (Cortado)
  2. 1.2 Variables and Data Types
  3. 1.3 Expressions and Output
  4. 1.4 Assignment Statements and Input
  5. 2.3 if Statements
  6. 2.4 Nested if Statements
  7. 2.7 while Loops
  8. 2.8 for Loops
  9. 3.5 Methods: How to Write Them
  10. 3.6 Methods: Passing and Returning References of an Object
  11. 4.6 Using Text Files
  12. AP Computer Science Principles in Python
  13. 3.4 Variables
  14. 3.5 User Input
  15. 3.8 Mouse Events: Mouse Clicked
  16. 4.4 If Statements
  17. 5.1 Functions and Parameters 1
  18. 5.4 Functions and Return Values 1
7352.D1.4
Utilize fundamental data types including Primitive types (Integers, Real Numbers, Booleans, and Characters), Pointers, Arrays, Records/Structures, Strings, Enumerations
  1. AP Computer Science A (Cortado)
  2. 1.2 Variables and Data Types
  3. 1.4 Assignment Statements and Input
  4. 1.12 Objects: Instances of Classes
  5. 1.13 Object Creation and Storage (Instantiation)
  6. 1.15 String Manipulation
  7. 4.3 Array Creation and Access
  8. 4.6 Using Text Files
  9. 4.8 ArrayList Methods
  10. 4.11 2D Array Creation and Access
  11. AP Computer Science Principles in Python
  12. 3.4 Variables
  13. 3.6 Basic Math in Python
  14. 4.1 Booleans
  15. 7.1 Tuples
  16. 7.2 Lists
7352.D1.5
Use the techniques of decomposition to modularize a program.
  1. AP Computer Science A (Cortado)
  2. 3.1 Abstraction and Program Design
  3. 3.3 Anatomy of a Class
  4. 3.4 Constructors
  5. 3.5 Methods: How to Write Them
  6. 3.7 Class Variables and Methods
  7. AP Computer Science Principles in Python
  8. 1.6 Top Down Design and Decomposition in Karel
7352.D1.6
Apply a variety of strategies to the testing and debugging of simple programs including: ● Conduct code reviews (focused on common coding errors and the extent to which the code meets documentation and programming style standards) on program components. ● Differentiate between program validation and verification. ● Ensure programs use defensive programming techniques, including input validation, type checking, and protection against buffer overflow. ● Implement refactoring within given program components.
  1. AP Computer Science A (Cortado)
  2. 1.1 Introduction to Algorithms, Programming, and Compilers
  3. 4.1 Ethical and Social Issues Around Data Collection
  4. 4.3 Array Creation and Access
7352.D2.1
Explain the role of algorithms in problem-solving including: ● Analyze and compare the best, average, and worst-case behaviors and performance of an algorithm for given problems with various input sizes ● Implement a basic numerical algorithm and apply to a given problem. ● Discuss the halting problem and why it has no algorithmic solution. ● Investigate factors other than computational efficiency that influence the choice of algorithms.
  1. AP Computer Science A (Cortado)
  2. 1.1 Introduction to Algorithms, Programming, and Compilers
  3. 2.1 Algorithms with Selection and Repetition
  4. 2.9 Implementing Selection and Iteration Algorithms
  5. 2.10 Implementing String Algorithms
  6. 4.5 Implementing Array Algorithms
  7. 4.10 Implementing ArrayList Algorithms
  8. 4.13 Implementing 2D Array Algorithms
  9. 4.14 Searching Algorithms
  10. 4.15 Sorting Algorithms
  11. 4.16 Recursion
  12. 4.17 Recursive Searching and Sorting
7352.D2.2
Analyze machine level representation of data including: ● Bits, bytes, and words ● Numeric data representation (Binary, Hexadecimal, BCD, 1's Complement, 2's Complement, and Floating Point format) ● Non-numeric data (Characters, Images, Sounds, Video) ● Illustrate color models and their use in computer graphics. ● Conversion of numerical data from one format to another ● Effect of fixed-length number representations on accuracy and precision
  1. Indiana Computer Science III: Cybersecurity
  2. 24.2 Notational Systems
  3. 24.3 Data Representation
  4. AP Computer Science Principles in Python
  5. 8.1 Intro to Digital Information
  6. 8.2 Number Systems
  7. 8.3 Encoding Text with Binary
  8. 8.4 Pixel Images
  9. 8.5 Hexadecimal
  10. 8.6 Pixel Colors!
  11. 8.7 Image Manipulation
  12. 8.8 Data Compression
  13. 8.9 Lossy Compression
7352.D2.3
Describe, compare, and contrast the components of Computer Architecture which include all portions of the Von Neumann machine as well as assembly/machine language. Explore the impact of memory latency on execution time (Von Neumann Bottleneck).
  1. Indiana Computer Science III: Cybersecurity
  2. 7.1 Internal Components
  3. 7.2 Peripheral Devices
7352.D2.4
Examine major objectives, functions, features, and concepts of modern operating systems. ● Discuss the role, purpose of operating systems ● Compare prevailing types of operating systems. ● Discuss potential threats to operating systems and appropriate features used to provide protection and security. ● Diagram the interaction of an Application Programming Interface (API) with an operating system. ● Illustrate how applications use computing resources managed by the operating system and explain the need for concurrency and common methods to implement concurrency. ● Illustrate the principles of memory management including virtual memory, paging, thrashing, and partitioning. ● Diagram the physical hardware devices and the virtual devices maintained by an operating system.
  1. Indiana Computer Science III: Cybersecurity
  2. 6.1 Operating Systems
  3. 6.2 Comparing Operating Systems
  4. 6.3 Compatibility
  5. 7.1 Internal Components
  6. 7.3 Network Devices
  7. 7.4 Storage Options
  8. 7.7 Network Management
7352.D2.5
Investigate principles of secure design. ● Analyze the tradeoffs associated with designing security into a product. ● Implement input validation in applications ● Discuss the security implications of relying on open design vs the secrecy of design. ● Explain the tradeoffs of developing a program in a type-safe language. ● Investigate potential errors detected from both strong-type and weak-type languages. ● Investigate potential vulnerabilities in provided programming code. ● Investigate common coding errors that introduce security vulnerabilities, such as buffer overflows, integer errors, and memory leaks.
  1. Indiana Computer Science III: Cybersecurity
  2. 9.3 The Value of Data
  3. 9.9 Common Security Problems
  4. 9.10 SQL Injection Overview
  5. 9.11 Types of SQLi and Prevention
  6. 10.1 Project: Security Assessment Report
  7. 12.4 Penetration Testing
7352.D2.6
Assess human-computer interaction and design issues that analyze the importance of humancentered software and then implement a simple usability test for an existing software application.
  1. AP Computer Science Principles in Python
  2. 18.1 Intro to Design Thinking
  3. 18.2 Prototype
  4. 18.3 Test
  5. 18.4 Project Prep and Development