- Topic 1
Why code anyway?
In 1990, at the World Conference for Computers in Education held in Sydney, Apple Fellow Allan Kay introduced his vision of computers by the following analogy.
"The giant condor of South America is the worlds most efficient animal at converting effort into movement. This creature can glide hundreds of miles surfing the thermals above deserts and exploiting up drafts around mountains, with just a few seemingly effortless slow movements of its wings."
"A human on the other hand, is not so efficient. In fact in the animal kingdom premiership table, humans are lucky to scrape in to the top third."
"However, take that human and put them onto a bicycle, that person becomes three times more efficient than the condor."
"A bicycle then, can be thought of as an amplifier of effort. In the same way a computer could be thought of as an amplifier of the mind."
Programming, then is just that; something that a computer can use to amplify a student's ability to think.
Allan Kay worked with a man called Seymour Papert.
Papert developed a computer language called "Logo" where they moved a robot "turtle" around a paper.
Logo was the forerunner of Scratch and was developed in the same University laboratory.
These guys went on to work for Lego (for a lot of money) and were part of the team that invented the RCX brick and beyond. The also worked at MIT with Mitch Resnic et al (MSWLogo, Scratch).
These early thinkers (add Alan Kay) set the direction for educational computing as it was just starting and peolple were excited by the possibilities.
It is worth revisiting these early ideas.
Paperts groudbreaking book => Mindtorms.pdf
- Topic 2
The overall strategy
Introduction to coding
Start at he very beginning
A very good place to start
Look into teacher resources on hour of code for more ideas.For example
Of course the example opposite is the classic demonstration from Seymour Paperts book "Mindstorms". The code is of course MWSLogo.Papert went to work at MIT with Mitch Resnick et al. They also had conisderable input into Lego Technics and Mindstorms robotics.Scratch and Makey Makey also came out of MIT.
- Simon says to teach little kids left and right
Here is a challenge
A group of two, One draws a box and outlines the steps. Then put a triangle on it, without lifting your pencil, to make a house.
There are several solutions, here is one.
It is wise to do some thinking and planning first!
Students cut out a cursor, put a piece of chalk in it and then draw it on some concrete outside.
Home, penup. pendown, left(degrees), right(degrees), forward(steps), back(steps)
square, triangle, right angle, straight angle, inside angle, outside angle, circle
360° in a circle,
360° in a square,
180° in a triangle,
90° in a right angle
- Topic 3
Getting tired of being controlled by a web site? Scratch is a programming language developed by eductators at MIT. It has beeen designed especially for children.
We will use it to introduce students to basic programming with a view to maturing into structured programming to then interface with devices like the makeymakey board and Arduino.
http://scratch.mit.edu Go to the Scratch website and have a look around. There are many resources you can download and use in your Scratch journey. Assignment: Play the introductory animation on the home page to get a feel of what Scratch can do.
A great way to get kids to learn a concept is to get them to program an animation in Scratch.
You can program your own or you are allowed copy someone else's and hack it.
Scratch is taught and used in after-school centers, schools, and colleges, as well as other public knowledge institutions. As of May 2019, community statistics on the language's official website show more than 40 million projects shared by over 40 million users, and almost 40 million monthly website visits.
scratch web page
- Topic 4
- Topic 5
- Topic 6
- Topic 7
- Topic 8
- Topic 9
Moving the sprite
Originally a sprite refered to a fairy or elf that flitted around usually a lake or water way. They were naughty creatures, always playing tricks and using magic on people.
It can also refer to a computer graphic that can be made to move around the screen.
There are two types of movement, relative and absolute.
Relative movement means movement in relation to the sprites position
forward, left, up down.
Control via keyboard
Make Scratch the cat
- move around
- add a sound
- start a dance
- use the Say block
- change Scratch's colour
- se the keypress command
- use the repeat to make Scratch dance forever!
Start your project by clicking on the green flag
Absolute movements means the sprite is sent to an exact location on the stage
goto x: y;
Vocabulary : Stage, sprite, background, program, run, icon, tile, block, program
- Topic 10
Simple animation is getting four images and loading them ontop of of each other. They may appear to "move". To get a smooth movement, TV films change their pictures oner thirty times a second.
In Scratch, you can animate by switching between costumes.
Add a graphic from the library to be your backdrop
Lets go with Animation Animation was first brought to the screen by Walt Disney n a catoon calledIt introduced a very young mouse to the screen in 1927. Animation is produced by changing a graphic at least thirty times a second to allow the human eye to see it as runnng smoothly. Vocabulary : Animate, costume, repeat
- Topic 11
- Topic 12
- Topic 13
- Topic 14
Assignment : my animation
Your teacher might suggest a project or you might come up with a topic yourself. However, your task is to make a small animation, and perhaps load it onto the Scratch site Before you do, search the Scratch site for ideas. An example of the water cycle
- Topic 15
When you want to transfer control from the actions of one sprite to another, you use a message from the event block.
On recieving a message the new sprite or background will then run a script.
- Topic 16
Variables and decisions
Creating a variable
A variable is a token that is assigned a value. This value can change in a program using the assignment operator
eg variable = 0
variable = 1
variable = variable + 1
The assignment operator is not read as "equals" but "becomes". ie variable becomes 0
Once you have assined a value to a variable, like a number, letter, word, boolean, you can use operators on the value
ie variable becomes Variable * variable + 5
You can also set up tests and decisions
eg if variable > 5
variable becomes variable + 1
Notice we have started to write out what we are going to do in english. This is called and algorithm written in psuedo come.
Vocabulary : variable, assign, operator, data type, test, decison, boolean, string.
- Topic 17
Making an arcade game in Scratch
OK, now is the time for us to be looking at the tutorials that help us make Scratch games.
These tutorials need to use youtube
- Topic 18This topic
Moving and Grooving
If you have got this far, well done. You are at the point where you can use a programming language in your every day work at school.
- Topic 19
- Topic 20
- Topic 21
- Topic 22
- Topic 23