Home AP Computer Science Animation Using Virtual Worlds Intro Java Programming Concepts  
Current Schedule Favorites Class(room) Policy Computing Club Gunn Girls Tech Club Send Me Email


Animation Using Virtual Worlds

The Alice Web Site

Download Alice v2.2

Note: If you want to play with Alice v3.0, be my guest. However, it is not going to be ready for prime time in 2009--2010, so we will not be using it for this class.

Topics You Will Learn En Route To The Final Project

List Of Things That Must Be In Your Final Project

Alice Favorites (Help this grow by putting fun projects on the Internet)

Textbook: Learning to Program with Alice (2nd ed.) by Wanda P. Dann, Stephen Cooper, and Randy Pausch.

Strongly Recommended : Flash memory stick (which might be helpful for other classes as well)

Homework problem codes:

  1. Q: Questions
  2. E: Exercise (most exercises are of the form "a-bEc" where a-b is a chapter section and c is the problem number.
  3. P: Project
  4. Any problem with an asterisk (*) is optional. If you have done the rest of the homework, then the optional problem can be done for extra credit. Extra credit problems can add up and they won't hurt your grade, so try them when you have the time!

As you go along, you may find that you have completed the homework for the current week and you are therefore ahead of schedule. If you get ahead by a couple of weeks and have a neat idea for a project, please let me know. I often give extra credit for projects, but I need to agree to whether an extra credit project proposal is worthy of extra credit.

  • WEEK TOPIC(S) READING HOMEWORK
    1/25--1/29 Getting Started With Alice Chapter 1

    Download, install, and goof around with Alice at home

    Appendix A Tutorial

    Q3, Q4, E1, E5*

    Final project (Rube Goldberg machine)

    2/1--2/5

    Program Design and Implementation

    Scenarios and Storyboards

    Chapter 2 Q1 (see bottom of page 22, Q5, Q7, Q8, Q15, Q16, Q17, 2-1E1(a), 2-2E3

    (Turn in storyboards for 2-1E1 part a and 2-2E3 on paper handed out in class; put your answer to the Q problems on the F drive in the classroom.)

    2/8--2/10 Introduction to Programming Chapter 3 Q1, Q2, Q3, Q8, 3-1E1, 3-1E3, 3-2E6
    2/16--2/19 Introduction to Programming Chapter 3 Q1, Q2, Q3, Q8, 3-1E1, 3-1E3, 3-2E6
    2/22--2/26 Classes, Objects, Methods, and Parameters Chapter 4
    (World-Level Methods)

    Fix the binary number world

    4-1E3, 4-1E4, 4-2E6, 4-3E9, 4-3E10, P3, P7*

    3/1--3/5 Classes, Objects, Methods, and Parameters Chapter 4
    (Parameters)

    Fix the binary number world

    4-1E3, 4-1E4, 4-2E6, 4-3E9, 4-3E10, P3, P7*

    Do the jumping cow example.

    3/8--3/12 Classes, Objects, Methods, and Parameters Chapter 4
    (Class-Level Methods and Inheritance)

    Fix the binary number world

    4-1E3, 4-1E4, 4-2E6, 4-3E9, 4-3E10, P3, P7*

    The Figure 8 problem

    3/15--3/19 Interaction: Events and Event Handling Chapter 5

    Q1, Q2, Q3, Q11, 5-1E1 (see pp. 142--143 for flyForward and barrel), 5-1E4, 5-2E9, 5-2E15, P1, P3

    3/22--3/26 Interaction: Events and Event Handling Chapter 5 Q1, Q2, Q3, Q11, 5-1E1 (see pp. 142--143 for flyForward and barrel), 5-1E4, 5-2E9, 5-2E15, P1, P3
    3/29--4/2 Functions and If/Else (Conditionals) Chapter 6

    Q1, Q2, Q3, Q4, Q5, Q6, Q7, 6-1E2, 6-2E6, 6-2E7, P2

    For the project, P2, use the random number generator to produce an answer between 0 and 7 so that each time the game is played, the user does not know what the solution is.

    Logical operators practice

    4/5--4/9 Randomness Chapter 6

    Q1, Q2, Q3, Q4, Q5, Q6, Q7, 6-1E2, 6-2E6, 6-2E7, P2

    For the project, P2, use the random number generator to produce an answer between 0 and 7 so that each time the game is played, the user does not know what the solution is.

    4/12--4/16 Repetition: Definite and Conditional Loops Chapter 7 Q1, Q2, Q3, Q4, Q5, Q6, 7-1E4, 7-2E8, P1
    4/19--4/23 Recursion Chapter 8

    Demos of projects on Thursday and Friday.

    Do the Countdown world as shown in class, using a loop.

    Then do the Countdown world using recursion.

    4/26--4/30 Lists and List Processing Chapter 9  
    5/3--5/7 Lists and List Processing Chapter 9

    The suggested final project is a Rube Goldberg machine. However, if you have another final project that meets the requirements specified for the Rube Goldberg machine project, that is fine, too. I need a description of that project along with storyboards by end of class on Friday, December 11.

    Storyboard final project; storyboards due 12/11

    The countdown recursion example

    Final project

    5/10--5/14

    Debugging and Text Output

    Variables and Revisiting Inheritance

    Chapter 10 Storyboard final project; storyboards due 12/11

    Final project
    5/17--5/21 Introduction to Arrays Chapter 10 Final project
    5/24--5/28 Final Project Final Project Final Project
    5/31--6/4 Final Project

    Final Project

    Presentation of Final Projects
    6/7--6/10 Finals Week TBD End Semester

    Readings are due each Monday.  Homeworks and projects are due AT THE BEGINNING OF CLASS on the following Monday unless it is a holiday. In that case they are due the first class period following the Monday.

    Example: Chapter 1 of the textbook should be read by Friday, 1/29.  Chapter 2 should be read by Monday, 2/1, so we can talk about it during class.  The written/programming homework for Chapter 1 is due on Monday 2/1, Chapter 2 homework is due on Monday 2/8, etc.

    Unexcused late homework, projects, quizzes, and tests will be given a score of zero.  If you expect to have problems meeting a deadline, I need to know about it in advance.  Excuses after the fact will be given zero tolerance, barring a medical excuse signed by parents. Note that I hate being this way, but the fall semester just ate me alive because I was lenient too often.