Please enable JavaScript to use CodeHS

Utah Computer Programming 1 Standards Framework

39 Standards in this Framework


Standard Description
UT.CP1.1.1a Describe the difference between an interpreted language vs a compiled language.
UT.CP1.1.1b Identify characteristics of high-level and low-level languages.
UT.CP1.1.2a Use an IDE to develop, compile, and run programs.
UT.CP1.1.2b Understand the difference between syntax, run-time, and logic errors.
UT.CP1.1.2c Use the debugger to identify errors.
UT.CP1.2.1a Demonstrate proper use of white space (between lines and indentation).
UT.CP1.2.1b Use appropriate naming conventions for identifiers (variables, methods, functions, and file names).
UT.CP1.2.1c Construct identifiers with meaningful format; camelCase and underscore.
UT.CP1.2.2a Identify specifications and understand requirements to create a solution to a problem.
UT.CP1.2.2b Develop a program using external documentation (flowcharts, abstracts, and pseudocode) to break down the problem into sub-components.
UT.CP1.2.2c Design solutions using algorithms.
UT.CP1.2.2d Write the code to implement the algorithm.
UT.CP1.2.2e Test program for verification of errors and proper functionality.
UT.CP1.2.2f Provide internal comments in the IDE that explain functionality through documentation (i.e comments, notes, program instructions).
UT.CP1.2.3a Understand keywords, identifiers, operators, and operands.
UT.CP1.2.3b Understand statements and expressions in a program.
UT.CP1.2.3c Understand program components such as functions, methods, or procedures.
UT.CP1.3.1a Declare, initialize, and assign values to constants and variables.
UT.CP1.3.1b Demonstrate the ability to use input and output commands.
UT.CP1.3.1c Declare and use variable types (primitives, reference, or object).
UT.CP1.3.1d Identify proper data types for a specified application (boolean, integer, floating point, strings).
UT.CP1.3.2a Use basic arithmetic operators (modulus, multiplication, division, addition, subtraction).
UT.CP1.3.2b Understand order of operation of expressions.
UT.CP1.3.2c Write expressions that mix floating-point and integer expressions.
UT.CP1.4.1a Compare values using relational operators (<, >, ==, >=, <=, etc.).
UT.CP1.4.1b Form complex expressions using logical operators.
UT.CP1.4.2a Employ simple IF structures.
UT.CP1.4.2b Use IF-ELSE and nested IF-ELSE structures.
UT.CP1.4.3a Demonstrate knowledge between for-loops, while-loops, and do-while loops.
UT.CP1.4.3b Describe the various ways that loops can end (i.e., sentinel, break, condition fail,etc.).
UT.CP1.4.3c Design loops so they iterate the correct number of times (i.e., off by one errors, infinite loops, etc.).
UT.CP1.4.3d Utilize nested loops.
UT.CP1.5.1a Identify the members of a computer programming/software engineering team: team leader, analyst, senior developer, junior developer, and client/subject matter expert.
UT.CP1.5.1b Describe work performed by each member of the computer programming/software engineering team.
UT.CP1.5.1c Investigate trends and traits associated with computer programming/software engineering careers (creativity, technical, leadership, collaborative, problem solving, design, etc.).
UT.CP1.5.1d Discuss related career pathways.
UT.CP1.5.2a Explain the impact software can have on society (i.e., privacy, piracy, copyright laws, ease of use, etc.).
UT.CP1.5.2b Explain the ethical reasons for creating reliable and robust software.
UT.CP1.5.2c Describe how computer-controlled automation affects a workplace and society.