Please enable JavaScript to use CodeHS

Standards Framework

for Florida 9-12


Standards in this Framework

Standard Description
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.
SC.912.CS-CS.1.2 Formulate, refine, and test scientific hypotheses using models and simulations.
SC.912.CS-CS.1.3 Explain how data analysis is used to enhance the understanding of complex natural and human systems.
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.
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.
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.
SC.912.CS-CS.2.7 Explain how sequence, selection, iteration, and recursion are building blocks of algorithms.
SC.912.CS-CS.2.8 Decompose a problem by defining new functions and classes
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.
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).
SC.912.CS-CS.2.12 Compare and contrast simple data structures and their uses.
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).
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.
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).
SC.912.CS-CS.5.2 Describe the issues that impact network functionality (e.g., latency, bandwidth, firewalls and server capability).
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.
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).
SC.912.CS-CP.1.3 Analyze and manipulate data collected by a variety of data collection techniques to support a hypothesis.
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.
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.
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).
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)
SC.912.CS-PC.1.5 Implement an encryption, digital signature, or authentication method.
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.
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
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.