Please enable JavaScript to use CodeHS

Standards Mapping

for Utah Computer Programming 1

80

Standards in this Framework

80

Standards Mapped

100%

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).
  1. 2.7 Programming Languages
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.
  1. 2.7 Programming 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
  3. 2.7 Programming Languages
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).
  1. 2.2 Variables and Types
  2. 9.1 Functions
  3. 9.3 Namespaces in Functions
CP1.2.1c
Understand the appropriate use of constants versus variables in programming style.
  1. 2.2 Variables and Types
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
  2. 2.2 Variables and Types
  3. 2.3 User Input
  4. 2.5 String Operators
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.1 Software Engineer
  2. 8.2 QA Engineer
  3. 8.3 Designer
  4. 8.4 Project Manager
  5. 8.5 Software Reliability and Automation's Impact
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.
  1. 2.3 User Input
  2. 9.2 Functions and Parameters
CP1.3.1b
Understand there are different types of input (file, keyboard, mouse, microphone).
  1. 2.1 Printing in Python
  2. 2.3 User Input
CP1.3.1c
Understand there are different types of output (speakers, monitor, printer, file).
  1. 2.1 Printing in Python
  2. 2.3 User Input
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.
  1. 2.2 Variables and Types
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).
  1. 4.4 Logical Operators
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
  4. 4.4 Logical 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
  2. 2.2 Variables and Types
  3. 9.3 Namespaces in Functions
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
  2. 2.2 Variables and Types
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.
  1. 2.2 Variables and Types
CP1.3.6a
Understand the difference between simple and complex / primitive and reference data types.
  1. 2.2 Variables and 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.
  1. 4.4 Logical Operators
CP1.5.1
Investigate career opportunities, trends, and requirements related to computer programming/software engineering careers.
  1. 8.1 Software Engineer
  2. 8.2 QA Engineer
  3. 8.3 Designer
  4. 8.4 Project Manager
  5. 8.5 Software Reliability and Automation's Impact
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.1 Software Engineer
  2. 8.2 QA Engineer
  3. 8.3 Designer
  4. 8.4 Project Manager
  5. 8.5 Software Reliability and Automation's Impact
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.1 Software Engineer
  2. 8.2 QA Engineer
  3. 8.3 Designer
  4. 8.4 Project Manager
  5. 8.5 Software Reliability and Automation's Impact
CP1.5.1d
Discuss related career pathways.
  1. 8.1 Software Engineer
  2. 8.2 QA Engineer
  3. 8.3 Designer
  4. 8.4 Project Manager
  5. 8.5 Software Reliability and Automation's Impact
CP1.6.1
Develop the knowledge and skills to use Artificial Intelligence responsibly and effectively in CTE courses (USBE Board statement on Artificial Intelligence).
  1. 18.1 How to Use AI Tools Safely
  2. 18.8 Introduction to AI-Assisted Coding
  3. 18.9 Project: AI-Assisted Coding
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.
  1. 18.1 How to Use AI Tools Safely
  2. 18.8 Introduction to AI-Assisted Coding
  3. 18.9 Project: AI-Assisted Coding
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.
  1. 18.1 How to Use AI Tools Safely
  2. 18.8 Introduction to AI-Assisted Coding
  3. 18.9 Project: AI-Assisted Coding
CP1.6.1c
Understand how AI influences all work, including the evolving boundaries and tightening restrictions around intellectual property and copyright.
  1. 17.4 Software Licenses
  2. 18.8 Introduction to AI-Assisted Coding
CP1.6.2
Understand current ethical issues dealing specifically with computer programming and information in society.
  1. 8.5 Software Reliability and Automation's Impact
  2. 17.1 Cyber Ethics and Laws
  3. 17.3 Personal Data Security
  4. 17.4 Software Licenses
  5. 18.8 Introduction to AI-Assisted Coding
CP1.6.2a
Explain the impact software can have on society (i.e., privacy, piracy, copyright laws, ease of use, etc.).
  1. 17.1 Cyber Ethics and Laws
  2. 17.3 Personal Data Security
  3. 17.4 Software Licenses
CP1.6.2b
Explain the ethical reasons for creating reliable and robust software.
  1. 8.5 Software Reliability and Automation's Impact
CP1.6.2c
Describe how computer-controlled automation affects a workplace and society.
  1. 8.5 Software Reliability and Automation's Impact
CP1.6.3
Understand the ethical use of AI in coding and how it impacts the programming field.
  1. 18.1 How to Use AI Tools Safely
  2. 18.7 Who Builds AI?
  3. 18.8 Introduction to AI-Assisted Coding
  4. 18.9 Project: AI-Assisted Coding
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.
  1. 18.8 Introduction to AI-Assisted Coding
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.
  1. 18.1 How to Use AI Tools Safely
  2. 18.8 Introduction to AI-Assisted Coding
  3. 18.9 Project: AI-Assisted Coding
CP1.6.3c
Understand the ethical implications of AI-written software.
  1. 18.7 Who Builds AI?
  2. 18.8 Introduction to AI-Assisted Coding