Please enable JavaScript to use CodeHS

Utah Computer Science Principles Framework


Standard Description
CSP.1.1a Explain how collaboration affects the development of a solution. Lessons
CSP.1.1b Collaborate in the development of solutions. Lessons
CSP.1.2a Investigate the situation, context, or task. Lessons
CSP.1.2a.i Investigate the purpose of a program. Lessons
CSP.1.2a.ii Understand how to break down program specifications into smaller tasks using top-down design and pseudocode. Lessons
CSP.1.2b Generalize data sources through variables. Lessons
CSP.1.2b.i Understand the uses of different data types (examples: integer, float/double, characters/strings, boolean, etc.) Lessons
CSP.1.2c Explain how a code segment or program functions. Lessons
CSP.1.3a Identify and correct errors in algorithms and programs, including error discovery through testing. Lessons
CSP.1.3b Identify different types of errors such as logic, run-time, and syntax errors Lessons
CSP.2.1a Explain the differences between hardware and software and how they relate to input, storage, processing, and output. Lessons
CSP.2.1b Understand the different file sizes (bit, byte, kilobyte, megabyte, gigabyte, terabyte, and petabyte). Lessons
CSP.2.2a Calculate the binary (base 2) equivalent of a positive integer (base 10) and vice versa. Lessons
CSP.2.2b Compare and order binary numbers. Lessons
CSP.2.3a Lossy - Compression algorithm in which file size if reduced without any quality loss. Lessons
CSP.2.3b Lossless - Compression algorithm in which some of the data from the original file is lost Lessons
CSP.3.1a Use variables of different data types (examples: integer, float/double, characters/strings, boolean, etc.) Lessons
CSP.3.1b Convert data types to other data types. Lessons
CSP.3.1c Determine the value of a variable as a result of an assignment. Lessons
CSP.3.2 Implement arithmetic operators =, +, -, *, /, and MOD) and order of operations (PEMDAS). Lessons
CSP.3.3a Receive and store user input. Lessons
CSP.3.3b Print to console Lessons
CSP.3.4 Evaluate expressions that manipulate strings. (String concatenation joins together two or more strings end-to-end to make a new string.) Lessons
CSP.3.5a Write and evaluate expressions using relational operators (==, 7, ›, <, 2, and s). Lessons
CSP.3.5b Write and evaluate expressions using logical operators (AND, OR, NOT) Lessons
CSP.3.6a Write conditional statements, such as IF statements and ELSE IF statements. Lessons
CSP.3.6b Determine the result of conditional statements. Lessons
CSP.3.7a Write iteration statements, such as for loops and while loops. Lessons
CSP.3.7b Determine the result of iteration statements. Lessons
CSP.3.8a Write statements to call Procedures/Functions/Methods Lessons
CSP.3.8b Determine the result of a Procedures/Functions/Methods Lessons
CSP.4.1a Explain how computing devices work together in a network (Network, Path, Routing, Packets, Bandwidth). Lessons
CSP.4.1b Explain how the Internet works (Fault Tolerance, Protocols, HTTP, HTTPS). Lessons
CSP.4.1c Understand the difference between the Internet and the World Wide Web Lessons
CSP.4.2 Students will understand that the HTML programming language is used to create all websites on the internet and acts as the structure for a website. Lessons
CSP.4.2a Students will code the foundation for a basic webpage including the element tags <!DOCTYPE html>, <html>, <head›, <title», and <body>. Lessons
CSP.4.2b Students will create pages with tags and attributes at the inline level. (<!DOCTYPE html>, <html> <head>, <title>, <body>, <h1>, <h2>, <h6>, <p>, <br>, etc.) Lessons
CSP.5.1a Explore how an effect of a computing innovation can be both beneficial and harmful. Lessons
CSP.5.1b Explore advances in computing that have generated and increased creativity in other fields, such as medicine, engineering, communications, and the arts. Lessons
CSP.5.2a Explore issues that contribute to the digital divide (demographics, geographics, socioeconomic, equity, access, influence). Lessons
CSP.5.2b Explore how bias exists in computing innovations. Lessons
CSP.5.3a Explain how the use of computing can raise legal and ethical concerns. Lessons
CSP.5.3b Understand how ease of access and distribution of digitized information raises intellectual property concerns regarding ownership, value, and use. Lessons
CSP.5.3c Understand the differences between Copyright, Creative Commons, Public Domain, & Trademark Lessons
CSP.5.4a Describe the risks to privacy from collecting and storing personal data on a computer system Lessons
CSP.5.4b Explain how computing resources can be protected (password strength) and can be misused. Lessons
CSP.5.4c Explain how unauthorized access to computing resources is gained. Lessons
CSP.5.4d Understand essential cybersecurity concepts, like malware (adware, trojan horse, virus, ransomware, etc.) and social engineering (phishing, etc.) Lessons