Please enable JavaScript to use CodeHS

Florida 9-12 Framework


Standard Description
SC.912.CS-CC.1.1 Evaluate modes of communication and collaboration Lessons
SC.912.CS-CC.1.2 Select appropriate tools within a project environment to communicate with project team members. Lessons
SC.912.CS-CC.1.3 Collect, analyze, and present information using a variety of computing devices (e.g., probes, sensors, and handheld devices). Lessons
SC.912.CS-CC.1.4 Develop a collaborative digital product using collaboration tools (e.g., version control systems and integrated development environments). Lessons
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. Lessons
SC.912.CS-CC.1.6 Identify how collaboration influences the design and development of software artifacts. Lessons
SC.912.CS-CC.1.7 Evaluate program designs and implementations written by others for readability and usability. Lessons
SC.912.CS-CS.1.1 Analyze data and identify real-world patterns through modeling and simulation. Lessons
SC.912.CS-CS.1.2 Formulate, refine, and test scientific hypotheses using models and simulations. Lessons
SC.912.CS-CS.1.3 Explain how data analysis is used to enhance the understanding of complex natural and human systems. Lessons
SC.912.CS-CS.1.4 Compare techniques for analyzing massive data collections. Lessons
SC.912.CS-CS.1.5 Represent and understand natural phenomena using modeling and simulation. Lessons
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). Lessons
SC.912.CS-CS.2.2 Describe the concept of parallel processing as a strategy to solve large problems. Lessons
SC.912.CS-CS.2.3 Demonstrate concurrency by separating processes into threads of execution and dividing data into parallel streams. Lessons
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. Lessons
SC.912.CS-CS.2.5 Evaluate a classical algorithms and implement an original algorithm Lessons
SC.912.CS-CS.2.6 Evaluate various data types and data structures. Lessons
SC.912.CS-CS.2.7 Explain how sequence, selection, iteration, and recursion are building blocks of algorithms. Lessons
SC.912.CS-CS.2.8 Decompose a problem by defining new functions and classes Lessons
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. Lessons
SC.912.CS-CS.2.10 Design and implement a simple simulation algorithm to analyze, represent, and understand natural phenomena. Lessons
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). Lessons
SC.912.CS-CS.2.12 Compare and contrast simple data structures and their uses. Lessons
SC.912.CS-CS.2.13 Explain how automated software testing can reduce the cost of the testing effort. Lessons
SC.912.CS-CS.2.14 Explain what tools are applied to provide automated testing environments. Lessons
SC.912.CS-CS.3.1 Describe digital tools or resources to use for a real-world task based on their efficiency and effectiveness. Lessons
SC.912.CS-CS.3.2 Evaluate different file types for different purposes (e.g., word processing, images, music, and three-dimensional drawings). Lessons
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). Lessons
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). Lessons
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. Lessons
SC.912.CS-CS.4.4 Evaluate various forms of input and output (e.g., IO and storage devices and digital media). Lessons
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). Lessons
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). Lessons
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) Lessons
SC.912.CS-CS.4.8 Evaluate the basic components of computer networks. Lessons
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). Lessons
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). Lessons
SC.912.CS-CS.5.2 Describe the issues that impact network functionality (e.g., latency, bandwidth, firewalls and server capability). Lessons
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. Lessons
SC.912.CS-CS.6.1 Describe the unique features of computers embedded in mobile devices and vehicles Lessons
SC.912.CS-CS.6.2 Describe the common physical and cognitive challenges faced by users when learning to use software and hardware. Lessons
SC.912.CS-CS.6.3 Describe the process of designing software to support specialized forms of human-computer interaction. Lessons
SC.912.CS-CS.6.4 Explain the notion of intelligent behavior through computer modeling and robotics. Lessons
SC.912.CS-CS.6.5 Describe common measurements of machine intelligence (e.g., Turing test). Lessons
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). Lessons
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 Lessons
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. Lessons
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). Lessons
SC.912.CS-CP.1.3 Analyze and manipulate data collected by a variety of data collection techniques to support a hypothesis. Lessons
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. Lessons
SC.912.CS-CP.2.1 Explain the program execution process (by an interpreter and in CPU hardware). Lessons
SC.912.CS-CP.2.2 Design and implement a program using global and local scope. Lessons
SC.912.CS-CP.2.3 Implement a program using an industrial-strength integrated development environment Lessons
SC.912.CS-CP.2.4 Facilitate programming solutions using application programming interfaces (APIs) and libraries. Lessons
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. Lessons
SC.912.CS-CP.2.6 Describe a variety of commonly used programming languages. Lessons
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. Lessons
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). Lessons
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. Lessons
SC.912.CS-PC.1.1 Compare and contrast appropriate and inappropriate social networking behaviors. Lessons
SC.912.CS-PC.1.2 Describe and demonstrate ethical and responsible use of modern communication media and devices. Lessons
SC.912.CS-PC.1.3 Evaluate the impacts of irresponsible use of information (e.g., plagiarism and falsification of data) on collaborative projects. Lessons
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) Lessons
SC.912.CS-PC.1.5 Implement an encryption, digital signature, or authentication method. Lessons
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. Lessons
SC.912.CS-PC.2.1 Describe how the Internet facilitates global communication Lessons
SC.912.CS-PC.2.2 Identify ways to use technology to support lifelong learning Lessons
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). Lessons
SC.912.CS-PC.2.4 Analyze the positive and negative impacts of technology on popular culture and personal life Lessons
SC.912.CS-PC.2.5 Construct strategies to combat cyberbullying or online harassment. Lessons
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). Lessons
SC.912.CS-PC.2.7 Describe how technology has changed the way people build and manage organizations and how technology impacts personal life. Lessons
SC.912.CS-PC.2.8 Evaluate ways in which adaptive technologies may assist users with special needs Lessons
SC.912.CS-PC.2.9 Explain how societal and economic factors are affected by access to critical information. Lessons
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 Lessons
SC.912.CS-PC.2.11 Construct writings and/or communications using developmentally appropriate terminology Lessons
SC.912.CS-PC.2.12 Explore a variety of careers to which computing is central. Lessons
SC.912.CS-PC.2.13 Predict future careers and the technologies that may exist based on current technology trends. Lessons
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) Lessons
SC.912.CS-PC.3.2 Evaluate the accuracy, relevance, comprehensiveness, appropriateness, and bias of electronic information resources. Lessons
SC.912.CS-PC.3.3 Conduct research using peer reviewed articles, newspapers, magazine articles, and online books. Lessons
SC.912.CS-PC.3.4 Analyze and evaluate public/government resources and describe how using these resources for communication can affect change Lessons
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. Lessons
SC.912.CS-PC.4.2 Explain how access to information may not include the right to distribute the information. Lessons
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. Lessons
SC.912.CS-PC.4.4 Describe security and privacy issues that relate to computer networks. Lessons
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. Lessons
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 Lessons
SC.912.CS-PC.4.7 Evaluate and use digital citation tools to cite sources. Lessons
SC.912.CS-PC.4.8 Describe the impact of government regulation on privacy and security. Lessons