Please enable JavaScript to use CodeHS

Standards Framework

for Arizona CTE Software and App Design

37

Standards in this Framework

Standard Description
1.1 Establish objectives and outcomes for a task
1.2 Explain the process of decomposing a large programming problem into smaller, more manageable procedures
1.3 Explain “visualizing” as a problem-solving technique prior to writing code
1.4 Describe problem-solving and troubleshooting strategies applicable to software development
2.1 Identify common computer threats (e.g., viruses, phishing, suspicious email, social engineering, spoofing, identity theft, and spamming)
2.2 Describe potential vulnerabilities in software (e.g., OWASP’s Top 10)
2.5 Describe methods for sanitizing user input to prevent issues (e.g., buffer overflows and SQL injection)
3.2 Compare and contrast open source and proprietary systems in relation to legal and ethical issues (e.g., data pricing, use of public and private networks, social networking, industry-related data, and data piracy)
4.1 Declare numeric, Boolean, character, string variables, and float and double
4.2 Choose the appropriate data type for a given situation
4.3 Identify the correct syntax and usage for constants and variables in a program
5.3 Identify and correctly use arithmetic operations applying the order of operations (precedence) with respect to programming
5.4 Interpret and construct mathematical formulas
6.1 Use the correct syntax for decision statements (e.g., if/else, if, and switch case)
6.2 Compare values using relational operators (e.g., =, >, <, >=, <=, and not equal)
6.3 Evaluate Boolean expressions (e.g., AND, OR, NOT, NOR, and XOR)
6.4 Use the correct nesting for decision structures
7.1 Identify various types of iteration structure (e.g., while, for, for-each, and recursion)
7.2 Identify how loops are controlled (variable conditions and exits)
11.3 Apply pseudocode or graphical representations to plan the structure of a program or module (e.g., flowcharting, whiteboarding, and UML)
11.4 Create and implement basic algorithms
12.1 Use a program editor to enter and modify code
12.2 Identify correct input/output statements
12.3 Choose the correct method of assigning input to variables including data sanitization
12.4 Choose the correct method of outputting data with formatting and escaping
12.9 Demonstrate refactoring techniques to reduce repetitious code and improve maintainability
12.10. Demonstrate the use of parameters to pass data into program modules
12.11 Demonstrate the use of return values from modules
13.5 Perform different methods of debugging (e.g., hand-trace code and real time debugging tools)
14.1 Use standard library functions
14.3 Explain and interact with an Application Program Interface (API)
18.2 Differentiate among inheritance, composition, and class relationships
18.3 Instantiate objects from existing classes
18.4 Read the state of an object by invoking accessor methods
18.5 Change the state of an object by invoking a modifier method
18.8 Create a subclass of an existing class
18.10. Explain the object-oriented concepts of polymorphism, inheritance, and encapsulation