Topic outline

  • General

    Introduction to coding  

  • 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.  

    mindstorms

    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

       

      • Language
      • Maths
      • Algorithms
      Look into teacher resources on hour of code for more ideas.
       
      For example
       
      • Simon says to teach little kids left and right
      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.
       
       
       

      Algorithms

      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!

      house

      to algorithm
      fd 100
      rt 90
      fd 100
      rt 90
      fd 100
      rt 90
      fd 100
      rt 90
      fd 100
      rt 90
      lt 60
      fd 100
      rt 120
      fd 100
      end

       

      Students cut out a cursor, put a piece of chalk in it and then draw it on some concrete outside.

      Vocabulary

      Home, penup. pendown, left(degrees), right(degrees), forward(steps), back(steps)

      square, triangle,  right angle, straight angle, inside angle, outside angle, circle 

      Protractor, ruler

      Maths

      360° in a circle,
      360° in a square,
      180° in a triangle,
      90° in a right angle 

       

      • Topic 3

        Scratch

        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

        Scratch cat

        • Topic 4

          • Topic 5

            • Topic 6

              • Topic 7

                More about sprites

                We can create, copy, resize and color in our sprites

                Adding sprites
                We can change the appearance of our sprites Changing appearance
                • Topic 8

                  Repeating an action

                  Creating loops in programming is very important. Look here to see how Scratch handles it. Repeat an action
                  A feature in Scratch is that you can start actions of more than one spite of indeed backgrounds. The green flag
                  Vocabulary : loop, iteration, repeat, fixed, forever, test,
                  • 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.

                    fairy

                    Relative movement means movement in relation to the sprites position

                    forward, left, up down.

                    Getting started

                    Some effects

                    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;

                    more on this later

                    Vocabulary : Stage, sprite, background, program, run, icon, tile, block, program
                    • Topic 10

                      Animation

                      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 called It 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

                        spare

                        • Topic 12

                          j'oij'l,m"L,

                          • Topic 13

                            Our sprite says hello

                            Audio means anything that can be heard. Our sprites says "Hello"

                            Add some audio

                            Adding audio

                            Windows and Linux fans make like to use Audacity to edit their sound files.

                            Audacity homepage

                            Vocabulary : Audio, pitch, volume, format, mp3,AAC, wav, record, download, library.

                            • 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

                                Messaging

                                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.

                                x
                                • 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

                                          stop

                                      else

                                         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.

                                  More on this later

                                  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

                                    • This topic

                                      Topic 18

                                      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