Computational Thinking and Programming Concepts
Demonstrate an understanding that code follows specific organization patterns. Accurately describe the way a complete set of data is organized (e.g., lists, grouping, types of data).
Identify and apply different programming elements to solve a problem (variables, conditions, loops, functions).
Decompose a real world problem into sub problems/smaller steps.
Decipher between problems that can and cannot be solved computationally.
Modify values within a script to change an isolated part of the outcome.
Identify and explain the source of a bug using the vocabulary of variables and sequences.
Identify opportunities within a program that can be manipulated to make something happen (e.g., When I click, this happens)
Classify different types of data used by a computer or program.
Sort groups of data into relevant and irrelevant based on specific criteria.
Identify, use, and modify information within a program.
Identify, apply, and explain rationale for the type of data, when it used, and where it is used within a program.
Identify and use tools to store and access data.
Justify decisions by demonstrating an understanding of “if, then” statements. Students should be completing this at all grade levels, increasing complexity each year.
Define, identify, and apply variables within a program, including.
- Using integers to run a loop
- Using variables to create shortcuts
- Using variables to carry out complex processes
- Reusing variables throughout a program.
Take actionable steps to satisfy “if, then” statements within a program, taking into account observations, events, and the relationships between objects and systems.
Programming and Me
Identify alternative measures of security for data, such as offline backups and virus software.
Describe differences between what a programmer sees and what the user sees within a program.
Describe the process of input and output using examples.
Accurately plan and design a set of instructions that will reach a desired outcome.
Demonstrate an understanding of using hardware and software in appropriate ways (eg., choosing the right tools, using the right vocabulary when describing hardware and software, etc.)
Create realistic technological solutions for real-world problems.
Describe the usability of technological solutions for different groups of people.
Describe the positive and negative impacts programming has on the relationship between multiple parties or objects.
Describe the impact one person can have on another through programming and networks (e.g., cyber bullying).
Identify programming pioneers and understand their impact on the field.
Programming and Communication
Communicate steps and desired outcome using multiple methods to document (oral, written, representational).
Translate others' ideas into programming commands to reach a desired outcomes.
Engage in collaborative conversations about programming topics with increasing complexity.
Express personal preferences related to technology and programming.
Engage in academic discourse related to programming concepts using proper vocabulary: algorithm, sequence, logic statements, problems, solutions, commands, etc.
Social Emotional Learning
Demonstrate an ability to collaborate through creation and revision (objects and solutions).
Generate alternative solutions and evaluate the impact for a range of programming and real world scenarios.
Set and monitor progress on achieving a short-term personal goal. *Also repeated when thinking about personal areas for growth
Identify and perform roles that contribute to the school community.
Set and monitor progress on achieving a short-term personal goal.