Monday, 28 June 2010

scratch resources

I am about to embark on something different,

1) Programming concepts and skills supported in scratch(pdf) (doc)
What problem solving, project design skills, fundamental ideas about computers and programming, and specific programming concepts does Scratch support (and for the latter does not support)? This is an excellent summary, highly recommended, you need to download for the examples (code snippets) provided too, which are really good. Also notethis discussion thread on the Scratch forum about this document, especially the comments by kevin karplus and responses by natalie, the document author, to his suggestions

Scratch supports these Specific Programming Concepts:
sequence, iteration (looping), conditional statements, variables, threads (parallel execution), synchronisation, real-time interaction, boolean logic, random numbers, event handling, user interface design

Scratch does not currently support data structures (arrays, etc.), procedures and functions, recursion, inheritance, defining classes of objects, exception handling, parameter passing and return values, text input, file input/output

2) Scratch Programming Projects
Ten excellent projects described in just the right amount of detail, with requirements and extras:

  1. "Chasing/Eating" (Pac Man Type Game)
  2. Red Light/Green Light
  3. Pong
  4. Target Game
  5. Communication Project
  6. Animation of a short story
  7. Virtual Musical Instrument
  8. Virtual Board Game
  9. Basic Space Target Game
  10. Shape Drawing Robot (Polygon Robot)
3) Shark eats fish
Introductory tutorial, clearly explained with screenshots

4) Comparison of different languages (thread in Scratch forum)
This comment by pkimelma presents a well thought out sequence for teaching Scratch using a games theme.

Other comments in this thread compare Scratch with Phrogram (which has 3D graphics), Alice, Starlogo and others.

5) Kevin and Abe Karplus Scratch page looks to have a nice collection of scratch exemplars

resources of ideas for development by students

1) Use the Letter shapes to write your first name on the page. Then introduce some special effects such as making the letters wobble and change their appearance.

2) Point, click and move
Make an object both point and glide towards the mouse position when you click on the stage
Hint: Motion > point towards
Hint: Sensing > mouse down?

3) Make Dan or Anjuli or Cassy or ballerina dance to a beat, using all of their dance shapes. Include a suitable background that changes colours as the lights flash.

4a) Make two animals have a forwards and backwards conversation
Hint: Use broadcast, (ask for help if you don’t know how broadcast works)
4b) Make it an interesting conversation with each animal speaking at least 3 times and making gestures too

5) Make a sprite gradually grow in size and then shrink

6) Make 2 different balls move around on the stage
a) the first ball moves in straight lines but bounces randomly whenever it hits the edge
b) the second moves randomly, gliding from one position to a new random position continually

7a) One sprite chases another sprite around the stage. The first sprite moves in straight line but bounces off the edge randomly. The chasing sprite chases the first sprite but is moving slower.
b) Extension – if the chasing sprite catches the other sprite then it says something sensible and makes a suitable sound

8a) Play all the different drum sounds automatically
Hint: create a variable for the drum number
b) Extension – keep recycling through all the drum sounds automatically

9a) Count down on a timer. A rocket takes off when you reach zero
Hint: Use the number icons in the letters folder
9b) Your rocket has pulsating exhaust and disappears at the top of the screen

10) Add, multiply or subtract two variable numbers
Hint: Just to do addition only you will need 4 variables: firstNum, secondNum, answer (computer calculated) and myAnswer (human calculated)

11) Variable coloured squares
a) Write a script that can draw a square of any size
Hint: Make a variable for the side length
b) Use the variable square script to draw a series of square with variable sides, with a single click
c) Now add variable pen colour and pen shade to the variable square script and use it to draw a variety of different coloured squares, with a single click

12) Draw lines of random thickness in random directions with random colours. The pen must be lifted up and moved for each new line.
Hint: pen group contains set pen color, set pen size, pen up, pen down
Hint: colours range across the spectrum (ROY G BIV) starting with red = 0. There are about 190 colours in total and you need to display them all!

13A) Make a race
a) choose two suitable sprites, they must have at least 2 costumes to simulate motion
b) the sprites move at random speeds, you can’t predict the winner
c) make a finish line, using a new sprite is best
d) suitable background music
e) when the winner crosses the finish line it announces that it won
f) reset scripts to start again

13B) Extension: Make it a multi-lap race, the number of laps can vary
g) make a variable to set and count the laps (use this on just one of the sprites otherwise you will be counting the laps twice)
h) use “x position” with an if tile rather than “if on edge bounce” to manage the turning and lap increase value
i) hide the finish line so that it only appears for the final lap

14A) Play the scales on a piano
a) Check out the sound > play note tile
b) Teacher has supplies a graphic of a keyboard. Import it to your scratch project.
c) Program the computer keyboard so that it plays a series of notes on the piano keyboard
d) As the notes are played alter the keyboard graphic to make it appear they are being pressed and they revert back to blank when the key is released
e) Add some suitable background graphics

14B) Extension
f) As the notes are played a sprite dances to the tune created by the notes, ie. each note triggers a particular movement
g) The names of the notes are spoken by a new sprite as they are played
h) Find a way to play ALL the notes on the keyboard

for more ideas

Monday, 14 June 2010

Where am I at

1 reports
2 Application development
3 Course design
4 future

1. reports are now coming to a close, yes those dreaded things that teachers spend a whole lot of time to complete, for students to read in less than 10 seconds, and then the wonderment if they get home for parents to read and see. that's if they get to see the reports. These have bee a struggle for me this year as the changes with the Students Management System and they way school does reports have hit. I was not at school last year around this time, and I will tell you something, it is a shock for them to come up, get proofread, make changes to the ones that are needed, and deal with those staff that start getting angry at you for making there jobs harder because you kept him/her within the comment, ok that one was not me.

2. Application Development
Changes to the option choice selection need to be made by Thursday night, with a new layout and design this year we need to make the changes, though one slight problem... I got given the change document last Friday. I have yet to get my head around the changes and still have not been told what to do with the new subjects, as well as who needs access to it. I will get a large amount of work done tomorrow on it, when I get myself around excel and create the 10-15 course for each departmentt that they can put in. though i now see one giant problem just typing this in, I have year level subjects and school wants to change it to level subjects, maybe I need to create a form that staff can put the information into in google apps that I can then take and put into my system, I don't think that this is gonna work too good right now.

3. course design
oh man are there some changes coming or what, with the introduction of digital technology in the technology curriculum, means that we are having to redo some of our courses. the biggest change will be to the year 11 course, or at our school the Level 1 course. We are looking at three sections of the new standards, Digital Information, Digital media, and Programming and computer science. Though I have no idea what language or media we are going to use yet. but we have also been asked to look at the progression of courses for the future as well.
We have some time coming up in which we can talk about this as a department and make the changes that are needed to support the New Zealand Curriculum 2007.

4 future
can't say anything yet, still in the process of writing.

Ok, Ok, I got runners up in a award for innovative programme, now one of the things that this is about is a course that looks at environmental issues at the school, we have a stream down the back, students are to design an application to record the data that they collect down at the stream, Now I have not had time to get this implemented yet, though term 3 and 4 will look just about right, and it can carry out next year as well. It is a case of getting the students on task and developing there creative thing at the moment.

The book and moodle course that I am using for the programming course and working well, though they slower students are starting to slacken off and the motivated students are getting crazier in there programming, and the exercises are getting harder. I have an issue around some of the students not doing as much as they could do, because I cannot move them, if I move them it affects the year 13 cprogramming class as well due to I am using virtual hard drives to do teh work.

I would love to play around with some more software, especially when it comes to flow charts. I want to get Visual Studio Learning Pack 2.0 as I can see some applications within it useful.

I really want to play with
Visual Programming Flow Chart is a supplementary teaching tool designed to help students understand program control flow. It generates flow charts for functions and saves them in the JPG picture format. This tool is easily activated from the Visual Studio Integrated Development Environment (IDE) by simply right-clicking on a function name and choosing “Generate flow chart…” from the context menu. The resulting flowchart can be customized by changing its colors and other effects. This visual tool provides an intuitive way to explore source code, to examine its control flow, and to identify logic errors.