Please enable JavaScript to use CodeHS

Standards Mapping

for Arizona CTE Software and App Development

101

Standards in this Framework

59

Standards Mapped

58%

Mapped to Course

Standard Lessons
1.1
Establish objectives and outcomes for a task
  1. 5.3 Project Overview
  2. 5.4 Planning Your Site
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. 9.2 Layout and Web Design Theory
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)
  1. 1.2 Impact of Cybersecurity
2.2
Describe potential vulnerabilities in software (e.g., OWASP’s Top 10)
  1. 12.1 Inside Web Apps
2.3
Identify procedures to maintain data integrity and security (e.g., lock the screen, delete unrecognized emails, use trustworthy thumb drives, and use approved software)
  1. 1.7 Privacy & Security
2.4
Explain best practices to maintain integrity and security in software development (e.g., encryption, hashing, and digital signatures)
  1. 1.3 The CIA Triad
  2. 11.7 Web Security
2.5
Describe methods for sanitizing user input to prevent issues (e.g., buffer overflows and SQL injection)
  1. 11.7 Web Security
  2. 12.11 Types of SQLi and Prevention
2.6
Explain the CIA (confidentiality, integrity, and availability) triad
  1. 1.3 The CIA Triad
2.7
Explain how software defects relate to software security (e.g., buffer overflows and cross-site scripting)
  1. 11.7 Web Security
3.1
Explore intellectual property rights including software licensing and software duplication [e.g., Digital Millennium Copyright Act (DMCA), software licensing, and software duplication]
  1. 2.6 Copyright
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)
3.3
Identify issues and regulations affecting computers, other devices, the internet, and information privacy (e.g., HIPAA, COPPA, CISPA, FERPA, PCI, GDPR, and data brokers)
  1. 1.8 Research: Privacy Acts and Regulations
4.1
Declare numeric, Boolean, character, string variables, and float and double
  1. 6.2 Variables
  2. 6.5 Booleans
4.2
Choose the appropriate data type for a given situation
  1. 7.7 Challenge: Make a Keyboard
4.3
Identify the correct syntax and usage for constants and variables in a program
  1. 6.2 Variables
  2. 6.5 Booleans
  3. 7.7 Challenge: Make a Keyboard
4.4
Identify the correct syntax and safe functions for operations on strings, including length, substring, and concatenation
  1. 6.2 Variables
4.5
Explain complications of storing and manipulating data (i.e., the Big-O notation for analyzing storage and efficiency concerns, etc.)
  1. 10.1 Collecting and Storing Data
4.6
Research industry relevant programming languages (i.e., Java, JavaScript, Python, etc.)
  1. 2.1 Introduction to HTML
  2. 6.1 Hello World
5.1
Apply basic mathematics to hardware (e.g., bits, bytes, kilobytes, megabytes, gigabytes, and terabytes)
5.2
Use binary to decimal, decimal to hexadecimal, hexadecimal to decimal, binary to hexadecimal, and binary to hexadecimal conversions to solve hardware and software problems
5.3
Identify and correctly use arithmetic operations applying the order of operations (precedence) with respect to programming
  1. 6.4 Basic Math in JavaScript
5.4
Interpret and construct mathematical formulas
  1. 6.4 Basic Math in JavaScript
5.5
Identify correct and problematic uses of integers, floating-point numbers, and fixed-point numbers in arithmetic
6.1
Use the correct syntax for decision statements (e.g., if/else, if, and switch case)
  1. 6.8 If Statements
  2. 7.7 Challenge: Make a Keyboard
6.2
Compare values using relational operators (e.g., =, >, <, >=, <=, and not equal)
  1. 6.7 Comparison Operators
  2. 7.8 Keyboard Interactions
  3. 7.9 JavaScript Animations
6.3
Evaluate Boolean expressions (e.g., AND, OR, NOT, NOR, and XOR)
  1. 6.5 Booleans
  2. 6.6 Logical Operators
6.4
Use the correct nesting for decision structures
  1. 6.8 If Statements
7.1
Identify various types of iteration structure (e.g., while, for, for-each, and recursion)
  1. 6.9 For Loops in JavaScript
  2. 6.16 Array Length and Looping Through Arrays
  3. 10.10 For/In Loops
7.2
Identify how loops are controlled (variable conditions and exits)
  1. 6.9 For Loops in JavaScript
  2. 10.10 For/In Loops
7.3
Use the correct syntax for nested loops
  1. 6.9 For Loops in JavaScript
  2. 6.16 Array Length and Looping Through Arrays
  3. 10.10 For/In Loops
7.4
Compute the values of variables involved with nested loops
  1. 6.12 Functions and Return Values 1
  2. 6.16 Array Length and Looping Through Arrays
  3. 10.10 For/In Loops
8.1
Demonstrate basic uses of arrays including initialization, storage, and retrieval of values
  1. 6.13 Intro to Lists/Arrays
  2. 6.14 Indexing Into an Array
  3. 6.15 Adding/Removing From an Array
  4. 6.16 Array Length and Looping Through Arrays
  5. 10.2 Storing Data with Local Storage
  6. 10.3 Storing Data Structures with Local Storage
  7. 10.7 Storing Data with Firebase
8.2
Distinguish between arrays and hash maps (associative arrays)
8.3
Identify techniques for declaring, initializing, and modifying user-defined data types
  1. 10.5 Using Input Fields
  2. 10.6 Challenge: Create a Survey
8.4
Search and sort data in an array
  1. 6.14 Indexing Into an Array
  2. 6.15 Adding/Removing From an Array
  3. 6.16 Array Length and Looping Through Arrays
  4. 10.10 For/In Loops
8.5
Create and use two-dimensional arrays
8.6
Describe the efficiency of different sorting algorithms (e.g., bubble, insertion, and merge)
8.7
Describe the efficiency of linear vs. binary searches [e.g., O(n) and O(log n)]
9.1
Explain cloud-based computing and content delivery networks
  1. 11.2 Hosting Your Website
9.2
Identify the components and functions of the internet (e.g., HTTP, HTTPS, FTP, IP addresses, and IMAP)
9.3
Identify services run by web servers [e.g., scripting languages (client- and server-side scripting), databases, and media]
  1. 10.1 Collecting and Storing Data
  2. 10.2 Storing Data with Local Storage
  3. 10.3 Storing Data Structures with Local Storage
  4. 10.7 Storing Data with Firebase
  5. 10.8 Traversing Data with Firebase
9.4
Identify performance issues (e.g., bandwidth, internet connection types, pages loading slowly, resolution, and size graphics)
9.5
Differentiate among shared hosting, dedicated server, and virtual private server (VPS)
  1. 12.4 Clients and Servers
9.6
Identify Internet of Things (IOT) and common communication interfaces (e.g., Bluetooth, NFC, Wi-Fi, and LTE)
  1. 1.1 What is Cybersecurity?
10.1
Identify key components and functions of internet and web specialty browsers
10.2
Use client collaboration sources/platforms (e.g., GitHub, Google Drive, Dropbox, JSFiddle, and browser developer tools)
  1. 12.2 Developer Tools
10.3
Analyze remote computing tools and services and their application
  1. 12.2 Developer Tools
11.1
Implement the steps in the System Development Life Cycle (SDLC) (e.g., planning, analysis, design, development, testing, implementation, and maintenance)
  1. 13.1 Providing Feedback
  2. 13.2 Presenting Your Innovation
11.2
Develop program requirements/specifications and a testing plan (e.g., user stories, automated testing, and test procedures)
  1. 13.1 Providing Feedback
11.3
Apply pseudocode or graphical representations to plan the structure of a program or module (e.g., flowcharting, whiteboarding, and UML)
  1. 5.4 Planning Your Site
11.4
Create and implement basic algorithms
  1. 9.3 Interactive Resume Development
12.1
Use a program editor to enter and modify code
  1. 7.7 Challenge: Make a Keyboard
  2. 9.3 Interactive Resume Development
  3. 10.9 Challenge: Collecting User Clicks
12.2
Identify correct input/output statements
  1. 7.8 Keyboard Interactions
  2. 10.9 Challenge: Collecting User Clicks
12.3
Choose the correct method of assigning input to variables including data sanitization
  1. 7.8 Keyboard Interactions
  2. 10.9 Challenge: Collecting User Clicks
12.4
Choose the correct method of outputting data with formatting and escaping
12.5
Differentiate between interpreted and compiled code (e.g., steps necessary to run executable code)
12.6
Identify the purpose of a build system (e.g., make, rake, ant, maven, SCons, and grunt)
12.7
Apply industry standards in documentation (e.g., self-documenting code; function-level, program-level, and user-level documentation)
12.8
Name identifiers and formatting code by applying recognized conventions
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.1
Identify errors in program modules
  1. 7.1 The Script Tag
13.2
Identify boundary cases and generate appropriate test data
13.3
Perform integration testing including tests within a program to protect execution from bad input or other run-time errors
13.4
Categorize, identify, and correct errors in code, including syntax, semantic, logic, and runtime
13.5
Perform different methods of debugging (e.g., hand-trace code and real time debugging tools)
  1. 7.1 The Script Tag
14.1
Use standard library functions
  1. 7.5 Functions in HTML
  2. 8.4 Callback Functions and Synchronization
14.2
Find and use third party libraries (e.g., web-based and package managers)
  1. 8.1 Introduction to jQuery
  2. 8.2 Iterating with jQuery
  3. 8.3 Animations with jQuery
14.3
Explain and interact with an Application Program Interface (API)
  1. 10.11 Using APIs
15.1
Identify the purpose of version control systems (e.g., Git and Mercurial)
15.2
Create a new repository
15.3
Add, push, and pull source code from repository
15.4
Explain branching and its uses
15.5
Restore previous versions of code from the repository
16.1
Apply W3C standards and style conventions
  1. 9.2 Layout and Web Design Theory
16.2
Construct web pages and applications that are compliant with ADA and sections 504 and 508 standards
  1. 11.6 Web Accessibility
16.3
Explain the concept of responsive design and applications
  1. 4.15 CSS Frameworks
16.4
Employ graphics methods to create images at specified locations
  1. 2.5 Images
  2. 7.10 Positioning and Animations
16.5
Choose correct GUI objects for input and output of data to the GUI interface (e.g., text boxes, labels, radio buttons, check boxes, dropdowns, and list boxes)
  1. 10.5 Using Input Fields
  2. 10.6 Challenge: Create a Survey
17.1
Input/output data from a sequential file or database
  1. 10.2 Storing Data with Local Storage
  2. 10.3 Storing Data Structures with Local Storage
  3. 10.7 Storing Data with Firebase
  4. 10.8 Traversing Data with Firebase
17.2
Demonstrate creating, reading, updating, and dropping a database
  1. 10.2 Storing Data with Local Storage
  2. 10.3 Storing Data Structures with Local Storage
  3. 10.4 JavaScript Objects
  4. 10.7 Storing Data with Firebase
  5. 10.8 Traversing Data with Firebase
17.3
Demonstrate the proper use of SQL database applications that work with different languages (e.g., MongoDB, Microsoft Access, Oracle Databases, and Code.org’s App Lab)
  1. 12.8 Databases
18.1
Make a distinction between an object and a class
  1. 10.4 JavaScript Objects
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
  1. 10.4 JavaScript Objects
18.5
Change the state of an object by invoking a modifier method
  1. 10.4 JavaScript Objects
18.6
Determine the requirements for constructing new objects by reading the documentation
18.7
Create a user-defined class
18.8
Create a subclass of an existing class
18.9
Identify the use of an abstract class as opposed to an interface
18.10.
Explain the object-oriented concepts of polymorphism, inheritance, and encapsulation
19.1
Identify runtime errors
19.2
Describe error handling strategies
19.3
Handle unexpected return values
19.4
Handle (catch) runtime errors and take appropriate action
19.5
Throw standard exception classes
19.6
Develop and throw custom exception classes