Please enable JavaScript to use CodeHS

Utah Computer Programming 1 Framework


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