Please enable JavaScript to use CodeHS

Standards Mapping

for Utah Computer Programming 1

80

Standards in this Framework

58

Standards Mapped

72%

Mapped to Course

Standard Lessons
CP1.1.1a
Be aware of several programming languages and their purposes or use cases (Python - data science; Java - desktop application and server-side software; SQL - databases; JavaScript - web apps; C# - desktop applications; R - math and graphs; C++ - video games and desktop applications; C - operating systems and embedded systems).
CP1.1.1b
Describe the difference between an interpreted language vs a compiled language.
  1. 2.7 Programming Languages
CP1.1.1c
Identify characteristics of high-level and low-level languages.
CP1.1.2a
Use an IDE to develop, compile, and run programs.
  1. 1.1 Introduction to Programming With Karel
  2. 2.1 Printing in Python
CP1.1.2b
Understand the difference between syntax, run-time, and logic errors.
  1. 1.14 Debugging Strategies
CP1.1.2c
Understand the process of debugging (finding and fixing errors), including strategies such as guess and check, deactivating sections of code, looking for typos or incorrect syntax, making the problem smaller, asking a team member for help, printing or watching variable values, using a debugging tool, and considering what changed since the code last worked.
  1. 1.14 Debugging Strategies
CP1.2.1a
Demonstrate proper use of white space (between lines and indentation).
  1. 1.6 Commenting Your Code
  2. 1.9 For Loops
  3. 1.11 If/Else Statements
  4. 4.2 If Statements
  5. 6.1 While Loops
  6. 6.4 Nested Control Structures
CP1.2.1b
Use appropriate naming conventions for identifiers (variables, methods, functions, and file names).
CP1.2.1c
Understand the appropriate use of constants versus variables in programming style.
CP1.2.1d
Construct identifiers with meaningful format; camelCase and underscore.
  1. 1.11 If/Else Statements
  2. 2.2 Variables and Types
CP1.2.1e
Implement appropriate output formatting (decimal places, dollar signs, and correct placement of variable data in a sentence).
  1. 2.1 Printing in Python
CP1.2.2a
Identify the members of a computer programming/software engineering team: team leader, analyst, senior developer, junior developer, and client/subject matter expert.
  1. 8.2 QA Engineer
  2. 8.3 Designer
  3. 8.4 Project Manager
CP1.2.2b
Project Analysis: Identify specifications and understand requirements to create a solution to a problem.
  1. 1.17 Karel Challenges
  2. 8.1 Software Engineer
  3. 8.4 Project Manager
CP1.2.2c
Planning/Design: Design an algorithm to solve the problem using appropriate documentation (single, multi-line, and/or documentation comments, flowcharts, etc.).
  1. 1.5 Top Down Design and Decomposition in Karel
  2. 1.6 Commenting Your Code
  3. 8.1 Software Engineer
CP1.2.2c.i
Define an algorithm.
  1. 1.15 Algorithms
  2. 6.1 While Loops
  3. 6.2 For Loops
  4. 6.4 Nested Control Structures
CP1.2.2c.ii
Break the problem down into its subcomponents using top-down design.
  1. 1.5 Top Down Design and Decomposition in Karel
CP1.2.2d
Implementation: Write the code, with comments, to implement the algorithm.
  1. 1.6 Commenting Your Code
  2. 2.6 Comments
CP1.2.2e
Testing: Test program for verification of errors and proper functionality.
  1. 1.14 Debugging Strategies
  2. 8.2 QA Engineer
CP1.2.2f
Release and Maintenance: Release the solution and provide updates when necessary.
  1. 1.14 Debugging Strategies
  2. 3.1 Project: Mad Libs
  3. 5.1 Project: Quiz Game
CP1.3.1a
Understand the difference between input and output.
CP1.3.1b
Understand there are different types of input (file, keyboard, mouse, microphone).
  1. 2.1 Printing in Python
CP1.3.1c
Understand there are different types of output (speakers, monitor, printer, file).
  1. 2.1 Printing in Python
CP1.3.1d
Write a program that receives input from a keyboard and produces output to the display.
  1. 2.3 User Input
  2. 3.1 Project: Mad Libs
CP1.3.2a
Differentiate between primitive data types (boolean, integer, float, and string).
  1. 2.2 Variables and Types
  2. 4.1 Booleans
CP1.3.2b
Identify proper use of primitive data types (when to use one versus another).
  1. 2.3 User Input
  2. 2.4 Mathematical Operators
  3. 2.5 String Operators
CP1.3.2c
Declare a variable and assign it a value using the assignment operator.
  1. 2.2 Variables and Types
CP1.3.2d
Understand the difference between declaring and initializing a variable.
CP1.3.3a
Use basic arithmetic operators (modulus [MOD or %], multiplication, integer division, float division, addition, subtraction).
  1. 2.4 Mathematical Operators
CP1.3.3b
Use basic comparison operators (<, >, ==, >=, <=).
  1. 4.3 Comparison Operators
CP1.3.3c
Use basic assignment operator (=).
  1. 2.2 Variables and Types
CP1.3.3d
Understand order of operations for all operators (Parenthesis, Exponent, Multiplication, Division, Modulus [MOD or %], Addition, Subtraction).
  1. 2.4 Mathematical Operators
CP1.3.3e
Use basic logical operators (AND, OR, NOT).
CP1.3.3f
Use operands in conjunction with arithmetic, relational, and logical operators.
  1. 4.4 Logical Operators
CP1.3.4a
Understand how operators and operands are used to form expressions.
  1. 2.4 Mathematical Operators
  2. 2.5 String Operators
  3. 4.3 Comparison Operators
CP1.3.4b
Identify and implement syntactically correct expressions (possible examples: A OR B, 5==6, x != 3.142, x = 4, y + 7).
  1. 4.3 Comparison Operators
  2. 4.4 Logical Operators
CP1.3.5a
Understand and properly define scope, local variable, and global variable.
  1. 1.4 Functions in Karel
CP1.3.5b
Understand what functions are and what they are used for (readability, reusability, modularity, abstraction).
  1. 1.4 Functions in Karel
  2. 1.7 Abstraction
CP1.3.5c
Understand the difference between a built-in function and user defined function.
  1. 1.4 Functions in Karel
CP1.3.5d
Utilize built-in functions.
  1. 1.16 Ultra Karel
  2. 2.2 Variables and Types
  3. 2.3 User Input
CP1.3.5e
Understand that functions may or may not require arguments (input(s)).
  1. 1.16 Ultra Karel
CP1.3.5f
Understand that functions may or may not return value(s) (output(s)).
  1. 1.10 If Statements
  2. 2.3 User Input
CP1.3.6
Understand and implement complex data types.
CP1.3.6a
Understand the difference between simple and complex / primitive and reference data types.
CP1.3.6b
Declare a string variable in a program.
  1. 2.2 Variables and Types
  2. 2.5 String Operators
CP1.4.1
Understand and implement IF statements in a program.
  1. 4.2 If Statements
CP1.4.1a
Understand when to use an IF statement and demonstrate correct use of an IF statement.
  1. 4.3 Comparison Operators
CP1.4.1b
Understand when to use an ELSE-IF statement and demonstrate correct use of ELSE-IF statements.
  1. 4.3 Comparison Operators
  2. 4.4 Logical Operators
CP1.4.1c
Understand when to use an ELSE statement and demonstrate proper use of an ELSE statement.
  1. 4.2 If Statements
  2. 4.3 Comparison Operators
CP1.4.1d
Understand when to use a nested IF statement and demonstrate proper use of a nested IF statement.
  1. 1.10 If Statements
  2. 1.11 If/Else Statements
  3. 4.2 If Statements
  4. 4.4 Logical Operators
  5. 6.4 Nested Control Structures
  6. 7.1 Project: Password Authenticator
CP1.4.1e
Read a program and know which IF statement will execute during a given situation and which will be ignored.
  1. 4.6 Conditionals Quiz
CP1.4.2
Understand and implement basic loop structures in programs.
  1. 6.1 While Loops
  2. 6.2 For Loops
CP1.4.2a
Understand when to use a for-loop (when you know the number of times you are going to iterate) and demonstrate proper use of for-loops.
  1. 6.2 For Loops
CP1.4.2a.i
Understand the three components of a for-loop: an initial value (i = 0), a condition (i < 7), and an update expression (i = i + 1).
  1. 6.2 For Loops
CP1.4.2b
Understand when to use a while-loop (when you want to stop iterating when a boolean condition is no longer true) and demonstrate proper use of a while-loop.
  1. 6.1 While Loops
CP1.4.2c
Understand when to use nested loops and demonstrate proper use of nested loops.
  1. 6.4 Nested Control Structures
CP1.4.2d
Identify the various ways that loops can end (break, met condition, condition fail).
  1. 6.3 Break and Continue
  2. 7.1 Project: Password Authenticator
CP1.4.2e
Design loops so they iterate the correct number of times.
  1. 6.1 While Loops
  2. 6.2 For Loops
CP1.4.2f
Understand what causes an infinite loop.
  1. 6.1 While Loops
CP1.4.3
Understand and implement expressions and complex conditions in control structures.
  1. 4.3 Comparison Operators
  2. 4.4 Logical Operators
CP1.4.3a
Create expressions using relational operators (example: a > 6, x != 7, y > 4).
  1. 4.3 Comparison Operators
CP1.4.3b
Form complex conditions using logical operators (example: a > 6 AND x != 7 OR y > 4).
  1. 4.4 Logical Operators
CP1.4.3c
Incorporate complex conditions in loop structures (example: while a player's health is greater than 50 and player is not dead).
  1. 6.4 Nested Control Structures
  2. 7.1 Project: Password Authenticator
CP1.4.3d
Understand a Truth Table.
CP1.5.1
Investigate career opportunities, trends, and requirements related to computer programming/software engineering careers.
  1. 8.2 QA Engineer
  2. 8.3 Designer
  3. 8.4 Project Manager
CP1.5.1a
Understand the role each team member plays in a computer programming/software engineering team: team leader, analyst, senior developer, junior developer, and client/subject matter expert.
  1. 8.2 QA Engineer
  2. 8.3 Designer
  3. 8.4 Project Manager
CP1.5.1b
Describe work performed by each member of the computer programming/software engineering team.
  1. 8.2 QA Engineer
  2. 8.3 Designer
  3. 8.4 Project Manager
CP1.5.1c
Investigate trends and traits associated with computer programming/software engineering careers (creativity, technical, leadership, collaborative, problem solving, design, etc.).
  1. 8.2 QA Engineer
  2. 8.3 Designer
  3. 8.4 Project Manager
CP1.5.1d
Discuss related career pathways.
  1. 8.2 QA Engineer
  2. 8.3 Designer
  3. 8.4 Project Manager
CP1.6.1
Develop the knowledge and skills to use Artificial Intelligence responsibly and effectively in CTE courses (USBE Board statement on Artificial Intelligence).
CP1.6.1a
Practice responsible use of AI, which includes recognizing when to use AI, using appropriate prompts to produce desired output, determining accuracy of information, understanding how AI has contributed to a product, and communicating that clearly.
CP1.6.1b
Understand the importance of transparency and documentation, both in their own use of AI tools and in verifying the authenticity of others' work.
CP1.6.1c
Understand how AI influences all work, including the evolving boundaries and tightening restrictions around intellectual property and copyright.
CP1.6.2
Understand current ethical issues dealing specifically with computer programming and information in society.
CP1.6.2a
Explain the impact software can have on society (i.e., privacy, piracy, copyright laws, ease of use, etc.).
CP1.6.2b
Explain the ethical reasons for creating reliable and robust software.
CP1.6.2c
Describe how computer-controlled automation affects a workplace and society.
CP1.6.3
Understand the ethical use of AI in coding and how it impacts the programming field.
CP1.6.3a
Practice academic integrity and attribution: know when AI use is appropriate, explain why you should not rely only on AI to write your code, and understand disclosing when you use AI.
CP1.6.3b
Balance understanding vs. over-reliance on AI: verify and debug AI-generated code, review the code to make sure there are no coding errors, and understand that AI tools can be helpful for debugging but you should double-check their suggestions using your own programming knowledge.
CP1.6.3c
Understand the ethical implications of AI-written software.