Please enable JavaScript to use CodeHS

Alabama 9-12 Framework


Standard Description
R1 R1) Identify, demonstrate, and apply personal safe use of digital devices. Lessons
R2 R2) Recognize and demonstrate age-appropriate responsible use of digital devices and resources as outlined in school/district rules. Lessons
R3 R3) Assess the validity and identify the purpose of digital content. Lessons
R4 R4) Identify and employ appropriate troubleshooting techniques used to solve computing or connectivity issues. Lessons
R5 R5) Locate and curate information from digital sources to answer research questions. Lessons
R6 R6) Produce, review, and revise authentic artifacts that include multimedia using appropriate digital tools. Lessons
1 Decompose problems into component parts, extract key information, and develop descriptive models to understand the levels of abstractions in complex systems. Lessons
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). Lessons
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. Lessons
4 Use and adapt classic algorithms to solve computational problems. Examples: Sorting, searching, shortest path, and data compression. Lessons
5 Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a societal issue by using current events. Lessons
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. Lessons
7 Compare and contrast fundamental data structures and their uses. Examples: Strings, lists, arrays, stacks, queues. Lessons
8 Demonstrate code reuse by creating programming solutions using libraries and Application Programming Interfaces. Lessons
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. Lessons
10 Resolve or debug errors encountered during testing using iterative design process. Examples: Test for infinite loops, check for bad input, check edge-cases. Lessons
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. Lessons
12 Describe how sensitive data can be affected by malware and other attacks. Lessons
13 Compare various security measures of a computer system. EExamples: Usability, security, portability, and scalability. Lessons
14 Compare ways to protect devices, software, and data. Lessons
15 Explain the necessity for the school’s Acceptable Use Policy. Lessons
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. Lessons
17 Discuss the ethical ramifications of malicious hacking and its impact on society. Examples: Dissemination of privileged information, ransomware. Lessons
18 Explain the beneficial and harmful effects that intellectual property laws can have on innovation. Lessons
19 Prove that digital identity is a reflection of persistent, publicly available artifacts. Lessons
20 Evaluate strategies to manage digital identity and reputation with awareness of the permanent impact of actions in a digital world. Lessons
21 Explain how technology facilitates the disruption of traditional institutions and services. Examples: Digital currencies, ridesharing, autonomous vehicles, retail, Internet of Things. Lessons
22 Research the impact of computing technology on possible career pathways. Examples: Government, business, medicine, entertainment, education, transportation. Lessons
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. Lessons
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. Lessons
25 Utilize a variety of digital tools to create digital artifacts across content areas. Lessons
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. Lessons
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 Lessons
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. Lessons
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. Lessons
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. Lessons
31 Create interactive data visualizations using software tools to help others understand real-world phenomena. Lessons
32 Use data analysis tools and techniques to identify patterns in data representing complex systems. Lessons
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 Lessons
34 Categorize the roles of operating system software. Lessons
35 Appraise the role of artificial intelligence in guiding software and physical systems. Examples: predictive modeling, self-driving cars. Lessons
36 Explain the tradeoffs when selecting and implementing cybersecurity recommendations. Examples: Two-factor authentication, password requirements, geolocation requirements. Lessons
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. Lessons
38 Systematically design and develop programs for broad audiences by incorporating feedback from users. Examples: Games, utilities, mobile applications. Lessons
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. Lessons
40 Use an iterative design process, including learning from mistakes, to gain a better understanding of a problem domain. Lessons