Computer Science 101


Click here for our Beta Alice 101 page used during our Alice pilot of 2004-2005 and course implementation November through March, 2006.

Click here for tutorials from a workshop at Duke University in Durham, North Carolina Region.

Click here for free Aice tutorials by Professor Richard Baldwin of Austin Community College in Austin, Texas.

Alice files are BIG. Consider a flash drive.
SectionTopicResourcesAssignments

0.0

Bootstrap Learning Alice

It is the "learning of Alice" and not "the Alice program" that we are bootstrapping in this unit.

Bootstrapping is explained here and here.

Get acquainted with Alice.

Play with Alice.

Why is it called Alice? Alice is not an acronym: it isn't A.L.I.C.E. and it doesn't stand for anything. The team named the system "Alice" in honor of Charles Lutwidge Dodgson (1832-1898), an English mathmatician and logician who wrote under the pen name Lewis Carroll. Carrol wrote Alice's Adventures in Wonderland and Through the Looking Glass.

In the same way that Alice was hesitant when she first stepped through the looking glass, you may have some doubts about learning to program. Please take that first step, and we promise that learning to program a computer will be easier than you might think.

The above explanation comes from the textbook by Wanda Dann, Stephen Cooper and Randy Pausch, Learning to Program With Alice (Pearson Education, Inc., Toronto, 2005), page 6.

A free and well illustrated copy of Carroll's Alice In Wonderland is available from Home Office Mall.

For a great read, get The Annotated Alice, The Definitive Edition of Alice's Adventures in Wonderland and Through the Looking-Glass by Lewis Carroll, (W.W. Norton & Company, Inc., New York, 2000). This particular edition has the original illustrations by John Tenniel, and notes throughout by Martin Gardner who was the mathematical games editor for 25 years for the Scientific American Magazine.

Legend to Resource References
View This blue background houses links to movies in Macromedia Flash format.
View This pink background houses links to PowerPoint Slide Shows.
Read This white background houses references to readings in the textbook, Learning To Program With Alice, 2006, [ISBN: 0131872893].
Save
&
Play
This green background houses links to Alice programs that must be first saved to a local drive before being loaded into and played from the Alice 3D Authoring System.


Save
&
Play

The following are Alice Tutorials accessed after launching Alice and clicking Help --> Tutorial --> Tutorial Tab --> click name of Tutorial --> Open --> Follow directions.

  1. IceSkaterWorld
  2. Naptime
  3. PenguinChorus
  4. Space


Save
&
Play

The following are Alice Examples accessed after launching Alice and clicking Help --> Example Worlds --> click name of Example --> Open --> Play.

  1. Almost All About Alice
  2. Amusement Park
  3. Flight Simulator
  4. Lake Skater
  5. Lake Skater Demo Start
  6. Light Demo
  7. Snow Love
  1. Download & unzip the most recent verion of Alice. Note that a JRE (runtime version of Java) is downloaded and installed with Alice. No further "installation" of Java or Alice is needed. If system requirements are otherwise satisfactory, Alice.exe runs "right out of the box".

  2. Install the Java 3D Runtime for the JRE in order to view Alice 2.0 worlds on the web.

  3. Install the Java Media Framework in order to view Alice 2.0 worlds on the web.

  4. Launch Alice. Do the following Online Tutorials.

  5. Help --> Tutorial 1 --> Open --> OK
         Learn the basics of Alice.

  6. Help --> Tutorial 2 --> Open --> OK
         Teach worlds & objects to do things.

  7. Help --> Tutorial 3 --> Open --> OK
         Mouse clicks & key presses.

  8. Help --> Tutorial 4 --> Open --> OK
         Create your own scenes.

SectionTopicResourcesAssignments

1.1

Introduction To Alice

Review class expectations.

Using Alice

  • Start Alice
  • Make a new world
  • Open a saved world
  • Play a world
  • Stop a world
  • Save a world
  • Add objects to the world
  • Delete objects from the world
  • Using the web gallery
  • Mouse controls in the scene editor
  • Move subparts of objects
  • Using quad view
  • Moving the camera
  • Arranging objects
  • Using popup menus
  • Using methods with object subparts
  • Motion controls
Get Flash Player here to view:

Read 1-1: Introduction to Alice
Appendix: Getting Started

Save
&
Play
Dancing Bee
First World

Movies are in Macromedia Flash format (go here: Flash player). Movies will open in a new window. If you have pop-up window prevention software you may not see the movie because of it.

View the movie which shows what Alice can do. Note that this video includes audio that narates the action.

View the movie to see how to bring an object into Alice from the gallery and move it around in the layout view.

Read and practice the following lessons in the Appendix.

  1. "Getting Started" Tutorial, Part 1
  2. "Getting Started" Tutorial, Part 2
SectionTopicResourcesAssignments

1.2

Alice Concepts

Objects in Alice

What is interactivity?

ViewIntroduction to Alice
Read1-2: Alice Concepts
Save
&
Play
Octopus
Skater

Print the source code of the programs done for exercises 1-5 below. Click here to see how.

  1. Exercise 1 - Island (p 16)
  2. Exercise 2 - Winter (p 17)
  3. Exercise 3 - Snowpeople Pile (p 17)
  4. Exercise 4 - Tea Party (p 17)
  5. Exercise 5 - Soldiers on Deck (p 17)
Chapter 1 Lab 1
SectionTopicResourcesAssignments

2.1

Animation Programs:
Scenarios & Storyboards

Creating your own animation (part 1)

Storyboards

View Robot Example
Snow Example
Read2-1: Scenarios & Storyboards
Save
&
Play
NIL: Planning comes first!
  1. Create a scenario and a storyboard for an Olympic ice skater. (as discussed in 2.1 (c) exercises on page 47):
  2. Prepare a hard copy of the code for this scenario.
Chapter 2 Lab 1
SectionTopicResourcesAssignments

2.2

Creating Animation:
A First Program

Creating your own animation (part 2)

Initial Scene

Code generation

View Robot Example
Snow Example
Read2-2: A First Program
Save
&
Play
First Encounter
First Encounter With Comments
Snow People
Snow People With Comments
  1. Exercise 2.2.4: Circling Fish (page 48)
  2. Exercise 2.2.5: Tortoise Gets A Cookie (page 48)
  3. Exercise 2.2.6: Magnet Fun (page 48)
Chapter 2 Lab 2
SectionTopicResourcesAssignments

3.1

Built-in Functions and Expressions

Instructions

Control structures

Questions

Expressions

View Mummy Example
Robot Example
Read
3-1:Built-in Functions & Expressions
Save
&
Play
First Encounter Distance Function
First Encounter Expression
First Encounter Expression V2
Mummy Distance Function
Mummy Expression
Mummy Expression V2
MummyExpression V3
  1. Exercise 3.1.1. Robot to Lunar Lander (p 68)

  2. Exercise 3.1.3. Hop (p 68)

  3. Exercise 3.1.4. Volleyball Jump (p 68)

  4. Revise the Volleyball jump world. Use an If/Else statement to make the tallest person jump up 1/2 of their height and the shorter person jump up 1/4 of their height.

Chapter 3 Lab 1
SectionTopicResourcesAssignments

3.2

Simple Control Structures

Repetition

Loop

View Mummy Example
Robot Example
Read
3-2:Simple Control Stuctures
Save
&
Play
First Encounter If/Else
First Encounter Loop
First Encounter Relational Ops
Mummy If/Else
Mummy Loop
Mummy Relational Ops
Mummy Simple Steps
  1. Exercise 3.2.5. SpiderRobot's Walk (p 69)

  2. Exercise 3.2.6. Blimp and Dragon (p 69)

Chapter 3 Lab 2
SectionTopicResourcesAssignments

4.1

World-level Methods

Creating your own methods

View Robot Example
Snow Example
Read
4-1:World-level Methods
Save
&
Play
First Encounter
Snow People
  1. Complete Section 4.1.1: Snowpeople Flip Hats (p 109)

  2. Complete Section 4.1.4: Helicopter Flight (p 111)

Chapter 4 Lab 1
SectionTopicResourcesAssignments

4.2

Parameters

Creating your own methods

View Band Example
Read
4-2:Parameters
Save
&
Play
Beetle Band V1
Beetle Band V2
  1. Exercise 4.2.5: Beetle Band Duet (p 111)
  2. Exercise 4.2.6: Frog Escape (p 111)
  3. Exercise 4.2.8: Dragons (p 112)
Chapter 4 Lab 2
SectionTopicResourcesAssignments

4.3

Class-level Methods and Inheritance

Class-level methods

Creating your own, more powerful classes

Inheritance

View Skater Example
Read
4-3:Class-level Methods and Inheritance
Save
&
Play
Skate Around
Skater

The following project is part of the next lab.

  1. Alice Project 1: Electronic Greeting Card

  2. Know how to copy an object from one world to another.

SectionTopicResourcesAssignments

Tips
&
Tech
4

Tips & Techniques 4 - Visible and Invisible Objects

Class-level methods continued

Using object parameters with class-level methods

View Visibility
ReadTips & Techniques 4 - Visible and Invisible Objects
Save
&
Play
Chicken Is Showing
Invisible Reference Point
Invisible Target
Lil Fish Opacity
  1. Exercise 4.3.9: Enhanced Clever Skater (p 113)
  2. Exercise 4.3.11: Funky Chicken Dance (p 114)
Chapter 4 Lab 3
SectionTopicResourcesAssignments

5.1

Interactive Programming

Events and event handlers

View Biplane Example
Read
5-1:Interative Programming
Save
&
Play
Biplane Acrobat
  1. Exercise 5.1.2. Flight Simulator - Alternate Version (p 135)
  2. Exercise 5.1.3. Robot Remote Control (p 136)
  3. Exercise 5.1.8. The Cheshire Cat (p 138)
Chapter 5 Lab 1
SectionTopicResourcesAssignments

5.2

Parameters & Event Handler Methods

More on interactivity

Passing parameters to event-handlers

View Save People and Zeus
Read
5-2:Parameters and Event Handling Methods
Save
&
Play
Save People
Zeus
  1. Exercise 5.2.10. Furniture Arrangement (p 138)
  2. Exercise 5.1.12. Snow Festival (p 139)
  3. Exercise 5.1.14. Penguin Slide (p 140)
  4. Alice Project Assignment 2
Chapter 5 Lab 2
SectionTopicResourcesAssignments

6.1

Functions

Built-in questions

Creating your own questions

View Functions
Read
6-1:Functions
Save
&
Play
Toy Ball Over Net V1
Toy Ball Over Net V2
Toy Ball Roll V1
Toy Ball Roll V2
Toy Ball Roll V3
  1. Exercise 6.1.2. Rotating Tires On A Car or Truck (p 171)
  2. Exercise 6.1.3. Bee Scout (p 171)
  3. Exercise 6.1.4. Pyramid Climb (p 172)
Chapter 6 Lab 1
SectionTopicResourcesAssignments

6.2

Execution Control With If/Else & Boolean Functions

Decisions

Boolean expressions

If statements

View Single Condition
Multiple Conditions
Read
6-2:Execution Copntrol With If/Else and Boolean Functions
Save
&
Play
Flight Collision V1
Flight Collision V2
Zeus V1
Zeus V2
Zeus V3
Zeus V4
  1. Alice Project Assignment 2
  2. Exercise 6.2.6. Modifications to the Zeus World (p 173)
  3. Exercise 6.2.11. Spanish Vocabulary (p 175)
  4. Exercise 6.2.12. Switch (p 175)
SectionTopicResourcesAssignments

Tips
&
Tech
6

Random Numbers and Random Motion

Student presentations for Assignment 2

View Random Numbers and Random Motion
ReadTips & Techniques 6 - Random Numbers and Random Motion
Save
&
Play
Gold Fish Random 3D Motion
Penguin Random Moves
  1. Project 6.2. Binary Code Game (p 178)
Chapter 6 Lab 2
SectionTopicResourcesAssignments

7.1

Loops

Introduction to repetition

The counted loop

Nested loops

View Repetition: Definite Loops
Read
7.1:Loops
Save
&
Play
Bunny Hop
Carousel
Ferris Wheel
Loop With Function Call
  1. Exercise 7.1.2. Square Bunny Hop
  2. Exercise 7.1.3. Saloon Sign
Chapter 7 Lab 1
SectionTopicResourcesAssignments

7.2

While - A Conditional Loop

Random Motion

View While: Indefinte Loops
Read
7.2:While - A Conditional Loop
Save
&
Play
Chase
  1. Exercise 7.2.5. Frog and Ladybug
  2. Exercise 7.2.10. Wind-up Penguin
Chapter 7 Lab 2
SectionTopicResourcesAssignments

8.1

Introduction to Recursion

Introducing Recursion

Comparisons with While

View Recursion
Read
8.1:Introduction to Recursion
Save
&
Play
Horse Race V1
Horse Race V2
  1. Exercise 8.1.1 Modified Horse Race
  2. Exercise 8.1.2 Butterfly Chase:
Chapter 8 Lab 1
SectionTopicResourcesAssignments

8.2

Another Flavour of Recursion

Structural recursion

The Towers of Hanoi

View More About Recursion
Read
8.2:More About Recursion
Save
&
Play
Towers of Hanoi V1
Towers of Hanoi V2
  1. Exercise 8.2.5. Towers of Hanoi
  2. Project 8.2. Skeleton Reversal
Chapter 8 Lab 2
SectionTopicResourcesAssignments

9.1

Lists

Introduction to lists

Iterating through lists in order

Iterating through lists simultaneously

View Lists
Read
9.1:Lists
Save
&
Play
Rockettes V1
Rockettes V2
  1. Exercise 9.1.1. The Wave
  2. Exercise 9.1.3. Spring Flowers:
Chapter 9 Lab 1
SectionTopicResourcesAssignments

9.2

List Search

Whack-a-mole example

View List Search
Read
9.2:List Search
Save
&
Play
Whack A Mole
  1. Exercise 9.2.3. Frog Crossing Pond
  2. Exercise 9.2.4. Earthquake
  3. Chapter 9 Section 2 Project 1: Halloween Treasure Hunt

    Note that you should make each tombstone (in the list) invisible when it is visited. When all tombstones are invisible, ghostlee wins!

Chapter 9 Lab 2
SectionTopicResourcesAssignments

10.1

Variables & Revisiting Inheritance

Introduction to variables

Revisiting Inheritance

Student presentations for Assignment 3

View Variables & Inheritance - Part 1

Variables & Inheritance - A Complex Example
Read
10.1:Variables
Save
&
Play
Timer
Steering Corvette
  1. Exercise 10-1.3. Binary Switches
  2. Exercise 10-1.4. Steerable Car With Rotating Tires
  3. Exercise 10-1.5. Steerable car With Shifting Gears
Chapter 10 Lab 1
SectionTopicResourcesAssignments

10.2

An Array Visualization Using an Index Variable

Introducfing arrays

Creation and access

View Arrays and Array Visualization
Read
10.2:An Array Visualization Using An Index Variable
Save
&
Play
Array V1
Array V2
Array V3
  1. Exercise 10.2.6. All Possible Permutations
  2. Project 10.3. Car Race
Chapter 10 Lab 2
SectionTopicResourcesAssignments

Tips
&
Tech
10

Debugging With Watch and Text Output

Allowing variables to be watched

Work on last class's assignment

View Debugging: Watch and Text Output
ReadTips & Techniques 10: Debugging With Watch and Text Output
Save
&
Play
Debug With Print
Debug With Watch
Timer Down
Read Tips & Techniques 10: Debugging with Watch and Text Output

Alice In Wonderland: An Interactive Adventure


[Counter On Strike [Home of Gerry Donaldson's Com Sci Gate]
[Gerry Donaldson's Email Address]
gerry@comscigate.com
ICQ# 62833374
[EFC Blue Ribbon - Free Speech Online]

URL:   http://www.comscigate.com/    Last Revised:   March 28, 2006