Unit 1

  • Typing simple commands
  • Understanding basic syntax rules
  • Understanding error messages
  • Using the counting loop
  • Identifying the number of repetitions
  • Repeating a single command
  • Repeating multiple commands (block of code)
  • Identifying repeating patterns that include sequences of commands
  • Using additional operations before the counting loop
  • Using additional operations after the counting loop
  • Using multiple consecutive counting loops
  • Using nested counting loops

Unit 2

  • Using the conditional statement (if-statement)
  • Combining if-statements and counting loops in simple settings
  • Combining if-statements and counting loops in complex settings
  • What to do when the condition is not satisfied
  • Combining multiple conditions
  • Combining conditions and nested loops
  • Keywords “and” and “or”
  • Using the conditional loop (while-loop)
  • Using the keyword “not” in while-loops
  • Combining conditions and while-loops
  • Using additional commands before and after the while-loop
  • Using multiple sequential while-loops
  • Solving complex tasks that combine while-loops, counting loops, and conditions
  • Navigating a robot through an unknown maze

Unit 3

  • Defining and using custom commands
  • Reusing existing custom commands to solve new tasks
  • Combining multiple custom commands to solve a task
  • Solving complex tasks by splitting them into simpler ones
  • Following a winding wall that is on the robot’s right
  • Following a winding wall that is on the robot’s left
  • Counting operations and assessing program efficiency
  • Understanding the purpose of variables
  • Initializing new variables in various ways
  • Increasing and decreasing the values of variables
  • Displaying the values of variables
  • Using variables to count objects
  • Using variables to count other features in the maze
  • Returning values
  • Measuring the dimensions of objects
  • Understanding the difference between global and local variables
  • Understanding the purpose of local variables

Unit 4

  • Working with X and Y coordinates
  • Using comparison operators ==, !=, <, > in conditions and while-loops
  • Combining comparison operators with keywords “and” and “or”
  • Using the keywords “True” and “False”
  • Using functions that return True or False
  • Combining True and False values with the keywords “and”, “or”, “not”
  • Generating random integers
  • Modeling rolling one die
  • Modeling rolling two dice
  • Creating random objects
  • Calculating the minimum of a sequence of numbers
  • Calculating the maximum of a sequence of numbers
  • Creating empty and non-empty lists
  • Accessing list items via their indices
  • Appending items to a list
  • Displaying lists
  • Using a list to store X and Y coordinates of objects
  • Using the for-loop to parse lists
  • Checking if an item is present in a list
  • Measuring the length of lists
  • Using a list to store the robot’s path in the maze
  • Removing items from a list
  • Using lists that contain Boolean values
  • Merging lists, adding lists

Unit 5

  • Deterministic vs. stochastic algorithms
  • Simulating random coin toss
  • Using coin toss for random walks in the maze
  • Solving mazes which cannot be solved using deterministic algorithms
  • Understanding what recursion is and when it should be used
  • Understanding the importance of a stopping condition
  • Making the recursive call from a stopping condition
  • Learning about typical mistakes in recursive algorithms
  • Solving problems using recursion
  • Using multiple recursive commands to solve a task
  • Advanced applications of recursion
  • Combining recursive algorithms
  • Using recursion to add a sequence of numbers
  • Using recursion to add lists
  • Using recursion to collect objects
  • Using recursion in advanced applications