# Scratch Projects for Advanced Students: Integrating Computer Science, Mathematics, and Physics Standards

These projects integrate Mathematics and Computer Science Standards within the context of creating Physics Based Game/Simulations or Music/Drawing Programs. Scratch's real power lies in the area of having students organize their visual/sequential thoughts through moving graphics within a 2 Dimensional Space.

In addition, we can use Scratch introduce the idea of Model-View-Controller (MVC). Most Scratch programs interweave the Model and View stages with the programmer working directly with image position and movement. However, by using variables, lists, and operators the student can design the "Model" portion of the program within separate scripts. Then the student can use a short sequence of scripts to "Draw" the images to the screen. The MVC program structure then can be transferred over to programming within Objective C (OSX) or other environments.

(more projects at nebomusic.net/scratch.html)

 Realistic Target (Angry Kitty) Project #31 (http://www.nebomusic.net/AngryKittyScratch.html) BCS-CMW-20. Students will demonstrate an understanding of basic programming concepts. Objectives: -Use Trigonometric principles to determine Vectors for X and Y Directions for Sprite(Object) Movement. -Simulate Gravity Physics. -Use Conditional Statements and While Loops (Repeat Until) to determine action within Game. -Use Variables to store, calculate, and direct movement within Game/Simulation. Requirements: 1. Make a Sprite to act as the "Angry Kitty" that is drawn back by the mouse arrow and shot from a slingshot. 2. Use a pen to trace the path of the Kitty as it flies through the air. 3. Make a Target for the Kitty to hit. Hint:  You will need to use the concept of "Gravity" and the "sin" and "cosine" functions to solve this challenge. Angry Kitty Scripts

 Space Ship Project Project #28 (http://www.nebomusic.net/AsteriodScratch.html) BCS-BP-6. Students will design solutions for simple programs using basic programming techniques and constructs. Objectives: -Use Trigonometric principles to determine Vectors for X and Y Directions for Sprite(Object) Movement. -Simulate Gravity Physics. -Use Conditional Statements and While Loops (Repeat Until) to determine action within Game. Project Requirements: 1.  Create a SpaceShip that Simulates real movement in Space. 2.  Up Arrow provides Forward Thrust. 3.  Right and Left Arrows turn the Ship 4.  Ship can "Pass Through" edges of Screen. Project Extras: 1.  Have the Ship shoot like "Asteriods". 2.  Add other ships. (Or Games like "Landing" or "Find the Space Station") Detailed Directions for SpaceShip Project

 Integrating Cat (http://www.nebomusic.net/integratingcatscripts.html) BCS-BP-5. Students will design algorithms and programming solutions for a variety of computational problems. BCS-BP-6. Students will design solutions for simple programs using basic programming techniques and constructs. Project Requirements: 1.  Create a Sprite that traces the curve of this function: 2.  Make the Sprite draw the area under the curve between a range defined by the user. 3.  Calculate the area under the curve drawn by the Sprite. Extras 1. Create and display a variable that tracks the progress (number of pixels) of the area as it is drawn by the Sprite. 2. Integrate the actual value and display it in comparison to the variable that counts the pixels. 3. Calculate the percent error between the pixel count and the actual Integrated value. Sample Scripts for Integrating Cat

 Scratch Drawing/Mouse movement recorder Project #35 (http://www.nebomusic.net/scratchdrawrecord.html) BCS-BP-11. Students will write programs that process lists Objectives: -Use Keyboard Events to trigger and halt actions within the program. -Use Lists (1 Dimensional Arrays) to store and retrieve values. Project Requirements: 1.  Create a Dot Sprite to draw your recording. 2.  Use two list objects to store your X and Y values. 3.  Have Scratch "Playback" your mouse movements. Sample Scripts for Scratch Drawing/Mouse movement recorder

 Virtual Musical Instrument Project #13 (http://www.nebomusic.net/scratchxylophone.html) (http://www.nebomusic.net/scratchxylophone2.html) BCS-BP-11. Students will write programs that process lists Objectives: -Use Keyboard Events to trigger and halt actions within the program. -Use Lists (1 Dimensional Arrays) to store and retrieve values. Requirements: 1. Create a Virtual Musical Instrument that uses pitch or non-pitched sounds. 2. Users can click or press keys on the computer to activate the sounds. 3. Colorful and interesting User Interface that allows the user to select sounds. Extras: 1. Use Variables to allow user to select instrument or timbre/ 2. Use costume changes to give feedback to user. Detailed Instructions for Scratch Xylophone Instructions for creating a Playback Xylophone

 Scratch Tropical Fish Simulation Project #36 (http://www.nebomusic.net/scratchaquarium.html) BCS-BP-11. Students will write programs that process lists Project Requirements: 1.  Create or Select an aquarium background. 2.  Populate your aquarium with fish that swim side to side and up and down. 3.  Have "Bubbles" that travel to the top of the water. Extras 1. Make a variable for Water Level use this variable to show the water level decreasing over time as water evaporates. 2. Make a Button to "Fill the Tank" when it gets too empty. 3. Make sure the fish do not "swim" above the waterline. 4. Use other variables such as water temperature to modify the conditions in the aquarium. 5. Make a diver controlled by the arrow keys or the "We-Do" tilt sensor. Sample Scripts for Scratch Tropical Fish Simulation.

Email Mr.Michaud