Course Schedule
The following publications are referred to on
the schedule below:
- Adams
- Joel Adams, Alice in Action: Computing through
Animation, Thomson Course Technology, 2007.
- Bruce
- Kim Bruce, Andrea Danyluk and Thomas Murtagh, Java: An
Eventful Approach, Prentice Hall, 2007.
- Jan. 31: Introduction to Alice and Objects
- Readings: Adams, Chapter 1
- Feb. 5: Methods
- Readings: Adams, Chapter 2
- Examples
- Feb. 5/6: Alice Lab 1
- Feb. 7: Variables and Functions
- Readings: Adams, Chapter 3
- Examples
- Feb. 12: Flow control
- Readings: Adams, Chapter 4
- Examples
- Feb. 12/13: Alice Lab
2
- Demo
- Feb. 14: Lists and Arrays
- Readings: Adams, Chapter 5, excluding 5.2
- Examples
- Feb. 19: Event Handling
- Readings: Adams, Chapter 6
- Examples
- Skaters
- demonstrates reacting
to keyboard and mouse input
- Feb. 19/20: Alice lab 3
- Demo
- Feb. 21: More Alice Practice
- Readings: None
- Examples
- Random
cow walk - demonstrates use of random
number function and random boolean function
- Helicopter simulation
- simulator we developed in class, just goes up, down and
forward so far
- Feb. 26: Randy Pausch, the creator of Alice,
speaks on Really
Achieving Your Childhood Dreams
- Alice Test Program
- Feb. 26/27: Work on test program.
- Feb. 28: Graphics and Event Handling in Java
- Readings: Chapter 1
- Slides
- Examples
- Mar. 4: Variables and Numbers
- Readings: Chapters 2 and 3
- Slides
- Examples
- Stick figure -
Drawing graphical shapes, using named constants, mouse event handling
- Mar. 4/5: Java Lab 1 - Drawing and Event
handling
- Handout
- Demo
- Mar. 6: Conditionals and Primitive Types
- Readings: Chapters 4 and 5
- Slides
- Examples
- Mar. 11: Colors, Randomness, Classes
- Readings: 6.1-6.3
- Slides
- Examples
- MysteryDrawing
- Draws lines with a shared endpoint as the user drags the mouse
- ColorfulMysteryDrawing
- Draws lines with a shared endpoint as the user drags the
mouse. Each line has a randomly chosen color.
- RedGradientMysteryDrawing
- Draws lines with a shared endpoint as the user drags the
mouse. Each line uses a different shade of red.
- Scribble
- Allows the user to make free-hand drawings.
- Mar. 11/12: Java Lab 2 - Conditionals
- Handout
- Running
program
- Mar. 13: Classes
- Readings: 6.4-6.7
- Slides
- Examples
- MysterProgram
- Demonstrates use of random number generation to generate
colors and locations
- DraggingTrain -
Shows how to use abstraction and delegation to drag a train object
- MovingTrain -
A smarter way to drag a train. This one stays on the track.
- Mar. 25: Declarations and Scope
- Readings: Chapters 8
- Slides
- Examples
- ClassySnowman
- Demonstrates use of local variables, instance variables and
parameters. Also shows how to define a class to create an
abstraction and to use delegation to implement the methods
inside a class. (Very similar to the DraggingTrain example.)
- ColorChangingCircles -
Shows the declaration and use of a private method.
- Mar. 25/26: Java Lab 3 - Classes
- Handout
- Running
program
- Mar. 27: While Loops
- Readings: Chapters 7
- Slides
- Examples
- ContainedBall
example - Pay attention to thte use of parameters,
instance variables and if-statements
- Railroad
example - Demonstrates a while loop to draw railroad ties
- Fireworks
example - Demonstrates while loops to draw an individual
firework and to count the number of fireworks in a finale. Also,
uses an instance variable to count the fireworks before the finale.
- Apr. 1: For loops
- Readings: Chapter 13
- Slides
- Examples
- Apr. 1/2: Java Lab 4 - While loops
- Handout
- Running
program
- Picture.java - You
need to import this class into your project. You should not
modify this class!
- A photograph to manipulate
- Apr. 3: Arrays
- Readings: 14.1-14.5
- Slides
- Examples
- Apr. 8: Strings
- Readings: Chapter 16
- Slides
- Examples
- Apr. 8/9: Java Lab 5 - Arrays
- Handout
- Running program
- Apr. 10: Strings
- Slides
- Apr. 15: Midterm review
- Slides
- Apr. 15/16: No lab - Study for midterm.
- Apr. 17: Midterm
- Sample questions
- Sample answers
- Midterm
- Midterm solution
- Apr. 22: Strings
- Slides
- Apr. 22/23: Java Lab 6 - Strings
- Handout
- URLReader class
- Apr. 24: Debugging and Interfaces
- Readings: Chapter 10
- Slides
- Drawing Program example
- Spam filter
- Another String example
- Drawing program
- A program that demonstrates the use of an interface as the
type of a variable.
- Apr. 29: Swing -- Graphical User Interfaces
- Readings: 11.1-11.4
- Slides
- Apr. 29/30: Java Test Program
- Handout
- Photos and Picture.java in
a zip file
- May 1: Graphical User Interfaces
- Readings: 11.5-11.8
- Slides
- Basic buttons example - Shows how to create buttons,
but the buttons have no action associated with clicking on them.
- Basic
buttons example - This version creates a Text object when
a button is clicked.
- Drawing
Program example - Shows how to place more than one button
in one of the 4 compass directions.
- Drawing
Program example - Shows how to nest panels within each
other
May 6: Exam Review
- Readings
- Sample questions
- Sample answers