Programming

=Welcome to Scratch Programming=

Scratch is a visual programming environment that can be used to create all kind of simple games and programs by connecting together blocks.

Working through the tasks on this page will help you to succeed at AS91075 & AS91076 (Planning & Creating a program)

Part 1: Learning to use Scratch
Work through the following tutorials: || * Using a loop to keep a sprite moving
 * **Tutorial** || **What you should learn from it** ||
 * **[[file:Scratch Tutorials.pdf|Scratch basics]]** (Optional) || An introduction to Scratch ||
 * **[[file:MazeTutorial.pdf|Maze]]** || * How to make a Scratch program
 * Drawing a background
 * Using input from the keyboard
 * Moving a sprite
 * Using if statement to check if sprite touches a colour ||
 * **Pong**
 * Using an if statement
 * Creating & using variables
 * Interaction between sprites ||
 * **[[file:fish shark.pdf|Fish Game]]** || * Making a sprite follow the mouse
 * Interaction between sprites
 * Changing costumes based on events ||

To test your understanding of Scratch, complete the game.

Make sure you save your versions of the tutorial tasks, so that you can refer back to them when you are working on the assessment.

Optional extra tutorials:
 * [[file:Helicopter Tutorial.pdf|Helicopter]]
 * [[file:Shooter Game.pdf|Shooter game]]
 * [[file:PacMan Tutorial.pdf|Pacman]]

Part 2: Learning to Plan

 * 1) **[[file:IntroToPseudoCodeScratch.pdf|Pseudocode examples]]:** Match the pseudocode to the Scratch scripts. Make sure you understand how each line of the pseudocode relates to the relevant line in the script.
 * 2) **[[file:ScratchPseudoToActual.pdf|Creating scripts from pseudocode]]:** Write Scratch scripts to match given pseudocode.
 * 3) **[[file:Planning Exercise Scratch Game.doc|Planning Exercise]]:** Planning a simple game.

Part 3: Assessments

 * 1) **[[file:91075 Example.pdf|Example of planning]]** - This example is for an Asteroids game. It is at an Achieved or Merit level, probably not Excellence.
 * 2) **[[file:91075 Task.pdf|91075 (Planning) Assessment Task]]**
 * 3) **[[file:91075Checklist.doc|91075 (Planning) Checklist]]**
 * 4) **[[file:91076 Task.pdf|91076 (Programming) Assessment Task]]**
 * 5) **[[file:91076Checklist.doc|91076 (Programming) Checklist]]**

You **** you start the assessment:

1 - How to create **variables** and assign **values** //e.g. storage boxes with things in it// 2 - Using **expressions** 3 - Adding **comments** to your program 4 - Using pre-defined actions 5 - Using control structures: a - sequences b - selection //e.g if; if else;// c - iteration //e.g. loops; repeat until;//

Specifications your program should meet:

 * 1) A title screen with instructions
 * 2) At least two variables //e.g. score, lives// storing at least two types of information //e.g. number and text//
 * 3) Accurate and explanatory variable names
 * 4) Assignment of variables //e.g. set score to 0//
 * 5) Predefined actions e.g.
 * 6) User input //e.g. keyboard//
 * 7) Use of a sequence control structure //e.g. several statements that are executed in a row.//
 * 8) Use of a selection control structure e//.g. conditional statements such as if and else//.
 * 9) Use of an iteration control structure //e.g. loops such as repeat until//.
 * 10) Comprehensive testing and debugging to identify and fix errors in the program’s functionality.
 * 11) A game over screen.

=Java Scripting:=

Free online teaching tools:
 * 1) Khan Academy - []
 * 2) **Code Academy** - []
 * 3) Code School - [|https://www.codeschool.com/paths/javascript#javascript]