Please enable JavaScript to use CodeHS

Alabama 9-12 Standards Mapping


AP Computer Science Principles in JavaScript

46 Standards in this Framework 33 Standards Mapped 71% Mapped to Course

Standard Lessons
R1 R1) Identify, demonstrate, and apply personal safe use of digital devices.
R2 R2) Recognize and demonstrate age-appropriate responsible use of digital devices and resources as outlined in school/district rules.
R3 R3) Assess the validity and identify the purpose of digital content.
  1. 11.11 Creative Credit & Copyright
R4 R4) Identify and employ appropriate troubleshooting techniques used to solve computing or connectivity issues.
  1. 11.2 Internet Hardware
R5 R5) Locate and curate information from digital sources to answer research questions.
  1. 11.11 Creative Credit & Copyright
R6 R6) Produce, review, and revise authentic artifacts that include multimedia using appropriate digital tools.
  1. 2.1 Practice PT: Pair-Programming Paint!
  2. 6.1 Practice PT: Tell a Story
  3. 9.1 Practice PT: Steganography
  4. 10.1 Practice PT: Create an Image Filter!
  5. 12.1 The Effects of the Internet
  6. 14.1 Present a Data-Driven Insight
1 Decompose problems into component parts, extract key information, and develop descriptive models to understand the levels of abstractions in complex systems.
  1. 1.7 Top Down Design and Decomposition in Karel
  2. 1.9 Abstraction
2 Explain how computing systems are often integrated with other systems and embedded in ways that may not be apparent to the user. Examples: Millions of lines of code control the subsystems within an automobile (e.g., antilock braking systems, lane detection, and self-parking).
  1. 1.9 Abstraction
3 Differentiate between a generalized expression of an algorithm in pseudocode and its concrete implementation in a programming language. a. Explain that some algorithms do not lead to exact solutions in a reasonable amount of time and thus approximations are acceptable. b. Compare and contrast the difference between specific control structures such as sequential statements, conditional, iteration, and explain the benefits and drawbacks of choices made. Examples: Tradeoffs involving implementation, readability, and program performance. c. Distinguish when a problem solution requires decisions to be made among alternatives, such as selection constructs, or when a solution needs to be iteratively processed to arrive at a result, such as iterative “loop” constructs or recursion. d. Evaluate and select algorithms based on performance, reusability, and ease of implementation. e. Explain how more than one algorithm may solve the same problem and yet be characterized with different priorities. Examples: All self-driving cars have a common goal of taking a passenger to a designation but may have different priorities such as safety, speed, or conservation; web search engines have their own algorithms for search with their own priorities.
  1. 1.15 Control Structures Example
  2. 1.17 Karel Algorithms
  3. 1.20 Karel Challenges
4 Use and adapt classic algorithms to solve computational problems. Examples: Sorting, searching, shortest path, and data compression.
  1. 3.6 Basic Math in JavaScript
  2. 7.6 Finding an Element in a List
  3. 8.8 Data Compression
5 Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a societal issue by using current events.
  1. 12.1 The Effects of the Internet
  2. 14.1 Present a Data-Driven Insight
  3. 18.4 Project Prep and Development
6 Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects, with parameters, and which return a result.
  1. 1.7 Top Down Design and Decomposition in Karel
  2. 1.15 Control Structures Example
  3. 1.20 Karel Challenges
  4. 3.7 Using Graphics in JavaScript
  5. 5.1 Functions and Parameters 1
  6. 5.4 Functions and Return Values 1
7 Compare and contrast fundamental data structures and their uses. Examples: Strings, lists, arrays, stacks, queues.
  1. 7.1 Intro to Lists/Arrays
8 Demonstrate code reuse by creating programming solutions using libraries and Application Programming Interfaces.
  1. 1.10 Super Karel
  2. 1.19 Ultra Karel
  3. 3.6 Basic Math in JavaScript
  4. 4.8 Random Numbers
  5. 5.7 JavaScript vs Karel
9 Demonstrate the ability to verify the correctness of a program. a. Develop and use a series of test cases to verify that a program performs according to its design specifications. b. Collaborate in a code review process to identify correctness, efficiency, scalability and readability of program code.
  1. 11.8 Sequential, Parallel & Distributed Computing
  2. 18.3 Test
10 Resolve or debug errors encountered during testing using iterative design process. Examples: Test for infinite loops, check for bad input, check edge-cases.
  1. 1.16 Debugging Strategies
11 Model and demonstrate behaviors that are safe, legal, and ethical while living, learning, and working in an interconnected digital world. a. Recognize user tracking methods and hazards. Examples: Cookies, WiFi packet sniffing. b. Understand how to apply techniques to mitigate effects of user tracking methods. c. Understand the ramifications of end-user license agreements and terms of service associated with granting rights to personal data and media to other entities. d. Explain the relationship between online privacy and personal security. Examples: Convenience and accessibility, data mining, digital marketing, online wallets, theft of personal information. e. Identify physical, legal, and ethical consequences of inappropriate digital behaviors. Examples: Cyberbullying/harassment, inappropriate sexual communications. f. Explain strategies to lessen the impact of negative digital behaviors and assess when to apply them.
  1. 11.9 Cybersecurity
12 Describe how sensitive data can be affected by malware and other attacks.
13 Compare various security measures of a computer system. EExamples: Usability, security, portability, and scalability.
14 Compare ways to protect devices, software, and data.
15 Explain the necessity for the school’s Acceptable Use Policy.
  1. 11.11 Creative Credit & Copyright
16 Identify laws regarding the use of technology and their consequences and implications. Examples: Unmanned vehicles, net neutrality/common carriers, hacking, intellectual property, piracy, plagiarism.
  1. 11.11 Creative Credit & Copyright
17 Discuss the ethical ramifications of malicious hacking and its impact on society. Examples: Dissemination of privileged information, ransomware.
  1. 11.9 Cybersecurity
18 Explain the beneficial and harmful effects that intellectual property laws can have on innovation.
  1. 11.11 Creative Credit & Copyright
19 Prove that digital identity is a reflection of persistent, publicly available artifacts.
20 Evaluate strategies to manage digital identity and reputation with awareness of the permanent impact of actions in a digital world.
21 Explain how technology facilitates the disruption of traditional institutions and services. Examples: Digital currencies, ridesharing, autonomous vehicles, retail, Internet of Things.
22 Research the impact of computing technology on possible career pathways. Examples: Government, business, medicine, entertainment, education, transportation.
  1. 11.10 The Impact of the Internet
23 Debate the positive and negative effects of computing innovations in personal, ethical, social, economic, and cultural spheres. Examples: Artificial Intelligence/machine learning, mobile applications, automation of traditional occupational skills.
  1. 11.10 The Impact of the Internet
24 Compare and contrast Internet publishing platforms, including suitability for media types, target audience, and feedback mechanism. a. Apply version control capabilities within a digital tool to understand the importance of managing historical changes across suggestions made by a collaborative team.
  1. 18.4 Project Prep and Development
25 Utilize a variety of digital tools to create digital artifacts across content areas.
  1. 18.4 Project Prep and Development
26 Use collaborative technologies to work with others including peers, experts, or community members to examine local, national, and global issues and problems from multiple viewpoints.
  1. 2.1 Practice PT: Pair-Programming Paint!
  2. 18.4 Project Prep and Development
27 Apply tools and methods for collaboration on a project to increase connectivity among people in different cultures and career fields. Examples: Collaborative documents, webinars, teleconferencing, and virtual fieldtrips
28 Develop a model that reflects the methods, procedures and concepts used by computing devices in translating digital bits as real-world phenomena, such as print characters, sound, images, and video.
  1. 8.1 Intro to Digital Information
29 Summarize the role of compression and encryption in modifying the structure of digital artifacts and the varieties of information carried in the metadata of these artifacts.
  1. 8.8 Data Compression
  2. 8.9 Lossy Compression
30 Evaluate the tradeoffs involved in choosing methods for the organization of data elements and the location of data storage, including the advantages and disadvantages of networked computing. Examples: Client server, peer-to-peer, cloud computing.
31 Create interactive data visualizations using software tools to help others understand real-world phenomena.
  1. 13.2 Visualizing and Interpreting Data
  2. 13.3 Data Collection & Limitations
  3. 14.1 Present a Data-Driven Insight
32 Use data analysis tools and techniques to identify patterns in data representing complex systems.
  1. 13.2 Visualizing and Interpreting Data
  2. 13.3 Data Collection & Limitations
  3. 14.1 Present a Data-Driven Insight
33 Evaluate the scalability and reliability of networks by describing the relationship between routers, switches, servers, topology, packets, or addressing, as well as the issues that impact network functionality. Examples: Bandwidth, load, delay. a. Explain the purpose of Internet Protocol addresses and how domain names are resolved to IP addresses through a Domain Name System server. b. Understand the need for networking protocols and examples of common protocols. Examples: HTTP, SMTP, and FTP
  1. 11.3 Internet Addresses
  2. 11.5 DNS
  3. 11.6 Routing
  4. 11.7 Packets and Protocols
34 Categorize the roles of operating system software.
35 Appraise the role of artificial intelligence in guiding software and physical systems. Examples: predictive modeling, self-driving cars.
36 Explain the tradeoffs when selecting and implementing cybersecurity recommendations. Examples: Two-factor authentication, password requirements, geolocation requirements.
  1. 11.9 Cybersecurity
37 Evaluate the ability of models and simulations to test and support the refinement of hypotheses. a. Create and utilize models and simulations to help formulate, test, and refine a hypothesis. b. Form a model of a hypothesis, testing the hypothesis by the collection and analysis of data generated by simulations. Examples: Science lab, robotics lab, manufacturing, space exploration. c. Explore situations where a flawed model provided an incorrect answer.
  1. 7.8 Simulation
38 Systematically design and develop programs for broad audiences by incorporating feedback from users. Examples: Games, utilities, mobile applications.
  1. 18.3 Test
39 Identify a problem that cannot be solved by either humans or machines alone and discuss a solution for it by decomposing the task into sub-problems suited for a human or machine to accomplish. Examples: Forecasting weather, piloting airplanes.
40 Use an iterative design process, including learning from mistakes, to gain a better understanding of a problem domain.
  1. 18.4 Project Prep and Development