CSPG.Y1.1.1 |
Leverage problem-solving strategies to solve problems of level-appropriate complexity. NOTE: Problem-solving strategies that encompass computational thinking include, but are not limited to, abstraction, algorithm development, decomposition, and pattern recognition. |
Lessons
|
CSPG.Y1.1.2 |
Analyze and utilize multiple representations of problem-solving logic used to solve problems of appropriate complexity. NOTE: Representations may include, but are not limited to, backlog, decision matrix, design brief, documentation, fault tree analysis, flowchart, pseudocode, and sprints. |
Lessons
|
CSPG.Y1.1.3 |
Analyze and utilize collaborative methods in problem solving of level-appropriate complexity. NOTE: Collaborative methods may include, but are not limited to, distributive (divide and conquer), paired programming, and redundant parallel. |
Lessons
|
CSPG.Y1.1.4 |
Analyze and utilize level-appropriate troubleshooting strategies for hardware and software |
Lessons
|
CSPG.Y1.2.1 |
Interpret relational and logical expressions of levelappropriate complexity using comparison and Boolean operators |
Lessons
|
CSPG.Y1.2.2 |
Classify the types of information that can be stored as variables and analyze the appropriateness of each (e.g., Booleans, characters, integers, floating points, strings) |
Lessons
|
CSPG.Y1.2.3 |
Analyze how computer science concepts relate to the field of mathematics. NOTE: Concepts may include, but are not limited to, different division methods (e.g., integer, long, modular), random number generation, domain, maximum, mean, minimum, mode, and range. |
Lessons
|
CSPG.Y1.2.4 |
Discuss and apply concepts of abstraction. NOTE: Abstraction is the process of reducing information and detail to facilitate focus on relevant concepts and functionality (displaying only essential information while hiding the details). |
Lessons
|
CSPG.Y1.2.5 |
Perform operations of level-appropriate complexity with binary, decimal, and hexadecimal numbers. NOTE: Operations may include, but are not limited to, addition, subtraction, multiplication, division, and conversion. |
Lessons
|
CSPG.Y1.2.6 |
Demonstrate operator precedence in expressions and statements. NOTE: Operators include, but are not limited to, addition, subtraction, division, modulus division, concatenation, square root, and exponentiation. Operator precedence may include, but is not limited to, inside-out, order of operations, and the understanding that the assignment statement of “x = 1” is not the same as “1 = x.” |
Lessons
|
CSPG.Y1.3.1 |
Define, store, access, and manipulate levelappropriate data (e.g., primitive, linear). NOTE: Primitive data may include, but is not limited to, Boolean, character, double, float, and integer. Linear data may include, but is not limited to, arrays, lists, strings, and vectors. |
Lessons
|
CSPG.Y1.3.2 |
Define and discuss different examples of levelappropriate quantitative and qualitative data |
Lessons
|
CSPG.Y1.3.4 |
Analyze, utilize, and visually represent levelappropriate data. NOTE: Visual representation tools may include, but are not limited to, analytics reports, graphical representations, programming language libraries, and spreadsheets. |
Lessons
|
CSPG.Y1.3.5 |
Perform level-appropriate data analysis using computing tools. NOTE: Analysis may include, but is not limited to, maximum values, mean values, minimum values, ranges, and string comparisons. |
Lessons
|
CSPG.Y1.4.1 |
Identify the five pillars of cybersecurity and evaluate the relevance of each pillar to computer science concepts. NOTE: Additional concepts and key terms of the five pillars of cybersecurity (confidentiality, integrity, availability, non-repudiation, and authentication) may include, but are not limited to, access control paradigms, accountability, authorization, least-privilege, and need-to-know. |
Lessons
|
CSPG.Y1.4.2 |
Research and describe different roles within the hacking community (e.g., white hat, black hat, gray hat hacking), including positive and negative motivations, significant impacts, and social stereotypes. NOTE: White hat hacking may include, but is not limited to, bug bounty programs and contracted penetration testing. A significant impact example may include, but is not limited to, Charlie Miller’s compromisation of Fiat Chrysler vehicles. Black hat hacking may include, but is not limited to, the unauthorized processes of accessing systems to destroy, compromise, or steal data and deny access to services or systems. A significant impact example may include, but is not limited to, Behzad Mesri’s alleged theft of data from Home Box Office (HBO) and subsequent ransom demands. Gray hat hacking may include, but is not limited to, unauthorized processes of accessing systems to report, correct, and draw attention to security vulnerabilities. A significant example of gray hat hacking is intentionally not included; students and teachers are encouraged to explore and discuss the nuances of “right versus wrong” and motivations within this community, including nation-state actions. |
Lessons
|
CSPG.Y1.4.3 |
Research and describe the impacts of ransomware, trojans, viruses, and other malware |
Lessons
|
CSPG.Y1.4.4 |
Explain implications related to identification and responsible reporting of a vulnerability versus exploitation |
Lessons
|
CSPG.Y1.5.1 |
Design and implement level-appropriate algorithms that use iteration, selection, and sequence |
Lessons
|
CSPG.Y1.5.2 |
Illustrate the flow of execution of algorithms in levelappropriate programs including branching and looping. NOTE: Illustrations may include, but are not limited to, flowcharts and pseudocode. |
Lessons
|
CSPG.Y1.5.3 |
Evaluate the qualities of level-appropriate student created and non-student-created algorithms. NOTE: Evaluation tools may include, but are not limited to, code review and test cases. Qualities may include, but are not limited to, correctness, efficiency, exception handling, input/data/model validation, portability, readability, scalability, and usability. |
Lessons
|
CSPG.Y1.5.4 |
Use a systematic approach to detect and resolve errors in a given algorithm |
Lessons
|
CSPG.Y1.6.1 |
Create programs using procedures to solve problems of level-appropriate complexity. NOTE: “Procedures” is considered interchangeable with “functions” for meeting this standard. Problems may include, but are not limited to, encoding, encryption, finding minimum/maximum values, identifying prime numbers, searching and sorting, and solving classic computer science tasks such as The Towers of Hanoi problem. |
Lessons
|
CSPG.Y1.6.2 |
Discuss and apply best practices of program design and format (e.g., descriptive names, documentation, indentation, user experience design, whitespace) |
Lessons
|
CSPG.Y1.6.3 |
Determine the scope and state of variables declared in procedures and control structures over time. NOTE: “Procedures” is considered interchangeable with “functions” for meeting this standard. |
Lessons
|
CSPG.Y1.6.4 |
Create programs of level-appropriate complexity that read from standard input, write to standard output, read from a file, write to a file, and append to a file. NOTE: Standard input and output is platform-specific. Standard input and output on personal computers may include, but are not limited to, a keyboard and terminal. Standard input and output on mobile application devices may include, but are not limited to, touchscreen and speakers. Standard input and output on robots may include, but are not limited to, sensors and servos. |
Lessons
|
CSPG.Y1.6.5 |
Use a systematic approach to detect logic, runtime, and syntax errors within a program |
Lessons
|
CSPG.Y1.7.1 |
Identify software and hardware specific to carrying out the mission of regional industries |
Lessons
|
CSPG.Y1.7.2 |
Research advancing and emerging technologies (e.g., artificially intelligent agents, blockchain, extended reality, Internet of Things (IoT), machine learning, robotics) |
Lessons
|
CSPG.Y1.8.1 |
Utilize the command line to accomplish common network troubleshooting tasks at an introductory level. NOTE: Common network troubleshooting tasks may include, but are not limited to, viewing internal IP address information (e.g., ipconfig /all); viewing external IP address information using an external service (e.g., ifconfig.me, myip.com, whatsmyip.com); validating communication with a remote system (e.g., ping); tracing path of communication to a remote system (e.g., traceroute); and releasing and renewing IP addresses (e.g., ipconfig /renew). |
Lessons
|
CSPG.Y1.8.2 |
Research and describe common networking concepts at an introductory level. NOTE: Networking concepts may include, but are not limited to, different types of networks (e.g., local area network (LAN), wide area network (WAN)); various common topologies; the role of a MAC address; local versus public IP and how they are assigned; Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6) addressing schemes; role of Domain Name System (DNS); the hierarchical nature of networks; purpose of virtual private networks (VPN); signal carriers for networks (e.g., copper, fiber optic, radio); purpose of firewalls; network access roles (e.g., employee versus guest, staff versus student); role of internet service providers (ISP); wireless connectivity; client-server relationship versus peer-to-peer (P2P); role of common internet protocols; and secure versus insecure protocols. |
Lessons
|
CSPG.Y1.8.3 |
Research and describe modems, network interface cards, routers (e.g., consumer, industrial), switches, and wireless access points, and identify their purposes within a network |
Lessons
|
CSPG.Y1.8.4 |
Describe the importance of creating and using common rules for communication and the utilization of common network protocols including the relationship between client and server. NOTE: Discussions of common rules for communications may include, but are not limited to, the Open Systems Interconnection (OSI) Model and packet communication. Common network protocols may include, but are not limited to, DNS, Hypertext Transfer Protocol (HTTP)/Secure Hypertext Transfer Protocol (HTTPS), Simple Mail Transfer Protocol (SMTP)/Post Office Protocol (POP)/Internet Message Access Protocol (IMAP), and Telnet/Secure Shell (SSH). |
Lessons
|
CSPG.Y1.9.1 |
Compare and contrast computer programming paradigms (e.g., functional, imperative, objectoriented) |
Lessons
|
CSPG.Y1.9.2 |
Research, describe, and utilize at an appropriate level: ● debugging strategies ● integrated development environments (IDE) ● source-code editors ● version control strategies |
Lessons
|
CSPG.Y1.9.3 |
Classify layers of software (e.g., applications, drivers, firmware, operating systems) utilized within various platforms (e.g., Android, ChromeOS, iOS, Linux, macOS, Windows) |
Lessons
|
CSPG.Y1.9.4 |
Identify and describe the purpose of hardware components within various personal computing platforms. NOTE: Hardware components include, but are not limited to, central processing units (CPU), chassis, cooling components, graphics cards, input/output devices, memory, motherboards, power supplies, and storage devices. |
Lessons
|
CSPG.Y1.10.1 |
Research and describe the risks and risk mitigation strategies associated with the utilization and implementation of social media and other digital technology implications. NOTE: Risks include, but are not limited to, cyberbullying, identity theft, impersonation, and social engineering attacks. Implications may include, but are not limited to, employability, legal, physical, psychological, and social access |
Lessons
|
CSPG.Y1.10.3 |
Research and describe the potential benefits associated with the utilization and implementation of social media and other digital technologies. NOTE: Potential benefits may include, but are not limited to, brand building, crowdsourcing, personal promotion awareness, and project funding. |
Lessons
|
CSPG.Y1.10.4 |
Research and describe the relationship between access and security (e.g., active and passive data, convenience, data mining, digital marketing, online wallets, privacy, theft of personal information) |
Lessons
|
CSPG.Y1.10.6 |
Research the history of computing devices and their impact on society |
Lessons
|
CSPG.Y1.10.7 |
Research and identify diverse careers and career opportunities (e.g., accessibility, availability, demand) that are influenced by computer science and the technical and soft skills needed for each |
Lessons
|
CSPG.Y1.11.1 |
Communicate basic technical information effectively to diverse audiences including, but not limited to, non-technical audience members. NOTE: Technical information may include, but is not limited to, collecting or collected data, computing hardware, cyber hygiene, networking concepts, programming paradigms, and troubleshooting concepts. |
Lessons
|
CSPG.Y1.11.2 |
Describe and utilize the concepts of storytelling with data. NOTE: Storytelling concepts may include, but are not limited to, identifying the knowledge level of the intended audience; developing a compelling narrative; creating appealing visualizations appropriate for the intended audience and that enhance the narrative; remaining objective and avoiding biases; and avoiding the censoring of data. |
Lessons
|
CSPG.Y1.11.3 |
Describe the following common types of data bias: ● confirmation bias ● confounding variables ● outliers ● overfitting/underfitting ● selection bias |
Lessons
|
CSPG.Y1.11.4 |
Compare and contrast causation and correlation |
Lessons
|
CSPG.Y1.11.5 |
Compare and contrast interpreting data, inferring using data, and implicating with data |
Lessons
|