Programming with Alice

Welcome to Programming with Alice

About Our Class

In the Spring 2009 semester, we were one of 40 schools to shape the direction of Alice 3 as beta testers. Alice 3 is now available (though still in beta) for public use. We will be using both the Alice 3 version and 2.0 and 2.2 versions as we move through our class.

 

 

alice.jpg

Expectations

Make sure you read and understand the course syllabus

Team Assignments and Grading Weights

We will be making team assignments. The teams will discuss grading criteria, and a consensus/average will be used in determining the grading weights for the class.

Background for Alice

Do you know about Alice? Check out these resources to learn more:

Randy Pausch, one of the creators of Alice, talks about Alice and the "head fake." Please watch this one.

 ;

Check out some of the other YouTube Alice Videos at your leisure.

Software

Alice 2.0 is available for download here.

Alice 2.2 is supplied with your textbook and available for download here.

Alice 3.0 Beta is available for download here.

Download these to your computer and test them out! We will discuss how to do this if you're having trouble. Alice 2.0 and 2.2 will run off a CD or Flash Drive or simply a file folder. Alice 3 needs to be installed on your hard drive.

We will probably do a little switching between the current versions of Alice and Alice 3 to make sure we get everything covered.

 

We will also be using Java Netbeans later in the course.

 

Introductions

I have included a short program here to introduce myself:

Download Alice 3 Version

Download Alice 2.2 Version

NOTE: Right-click on the downloads above and select Save Link As... Then open them up in Alice.

Individual Assignment

  1. As way of introductions, I would like you to modify the above program using Alice 3 to introduce yourself to me. Then, pick a character for yourself and modify the program to make your introduction.
  2. If you do not already have a delicious account, please make one Do a web search to find any useful information and bookmark the sites to your delicious bookmarks. Tag your entries with Alice3SCC.
  3. Do the chapter 1 pretest, then read Chapter 1 of your Textbook.

Team Assignment

Once individual assignments for modifying the program have been completed, create one program that will introduce your team to the rest of the class.

Bug Reporting

Whenever you are using the Alice 3.0 software and you get a bug to report, hit submit. You can optionally fill in other information, but it is imperative that you submit the bug. These bugs are tracked in a data base and are very valuable tools for the Alice development team. When we were beta testers, we submitted weekly bug reports to Carnegie Mellon University -- not sure if they might not continue to request this.

 

Working with Alice

Individual Preparation

Take the Chapter 1 Pretest. After reading your textbook Chapter 1, make sure you know the following:

When you feel confident with the material in Chapter 1, take the Chapter 1 Post-Test.

Individual Assignment

Make a program with:

Problem-Solving Process

When you encounter problems...  

  1. Search your textbook and the web for help. (Tag helpful sites on your
    delicious page)
  2. Ask another team member to help you.
  3. Ask the whole team to help you.
  4. Post your question on our eCollege Discussion board and/or come ask your instructor.
  5. Document your problem and solution on your blog or our eCollege Weekly Discussion Board.

 

Team Assignment

Assist your team members when they encounter problems. Verify that your team mate(s) have satisfied the above criteria for their assignment.

 

 

 

Program Design and Implementation

Individual Preparation

Take the Chapter 2 Pretest

Read Chapter 2

When you feel you have thoroughly explored the concepts of Chapter 2, take the Chapter 2 Post-Test.

Programming Assignment

Storyboard Assigment

Create a storyboard with at least four pages. You might use Chapter 2 of your textbook as inspiration. You will be trading this storyboard with another classmate to have them code it and you will be coding someone else's. The storyboard should be done in Word or PowerPoint (or another tool accessible by all).

Example Storyboard

The Three Little Pigs – Storyboard

Scene 1

Little Pigs are building their houses – one out of straw, one out of sticks, and one out of bricks.

Scene 2

Pigs let audience know what they are building their houses out of and why…

(dialog between pigs)

Scene 3

Enter the wolf – comes to blow down the house of sticks

 

Wolf Blows down house of sticks and pig runs to straw house.

Scene 4

Wolf moves to straw house, huffs and puffs and blows it down.  Pigs run to brick house. – comes to blow down the house of sticks.

 

 

Scene 5

Wolf moves to brick house – can't blow it down.  Make up a funny ending of what happens to the wolf.

 

 

Place your storyboard in the eCollege Dropbox. The instructor will, in turn, give you a storyboard to code.

When you encounter problems, follow our class Problem-Solving Process.

Turn in your coded storyboard in the eCollege Dropbox. It is also fun to share your finished program with the person who created the storyboard from which you coded your program.

 

Team Assignment

Try coding this short movie.

 

For your programming assignment, assist your team members when they encounter problems. Verify that your team mate(s) have satisfied the above criteria for their assignment. Remember to utilize the course Discussion Board.

 

 

 

Programming

Individual Preparation

Take the Chapter 3 Pretest

Read Chapter 3

When you feel you have thoroughly explored the concepts of Chapter 3, take the Chapter 3 Post-Test.

 

dragonandblimp.jpeg

Programming Assignment

At the end of your chapter, code the Blimp and Dragon programming exercise. If you are using Alice 3, you might have trouble with adding the Blimp to a scene. I did -- got a Bug Submit every time. So, I used an airplane instead. I also used a cow instead of a dragon -- just for comedic effect! When you are turning your dragon (or cow), explore the AsSeenBy parameter.

Team Assignment

As a team, work on the Joey and the Crate exercise. Think about what it takes to "jump." Assist your team members when they encounter problems. Verify that your team mate(s) have satisfied the above criteria for their assignment in a peer testing.

 

 

Object-Oriented Programming

Individual Preparation

Take the Chapter 4 Pretest

Read Chapter 4

When you feel you have thoroughly explored the concepts of Chapter 4, take the Chapter 4 Post-Test

 

  

 Creating a Method in Alice 3

 

Creating a method on a class in Alice 3 from Alice Team on Vimeo.

;

 

Programming Assignment

At the end of your chapter, choose any of the Projects listed: Dance, Hand Ball, Ra Row Your Boat, Cleanup Robot, CleverSkater Competiton, Walking and Jogging Hare, Your Own Creation (I'm partial to this one!). Make sure you incorporate the concepts of this chapter in working with classes, methods, and parameters.

 

 

Team Assignment

 

Wendolina Teaches the Hare New Tricks -- NOTE: Double-click on the video to view controls to replay.

 

Teach the Hare new tricks. See if you can get Wendolina to teach the Hare to bow and do a handstand. Assist your team members when they encounter problems. Verify that your team mate(s) have satisfied the above criteria for their assignment.

 

Interaction: Events and Event Handling

Finally, we get to interact with our world! This allows us to make games instead of just movies. We will spend two weeks on this topic. If you are done before that time, feel free to move on to Chapter 6.

Individual Preparation

Plane.png

 

Take the Chapter 5 Pretest

 

Read Chapter 5

 

When you feel you have thoroughly explored the concepts of Chapter 5, take the Chapter 5 Post-Test.

 

Programming Assignment - Due at the end of Week 7

At the end of your chapter, choose any of the Projects listed: Skater World, Skydiving Guidance System or Turtle Motion Control. You may also create your own event-driven program with at least three event-handlers. As you complete this programming assignment, make use of the incremental implementation approach also known as "stub programming."

Events.jpg

 

 

Team Assignment

Assist your team members when they encounter problems. Verify that your team mate(s) have satisfied the above criteria for their assignment. Participate in peer testing of the week's assignments.

 

Selection: If/Then/Else

Logic1.jpg

Logic2.jpg

Individual Preparation

Take the Chapter 6 Pretest

Read Chapter 6

When you feel you have thoroughly explored the concepts of Chapter 6, take the Chapter 6 Post-Test.

 

Since this is also Midterm time -- you also have a Chapter 1-6 midterm exam waiting for you to take! It is multiple choice and covers chapters 1-6.

 

Function.jpg

Always remember --

A function returns a value

RandomNumbers.jpg

 

RandomNumbers2.jpg

 

 Random Motion Demo

 ;

Programming Assignment - Midterm Project

Select from one of the projects below for your midterm programming assignment. Be sure to incorporate random numbers and if/then/else in your program where applicable.

Option 1: Create a movie in either Alice 3.0 or Alice 2. This movie should be more complex than your chapter programming assignments. Let me know if you are having problems coming up with a storyboard idea. Feel free to post your ideas on the discussion board.

 

Option 2: Create an interactive game in Alice 2. This game should include at least 3 different events.

 

Option 3: Create an interactive storybook. In class, I always show my daughter's Tortoise and the Hare Living Book. It tells the story of the Tortoise and the Hare, but allows the child to interact with it. Example: When I click on the mailbox, the rabbit runs out of the house and gets the mail. There are all sorts of things to try. This interactive storybook should include at least 5 different events.

 

From a previous class, a student created his own story called Oswald and the Four Keys. You tried to help Oswald find his keys while you were given clues along the way.

 

 

Team Assignment

Assist your team members when they encounter problems. Verify that your team mate(s) have satisfied the above criteria for their assignment.

 

 

 

Iteration - Loops (Definite and Indefinite)

Individual Preparation

Take the Chapter 7 Pretest

Read Chapter 7

When you feel you have thoroughly explored the concepts of Chapter 7, take the Chapter 7 Post-Test.

 

The Loop Statement allows you to execute a series of statements a counted number of times or even an infinite number of times.

 

The While statement allows greater flexibility to execute a number of times based upon a condition.

while.jpg

whilerot.jpg

 

 

Using While in events creates a BDE (Begin-During-End) event.

 

Here is a list of BDE Events:

While world is running - right-click When the world starts

While key is pressed - right-click When a key is pressed

While the mouse is presssed on something - right-click on When the mouse is clicked on something.

When something becomes true - right-click on While something is true

BDE Events - Rabbit Rescue

 ;

Programming Assignment - Non-graded

We will not be doing the end-of-chapter projects for the rest of the book to give you ample time to design and code your final project. Instead, we will complete a series of group projects. Check out the course Discussion Board for the week and participate in a group solving of a project.

 

Team Assignment

Assist your team members when they encounter problems. Verify that your team mate(s) have satisfied the above criteria for their assignment.

 

 

Recursion

Individual Preparation

Take the Chapter 8 Pretest

Read Chapter 8

When you feel you have thoroughly explored the concepts of Chapter 8, take the Chapter 8 Post-Test.

  

Hannoi.jpg

The Midas Touch - Recursion

 ;

Programming Assignment - Non-graded

Check out the course Discussion Board for the week and participate in a group solving of a project.

 

Team Assignment

Assist your team members when they encounter problems. Verify that your team mate(s) have satisfied the above criteria for their assignment.

 

 

Lists and List Processing

Individual Preparation

Take the Chapter 9 Pretest

Read Chapter 9

When you feel you have thoroughly explored the concepts of Chapter 9, take the Chapter 9 Post-Test.

 

lists1.jpg

lists2.jpg

lists3.jpg

lists4.jpg

Lists - Meet the Rockettes!

 ;

List Searches - "Wack-A-Mole" Demo

 ;

Programming Assignment - Non-graded

Check out the course Discussion Board for the week and participate in a group solving of a project.

Team Assignment

Assist your team members when they encounter problems. Verify that your team mate(s) have satisfied the above criteria for their assignment.

 

 

Arrays

Individual Preparation

Take the Chapter 10 Pretest

Read Chapter 10

When you feel you have thoroughly explored the concepts of Chapter 10, take the Chapter 10 Post-Test.

 

Programming Assignment - Non-graded

Check out the course Discussion Board for the week and participate in a group solving of a project.

 

Team Assignment

Assist your team members when they encounter problems. Verify that your team mate(s) have satisfied the above criteria for their assignment.

Java Netbeans

Did you know that all this time, you have been generating Java code with your Alice programming? While we were dragging and dropping commands, properties, methods/procedures, and functions; we were actually creating Java code!

Alice3 allows you to import your program into Java Netbeans.

 

Java Netbeans Site

Alice Kenai Project Download

 

 

Final Project

This week, put the final touches on your course Final Project. Your Final Project must reflect your learning for this course in a complex movie or interactive game. Past projects have included coding the game of "Galaga" and "Slap the Bunny" - it was "Stab the Bunny," but I asked them to change it so it could be graded while my children were watching. Have team members do a peer review. You will be presenting your final project to the rest of the class.

 

Final Exam

Take the final exam.