K-12 Computer Science Standards

Utah Computer Programming 1

75 Standards

1

CP1.1.1

Demonstrate concept knowledge of different languages.

2

CP1.1.1a

Describe the difference between an interpreted language vs a compiled language

3

CP1.1.1b

Identify characteristics of high-level and low-level languages

4

CP1.1.2

Demonstrate the ability to use an IDE.

5

CP1.1.2a

Use an IDE to develop, compile, and run programs

6

CP1.1.2b

Understand the difference between syntax, run-time, and logic errors

7

CP1.1.2c

Use the debugger to identify errors

8

CP1.2.1

Demonstrate the ability to use good programming style.

9

CP1.2.1a

Demonstrate proper use of white space (between lines and indentation)

10

CP1.2.1b

Use appropriate naming conventions for identifiers (variables, methods, functions, and file names)

11

CP1.2.1c

Understand the appropriate use of constants versus variables in programming style

12

CP1.2.1d

Construct identifiers with meaningful format; camelCase and underscore

13

CP1.2.1e

Implement appropriate output formatting (decimal places, dollar signs, and correct placement of variable data in a sentence)

14

CP1.2.2

Understand the ordered software development life cycle.

15

CP1.2.2a

Requirements Analysis: Identify specifications and understand requirements to create a solution to a problem

16

CP1.2.2b

Planning/Design: Design an algorithm to solve the problem using appropriate documentation (UML diagrams and pseudocode).

17

CP1.2.2b.i

Define an algorithm

18

CP1.2.2b.ii

Break the problem down into its subcomponents using top-down design

19

CP1.2.2c

Implementation: Write the code, with comments, to implement the algorithm

20

CP1.2.2d

Testing: Test program for verification of errors and proper functionality

21

CP1.2.2e

Release and Maintenance: Release the solution and provide updates when necessarv

22

CP1.3.1

Understand and implement input and output commands.

23

CP1.3.1a

Understand the difference between input and output

24

CP1.3.1b

Understand there are different types of input (file, keyboard, mouse, microphone)

25

CP1.3.1c

Understand there are different types of output (speakers, monitor, printer, file)

26

CP1.3.1d

Write a program that receives input from a keyboard and produces output to the display

27

CP1.3.2

Understand and implement data types and variables.

28

CP1.3.2a

Differentiate between primitive data types (boolean, integer, float and string)

29

CP1.3.2b

Identify proper use of primitive data types (when to use one versus another)

30

CP1.3.2c

Declare a variable and assign it a value using the assignment operator

31

CP1.3.2d

Understand the difference between declaring and initializing a variable

32

CP1.3.3

Understand and implement operators and operands.

33

CP1.3.3a

Use basic arithmetic operators (modulus, multiplication, integer division, float division, addition, subtraction)

34

CP1.3.3b

Use basic comparison operators (<, >, ==, ›=, <=)

35

CP1.3.3c

Use basic assignment operator (=)

36

CP1.3.3d

Understand order of operations for all operators (PEMDAS)

37

CP1.3.3e

Use basic logical operators (AND, OR, NOT)

38

CP1.3.3f

Use operands in conjunction with arithmetic, relational, and logical operators

39

CP1.3.4

Understand and implement expressions in a program.

40

CP1.3.4a

Understand how operators and operands are used to form expressions

41

CP1.3.4b

Identify and implement suntactically correct expressions (Possible examples: A OR B, 5==6, x I= 3.142, x = 4, V + 7)

42

CP1.3.5

Understand and implement functions.

43

CP1.3.5a

Understand and properly define scope, local variable, and global variable

44

CP1.3.5b

Understand what functions are and what are they used for (readability, reusability, modularity, abstraction)

45

CP1.3.5c

Understand the difference between a built-in function and user defined function

46

CP1.3.5d

Utilize built-in functions

47

CP1.3.5e

Understand that functions may or mav not require arguments (input(s))

48

CP1.3.5f

Understand that functions mav or mav not return value(s) (output(s))

49

CP1.3.6

Understand and implement complex data types.

50

CP1.3.6a

Understand the difference between a simple and complex data types

51

CP1.3.6b

Declare a string variable in a program

52

CP1.4.1a

Understand when to use an IF statement and demonstrate correct use of an IF statement

53

CP1.4.1b

Understand when to use an ELSE-IF statement and demonstrate correct use of an ELSE-IF statement

54

CP1.4.1c

Understand when to use an ELSE statement and demonstrate correct use of an ELSE statement

55

CP1.4.1d

Understand when to use a nested IF statement and demonstrate proper use of a nested IF statement

56

CP1.4.2a.i

Understand when to use a for-loop and demonstrate proper use of a for-loop

57

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)

58

CP1.4.2b

Understand when to use a while-loop and demonstrate proper use of a while-loop

59

CP1.4.2c

Understand when to use nested loops and demonstrate proper use nested loops

60

CP1.4.2d

Identify the various ways that loops can end (break, met condition, condition fail)

61

CP1.4.2e

Design loops so they iterate the correct number of times

62

CP1.4.2f

Understand what causes an infinite loop

63

CP1.4.3

Understand and implement expressions and complex conditions in control structures.

64

CP1.4.3a

Create expressions using relational operators -- Example: (a> 6, x!=7, y> 4)

65

CP1.4.3b

Form complex conditions using logical operators -- Example: (a > 6 AND x != 7 OR y > 4)

66

CP1.4.3c

Incorporate complex conditions in loop structures -- Example: While a player's health is greater than 50 and player is not dead

67

CP1.5.1

Investigate career opportunities, trends, and requirements related to computer programming/software engineering careers.

68

CP1.5.1a

Identify the members of a computer programming/software engineering team:, team leader, analyst, senior developer, junior developer, client/subiect matter expert

69

CP1.5.1b

Describe work performed by each member of the computer programming/software engineering team

70

CP1.5.1c

Investigate trends and traits associated with computer programming/software engineering careers (creativity, technical, leadership, collaborative, problem solving, design, etc.)

71

CP1.5.1d

Discuss related career pathways

72

CP1.5.2

Understand current ethical issues dealing with computer programming and information in society.

73

CP1.5.2a

Explain the impact software can have on society (i.e., privacy, piracy, copyright laws, ease of use, etc.)

74

CP1.5.2b

Explain the ethical reasons for creating reliable and robust software

75

CP1.5.2c

Describe how computer-controlled automation affects a workplace and society

Ready to Start Learning?

Explore our courses aligned with these standards

View School Program