Graphing
Calculator
Math
Worksheets
Scientific
Calculator
Chart
Maker


Home
Graphing Calc
Algebra
Fun Games
Geometry
Interactive
Trigonometry
Scientific Calc
Home
Graphing Calc
Algebra
Fun Games
Geometry
Interactive
Trigonometry
Scientific Calc

Introduction Computer Science

Class Page

Semester 1 Downloads and Student Information

Semester 1: Alice

This semester will focus on using Alice to learn programming.
  • Day 1)
    • Download the program.
      • Create a folder in my document called "Computer Science"
        • in that folder create a folder called "Alice"
        • in the Alice Folder create a "Projects" folder
        • After the program is finished downloading extract the zip file to your "Alice" folder
      • Do Packet "#1"
  • Day 2) Complete Packet #2 and #3
    • Objects Vs. Classes
Week 2
  • After you are done with packet #6, complete your first mini program. The requirements
    • At least 10 instructions
    • modify a 'subpart'
    • use comments
    • at least 3 different objects
  • Magic Cookies 1 : Create a world that has a plate of four cookies. (See the Kitchen collection). The world should also have four empty plates. When the world is played, the cookies should magically levitate one by one, float to one of the empty plates, and then land on the empty plate. When finished, each of the four plates that were initially empty should have a cookie.
  • Magic Cookies 2 :Modify the Magic Cookies 1 project so that the cookies simultaneously float to and land on the empty plates.
  • Drag Racing: Create a world with a road (from the City collection) and two cars (from the Vehicles collection). Resize the road as necessary to match the size of the cars. The cars should be lined up side by side at one end of the road, which is a drag strip. When the world is played, the cars should simultaneously move to the other end of the road and stop(You must use "do together). Change the duration of the method call that you use to move one of the cars so it is faster than the others. Position the camera so you can see the cars as they approach the end of the drag strip.
  • Apollo 15 Experiment: During the Apollo 15 mission to the moon, astronaut David Scott performed an experiment to prove that Galileo was right when he said that any two objects dropped at the same time would land on the ground at the same time in the absence of air. Scott, standing on the surface of the moon, dropped a hammer and a feather and indeed both objects hit the ground simultaneously.(Again, you must use "do together") Create an Alice world that recreates the experiment. You will find classes for the astronaut, lunar Lander, and the moon's surface in the Web gallery's Space collection. You can find a class for the Hammer in the Objects collection. Substitute any object of your choice for the feather.
  • For those of you shooting for an A in this class: End of Chapter Bonus Project: Create a new Alice world that includes at least 3 objects, makes use of Do Together and a minimum of 15 instructions. This project is worth 4 points. 1 points is called "wow factor"--ie did you go the extra mile to make a cohesive story line.
Deadline:: You will have until Wednesday October 7th of class time to complete the projects below. The final deadline by which I must see the projects will be wednesday October 12th.
    Unit 3: Functions and Variables
  • 1) Miles Per Gallon: Create a world in which the user is asked for the number of gallons of fuel his or her car can hold, and the number of miles that he or she can drive on a full tank. Use variables to hold these values. You should also have a variable to hold the car's miles-per-gallon (MPG). Calculate the MPG with the following formula
    MPG = miles/gallons
    The world should have a person and a car. In the initial setup the car should approach the camera and the car should drive into view and stop in front of the camera. The person should then say a message indicating the car's MPG, as calculated from the data entered by the user. Then, the car should drive away, to a position of the world.
  • 2) Penguin on a Table: Create a world with a penguin and a table. THe penguin should be facing the table, standing next to it. The penguin should simultaneously flap its wings (use the wing_flap method) and move up in the air a distance that is exactly 1 meter higher than the height of the table. You can call the table's height function to get its height. The penguin should then move forward to approximately the center of the table, and then move down to the surface of the table
  • 3) Fahrenheit to Centigrade : The following formula is used to convert Fahrenheit temperature to Centigrade temperature:
      C = (5/9) * (F − 32)
    In the formula, C is the Centigrade temperature and F is the Fahrenheit temperature. Create a world in which the user is asked to enter a Fahrenheit temperature. Use a math expression to convert the temperature to Centigrade and store the converted temperature in a variable. Use a character from the People collection to say the centigrade temperature.
  • 4) Blimps: Create a world with two blimps (from the Vehicles collection). When you play the world, the blimps should simultaneously turn to face each other, and then simultaneously move toward each other. The blimps should stop close to each other, but should not collide. The world should be programmed so that regardless of where you position the blimps, the blimps should perform the same way.
  • 5) Chicken Clock:Farmer MacDonald has a chicken on his farm that can tell the time. The chicken is trained to flap its wings a number of times to indicate the current hour. FOr example, if its three o'clock, the chicken will flap its wings three times. Create a world in which Farmer MacDonald's chicken will tell you the current hour by flapping its wings.
    Use the Chicken in the picture below which has a custom flap method. It is in the Web Gallery. Just search for "chicken". The flap method accepts two arguments: times and speed.
  • 6) Kick Ball Create a world with your choice of a ball from the Sports collection and your choice of person from the People collection. Position the ball in front of one of the person's feet. When you play the world, it should ask the user how far the person should kick the ball. Then the person object should move one of its legs in a kicking motion, and appear to kick the ball. The ball should move the distance specified by the user.
  • 7) SpaceShip Repair: Create a space world with an astronaut and two spaceships(from the Web gallery's Space collection). One of the spaceships is stranded with engine trouble, and the astronaut has arrived in the other spaceship to perform a repair. The astronaut should initially be positioned just outside one of the spaceships, about to perform a spacewalk to the other ship. When the world is played, the astronaut should initially be positioned just outside one of the spaceships, about to perform a spacewalk to the other ship. When the world is played, the astronaut should float to the stranded spaceship, appear to work for a few moments, and then float back to the rescue ship. The repaired ship should then fly away, off the screen.
  • 8) Bonus Project: Create a program that
    • tells a story
    • has at least 2 objects
    • using 2 variables
    • using 3 mathematical operations (plus, minus etc..) on those variables
    • has the 'wow factor'
    Exercises
  • Exercise 1 GumdropFish Modification: Modify the GumdropFish world that you created in Tutorial 4-2 so that the fish eats both of the gumdrops. First it should eat the gumdrop that is closest (as it currently does) , and then it should move to the other gumdrop and eat it. Both gumdrops should have their magical effect on the fish: the red gumdrop should make the fish twice its current size, and the yellow gumdrop should make the fish half its current size.
  • Exercise 2 FanLoop Modification: Modify the FanLoop world on the Student CD so it asks the user for the number of times the fan blades should rotate. Use this value in the Loop statement to control the number of times the roll method is called.
  • Exercise 3 Sea Plane Loop-the-Loop : Create a world with a sea plane (from the Vehicles collection).Create an infinite loop that causes the sea plane to do a circular loop the loop. Adjust the style and duration editing tags to make the animation fast, and as smooth as possible.
  • Exercise 4 Soccer Practice: Create a world with a soccer ball from the Sports collection and your choice of two people from the People collection. Position the ball in front of one of the people. WHen you play the world, the person object should move one of its legs in a kicking motion, and appear to kick the ball. The ball should move to the other person who kicks its back. Place all of these actions in a loop that repeats five times.
  • 5 Dragon Guardian: Create a medieval world similar to that shown in figure 4- 51, with a dragon , a knight, and a tent( all found in the Web gallery's Medieval collection). The knight should leave his tent and fearlessly approach the dragon. The dragon stands firm until the knight is two meters in front of the dragon. At that point, the dragon turns and flees. The knight goes back to the tent.
  • 6 Roman Numeral Translator: Create an interactive world that asks the user to enter a number that is at least 1 but not greater than 10. A character of your choice should translate the number to Roman numerals, and say the Roman numerals in a speech bubble as in the picture below.
  • End of Unit Project
    Create a project that tells a story and fulfills the following requirements
    • Makes use of a loop or while
    • Uses if/else

    Uses 2 of the following
    • a boolean variable
    • a number variable
    • a String variable
    • a function
While and For Loops
  • 1) Download and extract these files to a folder.
  • Day 2 worksheet
  • 2) Run the cow-loops1 file. This file demonstrates who to write a regular loop as a while loop
  • 3) Open up the chesire-loops1 world and rewrite the loop as a while loop
  • 4) Modify the soccer practice so that it uses a while loop
  • 5) Modify the Sea Plane Loop-the-Loop to use a whine loop
  • 6) Change the Roman Numeral Translator project as follows
    • First have the translator ask how many numbers you want to translate. Store the user's answer in a new variable
    • Use a while loop to make the translator ask the user for numbers to translate.
  • 7) Modify the Fahrenheit to Centigrade project as follows.
    • First ask the user 'how many temperatures do you want to convert'? Store their answer in a a new variable (not one that you already had in the project)
    • Use a while loop to convert the temperature that many times
  • 8) Modify the Miles Per Gallon project in the same way as the prior two projects. Ask the user for the number of times that he/she wants to calculate miles per gallon (presumably for multiple different cars) and then use a while loop to do the calculations.
Custom Classes and Parameters
  • Exercise Competition: Three girls, Jenny, Kelly and Barb are enrolled in an exercise class. One day after class the three decide to have a friendly competition to see how many sets of 10 repetitions of running in place each can do before getting tired. Bard decides to go first and gets tired at 10 repetitions. Kelly goes next, and she gets tired at 20 repetitions. Jenny, who has been in the exercise class for the longest, goes next. She gets tired at 30 repetitions. Create a world that simulates the competition. Each of the girls should be an instance of the ExerciseGirl class that you created in this chapter. Set each girl's getTiredAt property to the appropriate value, so the girls get tired at the correct number of expiations.
  • Jumping Jacks: Create a new class that has a JumpingJack method. This class should take a parameter indicating the number of jumping jacks that the object will do. Make sure that you save the class to your H drive's folder.
  • Marcello The Magician:
    • Marcello the magician has finally mastered his disappearing act. To perform the act, he places several items on a table in front of him. He stands with his right arm extended over an item. He says the magic word "Alakazam, Alakazee" and the object disappears. He repeats this procedure for each object on the table.
    • Create a world in which Marcello (an instance of the Magician class from the People Collection. demonstrates his new act . In the magician object you should create two new class-level methods: sayMagicWords and makeDisappear . The sayMagicWords should cause Marcello to say the magic words. The makeDisappear method should have an Object parameter. It should cause Marcello to turn to face the object, say the magic words (by calling the sayMagicWords method) and then make the object disappear by setting its isShowing property to false.
    • After you have created and tested the methods, save this object to a new class so you can use it in other worlds.
  • Halloween Day: This is an open project . Do something related to Halloween. The only requirement is that you create a custom class level method that uses a parameter.
  • More Tricks for Marcello Give Marcello the Magician the ability to do more magic tricks including
    • levitate: a method named levitate, which would take an object as an argument. The method would cause the object to levitate in the air.
    • transform: You could also write a method named transform that would take two of objects as arguments (parameters). The method would cause the first object to "transform" into the other. To set that method up, one of the objects would have to be invisible(opacity set to 0) and both object would have to be placed in the same location. WHen the method is called, the visible object would be made invisible and simultaneously the invisible object would be made visible
    • Shrink: This method takes an object parameter and always shrinks it to half of its current size.
    • Enlarge: This method takes an object parameter and always enlarges it to double its current size.
  • Karate Moves Create a world with an instance of the EvilNinja class (from the People Collection). Modify the EvilNinja object so it can do at least one kind of karate kick and a karate punch. Write the necessary class-level methods to make the EvilNinja make the moves. Save the EvilNinja to a new class named KarateNinja and then import an instance of the new class into a world with a DoJo object (from the Web gallery's Environments Collection). Write a world level method that makes the KarateNinja object demonstrate how it can kick and punch. Both methods should take a parameter indicating the number of kicks or punches.
  • Old West: : The opening scene of a western movie shows a woman standing in front of a saloon. The sheriff rides his horse up to the woman and says "Howdy Ma'am." Create an old west themed world that recreates this scene. The world should have the following objects: a saloon, a sheriff, and a westGirl (all from the Web gallery's Old West collection), and a horse from the Animals collection. Position the sheriff so he is sitting on the horse. Set the Sheriff's properties such that when the horse moves, the sheriff should move with it.
  • Graveyard Create a spooky world with a church (from the Web gallery's Buildings collection) and a graveyard. Also, check out the Spooky collection. When the world is played, the camera should move through the world, and a candlestick (from the Objects collection) should move along with the camera. This will give the effect that you are walking through the world, carrying the candlestick. To make the candlestick move with the camera, set the candlestick's vehicle property to the camera.

    The camera should first move to the gate. When the camera reaches the gate, the gate doors should slowly swing open. Once the doors are opened, the camera should move through the graveyard toward the church. When the camera gets close to the church doors, the candle's flame should go out and the world should become dark. Use the Flames's opacity property to make it go out. The world has a light object, which controls the amount of light in the world. Set the light object's brightness property to 0 to make the world dark.)
  • Walk in Square Project: Use any kind of object that has a class level method called WalkInSquare that take a parameter indicating how long the side of the square to walk is.
  • Extra Credit Project (For those seeking an A): Modify the Karate Moves project so that both moves take a parameter. Create an opponent for the evil ninja and have them do a fight. You can get up to 6 points for this. 2 of the points are allotted for how 'realistically' you make the character's movements look.
  • Search and Rescue (For those seeking an A): Create a sea world with two scubaDiver objects (from the People collection) adrift. Create a helicopter (from the Vehicles collection) and position it off-screen. The image below shows the helicopter. Create two life preserves as instance of the Torus class (from the Shapes collection) and position them just below the helicopter's runners. Set the torus's vehicle property to the helicopter so they will move with the the helicopter.

    Write a method in the helicopter object named locate. The locate method should take an object as its argument. The method should cause the helicopter to turn to face the object that was passed as an argument, move to a position that is 10 meters away from the object, and then circle the object one time.

    Write two more methods named dropLeftPreserver and dropRightPreserver. These methods should cause the left and right life preservers to drop to the surface of the water. To do this, each method should first set the appropriate torus's vehicle property to the world, and then move the torus down the distance that the torus is above the water (use a function)

    When the world is played, the helicopter should move to the first scuba diver, circle it, drop one of the life preservers, move to the second scuba diver, circle it, and then drop the other life preserver.



  • Extra credit Create any project that makes use of any of a para mater and either a while loop or a class level method .
  • Final Pair Programming Project: With a partner (that I will assign), create a program that
    • makes use of a parameter
      OR
      a class level method
    • a while loop with a variable
    • creature/object that moves in a 'realistic' fashion. This realistic movement should include the manipulation of sub parts.
    Topic Points
    parameter used
    OR
    class level method
    5 points
    while loop with a variable 5
    realism (how realistic the creature or objects movement is) These points must be earned from your own coding (ie you can't use a creature that already has a custom method made) 7
    Events Projects
  • Jumping Fish: Create a sea world with an island and a fish. The fish should swim around the island. (Part of the fish's body should be above the water's surface so you can see it swiming.) When you press the SpaceBar,the fish should jump up, out of the water, and then come back down.
  • Ice Skater: Create a world with an instance of the Lake class from the Environments collection and an instance of the IceSkater class from the People collection . Program the iceSkater so she skates around in a circle on the lake. When you press the S key, she should spin around. When you press the J key, she should jump.
  • Couch Color Tester: Create a tool that an interior designer can use to visualize how a coach of different colors will look in a room. Create a world with a room and an instance of the Couch class (from the Furniture collection). The world should also have four balls ( spheres from the Shapes collection), each a different color. When the user click one of the balls, the couch should turn the same color as the ball. The world should also have a Lightswitch (from the Web gallery's Controls collection)When the user clicks the switch with the mouse, it should turn the lights off or on in the room. To turn the lights off, set the world objects ambientBrightness
  • Lunar Landar: Create a world that recreates astronaut Neil Armstrong's first steps on the moon on July 20th, 1969. Create a moon world with a lunar lander and an astronaut(from the Web gallery's Space collection). When you click the lunar lander with the mouse, the astronaut should descend the lunar landar's ladder. When the astronaut reaches the moon's surface, you should play the sound file step.wav, in the chapter 6 folder. This sound file, which is courtesy of NASA, will play the famous words that Armstrong said as he set foot on the moon.pre-existing
  • Haunted House : Create a world with a haunted house. Use the Let the mouse move the camera event to allow the user to move the camera freely through the world. Have at least two scary creatures that stay hidden until the camera gets within a certain distance of them. When that happens, the creatures should jump out to frighten the user.
  • Boat Obstacle Course: Create a game that has a motorboat (from the Web gallery's Vehicles collection). The world should also have several obstacles floating in the water. Use events in such a way that the user can drive the boat and control its speed. Each time the user drives the boat through a torus, he earns points and the torus should sink underwater. Each time the user comes very close to an obstacle, he loses points and the obstacles should sink underwater. When either all of the torus objects or all of the obstacles have sunk, the game is over and the number of points that the user has earned should be displayed.


  • Circle Track: Create a round race track like the one shown in the picture below. The track int eh figure was created with two circles (from the Shapes collection). Place a car on the track, and place a two-button switch (from the Web Gallery's Controls collection). in the foreground. When the user click the green button, the car should drive around the track. When the user clicks the red button, the car should stop.
  • Shark Pursuit Create an undersea world with a shark and any other type of fish. The shark should swim toward the other fish, but when the shark gets within one meter of the fish, it quickly swims away. The shark continues to pursue the fish, but each time the shark gets within one meter, the fish swims away. Your world should generate a random number to indicate the direction that the fish will swim to escape the shark, and the distance.
  • Amusement Park Rides: The Web gallery Amusement Park collection contains several classes for amusement park rides, and many of these classes have custom methods that animate the rides. Create a world with three rides and three button switches (from the Controls collection). Each button switch should turn on one of the rides when it is clicked by the user; and then turn off the ride when it is clicked again.
  • Freeze Dance: Freeze dance is a party game where the participants perform funny dance moves in a dark or dimly lit room while music is played. One person is in charge of turning the lights on and off at various intervals. When the lights are turned on everyone in the room immediately "freezes" in their current position. When the lights are turned off, or dimmed, everyone resumes making funny dance moves.
    Note: You don't need to make this a "dance" theme. Any kind of movement or action can be substituted for dancing. All that is required is that objects are moving around with subparts changing and that some object can freeze or unfreeze their current movement. 3 of 12 points for this project are dedicated towards 'realism' so make those objects move realistically.