ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
SubjectYearLow GradeHigh GradeStandard IDStandardContent StrandsTopicsEvidence of Student AttainmentTeacher VocabularyKnowledgeSkillsUnderstanding
2
DLIT2018111Classify and sort information into logical order with and without a computer.
Examples: Sort by shape, color, or other attribute; sort A-Z.
Computational ThinkerAbstractionStudents:
will identify various attributes/characteristics of items.
will sort items based on an identified attribute/ characteristic.
attributeStudents know:
how to identify attributes of items.
that attributes are used for sorting.
Students are able to:
identify various attributes of items.
sort items based on an identified attribute.
Students understand that:
items can have attributes of varying types.
attributes can be used to group items.
attributes can be used to sort items and put into a specific order.
3
DLIT2018331Use numbers or letters to represent information in another form.
Examples: Secret codes/encryption, Roman numerals, or abbreviations.
Computational ThinkerAbstractionStudents will:
use numbers and letters to represent information in another form.
encryption
secret codes
Students know:
techniques for understanding how to representing information in another way using numbers or letters.
Students are able to:
use letters or numbers to represent information in another form.
use a secret code to determine information represented in letters and/or numbers.
Students understand that:
numbers and/or letters can represent information in another way.
4
DLIT2018441Construct a basic system of numbers, letters, or symbols to represent information as a cipher.
Examples: Combine data from multiple sources, sorting multi-level.
Computational ThinkerAbstractionStudents will:
construct a basic system of numbers, letters, or symbols to represent information as a cipher.
basic system of numbers
symbols
represent information
cipher
Students know:
a basic system of numbers, letters, or symbols can represent information as a cipher.
Students are able to:
construct a basic system of numbers, letters, or symbols to represent information as a cipher.
Students understand that:
a basic system of numbers, letters, or symbols can represent information as a cipher.
5
DLIT2018551Construct a complex system of numbers or letters to represent information.
Example: Student-created complex secret codes using more than one form to solve a problem or answer a question.
Computational ThinkerAbstractionStudents will:
construct a complex system of numbers or letters to represent information.
code
cipher
Students know:
computer use a complex system of numbers or letters to represent and transmit information.
they can create a code or a complex system of numbers or letters to represent information.
Students are able to:
construct a complex system of numbers or letters to represent information.
Students understand that:
there are an infinte amount of combinations for a complex system of numbers or letters to represent information.
computers use a complex system of numbers or letters to represent information.
6
DLIT2018661Remove background details from an everyday process to highlight essential properties.
Examples: When making a sandwich, the type of bread, condiments, meats, and/or vegetables do not affect the fact that one is making a sandwich.
Computational ThinkerAbstractionStudents will:
identify the essential components and remove any inessential descriptors given an everyday task.
process
essential properties
Students know:
how to identify details and descriptors
Students are able to:
remove descriptors, only leaving essential details
Students understand that:
descriptors assist in visualizing a process but do not affect the root process.
7
DLIT2018771Create a function to simplify a task.
Example: Get a writing utensil, get paper, jot notes can collectively be named “note taking”.
Computational ThinkerAbstractionStudents will:
summarize a collection of steps or algorithms as one function.
Students know:
an algorithm is the set of commands to complete a task.
Students are able to:
combine several algorithms or tasks as a named function.
Students understand that:
it is more efficient to label an activity or program as a function than to list all of the individual steps or algorithms that make up the function or activity.
8
DLIT2018881Design a function using a programming language that demonstrates abstraction.
Example: Create a program that utilizes functions in an effort remove repetitive sequences of steps.
Computational ThinkerAbstractionStudents will:
design a function that demonstrates the removal of repetitive sequence of steps.
function
abstraction
Students know:
that a function can be called into a programming while abstracting out the details contained within the function.
Students are able to:
create a function that can be called into a programming while leaving out the details contained within the function.
Students understand that:
abstraction is a way of hiding the details of a complex function and being able to quickly make use of the complexity that has been hidden abstraction by calling in the function.
9
DLIT20189121Decompose problems into component parts, extract key information, and develop descriptive models to understand the levels of abstractions in complex systems.Computational ThinkerAbstractionStudents will:
decompose problems into component parts.
extract key details given in the problem.
develop descriptive models to outline the levels of abstraction in complex models.
decomposeStudents know:
complex problems may be more easily processed when broken into simpler problems.
that it is important to highlight key details of a problem.
descriptive models can help outline the procedures to solve more complex problems.
Students are able to:
solve a complex problem by decomposing the problem into smaller, simpler problems.
extract key details needed in the problemsolving process.
develop descriptive models to convey the levels of abstraction in complex systems.
Students understand that:
complex problems may be easier to solve if they are broken into smaller problems first.
it is important to identify key details in the problem.
10
DLIT2018332Analyze a given list of sub-problems while addressing a larger problem.
Example: Problem - making a peanut butter sandwich; sub-problem - opening jar, finding a knife, getting the bread.
Problem - design and share a brochure; sub-problem - selecting font, choosing layout.
Computational ThinkerAbstractionStudents will:
analyze a given list of sub-problems while addressing a larger problem.
sub-problemStudents know:
strategies for analyzing sub-problems from a given list for a larger problem.
Students are able to:
analyze given lists of sub-problems while addressing a larger problem.
identify the sub-problems for a larger problem.
Students understand that:
larger problems have sub-problems.
it can be easier to solve a large problem if you identify smaller sub-problems to tackle or solve.
11
DLIT2018442Formulate a list of sub-problems to consider while addressing a larger problem.
Examples: Problem - a multi-step math problem; sub-problem - steps to solve.
Problem - light bulb does not light; sub-problem - steps to resolve why.
Computational ThinkerAbstractionStudents will:
formulate a list of sub-problems to consider while addressing a larger problem.
formulate
sub-problems
Students know:
a list of sub-problems need to be considered in order to address a larger problem.
strategies to develop a list of sub-problems.
Students are able to:
formulate a list of sub-problems to consider while addressing a larger problem.
Students understand that:
a list of sub-problems need to be considered to address a larger problem.
12
DLIT2018662Define a process as a function.
Example: Functions or sets of steps combined to produce a process: turning off your alarm + getting out of bed + brushing your teeth + getting dressed = morning routine.
Computational ThinkerAbstractionStudents will:
list a set of steps taken to complete a process and name that process as a function.
process
function
Students know:
that often people seek to simplify processes; rather than listing all of the steps needed to take a shower, one simply uses the function "shower".
Students are able to:
combine or join steps such as algorithms to create a function.
Students understand that:
it is simpler and less confusing to identify processes rather than steps.
13
DLIT2018882Explain how abstraction is used in a given function.
Example: Examine a set of block-based code and explain how abstraction was used.
Computational ThinkerAbstractionStudents will:
identify how abstraction has been used in a function when given the function.
function
abstraction
Students know:
abstraction is the process of removing unessential details (color, size, etc.).
Students are able to:
recognize when abstraction has been employed in a program or function.
Students understand that:
because code can be so complex, it is often in a programmer's best interest to simplify tasks to include only essential elements.
14
DLIT20189122Explain how computing systems are often integrated with other systems and embedded in ways that may not be apparent to the user.
Examples: Millions of lines of code control the subsystems within an automobile (e.g., antilock braking systems, lane detection, and self-parking).
Computational ThinkerAbstractionStudents will:
explain how computing systems are often integrated with other systems.
explain how computing systems can be embedded in ways that may not be apparent to the user.
Students know:
that many electronic devices we encounter are comprised of multiple complex systems.
Students are able to:
identify examples of complex computing systems in everyday life.
explain how computing systems are often integrated with other systems and embedded in ways that may not be apparent to most users.
Students understand that:
complex computing systems exist that integrate computing systems with one another in ways that may not be apparent to the user.
15
DLIT2018221Create and sort information into useful order using digital tools.
Examples: Sort data spreadsheets A-Z, simple filters, and tables.
Computational ThinkerAbstractionStudents:
will collect and enter data into a spreadsheet independently.
will use functions of a spreadsheet to sort data.
will set up a simple filter to sort data.
data filter sort spreadsheet fields column rowStudents know:
spreadsheets can used to collect data.
data can be sorted into a useful order with a spreadsheet.
Students are able to:
collect and enter data in a spreadsheet.
sort data in a spreadsheet.
determine a simple filter to sort data.
Students understand that:
a spreadsheet may be used to collect and organize data.
a spreadsheet can be used to sort and arrange date in a particular order.
filters may be used in a spreadsheet to organize information.
16
DLIT2018001List the sequence of events required to solve problems.
Examples: Tying shoes, making a sandwich, brushing teeth.
Computational ThinkerAlgorithmsStudents:
will identify the order of events related to a specific task.
sequenceStudents know:
certain tasks require a specific sequence.
Students are able to:
tell the order of events for specific task.
identify what comes next for specific tasks.
identify a step that is not in the correct order.
Students understand that:
the order of events is important.
events are made up of several different steps.
17
DLIT2018112Order events into a logical sequence or algorithm.
Examples: Unplugged coding activities, sequence of instruction.
Computational ThinkerAlgorithmsStudents:
will identify and put in order the sequence of events related to a task.
will determine when a part of a task is not in the correct order.
will observe a sequence of events to identify a problem.
sequence tasksStudents know:
sequence of events are important in certain tasks.
Students are able to:
identify the correct sequence of events for a specific task.
identify a part of a task that is in the incorrect order.
identify a problem within a sequence of tasks.
Students understand that:
the sequence of events is important to complete a specific task.
if the task identified does not work the sequence may not be correct.
they can change the sequence of events to correct a task.
18
DLIT2018222Create an algorithm for other learners to follow.
Examples: Unplugged coding activities, illustrate sequence of a process such as baking a cake.
Computational ThinkerAlgorithmsStudents:
will develop a sequence of events related to a task that others can follow.
sequenceStudents know:
the sequence of events for a tasks are important.
sequence of events may be read and interpreted by other people or machines.
Students are able to:
develop a sequence of events for a task that others can follow.
Students understand that:
a task can be broken down into a sequence of smaller events or steps.
19
DLIT2018552Create an algorithm to solve a problem while detecting and debugging logical errors within the algorithm.
Examples: Program the movement of a character, robot, or person through a maze.
Define a variable that can be changed or updated.
Computational ThinkerAlgorithmsStudents will:
create an algorithm to solve a problem.
detect and debug logical errors within an algorithm.
algorithm
debug
detect
logical errors
Students know:
an algorithm is a logical set of steps to solve a problem.
detecting and debugging logical errors within an algorithm will ensure the algorithm serves to solve a problem successfully.
Students are able to:
create an algorithm to solve a problem while detecting and debugging logical errors within the algorithm.
Students understand that:
debugging an algorithm is searching for logical errors within the algorithm.
an algorithm is a set of steps to solve a problem.
how to create an algorithm to solve a problem while detecting and debugging logical errors within the algorithm.
20
DLIT2018772Create complex pseudocode using conditionals and Boolean statements.
Example: Automated vacuum pseudocode – drive forward until the unit encounters an obstacle; reverse 2"; rotate 30 degrees to the left, repeat.
Computational ThinkerAlgorithmsStudents will:
compile a set of complex steps that contain conditional operators to include if, then, else and Boolean statements such as >, <, =,.
pseudocode
conditional
Boolean statement
Students know:
that Boolean logic combined with conditional statements make for complex and powerful programs.
Students are able to:
use Boolean logic combined with conditional statements to create complex pseudocode or a program.
Students understand that:
questions in conditionals are what makes programs more complex.
21
DLIT2018333Explain that different solutions exist for the same problem or sub-problem.
Example: Multiple paths exist to get home from school; one may be a shorter distance while one may encounter less traffic.
Computational ThinkerAlgorithmsStudents will:
explain that different solutions exist for the same problem or sub-problem.
solution
sub-problem
problem
Students know:
different solutions exist for the same problem or sub-problem.
techniques to explain that different solutions exist for the same problem or sub-problem.
Students are able to:
identify different solutions for the same problem or sub-problem.
explain that these solutions exist.
Students understand that:
multiple solutions exist for the same problem or sub-problem.
22
DLIT2018443Show that different solutions exist for the same problem or sub-problem.Computational ThinkerAlgorithmsStudents will:
show that different solutions exist for the same problem or sub-problem.
solutionStudents know:
strategies for developing different solutions for the same problem or sub-problem.
that different solutions exist for the same problem or sub-problem.
Students are able to:
show that different solutions exist for the same problem or sub-problem.
Students understand that:
different solutions exist for the same problem or sub-problem.
23
DLIT2018553Create an algorithm that is defined by simple pseudocode.Computational ThinkerAlgorithmsStudents will:
create set of steps that is written in simple pseudocode.
algorithm
pseudocode
Students know:
simple pseudocode resembles language used to communicate with computers.
Students are able to:
create an algorithm that is written in simple pseudocode.
Students understand that:
an algorithm that is written in simple pseudocode is similar to an algorithm written using a programming language.
24
DLIT2018663Create pseudocode that uses conditionals.
Examples: Using if/then/else (If it is raining then bring an umbrella else get wet).
Computational ThinkerAlgorithmsStudents will:
compile a set of steps that contain conditional operations to include if, then, and else.
pseudocode
conditionals
Students know:
that conditional statements provide options for how a process is completed.
Students are able to:
communicate a process and its available yes/no or true/false options.
Students understand that:
conditionals are limited to options that are either true or false.
25
DLIT2018773Create algorithms that demonstrate sequencing, selection or iteration.
Examples: Debit card transactions are approved until the account balance is insufficient to fund the transaction = iteration, do until.
Computational ThinkerAlgorithmsStudents will:
create an algorithm using one of the three basic programming structures: sequencing, selections, or iterations.
algorithm
sequence
selection
iteration
Students know:
how to use the programming structures to create algorithms and how many algorithms make use of all three programming structures.
Students are able to:
create and recognize various programming structures found in algorithms.
Students understand that:
each structure sequencing, selections, and iterations have a purpose.
26
DLIT2018883Create an algorithm using a programming language that includes the use of sequencing, selections, or iterations.
Example: Use a block-based or script programming language
Step 1: Start
Step 2: Declare variables a, b and c.
Step 3: Read variables a, b and c.
Step 4: If a>b
If a>c
Display a is the largest number.
Else
Display c is the largest number.
Else
If b>c
Display b is the largest number.
Else
Display c is the greatest number.
Step 5: Stop
Computational ThinkerAlgorithmsStudents will:
create an algorithm that includes sequencing, selections, or iterations.
algorithm
sequence
selection
iteration
Students know:
how to use a programming language to create algorithms that make use of sequencing, selections, or iterations.
Students are able to:
create programs the make use of sequencing, selections, or iterations.
Students understand that:
each programming language has a unique way of making use of sequencing, selections, and iterations in algorithms.
27
DLIT20189123Differentiate between a generalized expression of an algorithm in pseudocode and its concrete implementation in a programming language.
a. Explain that some algorithms do not lead to exact solutions in a reasonable amount of time and thus approximations are acceptable.
b. Compare and contrast the difference between specific control structures such as sequential statements, conditional, iteration, and explain the benefits and drawbacks of choices made.
Examples: Tradeoffs involving implementation, readability, and program performance.
c. Distinguish when a problem solution requires decisions to be made among alternatives, such as selection constructs, or when a solution needs to be iteratively processed to arrive at a result, such as iterative “loop” constructs or recursion.
d. Evaluate and select algorithms based on performance, reusability, and ease of implementation.
e. Explain how more than one algorithm may solve the same problem and yet be characterized with different priorities.
Examples: All self-driving cars have a common goal of taking a passenger to a designation but may have different priorities such as safety, speed, or conservation; web search engines have their own algorithms for search with their own priorities.
Computational ThinkerAlgorithmsStudents will:
compare and contrast pseudocode and programming language.
be given pseudocode and code in a programming language to differentiate between the two processes.
a.
explain that some solutions cannot be reached in an acceptable timeframe, and therefore solutions must be approximated.
b.
identify sequential statements in code.
identify conditional statements in code.
identify iterations in code.
compare and contrast the difference between these types of control structures: sequential statements, conditional statements, and iteration.
identify trade-offs associated with using one control structure over another.
c. identify when an iterative loop is needed in a program.
identify when selection constructs are needed in a program.
identify when recursion is needed in a program.
distinguish when a solution requires decisions to be made among alternatives such as an iterative loop, selection constructs, or recursion.
d.
evaluate algorithms based on performance.
evaluate algorithms based on reusability.
evaluate algorithms based on ease of implementation.
select the best algorithm based on desired strength: performance, reusability, or ease of implementation.
e. explain that algorithms can be designed to operate for a specific priority.
pseudocode
programming language
a. approximated
b. iteration
conditional statements
control structures
c. iterative loop
selection constructs
recursion
Students know:
that differences exist in pseudocode and a programming language.
that programming languages have certain requirements for language and syntax.
a.
that some programs cannot return a result in a reasonable time frame, therefore approximations must be allowed in those cases.
b.
how to identify sequential statements, conditional statements, and/or iterations in code.
the differences between sequential statements, conditional statements, and/or iterations.
trade-offs exist with using one control structure over another.
c.
some decisions in a program will require the use of iterative loops, selection constructs, or recursion.
d.
programs can be written to satisfy a number of needs such as performance, reusability, and ease of implementation.
that most times, algorithms will differ based on the need of the program; performance, reusability, or ease of implementation.
e.
that programs can be written with specific priorities in mind.
that there are multiple correct ways to write a program.
that solutions are often chosen to meet the priority need of the program.
Students are able to:
distinguish between a generalized expression of an algorithm in pseudocode and its concrete implementation in a programming language.
point out similarities in vocabulary and syntax between pseudocode and an algorithm.
point out differences in vocabulary and syntax between pseudocode and an algorithm.
a.
explain that some algorithms do not lead to exact solutions in a reasonable amount of time and thus approximations are acceptable.
b.
identify sequential statements, conditional statements, and/or iterations in code.
identify tradeoffs associated with using one control structure over another.
c.
distinguish when a problem solution requires decisions to be made among alternatives or when a solution needs to be iteratively processed to arrive at a result.
d.
evaluate and select algorithms based on performance, reusability, and ease of implementation.
e.
explain how more than one algorithm may solve the same problem and yet be characterized with different priorities.
Students understand that:
similarities and differences exist in pseudocode and programming code.
some programming languages more closely resemble pseudocode than do other programming languages.

a.
due to time or financial constraints, some programs may return an approximation of a solution.

b.
both benefits and drawbacks exist when selecting one control structure over another in a code.

c.
programs can use multiple methods to arrive at a solution.

d.
there are times when a program needs to be selected for a specific purpose, such as performance, reusability, and/or ease of implementation.

e.
multiple algorithms can solve the same problem.

algorithms can operate with a specific priority in mind, such as speed, simplicity, and/or safety.
28
DLIT2018334Examine logical reasoning to predict outcomes of an algorithm.Computational ThinkerAlgorithmsStudents will:
examine logical reasoning.
predict the possible outcomes of an algorithm.
logical reasoning
outcome
algorithm
Students know:
to apply logical reasoning when predicting outcomes of algorithms.
strategies to examine logical reasoning to predict outcomes of an algorithm.
Students are able to:
determine possible outcomes of an algortihm.
recognize that an algorithm can have multiple outcomes.
Students understand that:
logical reasoning is necessary when predicting outcomes of an algorithm.
algorithms can have multiple outcomes.
29
DLIT2018444Detect and debug logical errors in various basic algorithms.
Example: Trace the path of a set of directions to determine success or failure.
Computational ThinkerAlgorithmsStudents will:
examine basic algorithms and determine where errors may exist.
detect
debug
logical
errors
algorithms
Students know:
strategies to detect logical errors in various basic algorithms.
strategies to debug or repair logical errors in various basic algorithms.
Students are able to:
detect and debug logical errors in various basic algorithms.
Students understand:
how to detect and debug logical errors in various basic algorithms.
strategies to detect and debug logical errors in various basic algorithms.
30
DLIT2018554Create a simple pseudocode.Computational ThinkerAlgorithmsStudents will:
create simple pseudocode.
pseudocodeStudents know:
how to write an algorithm in pseudocode.
Students are able to:
create simple pseudocode.
Students understand that:
pseudocode is simple phrases of instruction that mimics the logic of a programming language.
31
DLIT2018664Differentiate between flowcharts and pseudocode.
Example: Flowcharts use shapes to indicate what to do at each step while pseudocode uses text.
Computational ThinkerAlgorithmsStudents will:
list steps to complete a process in pseudocode.
express the same process in a flowchart noting the differences.
flowchart
pseudocode
Students know:
flowcharts use symbols to express what is happening while in pseudocode is in basic text.
Students are able to:
explain the differences and similarities of flowcharts and pseudocode.
Students understand that:
using flowcharts or pseudocode each has their own advantage when planning a program or process.
32
DLIT2018774Design a complex algorithm that contains sequencing, selection or iteration.
Examples: Lunch line algorithm that contains parameters for bringing your lunch and multiple options available in the lunch line.
Computational ThinkerAlgorithmsStudents will:
design complex algorithms that demonstrate the three basic programming structures: sequencing, selections, or iterations.
algorithm
sequence
selection
iteration
Students know:
how to use the programming structures to design complex algorithms that make use of all three programming structures sequencing, selections, and iterations.
Students are able to:
design complex algorithms using the various programming structures found in algorithms.
Students understand that:
complex algorithms contain sequencing, selections, and iterations.
33
DLIT2018884Create a function to simplify a task.
Example: 38 = 3*3*3*3*3*3*3*3; =(Average) used in a spreadsheet to average a given list of grades.
Computational ThinkerAlgorithmsStudents will:
create a function that simplifies a task.
functionStudents know:
that a function can be used to simplify a task.
Students are able to:
create and use functions to simplify tasks.
Students understand that:
functions are useful tools used abundantly in algorithms.
34
DLIT20189124Use and adapt classic algorithms to solve computational problems.
Examples: Sorting, searching, shortest path, and data compression.
Computational ThinkerAlgorithmsStudents will:
use classic algorithms to solve computational problems.
adapt classic algorithms to solve computational problems.
Students know:
classic algorithms exist that can be used and adapted to meet one's needs.
that it can be easier to alter code than to create it from scratch.
Students are able to:
use and adapt classic algorithms to solve computational problems.
Students understand that:
algorithms can be altered to fit another use than originally designed for.
35
DLIT2018335Create an algorithm to solve a problem as a collaborative team.
Examples: Move a character/robot/person through a maze. List steps to build a sandwich.
Computational ThinkerAlgorithmsStudents will:
create an algortihm.
work collaboratively.
solve a problem or complete a task with the algortihm.
algorithm
collaborative
Students know:
an algorithm can be used to solve a problem or complete a task.
the steps in creating an algortihm as a collaborative team.
Students are able to:
work as a collaborative team to create a problem-solving algorithm.
list steps in solving a problem.
Students understand that:
algorithms are used to solve problems or complete a task in a step-by-step process.
36
DLIT2018445Use flowcharts to create a plan or algorithm.Computational ThinkerAlgorithmsStudents will:
use flowcharts to create a plan or algorithm.
flowchart
plan
algorithm
Students know:
flowcharts are used in creating plan or algorithm.
strategies to use flowcharts to create a plan or algorithm.
Students are able to:
use flowcharts to create a plan or algorithm.
explain how flowcharts help in creating a plan or algorithm.
Students understand that:
flowcharts are used in creating plan or algorithm.
flowcharts help to visualize a plan or algorithm.
37
DLIT2018555Develop and recommend solutions to a given problem and explain the process to an audience.Computational ThinkerAlgorithmsStudents will:
develop and recommend solutions to a given problem.
explain the development process to an audience.
processStudents know:
steps of the problem-solving process.
many solutions exist to solve a problem.
Students are able to:
develop and recommend solutions to a given problem.
share their process with others.
Students understand that:
problems can have multiple solutions.
38
DLIT2018665Identify algorithms that make use of sequencing, selection or iteration.
Examples: Sequencing is doing steps in order (put on socks, put on shoes, tie laces); selection uses a Boolean condition to determine which of two parts of an algorithm are used (hair is dirty? True, wash hair; false, do not); iteration is the repetition of part of an algorithm until a condition is met (if you’re happy and you know it clap your hands, when you’re no longer happy you stop clapping).
Computational ThinkerAlgorithmsStudents will:
find algorithms that demonstrate the three basic programming structures.
algorithm
sequence
selection
iteration
Students know:
differences between the three basic programming structures.
Students are able to:
explain the differences in sequencing, selection, and iteration.
Students understand that:
differences exist in sequencing, selection, and iteration.
39
DLIT2018336Describe the function of a flowchart.Computational ThinkerAlgorithmsStudents will:
describe the function of a flowchart.
flowchart
function
Students know:
the purpose of a flowchart.
how flowcharts function.
Students are able to:
discuss the purpose and function of a flowchart.
Students understand that:
a flowchart is a visual representation of an alogrithm, program, or process.
40
DLIT2018446Define a simple pseudocode.Computational ThinkerAlgorithmsStudents will:
define a simple pseudocode.
psuedocodeStudents know:
the characteristics of a simple pseudocode.
the purpose of pseudocode.
Students are able to:
define a simple psuedocode.
identify simple psuedocode.
Students understand that:
a simple pseudocode is code for programs before it is actually converted into a specific programming language or simply a set of steps.
41
DLIT2018002Demonstrate use of input devices.
Examples: Mouse, touch screen, keyboard.
Computational Thinker
Programming and Development
Students:
will use a mouse and keyboard to enter information.
mouse keyboard screen
Students know:
input devices are used to manipulate computing
devices or enter information.
Students are able to:
use a mouse, keyboard, or other input device to navigate on computing devices and enter information.
Students understand that:
they may need to use other pieces of equipment to navigate, select programs, or enter information into a computing device.
42
DLIT2018113
Construct elements of a simple computer program in collaboration with others.
Examples: Block programming, basic robotics, unplugged programming.
Computational Thinker
Programming and Development
Students:
will use paper/pencil examples to determine the correct order of a task.
will understand that each piece of block code represents a single step or task.
will drag and drop pieces of block code to perform a task.
will use block code to operate simple robotic devices.
Students know:
blocks of programs associate with an action.
blocks of programs can be combined to create a set of actions or a task.
robotic devices can respond to blocks of programs.
Students are able to:
determine the order of paper/pencil pieces for a tasks.
understand that blocks of code represent an action.
drag and drop blocks of programming in online activities to complete tasks.
use blocks of programming to control robotic/digital devices.
Students understand that:
pieces of a task can be represented in parts by words or pictures.
code can be put together into blocks that can be
manipulated.
blocks of code together create a task.
blocks of code can be used to operate robotic/digital devices.
43
DLIT2018223
Construct elements of a simple computer program using basic commands.
Examples: Digital block-based programming, basic robotics.
Computational Thinker
Programming and Development
Students:
will drag and drop blocks of code to complete a task.
will run a program they develop using block based coding.
program code
Students know:
programming blocks represent a set of codes.
block based programs can be used to design a task.
block based programs can be interpreted by machines.
Students are able to:
drag and drop blocks of code.
drag and drop blocks of code to complete a tasks.
run a block based program after sequencing tasks to complete a desired process.
Students understand that:
blocks of code can be moved around and combined into
an order that completes a task or process.
sets of block coding can be run to perform the task/process.
44
DLIT2018224Identify bugs in basic programming.
Examples: Problem-solving, trial and error.
Computational Thinker
Programming and Development
Students:
will run a sequence of block based code and determine where there is an error.
will correct an error in block based code once it is identified.
debug problem-solve error
Students know:
if sequence of code is not correct the task will not complete.
incorrect code can be identified and corrected.
Students are able to:
create a small section of code for a task.
run the program to ensure the task is completed.
identify when there is an error in the code.
correct an error in the code through trial and error.
Students understand that:
when sets of block coding are combined to perform a task occassionally an error may occur.
when an error in code is identified the code may
be rearranged, edited, or removed to correct the error.
45
DLIT2018775Solve a complex problem using computational thinking.Computational Thinker
Programming and Development
Students will:
break a problem into parts or steps.
find patterns or trends.
create steps to solve the problem.
infer rules or principles associated with problem solving.
computational thinking
Students know:
smaller tasks are easier to solve than complex problems.
that trends in data can also speed up the problem-solving process.
Students are able to:
abstract portions of the problem and focus on smaller tasks to aid in solving a complex problem.
Students understand that:
complex problems can be overwhelming.
by decomposing the complex problem into simpler problems, a solution is easier to reach.
46
DLIT2018885
Discuss the efficiency of an algorithm or technology used to solve complex problems.
Computational Thinker
Programming and Development
Students will:
examine a given artifact used to aid in problem solving.
discuss the efficiency of that artifact in problem solving.
Students know:
that many solutions exist to solve a problem.
Students are able to:
communicate their opinion on the efficiency of problem solving methods.
Students understand that:
while many solutions exist for a problem, some are better suited to meet specific needs, such as efficiency.
47
DLIT20189125
Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a societal issue by using current events.
Computational Thinker
Programming and Development
Students will:
use digital tools to create content as it relates to current events.
seek feedback to revise computational artifacts.
Students know:
how to design and develop computational artifacts for practical intent.
how to design and develop computational artifacts for personal expression.
how to design and develop computational artifacts to address a societal issue by using current events.
Students are able to:
design and develop computational artifacts using an iterative design process.
use current events to bring merit to computational artifacts.
Students understand that:
design should be an iterative process whereby the designer seeks feedback to improve upon his/her creation.
48
DLIT2018556
Create a working program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs.
Computational Thinker
Programming and Development
Students will:
create a working program in a blockbased visual programming environment.
create a program in a blockbased visual programming environment using arithmetic operators such as AND, OR, and NOT.
create a program in a blockbased visual programming environment using conditionals such as IF, THEN, and/or ELSE.
create a program in a blockbased visual programming environment using repetition or loops.
program
block-based visual programming environment
arithmetic operators
conditionals
repetition
Students know:
how to create a working program in a block-based visual programming environment.
reasons for using arithmetic operators, conditionals, and repetition in programs.
Students are able to:
create a working program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs.
Students understand that:
arithmetic operators, conditionals, and repetition in programs make more operations possible and can reduce the complexity or length of code.
49
DLIT2018666
Identify steps in developing solutions to complex problems using computational thinking.
Computational Thinker
Programming and Development
Students will:
use the problem solving or design thinking process to think logically through a previously solved complex problem.
computational thinking
Students know:
how to define the problem.
how to plan solutions.
how to implement a plan.
how to reflect on the results and process.
how to iterate through the process again.
Students are able to:
identify the steps involved with formulating problems and solutions in a way that can be represented or carried with or without a computer.
Students understand that:
computational thinking is formulating problems and solutions in a way that can be represented or carried out with or without a computer.
50
DLIT2018776
Create and organize algorithms in order to automate a process efficiently.
Example: Set of recipes (algorithms) for preparing a complete meal.
Computational Thinker
Programming and Development
Students will:
use algorithms to automate a process such as sorting numbers in a random list or playing cards in a deck.
algorithm
Students know:
algorithms can be used to automate a process efficiently.
Students are able to:
use search and sort algorithms to automate organizing a set.
Students understand that:
algorithms organized and applied to the appropriate task can significant increase proficiency.
51
DLIT2018886
Describe how algorithmic processes and automation increase efficiency.
Computational Thinker
Programming and Development
Students will:
explain how algorithms and automation have and can increase efficiency.
algorithmic process
automation
Students know:
how algorithmic processes and automation have increased efficiency.
Students are able to:
explain how algorithmic processes and automation increase efficiency.
Students understand that:
automation is a useful tool for increasing efficiency.
while many things can and have been automated, not everything can be automated using algorithmic processes.
52
DLIT20189126
Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects, with parameters, and which return a result.
Computational Thinker
Programming and Development
Students will:
decompose a problem into smaller components.
abstract a process into simpler processes which one defines through programming.
parameters procedures modules objects control structures
Students know:
removing unessential details can make a process simpler.
control structures can assist in programming decisions.
how to create a program that returns a result.
Students are able to:
decompose a problem.
create a program that returns a result.
implement control structures.
Students understand that:
removing unessential details can make a process simpler.
control structures can assist in programming decisions.
53
DLIT2018337
Test and debug a given program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs, in collaboration with others.
Examples: Sequencing cards for unplugged activities, online coding practice.
Computational Thinker
Programming and Development
Students will:
test a given program in a blockbased visual programming environment using arithmetic operators, conditionals, and repetition in programs.
debug a given program in a blockbased visual programming environment using arithmetic operators, conditionals, and repetition in programs.
collaborate with others.
test
debug
program
block-based visual programming environment
arithmetic operators
conditionals
repetition
Students know:
strategies for debugging a given program.
arithmetic operators create a single numerical solution from multiple oprations.
conditionals are "if, then" statements that direct the program.
Students are able to:
test a given program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs, in collaboration with others.
debug a given program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs, in collaboration with others.
Students understand that:
a given program must be tested and debugged to run correctly.
block-based visual programming uses arithemetic operators, conditionals, and repetition to function.
54
DLIT2018447
Create a working program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs, in collaboration with others.
Computational Thinker
Programming and Development
Students will:
create a working program in a blockbased visual programming environment while using arithmetic operators, conditionals, and repetition in programs, in collaboration with others.
program
block-based visual programming environment
arithmetic operators
conditionals
repetition
Students know:
the definitions for arithmetic operators, conditionals, and repetition as they relate to programming.
strategies for collaborating with peers.
Students are able to:
create a working program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs.
implement strategies to collaborate with others.
Students understand that:
operators in programming make many options available, reducing the length of an alorithm, pseudocode, or program.
55
DLIT2018557Identify variables.Computational Thinker
Programming and Development
Students will:
identify variables in computing and other subject areas.
variable
Students know:
a variable is a factor in a program or problem that is likely to change.
how to identify variables.
Students are able to:
identify variables.
Students understand that:
variables are a part of an algorithm or problem that are likely to change.
56
DLIT2018667
Describe how automation works to increase efficiency.
Example: Compare the amount of time/work to hand wash a car vs. using an automated car wash.
Computational Thinker
Programming and Development
Students will:
explain how an automated activity or system increases productivity.
automation
Students know:
how automation works to increase efficiency.
Students are able to:
describe how automation increases efficiency.
Students understand that:
automation works to increase efficiency.
57
DLIT2018777
Create a program that updates the value of a variable in the program.
Examples: Update the value of score when a coin is collected (in a flowchart, pseudocode or program).
Computational Thinker
Programming and Development
Students will:
create a variable whose value changes during their program.
program
value
Students know:
how to update variables throughout their programs.
Students are able to:
write complex programs where variables can be changed while a program is running.
Students understand that:
variables can be changed while a program runs.
changes to variables could trigger other events within a program.
58
DLIT2018887
Create a program that includes selection, iteration, or abstraction, and initializes, and updates, at least two variables.
Examples: Make a game, interactive card, story, or adventure game.
Computational Thinker
Programming and Development
Students will:
create a properly functioning program using selection, iteration, abstraction, that initializes and updates at least two variables.
selection
iteration
abstraction
initialize
variables
Students know:
how to write a program that includes selection, iteration, abstraction, initialization, and updates variables.
Students are able to:
write a program that includes foundational programming concepts selection, iteration, abstraction, initialization, and updating variables.
Students understand that:
they have the ability to create and design programs they may have never considered themselves able to do so.
59
DLIT20189127Compare and contrast fundamental data structures and their uses.
Examples: Strings, lists, arrays, stacks, queues.
Computational Thinker
Programming and Development
Students will:
compare and contrast fundamental data structures and their uses.
data structures arrays stacks queues list strings
Students know:
when to include varying types of data structures into a program to achieve a desired result.
Students are able to:
compare and contrast fundamental data structures and their uses.
properly use varying types of data structures in a program to achieve a desired result.
Students understand that:
data structures organize data for ease of recall.
data structures differ by organization structure and purpose.
60
DLIT2018558
Demonstrate that programs require known starting values that may need to be updated appropriately during the execution of programs.
Examples: Set initial value of a variable, updating variables.
Computational Thinker
Programming and Development
Students will:
demonstrate that programs require known starting values that may need to be updated appropriately during the execution of programs.
starting value
execution of programs
initial value
updating variables
Students know:
that for a program to run properly, the starting value may need to be set when the program begins.
Students are able to:
explain a scenario in which starting value is important to a program.
Students understand that:
programs require known starting values that may need to be updated appropriately during the execution of programs.
61
DLIT2018668
Create a program that initializes a variable.
Example: Create a flowchart in which the variable or object returns to a starting position upon completion of a task.
Computational Thinker
Programming and Development
Students will:
create a variable set to a specific value within a program that will change during the program but will reinitialize or return back to the specific value initially set when the program is run again.
initialize
Students know:
that updating a variable during a program changes the initial value set, so variables need to be initialized (set to the original value) at the start or end of a task or program.
Students are able to:
set variables back to their original values upon startup or completion of a task or program.
Students understand that:
variables need to be initialized for programs to work properly more than once.
62
DLIT2018778
Formulate a narrative for each step of a process and its intended result, given pseudocode or code.
Computational Thinker
Programming and Development
Students will:
write a text-based narrative for expected behavior, given code or pseudocode.
narrative
pseudocode
Students know:
that a narrative is a spoken or written account of events.
Students are able to:
identify the intended process in a given code or pseudocode.
convert given code or pseudocode to a narrative of expected behavior.
Students understand that:
every line of code has an intended behavior.
63
DLIT20189128
Demonstrate code reuse by creating programming solutions using libraries and Application Programming Interfaces.
Computational Thinker
Programming and Development
Students will:
create code that includes commands and programs found in coding libraries or APIs.
code programming languages Application Programming Interfaces
Students know:
how to design a programming application that reuses code from programming libraries and code created in previous applications.
Students are able to:
reuse code from previous applications, code libraries, or APIs to reduce coding workload.
Students understand that:
reuse of code can be timesaving.
code may be written and shared in code libraries or may be accessible as an API.
64
DLIT20189129
Demonstrate the ability to verify the correctness of a program.
a. Develop and use a series of test cases to verify that a program performs according to its design specifications.
b. Collaborate in a code review process to identify correctness, efficiency, scalability and readability of program code.
Computational Thinker
Programming and Development
Students will:
apply the problemsolving process to a program to verify the correctness of the program.
a.
develop test cases to verify the performance of a program.
apply test cases to verify the performance of a program.
b.
identify correctness of program code while collaborating in a code review process.
identify efficiency of program code while collaborating in a code review process.
identify scalability of program code while collaborating in a code review process.
identify readability of program code while collaborating in a code review process.
compile program syntax
Students know:
proper syntax and formatting for a coding language.
how to identify coding errors in a programming language.
a.
programs must be tested to verify that the desired task is executed properly.
testing a program requires a scenario where you can easily verify that the result of the program is correct/accurate.
b.
a program can contain one of the following properties, but not be an appropriate program: correctness, efficiency, scalability and readability
it is important to have others review your code.
that to be a quality program, code must be correct, efficient, scalable and readable.
Students are able to:
analyze code for proper syntax and formatting.
a.
create a test case with verifiable results.
execute a program with the created test case to verify program performance.
locate errors in programming by executing test cases.
b.
work with others to review their code for correctness, efficiency, scalability and readability.
Students understand that:
programming languages each have their own required formatting which must be adhered to for a program to run correctly.
errors in programming languages prevent the program from executing its task.
each language has its own syntax and method for identifying potential errors.
a.
code can be formatted correctly and a program can still produce unintended results.
a test case is vital to verifying that a program is executing a task as intended.
b.
to be a quality program, code must be correct, efficient, scalable and readable.
it is important to have others proofread your code.
65
DLIT201891210
Resolve or debug errors encountered during testing using iterative design process.
Examples: Test for infinite loops, check for bad input, check edge-cases.
Computational Thinker
Programming and Development
Students will:
troubleshoot errors encountered during testing using an iterative design process.
resolve or debug errors encountered during testing using an iterative design process.
debug
Students know:
steps of the problem solving process.
how to identify errors in an iterative design process.
Students are able to:
review a process and identify errors in procedure.
rectify errors found in a process.
test resolution to verify that the process now runs as intended.
Students understand that:
errors in a process can prevent a solution.
resolving an error will allow the process to function as intended.
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100