Skip to content

Coding Curriculum MOC


Juniors Coding Development Path

See this framework as well.

Google sheets link

Coding Competencies:

  • Sprites/Code Objects: Sprites or Code Objects are graphical or programmatic objects that can be manipulated within a coding environment. Students will learn how to create and manipulate these objects to create interactive applications.
    1. Students should be able to identify, create and modify simple sprites/objects in a game or simulation.
    2. Students should be able to design and implement a game or simulation using sprites/objects, incorporating user input and basic game mechanics. Students should also be able to position sprite on the screen.
    3. Students should be able to create and manipulate sprites/objects using coding concepts such as variables, loops, and conditional statements, and explain how these concepts are used to control the behavior of the sprites/objects.
    4. Students should be able to develop and implement more complex game mechanics and interactions between sprites/objects, using coding concepts such as functions and event handling.
  • Variables: Variables are containers for storing values that can change during the execution of a program. Students will learn how to declare, assign, and use variables in their code.
    1. Students should be able to use basic variables to store a single game state element such as username or score.
    2. Students should be able to use variables to store multiple game states.
    3. Students should be able to understand the different data types (number, string, boolean) and how they effect a program. Students should understand that sprites contain variables and be able to perform simple get/set operations on these.
    4. Students should be able to convert between data types and perform complex operations on sprite variables. Students should be able to store complex game state with the use of boolean flags, lists of sprites, timers, score, level.
  • Control/Conditionals: conditionals are statements that test a condition and execute a block of code if the condition is true. Control structures such as loops, switches, and subroutines allow for more complex decision-making within a program.
    1. Students should be able to use if statements to make decisions based on simple conditions, such as the value of a variable or the result of a comparison.
    2. Students should be able to use if statements to make decisions based on more complex conditions, such as compound logical expressions or the presence of specific elements in a sequence.
    3. Students should be able to use if statements to implement more complex decision structures, such as nested if statements, exception handling, error checking, and user input validation.
  • Events: Events allow students to write code that responds to certain events rather than just execute sequentially. Events can ranges from a key press, to a touch, to mouse click etc.
    1. Students should be able to apply basic event programming to events such as keypresses and mouse clicks. Mostly responding to user input.
    2. Students should be able to able to write code that responds to more complex events such as sprite collisions, sprite interactions with the environment, or time based events.
  • Looping: Looping structures allow for the repetition of a block of code, either a fixed number of times or until a specific condition is met.
    1. Students should be able to understand the concept of repeating an instruction multiple times.
    2. Students should be able to understand the concept of repeating more than one instruction multiple times.
    3. Students should be able to identify that they are repeating code and extract it into a loop.
    4. Students should be able to use loops to navigate lists.
  • Functions : Functions are reusable blocks of code that perform a specific task. Students will learn how to define and use functions in their programs.
    1. Students should be able to design and implement functions that encapsulate specific functionality within a program, and explain how functions can be used to modularize code and improve program organization.
    2. Students should be able to use functions with parameters and/or return values.
  • Lists: Lists are data structures used to store collections of data. Students will learn how to create and manipulate lists in their programs.
    1. Students should be able to create and search through basic lists of sprites, numbers or strings. They should be able to apply a search criteria, append and remove items from a list.
  • Databases and Permanent Storage: Students will learn how to use databases and permanent storage mechanisms to store data outside of the program.
    1. Students should be able to design and implement programs that interact with databases using APIs or database connectors.

Problem Solving Competencies

  • Sequencing: Sequencing involves ordering a set of instructions in a specific order to achieve a desired outcome.
    1. Students should be able to sequence events in a simple story or task using pictures or words and they should be able to explain the sequence using appropriate transition words.
    2. Students should be able to identify any errors in the sequence, and explain how to correct them.
    3. Students should be able to create a sequential process for a task or procedure, using appropriate flowcharts or diagrams (i.e. without using code), and explain the sequence in writing or orally.
    4. Students should be able to analyze and evaluate the effectiveness of different sequencing methods for different types of processes, and recommend improvements as needed.
  • Decomposition: Decomposition involves breaking down a complex problem into smaller, more manageable parts.
    1. Students should be able to break down complex problems into smaller, more manageable subproblems, and develop algorithms or functions to solve each subproblem independently.

Design Competencies

  • UI Design: UI (user interface) design involves designing the visual and interactive components of an application.
    1. Students should be able to design and create simple user interfaces for basic programs, using basic UI components such as buttons, text boxes, and labels.
    2. Students should be able to create more complex user interfaces that incorporate multimedia elements such as images and audio, and explain how UI design can affect user experience.
    3. Students should be able to optimize user interfaces for performance, accessibility, and usability, using UI design principles such as consistency, simplicity, and feedback.
  • Specification: Specification involves defining the requirements and functionality of an application before it is built.
    1. Students should be able to read and interpret simple program specifications that describe the problem to be solved, the required input and output, and any constraints or requirements.
    2. Students should be able to write and refine program specifications for simple problem. Students should also be able to collaborate with others to develop and refine program specifications, and communicate effectively about technical concepts and solutions.

Other Competencies:

  • Code quality: Code quality refers to the readability, maintainability, and efficiency of the code.
  • Computations: Students will learn how to perform mathematical computations and use mathematical concepts in their code.

Spread

Competency Gr1 Gr2 Gr3 Gr4 Gr5 Gr6 Gr7 Gr8 Gr9
Sequencing 1 1 2 2 3 3 4 4 4
Sprites/Code Objects 1 1 2 3 4 4 4
Variables 1 2 3 4 4
Controls/Conditionals 1 2 3 3
Looping 1 1 1 2 2 3 3 4 4
Events 1 1 1 1 1 1 2 2 2
Functions 1 1 2
Decomposition 1 1 1
Lists 1 1
UI Design 1 2 3 3
Databases 1
Specification 1 1 2 2
Code quality 1 1 1 1
Computations 1 2 2 3 3

General Values

  • There are often many ways to solve a problem.
  • I can read code and predict the outcome
  • Struggling is a sign that I am growing
  • Programming can make repetitive tasks easy
  • Reflecting on past problems helps me solve new ones
  • Programming is creative.
  • Programming is fun
  • Its okay not to get it right the first time
  • I can solve problems if I keep trying

Breakdown Per Grade

What grade 1's should know What grade 2's should know What grade 3's should know *** last one done is 3. What grade 3-4's should know What grade 5-6's should know What grade 7-8's should know What grade 9's should know

See also

reduce assessments