Please enable JavaScript to use CodeHS

Standards Mapping

for Florida 9-12

91

Standards in this Framework

26

Standards Mapped

28%

Mapped to Course

Standard Lessons
SC.912.CS-CC.1.1
Evaluate modes of communication and collaboration
SC.912.CS-CC.1.2
Select appropriate tools within a project environment to communicate with project team members.
SC.912.CS-CC.1.3
Collect, analyze, and present information using a variety of computing devices (e.g., probes, sensors, and handheld devices).
SC.912.CS-CC.1.4
Develop a collaborative digital product using collaboration tools (e.g., version control systems and integrated development environments).
SC.912.CS-CC.1.5
Communicate and publish key ideas and details to a variety of audiences using digital tools and media-rich resources.
SC.912.CS-CC.1.6
Identify how collaboration influences the design and development of software artifacts.
SC.912.CS-CC.1.7
Evaluate program designs and implementations written by others for readability and usability.
SC.912.CS-CS.1.1
Analyze data and identify real-world patterns through modeling and simulation.
  1. 6.8 Simulation
SC.912.CS-CS.1.2
Formulate, refine, and test scientific hypotheses using models and simulations.
  1. 6.8 Simulation
SC.912.CS-CS.1.3
Explain how data analysis is used to enhance the understanding of complex natural and human systems.
  1. 6.8 Simulation
SC.912.CS-CS.1.4
Compare techniques for analyzing massive data collections.
SC.912.CS-CS.1.5
Represent and understand natural phenomena using modeling and simulation.
  1. 6.8 Simulation
SC.912.CS-CS.2.1
Explain intractable problems and understand that problems exists that are computationally unsolvable (e.g., classic intractable problems include the Towers of Hanoi and the Traveling Salesman Problem -TSP).
SC.912.CS-CS.2.2
Describe the concept of parallel processing as a strategy to solve large problems.
SC.912.CS-CS.2.3
Demonstrate concurrency by separating processes into threads of execution and dividing data into parallel streams.
SC.912.CS-CS.2.4
Divide a complex problem into simpler parts by using the principle of abstraction to manage complexity (i.e., by using searching and sorting as abstractions) using predefined functions and parameters, classes, and methods.
  1. 2.8 Abstraction
  2. 2.17 Ultra Karel
SC.912.CS-CS.2.5
Evaluate a classical algorithms and implement an original algorithm
SC.912.CS-CS.2.6
Evaluate various data types and data structures.
  1. 6.1 Intro to Lists/Arrays
  2. 6.2 Indexing Into an Array
  3. 6.3 Adding/Removing From an Array
  4. 6.4 Array Length and Looping Through Arrays
  5. 6.5 Iterating Over an Array
  6. 6.6 Finding an Element in a List
  7. 6.7 Removing an Element From an Array
  8. 6.8 Simulation
SC.912.CS-CS.2.7
Explain how sequence, selection, iteration, and recursion are building blocks of algorithms.
  1. 2.10 For Loops
  2. 2.11 If Statements
  3. 2.12 If/Else Statements
  4. 2.13 While Loops in Karel
  5. 2.14 Control Structures Example
  6. 2.15 Karel Algorithms
  7. 2.18 Karel Challenges
  8. 4.1 Booleans
  9. 4.2 Logical Operators
  10. 4.3 Comparison Operators
  11. 4.4 If Statements
  12. 4.5 For Loops in JavaScript
  13. 4.6 General For Loops
  14. 4.7 For Loop Practice
  15. 4.8 Random Numbers
  16. 4.9 While Loops
  17. 4.10 Loop and a Half
SC.912.CS-CS.2.8
Decompose a problem by defining new functions and classes
  1. 2.4 Functions in Karel
  2. 2.5 The Start Function
  3. 2.6 Top Down Design and Decomposition in Karel
  4. 2.10 For Loops
  5. 2.11 If Statements
  6. 2.12 If/Else Statements
  7. 2.13 While Loops in Karel
  8. 2.14 Control Structures Example
  9. 2.15 Karel Algorithms
  10. 2.18 Karel Challenges
  11. 4.4 If Statements
  12. 4.5 For Loops in JavaScript
  13. 4.7 For Loop Practice
  14. 4.8 Random Numbers
  15. 4.9 While Loops
  16. 4.10 Loop and a Half
SC.912.CS-CS.2.9
Evaluate ways to characterize how well algorithms perform and that two algorithms can perform differently for the same task.
SC.912.CS-CS.2.10
Design and implement a simple simulation algorithm to analyze, represent, and understand natural phenomena.
  1. 6.8 Simulation
SC.912.CS-CS.2.11
Evaluate algorithms by their efficiency, correctness, and clarity (e.g., by analyzing and comparing execution times, testing with multiple inputs or data sets, and by debugging).
  1. 2.2 More Basic Karel
SC.912.CS-CS.2.12
Compare and contrast simple data structures and their uses.
  1. 6.1 Intro to Lists/Arrays
  2. 6.2 Indexing Into an Array
  3. 6.3 Adding/Removing From an Array
  4. 6.4 Array Length and Looping Through Arrays
  5. 6.5 Iterating Over an Array
  6. 6.6 Finding an Element in a List
  7. 6.7 Removing an Element From an Array
  8. 6.8 Simulation
SC.912.CS-CS.2.13
Explain how automated software testing can reduce the cost of the testing effort.
SC.912.CS-CS.2.14
Explain what tools are applied to provide automated testing environments.
SC.912.CS-CS.3.1
Describe digital tools or resources to use for a real-world task based on their efficiency and effectiveness.
SC.912.CS-CS.3.2
Evaluate different file types for different purposes (e.g., word processing, images, music, and three-dimensional drawings).
SC.912.CS-CS.4.1
Describe a software development process that is used to solve problems at different software development stages (e.g., design, coding, testing, and verification).
  1. 12.1 Intro to Design Thinking
  2. 12.2 Prototype
  3. 12.3 Test
  4. 12.4 Project Prep and Development
SC.912.CS-CS.4.2
Describe the organization of a computer and identify its principal components by name, function, and the flow of instructions and data between components (e.g., storage devices, memory, CPU, graphics processors, IO and network ports).
SC.912.CS-CS.4.3
Differentiate between multiple levels of hardware and software (such as CPU hardware, operating system, translation, and interpretation) that support program execution.
SC.912.CS-CS.4.4
Evaluate various forms of input and output (e.g., IO and storage devices and digital media).
SC.912.CS-CS.4.5
Develop and evaluate criteria for purchasing or upgrading computer system hardware (e.g., Wi-Fi, mobile devices, home and office machines).
SC.912.CS-CS.4.6
Develop criteria for selecting appropriate hardware and software when solving a specific real-world problem (such as business, educational, personal).
SC.912.CS-CS.4.7
Develop a software artifact (independently and collaboratively) in phases (or stages) according to a common software development methodology (e.g., Waterfall or Spiral model)
SC.912.CS-CS.4.8
Evaluate the basic components of computer networks.
  1. 1.14 Viewing Websites
  2. 8.1 Intro to the Internet
  3. 8.2 Internet Hardware
  4. 8.3 Internet Addresses
  5. 8.4 DNS
  6. 8.5 Routing
  7. 8.6 Packets and Protocols
  8. 8.8 The Impact of the Internet
SC.912.CS-CS.4.9
Analyze historical trends in hardware and software to assess implications on computing devices for the future (e.g., upgrades for power/energy, computation capacity, speed, size, ease of use).
SC.912.CS-CS.5.1
Identify and select the most appropriate file format based on trade-offs (e.g., open file formats, text, proprietary and binary formats, compression and encryption formats).
  1. 7.8 Data Compression
  2. 7.9 Lossy Compression
SC.912.CS-CS.5.2
Describe the issues that impact network functionality (e.g., latency, bandwidth, firewalls and server capability).
  1. 8.2 Internet Hardware
SC.912.CS-CS.5.3
Describe common network protocols, such as IP, TCP, SMTP, HTTP, and FTP, and how these are applied by client-server and peer-to-peer networks.
SC.912.CS-CS.6.1
Describe the unique features of computers embedded in mobile devices and vehicles
SC.912.CS-CS.6.2
Describe the common physical and cognitive challenges faced by users when learning to use software and hardware.
SC.912.CS-CS.6.3
Describe the process of designing software to support specialized forms of human-computer interaction.
SC.912.CS-CS.6.4
Explain the notion of intelligent behavior through computer modeling and robotics.
SC.912.CS-CS.6.5
Describe common measurements of machine intelligence (e.g., Turing test).
SC.912.CS-CS.6.6
Describe a few of the major branches of artificial intelligence (e.g., expert systems, natural language processing, machine perception, machine learning).
SC.912.CS-CS.6.7
Describe major applications of artificial intelligence and robotics, including, but not limited to, the medical, space, and automotive fields
SC.912.CS-CP.1.1
Evaluate effective uses of Boolean logic (e.g., using “not”, “or”, “and”) to refine searches for individual and collaborative projects.
  1. 4.1 Booleans
SC.912.CS-CP.1.2
Perform advanced searches to locate information and/or design a data-collection approach to gather original data (e.g., qualitative interviews, surveys, prototypes, and simulations).
  1. 9.1 Getting Started
  2. 9.2 Visualizing and Interpreting Data
  3. 9.3 Interpreting Data
  4. 9.4 Collecting Data
  5. 9.5 Practice PT: Present a Data-Driven Insight
SC.912.CS-CP.1.3
Analyze and manipulate data collected by a variety of data collection techniques to support a hypothesis.
  1. 9.1 Getting Started
  2. 9.2 Visualizing and Interpreting Data
  3. 9.3 Interpreting Data
  4. 9.4 Collecting Data
  5. 9.5 Practice PT: Present a Data-Driven Insight
SC.912.CS-CP.1.4
Collect real-time data from sources such as simulations, scientific and robotic sensors, and device emulators, using this data to formulate strategies or algorithms to solve advanced problems.
SC.912.CS-CP.2.1
Explain the program execution process (by an interpreter and in CPU hardware).
SC.912.CS-CP.2.2
Design and implement a program using global and local scope.
SC.912.CS-CP.2.3
Implement a program using an industrial-strength integrated development environment
SC.912.CS-CP.2.4
Facilitate programming solutions using application programming interfaces (APIs) and libraries.
  1. 2.1 Introduction to Programming With Karel
  2. 2.2 More Basic Karel
  3. 2.3 Karel Can't Turn Right
  4. 2.4 Functions in Karel
  5. 2.5 The Start Function
  6. 2.6 Top Down Design and Decomposition in Karel
  7. 2.7 Commenting Your Code
  8. 2.8 Abstraction
  9. 2.9 Super Karel
  10. 2.10 For Loops
  11. 2.11 If Statements
  12. 2.12 If/Else Statements
  13. 2.13 While Loops in Karel
  14. 2.14 Control Structures Example
  15. 2.15 Karel Algorithms
  16. 2.16 How to Indent Your Code
  17. 2.17 Ultra Karel
  18. 2.18 Karel Challenges
  19. 2.19 End of Unit Quiz
  20. 2.20 Practice PT: Pair-Programming Paint!
  21. 3.7 Using Graphics in JavaScript
SC.912.CS-CP.2.5
Explain the role of an API in the development of applications and the distinction between a programming language’s syntax and the API.
  1. 2.9 Super Karel
  2. 2.17 Ultra Karel
SC.912.CS-CP.2.6
Describe a variety of commonly used programming languages.
SC.912.CS-CP.2.7
Classify programming languages by paradigm and application domain (e.g., imperative, functional, and logic languages) and evaluate their application to domains such as web programming, symbolic processing and data/numerical processing.
SC.912.CS-CP.3.1
Create a computational artifact, individually and collaboratively, followed by reflection, analysis, and iteration (e.g., data-set analysis program for science and engineering fair, capstone project that includes a program, term research project based on program data).
  1. 1.16 Your First Website
  2. 2.20 Practice PT: Pair-Programming Paint!
  3. 5.10 Practice PT: Tell a Story
  4. 7.13 Practice PT: Create Your Own Filter!
  5. 8.10 Practice PT: The Effects of the Internet
  6. 9.5 Practice PT: Present a Data-Driven Insight
  7. 10.1 The Impacts of Computing
SC.912.CS-CP.3.2
Create mobile computing applications and/or dynamic web pages through the use of a variety of design and development tools, programming languages, and mobile devices/emulators.
SC.912.CS-PC.1.1
Compare and contrast appropriate and inappropriate social networking behaviors.
SC.912.CS-PC.1.2
Describe and demonstrate ethical and responsible use of modern communication media and devices.
SC.912.CS-PC.1.3
Evaluate the impacts of irresponsible use of information (e.g., plagiarism and falsification of data) on collaborative projects.
SC.912.CS-PC.1.4
Explain the principles of cryptography by examining encryption, digital signatures, and authentication methods (e.g., explain why and how certificates are used with “https” for authentication and encryption)
  1. 7.10 Cryptography
SC.912.CS-PC.1.5
Implement an encryption, digital signature, or authentication method.
  1. 7.10 Cryptography
SC.912.CS-PC.1.6
Describe computer security vulnerabilities and methods of attack, and evaluate their social and economic impact on computer systems and people.
  1. 8.7 Cybersecurity
SC.912.CS-PC.2.1
Describe how the Internet facilitates global communication
SC.912.CS-PC.2.2
Identify ways to use technology to support lifelong learning
SC.912.CS-PC.2.3
Discuss and analyze the impact of values and points of view that are presented in media messages (e.g., racial, gender, and political).
SC.912.CS-PC.2.4
Analyze the positive and negative impacts of technology on popular culture and personal life
  1. 8.8 The Impact of the Internet
SC.912.CS-PC.2.5
Construct strategies to combat cyberbullying or online harassment.
SC.912.CS-PC.2.6
Describe the impact of computing on business and commerce (e.g., automated inventory processing, financial transactions, e-commerce, virtualization, and cloud computing).
SC.912.CS-PC.2.7
Describe how technology has changed the way people build and manage organizations and how technology impacts personal life.
SC.912.CS-PC.2.8
Evaluate ways in which adaptive technologies may assist users with special needs
SC.912.CS-PC.2.9
Explain how societal and economic factors are affected by access to critical information.
SC.912.CS-PC.2.10
Describe and evaluate the challenges (e.g., political, social, and economic) in providing equal access and distribution of technology in a global society
SC.912.CS-PC.2.11
Construct writings and/or communications using developmentally appropriate terminology
SC.912.CS-PC.2.12
Explore a variety of careers to which computing is central.
SC.912.CS-PC.2.13
Predict future careers and the technologies that may exist based on current technology trends.
SC.912.CS-PC.3.1
Evaluate the quality of digital resources for reliability (i.e., currency, relevancy, authority, accuracy, and purpose of digital information)
SC.912.CS-PC.3.2
Evaluate the accuracy, relevance, comprehensiveness, appropriateness, and bias of electronic information resources.
SC.912.CS-PC.3.3
Conduct research using peer reviewed articles, newspapers, magazine articles, and online books.
SC.912.CS-PC.3.4
Analyze and evaluate public/government resources and describe how using these resources for communication can affect change
SC.912.CS-PC.4.1
Describe how different types of software licenses (e.g., open source and proprietary licenses) can be used to share and protect intellectual property.
SC.912.CS-PC.4.2
Explain how access to information may not include the right to distribute the information.
SC.912.CS-PC.4.3
Describe differences between open source, freeware, and proprietary software licenses, and how they apply to different types of software.
SC.912.CS-PC.4.4
Describe security and privacy issues that relate to computer networks.
SC.912.CS-PC.4.5
Identify computer-related laws and analyze their impact on digital privacy, security, intellectual property, network access, contracts, and harassment.
SC.912.CS-PC.4.6
Describe security and privacy issues that relate to computer networks including the permanency of data on the Internet, online identity, and privacy
SC.912.CS-PC.4.7
Evaluate and use digital citation tools to cite sources.
SC.912.CS-PC.4.8
Describe the impact of government regulation on privacy and security.
  1. 8.1 Intro to the Internet