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. |
-
1.13 Project: Public Service Announcement
|
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. |
-
1.13 Project: Public Service Announcement
|
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.10 Simulation
|
SC.912.CS-CS.1.2 |
Formulate, refine, and test scientific hypotheses using models and simulations. |
-
1.10 Simulation
|
SC.912.CS-CS.1.3 |
Explain how data analysis is used to enhance the understanding of complex natural and human systems. |
-
1.10 Simulation
|
SC.912.CS-CS.1.4 |
Compare techniques for analyzing massive data collections. |
-
1.8 Visualizing and Interpreting Data
|
SC.912.CS-CS.1.5 |
Represent and understand natural phenomena using modeling and simulation. |
-
1.10 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. |
-
2.6 Top Down Design and Decomposition in Karel
-
2.8 Abstraction
|
SC.912.CS-CS.2.5 |
Evaluate a classical algorithms and implement an original algorithm |
-
11.13 Array Length and Looping Through Arrays
|
SC.912.CS-CS.2.6 |
Evaluate various data types and data structures. |
-
1.10 Simulation
-
6.2 Variables
-
11.11 Intro to Lists/Arrays
-
11.12 Adding/Removing From an Array
-
11.13 Array Length and Looping Through Arrays
-
11.14 Iterating Over an Array
-
18.1 Indexing Into an Array
-
18.2 Finding an Element in a List
-
18.3 Removing an Element From an Array
-
19.1 Intro to Objects/Maps
-
19.2 Basics of Objects
-
19.3 Iterating Over an Object
-
19.4 When Do I Use an Object?
-
19.5 Intro to Sets
-
19.6 Intro to Grids
-
19.7 Looping Over a Grid
-
19.8 Grid Example: Get a Row
-
19.9 Data Structures Challenges
|
SC.912.CS-CS.2.7 |
Explain how sequence, selection, iteration, and recursion are building blocks of algorithms. |
-
2.10 For Loops
-
2.11 If Statements
-
2.12 If/Else Statements
-
2.13 While Loops in Karel
-
2.14 Control Structures Example
-
3.2 Challenge Problems
-
9.4 If Statements
-
9.6 General For Loops
-
9.7 For Loop Practice
-
9.9 While Loops
-
9.10 Loop and a Half
|
SC.912.CS-CS.2.8 |
Decompose a problem by defining new functions and classes |
-
2.3 Karel Can't Turn Right
-
2.4 Functions in Karel
-
2.5 The Start Function
-
2.6 Top Down Design and Decomposition in Karel
-
2.14 Control Structures Example
-
11.1 Functions and Parameters 1
-
11.2 Functions and Parameters 2
-
11.3 Functions and Parameters 3
-
11.4 Functions and Return Values 1
-
11.5 Functions and Return Values 2
|
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. |
-
2.6 Top Down Design and Decomposition in Karel
-
3.2 Challenge Problems
|
SC.912.CS-CS.2.10 |
Design and implement a simple simulation algorithm to analyze, represent, and understand natural phenomena. |
-
1.10 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). |
-
2.6 Top Down Design and Decomposition in Karel
-
3.2 Challenge Problems
|
SC.912.CS-CS.2.12 |
Compare and contrast simple data structures and their uses. |
-
1.10 Simulation
-
11.11 Intro to Lists/Arrays
-
11.12 Adding/Removing From an Array
-
11.13 Array Length and Looping Through Arrays
-
11.14 Iterating Over an Array
-
18.1 Indexing Into an Array
-
18.2 Finding an Element in a List
-
18.3 Removing an Element From an Array
-
19.1 Intro to Objects/Maps
-
19.2 Basics of Objects
-
19.3 Iterating Over an Object
-
19.4 When Do I Use an Object?
-
19.5 Intro to Sets
-
19.6 Intro to Grids
-
19.7 Looping Over a Grid
-
19.8 Grid Example: Get a Row
-
19.9 Data Structures Challenges
|
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). |
-
4.1 History of Computers
-
4.2 Computer Organization
-
4.3 Software
-
4.4 Hardware
-
4.5 Future of Computing
-
21.1 History of Computers
|
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. |
-
4.2 Computer Organization
-
4.3 Software
-
4.4 Hardware
|
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. |
-
5.1 Intro to the Internet
-
5.2 Internet Hardware
-
5.3 Internet Addresses
-
5.4 DNS
-
5.5 Routing
-
5.6 Packets and Protocols
-
5.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). |
-
4.5 Future of Computing
|
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). |
-
5.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.7 Information Literacy
-
9.1 Booleans
-
9.2 Logical Operators
-
9.3 Comparison Operators
|
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.8 Visualizing and Interpreting Data
|
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. |
-
2.1 Introduction to Programming With Karel
-
2.2 More Basic Karel
-
2.3 Karel Can't Turn Right
-
2.4 Functions in Karel
-
2.5 The Start Function
-
2.6 Top Down Design and Decomposition in Karel
-
2.7 Commenting Your Code
-
2.8 Abstraction
-
2.9 Super Karel
-
2.10 For Loops
-
2.11 If Statements
-
2.12 If/Else Statements
-
2.13 While Loops in Karel
-
2.14 Control Structures Example
-
2.15 More Karel Examples and Testing
-
2.16 How to Indent Your Code
-
3.2 Challenge Problems
|
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). |
-
1.13 Project: Public Service Announcement
-
3.2 Challenge Problems
|
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. |
-
1.3 Digital Footprint and Reputation
-
1.4 Cyberbullying
-
1.5 Internet Safety
|
SC.912.CS-PC.1.2 |
Describe and demonstrate ethical and responsible use of modern communication media and devices. |
-
1.3 Digital Footprint and Reputation
-
1.4 Cyberbullying
-
1.5 Internet Safety
|
SC.912.CS-PC.1.3 |
Evaluate the impacts of irresponsible use of information (e.g., plagiarism and falsification of data) on collaborative projects. |
-
1.11 Creative Credit & Copyright
|
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. |
-
1.1 What is Cybersecurity?
-
1.5 Internet Safety
-
1.6 Privacy & Security
|
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.3 Digital Footprint and Reputation
-
5.8 The Impact of the Internet
|
SC.912.CS-PC.2.5 |
Construct strategies to combat cyberbullying or online harassment. |
-
1.3 Digital Footprint and Reputation
-
1.4 Cyberbullying
-
1.5 Internet Safety
|
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) |
-
1.7 Information Literacy
|
SC.912.CS-PC.3.2 |
Evaluate the accuracy, relevance, comprehensiveness, appropriateness, and bias of electronic information resources. |
-
1.7 Information Literacy
|
SC.912.CS-PC.3.3 |
Conduct research using peer reviewed articles, newspapers, magazine articles, and online books. |
-
1.13 Project: Public Service Announcement
|
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. |
-
1.11 Creative Credit & Copyright
|
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. |
-
1.5 Internet Safety
-
1.6 Privacy & Security
|
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 |
-
1.3 Digital Footprint and Reputation
-
1.5 Internet Safety
-
1.6 Privacy & Security
|
SC.912.CS-PC.4.7 |
Evaluate and use digital citation tools to cite sources. |
-
1.13 Project: Public Service Announcement
|
SC.912.CS-PC.4.8 |
Describe the impact of government regulation on privacy and security. |
-
5.1 Intro to the Internet
|