Create programs that include sequences, events, loops, and conditionals.
Develop plans that describe a program’s sequence of events, goals, and expected outcomes.
Create programs that use variables to store and modify data.
Can understand and apply the fundamental principles and concepts of computer science, including abstraction, logic, algorithms and data representation.
Can analyse problems in computational terms, and have repeated practical experience of writing computer programs in order to solve such problems.
Can evaluate and apply information technology, including new or unfamiliar technologies, analytically to solve problems.
Create and debug simple programs.
Understand what algorithms are; how they are implemented as programs on digital devices; and that programs execute by following precise and unambiguous instructions.
Use logical reasoning to predict the behaviour of simple programs.
Use sequence, selection, and repetition in programs; work with variables and various forms of input and output.
Are responsible, competent, confident and creative users of information and communication technology.
Use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs.
Make appropriate use of data structures.
Design and develop modular programs that use procedures or functions.
Understand and apply the fundamental principles and concepts of computer science, including abstraction, logic, algorithms and data representation.
Use two or more programming languages, at least one of which is textual, to solve a variety of computational problems.
Develop and apply their analytic, problem-solving, design, and computational thinking skills.
Decompose (break down) the steps needed to solve a problem into a precise sequence of instructions.
Develop programs with sequences and simple loops, to express ideas or address a problem.
Model the way programs store and manipulate data by using numbers or other symbols to represent information.
Model daily processes by creating and following algorithms (sets of step-by-step instructions) to complete tasks.
Using correct terminology, describe steps taken and choices made during the iterative process of program development.
Debug (identify and fix) errors in an algorithm or program that includes sequences and simple loops.
Create artifacts by using procedures within a program, combinations of data and procedures, or independent but interrelated programs.
Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects.
Use lists to simplify solutions, generalizing computational problems instead of repeatedly using simple variables.
Create procedures with parameters to organize code and make it easier to reuse.
Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.
Use flowcharts and/or pseudocode to address complex problems as algorithms.
Document programs in order to make them easier to follow, test, and debug.
Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended.
Construct solutions to problems using student-created components, such as procedures, modules and/or objects.
Illustrate the flow of execution of a recursive algorithm.
Compare and contrast fundamental data structures and their uses.
Use and adapt classic algorithms to solve computational problems.