Programming

Programming (or Coding) is an incredibly useful skill to know that is applicable to wide variety of jobs and activities. In the Construction room, we often use programming (software) in order to make physical creations (hardware) do things!
Some of the programming related activities in the construction room are:
  • Learn Core Programming Concepts Using Scratch, Javascript, Python, and more. See the list of core concepts below.
  • RoboticsUsing either Lego Mindstorms EV3, Arduino, and more.
  • Digital ElectronicsUsing micro:bit, Circuit Playground Express, Arduino, Raspberry Pi, and more.
  • Makey MakeyCreative way to interact with programs you write.
  • Learn Python on the Raspberry PiRaspberry Pi is a Single-Board Computer originally designed to help students learn about computers and programming.

Core Coding Concepts

The following table summarizes the key programming concepts that you will be expected to learn as a part of many technology related explorations in the construction room:
Coding Concept Example Comments
Sequence of Commands A series of steps execute one after the other.
Conditional Statements For example, an If statement.
Iteration For example, any type of LOOP
Boolean Logic Computers are based on 1's and 0's - binary logic. If something can be said to be TRUE or FALSE it is binary. A Boolean is a type of information that is binary. Conditional Statements use Boolean Logic (Eg. Is this statement TRUE or FALSE)
Events and Event Handlers Examples of events are 'Key Click' or 'Mouse Click'. An event is when something happens. Most programs are 'event=driven' which means you write some code to do stuff when something happens (an event).
Variable A 'container' that holds infomation. The container is named. For example, a variable called 'score' might have the value of a game score. Some languages are 'typed' (statically-typed) meaning when you create a variable you need to say what kind of information will be stored there (for example, strings or integers).
Functions Functions and also methods of objects (in object-oriented programming) These are a way to organize sequence of commands.
Lists These are a way to store multiple values in one variable. These are also called arrays.
Threads A flow of a sequence of code. If there is more than one sequence being executed at the same time, this is called 'parallel execution' or 'multi-threaded'.
Signals - Coordination and Synchronization The use of messages and event handlers for messages. A way to exchange information between different parts of a program.
Note that the coding concepts highlighted in yellow are considered advanced. Bonus if you incorporate (and understand) some of these concepts in your creations!