Please enable JavaScript to use CodeHS

Standards Mapping

for Utah Computer Programming 1

75

Standards in this Framework

62

Standards Mapped

82%

Mapped to Course

Standard Lessons
CP1.1.1
Demonstrate concept knowledge of different languages.
CP1.1.1a
Describe the difference between an interpreted language vs a compiled language
CP1.1.1b
Identify characteristics of high-level and low-level languages
CP1.1.2
Demonstrate the ability to use an IDE.
  1. 3.1 Printing in Python
CP1.1.2a
Use an IDE to develop, compile, and run programs
  1. 23.5 Functions in Karel
CP1.1.2b
Understand the difference between syntax, run-time, and logic errors
  1. 23.5 Functions in Karel
CP1.1.2c
Use the debugger to identify errors
  1. 3.1 Printing in Python
  2. 3.2 Variables and Types
  3. 3.5 String Operators
  4. 4.1 Booleans
  5. 4.2 If Statements
CP1.2.1
Demonstrate the ability to use good programming style.
  1. 3.6 Comments
  2. 23.7 Commenting Your Code
CP1.2.1a
Demonstrate proper use of white space (between lines and indentation)
  1. 4.2 If Statements
  2. 5.1 While Loops
  3. 5.2 For Loops
  4. 5.4 Nested Control Structures
CP1.2.1b
Use appropriate naming conventions for identifiers (variables, methods, functions, and file names)
  1. 3.2 Variables and Types
CP1.2.1c
Understand the appropriate use of constants versus variables in programming style
  1. 3.2 Variables and Types
CP1.2.1d
Construct identifiers with meaningful format; camelCase and underscore
  1. 3.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. 3.1 Printing in Python
  2. 3.2 Variables and Types
  3. 3.3 User Input
  4. 3.5 String Operators
CP1.2.2
Understand the ordered software development life cycle.
CP1.2.2a
Requirements Analysis: Identify specifications and understand requirements to create a solution to a problem
  1. 23.18 Karel Challenges
CP1.2.2b
Planning/Design: Design an algorithm to solve the problem using appropriate documentation (UML diagrams and pseudocode).
  1. 3.6 Comments
  2. 23.6 Top Down Design and Decomposition in Karel
  3. 23.7 Commenting Your Code
CP1.2.2b.i
Define an algorithm
  1. 5.1 While Loops
  2. 5.2 For Loops
  3. 5.4 Nested Control Structures
CP1.2.2b.ii
Break the problem down into its subcomponents using top-down design
  1. 23.6 Top Down Design and Decomposition in Karel
CP1.2.2c
Implementation: Write the code, with comments, to implement the algorithm
  1. 3.6 Comments
  2. 23.7 Commenting Your Code
CP1.2.2d
Testing: Test program for verification of errors and proper functionality
  1. 23.15 Debugging Strategies
CP1.2.2e
Release and Maintenance: Release the solution and provide updates when necessarv
  1. 23.15 Debugging Strategies
CP1.3.1
Understand and implement input and output commands.
  1. 3.3 User Input
CP1.3.1a
Understand the difference between input and output
  1. 3.1 Printing in Python
  2. 3.3 User Input
CP1.3.1b
Understand there are different types of input (file, keyboard, mouse, microphone)
  1. 3.1 Printing in Python
  2. 3.3 User Input
CP1.3.1c
Understand there are different types of output (speakers, monitor, printer, file)
  1. 3.1 Printing in Python
  2. 3.3 User Input
CP1.3.1d
Write a program that receives input from a keyboard and produces output to the display
  1. 3.1 Printing in Python
  2. 3.3 User Input
CP1.3.2
Understand and implement data types and variables.
  1. 3.2 Variables and Types
CP1.3.2a
Differentiate between primitive data types (boolean, integer, float and string)
  1. 3.2 Variables and Types
  2. 3.5 String Operators
  3. 4.1 Booleans
CP1.3.2b
Identify proper use of primitive data types (when to use one versus another)
  1. 3.2 Variables and Types
  2. 3.3 User Input
  3. 3.4 Mathematical Operators
  4. 3.5 String Operators
  5. 4.5 Floating Point Numbers and Rounding
CP1.3.2c
Declare a variable and assign it a value using the assignment operator
  1. 3.2 Variables and Types
CP1.3.2d
Understand the difference between declaring and initializing a variable
  1. 3.2 Variables and Types
CP1.3.3
Understand and implement operators and operands.
  1. 3.4 Mathematical Operators
CP1.3.3a
Use basic arithmetic operators (modulus, multiplication, integer division, float division, addition, subtraction)
  1. 3.4 Mathematical Operators
CP1.3.3b
Use basic comparison operators (<, >, ==, ›=, <=)
  1. 4.3 Comparison Operators
CP1.3.3c
Use basic assignment operator (=)
  1. 3.2 Variables and Types
CP1.3.3d
Understand order of operations for all operators (PEMDAS)
  1. 3.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.1 Booleans
  2. 4.2 If Statements
  3. 4.4 Logical Operators
CP1.3.4
Understand and implement expressions in a program.
  1. 4.1 Booleans
  2. 4.2 If Statements
  3. 4.3 Comparison Operators
  4. 4.4 Logical Operators
CP1.3.4a
Understand how operators and operands are used to form expressions
  1. 3.4 Mathematical Operators
  2. 3.5 String Operators
  3. 4.3 Comparison Operators
  4. 4.4 Logical Operators
CP1.3.4b
Identify and implement suntactically correct expressions (Possible examples: A OR B, 5==6, x I= 3.142, x = 4, V + 7)
  1. 3.4 Mathematical Operators
  2. 3.5 String Operators
  3. 4.3 Comparison Operators
  4. 4.4 Logical Operators
CP1.3.5
Understand and implement functions.
  1. 23.5 Functions in Karel
CP1.3.5a
Understand and properly define scope, local variable, and global variable
  1. 3.2 Variables and Types
  2. 23.5 Functions in Karel
CP1.3.5b
Understand what functions are and what are they used for (readability, reusability, modularity, abstraction)
  1. 23.5 Functions in Karel
CP1.3.5c
Understand the difference between a built-in function and user defined function
  1. 3.2 Variables and Types
  2. 23.5 Functions in Karel
CP1.3.5d
Utilize built-in functions
  1. 3.5 String Operators
CP1.3.5e
Understand that functions may or mav not require arguments (input(s))
  1. 23.5 Functions in Karel
CP1.3.5f
Understand that functions mav or mav not return value(s) (output(s))
  1. 23.5 Functions in Karel
CP1.3.6
Understand and implement complex data types.
  1. 3.2 Variables and Types
CP1.3.6a
Understand the difference between a simple and complex data types
  1. 3.2 Variables and Types
CP1.3.6b
Declare a string variable in a program
  1. 3.5 String Operators
CP1.4.1a
Understand when to use an IF statement and demonstrate correct use of an IF statement
  1. 23.11 If Statements
  2. 23.12 If/Else Statements
CP1.4.1b
Understand when to use an ELSE-IF statement and demonstrate correct use of an ELSE-IF statement
  1. 23.12 If/Else Statements
CP1.4.1c
Understand when to use an ELSE statement and demonstrate correct use of an ELSE statement
  1. 23.12 If/Else Statements
CP1.4.1d
Understand when to use a nested IF statement and demonstrate proper use of a nested IF statement
  1. 4.2 If Statements
  2. 5.4 Nested Control Structures
  3. 23.11 If Statements
  4. 23.12 If/Else Statements
CP1.4.2a.i
Understand when to use a for-loop and demonstrate proper use of a for-loop
  1. 5.2 For Loops
CP1.4.2a.ii
Understand the three components of a for-loop: An initial value (i = 0), A condition (i<7), An update expression (i=i+1)
  1. 5.2 For Loops
CP1.4.2b
Understand when to use a while-loop and demonstrate proper use of a while-loop
  1. 5.1 While Loops
CP1.4.2c
Understand when to use nested loops and demonstrate proper use nested loops
  1. 5.4 Nested Control Structures
CP1.4.2d
Identify the various ways that loops can end (break, met condition, condition fail)
  1. 5.3 Break and Continue
CP1.4.2e
Design loops so they iterate the correct number of times
  1. 5.1 While Loops
  2. 5.2 For Loops
CP1.4.2f
Understand what causes an infinite loop
  1. 5.1 While Loops
  2. 5.2 For Loops
  3. 5.3 Break and Continue
CP1.4.3
Understand and implement expressions and complex conditions in control structures.
  1. 5.1 While Loops
  2. 5.2 For Loops
  3. 5.3 Break and Continue
  4. 5.4 Nested Control Structures
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. 5.4 Nested Control Structures
CP1.5.1
Investigate career opportunities, trends, and requirements related to computer programming/software engineering careers.
CP1.5.1a
Identify the members of a computer programming/software engineering team:, team leader, analyst, senior developer, junior developer, client/subiect matter expert
CP1.5.1b
Describe work performed by each member of the computer programming/software engineering team
CP1.5.1c
Investigate trends and traits associated with computer programming/software engineering careers (creativity, technical, leadership, collaborative, problem solving, design, etc.)
CP1.5.1d
Discuss related career pathways
CP1.5.2
Understand current ethical issues dealing with computer programming and information in society.
CP1.5.2a
Explain the impact software can have on society (i.e., privacy, piracy, copyright laws, ease of use, etc.)
CP1.5.2b
Explain the ethical reasons for creating reliable and robust software
CP1.5.2c
Describe how computer-controlled automation affects a workplace and society