Feel free to contribute here or comment on my homepage. Only free educational software is linked.
Concept | commands and command sequences |
---|---|
Prepares | instructions/function calls and their sequencing |
Age | 3+ |
How | defining movement commands for an actor ( robot or turtle ) |
Apps | http://lightbot.com https://www.scratchjr.org |
Concept | loops and nested loops |
---|---|
Prepares | instruction/function call sequence looping |
Age | 5+ |
How | defining repetitive movement commands |
Apps | http://lightbot.com https://www.scratchjr.org |
Concept | reusing command sequences |
---|---|
Prepares | function/procedure definition |
Age | 5+ |
How | defining and using command sequence groups |
Apps | http://lightbot.com https://www.scratchjr.org |
Concept | finding the problem in the command sequence |
---|---|
Prepares | debugging |
Age | 5+ |
How | figuring out how to modify the command sequence to fulfill the desired behaviour |
Apps | http://lightbot.com https://www.scratchjr.org |
Concept | divide solutions into linked command sequences |
---|---|
Prepares | decomposition |
Age | 6+ |
How | figure out a solution for a harder problem using different command sequences, each concentrating on an simpler task |
Apps | http://lightbot.com https://www.scratchjr.org https://scratch.mit.edu |
Concept | conditional statements |
---|---|
Prepares | if/then statements, control structures |
Age | 6+ |
How | play sound if actor reaches specific object during movement |
Apps | https://scratch.mit.edu |
Concept | creating command sequences for events |
---|---|
Prepares | events and threads |
Age | 6+ |
How | different movement commands for different key events/touch events |
Apps | https://scratch.mit.edu |
Concept | storing states |
---|---|
Prepares | concept of variables |
Age | 9+ |
How | play sound if actor reaches speific object during movement for the third time |
Apps | https://scratch.mit.edu |
Control structures | |
---|---|
If .. then .. else | conditional statement |
for ... | loop |
while ... | loop |
do while ... | loop |
switch ... | conditional statement |
for each ... | loop |
Types | |
---|---|
Integer | number |
Float | number |
String | text |
Modular programming |
---|
After a certain amount of funtcions program complexity increases, so breaking it up into smaller parts is unavoidable. These parts should be independent and interchangeable and should concentrate on one aspect of the desired functionality. |
Object-oriented programming |
---|
Sometimes it is very useful to handle data and related functions in separate units called objects. In object-oriented programming these data-method units are defined in classes. But OOP is not the solution for everything, it shouldn't be over-used or used badly. Objects can be used in modular programming but objects are not modules, they are just data types with methods. |
Mediator pattern |
---|
Both in modular and object-oriented programming it is desirable to have as many independent parts as possible for fast refactoring and interchangeability. To avoid direct communication/calls between program parts, a mediator function/object can be used to transfer messages between parts. |
Skill | Needed for |
---|---|
Boolean arithmetic | conditional statements |
Binary numeral system | bitwise operations, understanding how the cpu works on low level |
Hexadecimal numeral system | working with bytes, color codes |
Trigonometry | almost everything, graphics, signal processing, etc |
Link | Description |
---|---|
Scratch | a really super tool and development environment for children, has all needed control structures, variables, big asset library, really the gate to real programming languages |
Code.org | the definitive site to pick up coding, full of super videos, games, tutorials |