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 |