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
|