Please enable JavaScript to use CodeHS

Alaska 9-12 Standards Mapping


Foundations of Computer Science

61 Standards in this Framework 26 Standards Mapped 42% Mapped to Course

Standard Lessons
L1.CS.D.01 Explain how abstractions hide the underlying implementation details of computing systems embedded in everyday objects.
L1.CS.HS.01 Explain the interactions between application software, system software, and hardware.
L2.CS.HS.01 Identify the interactions of an operating system between software and hardware.
L1.CS.T.01 Develop and apply criteria for systematic discovery of errors and strategies for correction in computing systems.
  1. 2.17 Debugging Strategies
L1.NI.NCO.01 Evaluate the scalability and reliability of networks by identifying and illustrating the basic components of computer networks and network protocols (e.g., routers, switches, servers, IP, DNS).
L2.NI.NCO.01 Describe the issues that impact network functionality (e.g., bandwidth, load, delay, topology).
L1.NI.C.01 Compare various security measures by evaluating tradeoffs between the usability and security of a computing system.
  1. 1.6 Privacy & Security
L1.NI.C.02 Illustrate how sensitive data can be affected by attacks.
  1. 1.6 Privacy & Security
L1.NI.C.03 Recommend security measures to address various scenarios based on the principles of information security
  1. 1.6 Privacy & Security
L1.NI.C.04 Explain tradeoffs when selecting and implementing cybersecurity recommendations from multiple perspectives such as the user, enterprise, and government.
L2.NI.C.01 Compare and refine ways in which software developers protect devices and information from unauthorized access.
L2.NI.C.02 Learn detection and prevention methods to respond to attacks on sensitive data. Develop a response plan that enables recovery from such attacks.
L1.DA.S.01 Translate and compare different bit representations of real-world phenomena, such as characters, numbers, and images.
L1.DA.S.02 Review different database types.
L2.DA.S.01 Evaluate and explain the various types of databases, with their specific benefits and limitation.
L1.DA.CVT.01 Use tools and techniques to locate, collect and create visualizations of small and large-scale data sets (e.g., paper surveys, online data sets, etc.).
  1. 1.8 Visualizing and Interpreting Data
  2. 1.9 Data Collection & Limitations
L2.DA.CVT.01 Use data analysis tools and techniques to identify patterns from complex real- world phenomena.
  1. 1.8 Visualizing and Interpreting Data
  2. 1.9 Data Collection & Limitations
L2.DA.CVT.02 Generate data sets that support a claim or communicates information using a variety of data collection tools and analysis techniques
  1. 1.9 Data Collection & Limitations
L1.DA.IM.01 Use computational models such as data analysis, pattern recognition, and/or simulations to show the relationships between collected data elements.
L2.DA.IM.01 Use models and simulations to help formulate, refine, and test scientific hypotheses.
L1.AP.A.01 Use algorithms (e.g., sequencing, selection, iteration, recursion, etc.) to create a prototype to provide a possible solution for a common problem.
  1. 7.5 For Loops in JavaScript
  2. 7.6 General For Loops
  3. 7.7 For Loop Practice
  4. 7.9 While Loops
L2.AP.A.01 Describe how artificial intelligence drives many software and physical systems (e.g., autonomous robots, computer vision, pattern recognition, text analysis).
L2.AP.A.02 Develop an artificial intelligence algorithm to play a game against a human opponent or solve a common problem.
  1. 8.1 Control Structures Challenges
L2.AP.A.03 Critically examine and adapt classic algorithms (e.g. selection sort, insertion sort, etc.).
  1. 16.2 Finding an Element in a List
L2.AP.A.04 Evaluate algorithms (e.g., sorting, searching) in terms of their efficiency, correctness, and clarity.
  1. 16.2 Finding an Element in a List
L1.AP.V.01 Demonstrate the use of lists to simplify solutions and to generalize computation problems instead of repeatedly using simple variables.
  1. 9.11 Intro to Lists/Arrays
  2. 9.14 Iterating Over an Array
  3. 16.2 Finding an Element in a List
L2.AP.V.01 Compare and contrast simple data structures and their uses (e.g., arrays, lists, stacks, queues, maps, trees, graphs, and databases).
  1. 9.11 Intro to Lists/Arrays
  2. 17.1 Intro to Objects/Maps
  3. 17.5 Intro to Sets
  4. 17.6 Intro to Grids
L1.AP.C.01 Justify the selection of specific control structures when trade-offs involve implementation, readability, and program performance
  1. 2.14 Control Structures Example
L1.AP.C.02 Develop an event-based program that will solve a practical problem, or allow self-expression
  1. 9.10 Mouse Events: Mouse Clicked
  2. 15.1 Mouse Events: Mouse Moved
  3. 15.3 Key Events
L2.AP.C.01 Trace the execution of recursive algorithms, illustrating output and changes in values of named variables.
L1.AP.M.01 Using systematic analysis and design, break down a solution into basic elements such as procedures, functions, or methods.
  1. 9.1 Functions and Parameters 1
  2. 9.2 Functions and Parameters 2
  3. 9.3 Functions and Parameters 3
  4. 9.4 Functions and Return Values 1
  5. 9.5 Functions and Return Values 2
L1.AP.M.02 Create computational artifacts by using common structures to organize, manipulate and/or process data.
  1. 9.1 Functions and Parameters 1
  2. 9.2 Functions and Parameters 2
L2.AP.M.01 Construct solutions to problems using student-created components, such as functions, procedures, modules, and/or objects
  1. 9.1 Functions and Parameters 1
  2. 9.2 Functions and Parameters 2
  3. 9.3 Functions and Parameters 3
  4. 9.4 Functions and Return Values 1
  5. 9.5 Functions and Return Values 2
L2.AP.M.02 Analyze a large-scale computational problem and identify generalizable patterns that can be applied to a solution
L2.AP.M.03 Create programming solutions using code reuse and applied technique with appropriate attribution (e.g., libraries, APIs, collaboration software, and versioning software).
  1. 2.9 Super Karel
  2. 5.4 Basic Math in JavaScript
L1.AP.PD.01 Create software by analyzing a problem and/or process, developing a solution, testing outcomes, debug, documenting, and adapting the program for a variety of users.
L1.AP.PD.02 Classify and define a variety of software licensing schemes and discuss the advantages and disadvantages of the different schemes in software development (e.g. open source, freeware, commercial).
L1.AP.PD.03 Evaluate and refine computational artifacts to make them more user- friendly, efficient and/or accessible.
L1.AP.PD.04 Design and develop a computational artifact while working in a team
  1. 1.12 Project: Public Service Announcement
  2. 3.1 Collaborative Programming
L1.AP.PD.05 Using visual aids and documentation, illustrate the design elements and data flow of the development of a complex program (e.g. flowcharts, pseudocode, etc.).
  1. 2.7 Commenting Your Code
L2.AP.PD.01 Compare multiple programming languages and discuss features that make them useful for solving problems and developing systems.
L2.AP.PD.02 Using the software life cycle process, create software that will provide solutions for a variety of users.
L2.AP.PD.03 Design software in a project team environment using Agile Development methods (e.g., versioning and collaboration systems).
L2.AP.PD.04 Explain security issues that might lead to compromised computer programs.
  1. 1.6 Privacy & Security
L2.AP.PD.05 Develop programs for multiple computing platforms.
L2.AP.PD.06 Develop and use a series of test cases to verify that a program performs according to its design specifications.
L2.AP.PD.07 Through peer review systematically check code for correctness, usability, readability, efficiency, portability, and scalability (e.g. code review).
L2.AP.PD.08 Modify an existing program to add additional functionality and discuss intended and unintended implications with appropriate attribution.
L1.CGEI.C.01 Test and refine computational artifacts to reduce bias and equity deficits
L1.CGEI.C.02 Demonstrate how a given algorithm applies to problems across disciplines.
L2.CGEI.C.01 Evaluate the impact of equity, access, and influence on the distribution of computing resources in a global society.
L2.CGEI.C.02 Based on research, evaluate how computing has revolutionized an aspect of our culture and predict how it might evolve (e.g., education, healthcare, art/entertainment, and energy).
L1.CGEI.SI.01 Demonstrate how computing increases connectivity to people in various cultures
L1.CGEI.SLE.1 Explain the beneficial and harmful effects that intellectual property laws can have on innovation
  1. 1.10 Creative Credit & Copyright
L1.CGEI.SLE.2 Explain the privacy concerns related to the collection and large scale analysis of information about individuals that may not be evident to users (e.g., how businesses, social media, and the government collects and uses data).
L1.CGEI.SLE.3 Evaluate the social and economics implications as related to privacy, data, property, information, and identity in the context of safety, law, or ethics.
L1.CGEI.SLE.4 Describe the beneficial and intrusive aspects of advancing and emerging technologies (e.g., artificial intelligent agents, IoT, robotics).
L1.CGEI.SLE.5 Discuss diverse careers that are influenced by computer science and its availability to all regardless of background.
  1. 1.11 Hacking Ethics
L2.CGEI.SLE.1 Debate laws and regulations that impact the development and use of software.
  1. 1.10 Creative Credit & Copyright
L2.CGEI.SLE.4 Identify the ethical and moral implications encountered in managing and curating knowledge (e.g., harvesting; information overload; knowledge management; reposting; sharing; summarizing).
  1. 1.7 Information Literacy
  2. 1.10 Creative Credit & Copyright
L2.CGEI.SLE.5 Explain how cutting-edge technology may affect the way business is conducted in the future (e.g., eCommerce, entrepreneurship, payment methods, business responsibilities).