Please enable JavaScript to use CodeHS

Arkansas Programming Year 1 Framework

Standards

Standard Description
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