Timetable

This is a tentative timetable. It will be updated frequently. Check often!
Last updated: April 25, 2008
Click here to jump to this week's schedule.

  Date Topics Class Materials Reminders
W 01-16 overview ppt PPT fill out pandemic plan contact info form
  Lab 01 install Flash CS3 (Flash 9), Flash workspace, drawing tools ppt PPT

fla sample completed files

 
F 01-18 vector graphics vs. bitmap images

symbol in Flash, master copy vs. instance, naming movieclip instances

 

ppt PPTs:
1. vector graphics vs. bitmap images
2. symbols in Flash

pdf Reading: Digital Media Primer Chapter 8 pdf file Sections 8.5 and 8.6.2

 
M 01-21 University holiday: MLK Day
W 01-23 basic animation concepts: keyframes, frame-by-frame, tweening

animation: frame rate, mask, motion guide (part of the lecture will be combined with the lab)

ppt PPTs:
1. animation basics
2. mask, frame rate, motion guide
10-min quiz #1 on materials covered in lecture on Jan. 18
  Lab 02 Animation Basics: onion skin, insert/remove frames/keyframes, frame-by-frame animation, shape tween, motion tween, mask Lab02 instructions and example completed animation

fla example completed files:
1. flying bird
2. spinning coin
3. x-ray mask

 
F 01-25 overview of programming concepts and constructs (part 1) ppt PPT: programming fundamentals (part 1)

pdf Reading: Digital Media Primer Chapter 9 pdf file

 
M 01-28 continue on overview of programming concepts and constructs (part 1)

overview of programming concepts and constructs (part 2)

ppt PPT: programming fundamentals (part 2)

pdf Reading: Digital Media Primer Chapter 9 pdf file

Homework #1: identify programming constructs (due Wed):
- handout (you got this in class)
- fla Flash file of the game corresponding to the code in the homework

 
W 01-30 continue on overview of programming concepts and constructs (part 2)

variables vs. string literals

event handlers (part 1)

where do scripts go

ppt PPTs:
1. about this week's short quiz
2. variables vs. string literals
3. events and event handlers (part 1)

pdf Reading: Digital Media Primer Chapter 11 pdf file Sections 11.1 to 11.6

Homework #1 due in class
  Lab 03 use of trace( ), learn to read syntax error report, locate and fix syntax errors, identify pairing curly braces and parentheses, variables vs. string literals ppt Lab manual

fla Lab file

ppt PPT

 
F 02-01 event handlers (part 2)

controlling movieclip instances' properties

ppt PPTs:
1. event handling (part 2)
2. controlling movieclip instances

ppt Homework #2: event handling (due Mon)

10-min quiz #2 on materials covered in lectures: Jan. 25, Jan. 28 and Jan. 30
M 02-04 collision detection (built-in hitTestObject( ) and hitTestPoint( ) methods) ppt PPTs:
- collision detection
- movieclip instance naming convention for this class

Homework #3:
A simple Pong game (due Wed 12:00 noon)
- PPT
- detailed instructions and demos of how the completed file works: Part 1 and Part 2

upload Homework #2 before class
W 02-06 understanding ENTER_FRAME event

generate random numbers

work with text in Flash

(the lecture will be combined with the lab)

ppt PPTs:
1. Math.random( )
2. working with text in Flash
10-min quiz No quiz this week; replaced by Homework #3

upload Homework #3 by 12:00 noon

  Lab 04 File #1: Program a Pong game: custom-define function, calling a function, mouse event handler method, frame event handler method, if/else, logical operator, hitTestObject( ), dynamic text

File #1: Pong game:
- ppt PPT
- Part 1, Part 2

- extra credits

 
F 02-08 Lab 04 File #1: reduce code duplication

control the playhead (gotoAndPlay( ), gotoAndStop( ))

Lab 04 File #2: Interactive hairstyle customization: controlling the playhead using gotoAndStop( ) and stop( )

ppt PPT: controlling playhead

File #2: hairstyle customization:
- ppt instructions & see how the completed file works
- fla Flash file: see how the movieclips are set up

upload the lab04 files (Pong game and hairstyle, and any Pong game extra credit files) by mid-night Friday night
M 02-11 recap on Lab 04: solutions to extra credits for Lab 04 (Pong game lab)

modeling gravity

ppt PPT: modeling gravity

Homework #4: start a side-scrolling platform game:
- code outline (handout given in class)
- example box movieclip
- see how the completed file works

 
W 02-13 the lecture will be combined with the lab About Test #1:
- on Feb. 20 (Wed)
- about 1 hour
- cover materials from Jan. 25 to Feb. 18

pdf Test #1 expectations and practice questions

upload Homework #4 by 12:00 noon

10-min quiz No quiz this week; replaced by Homework #4

  Lab 05 Program a continuous scrolling platform game: keyboard event handling, mouse event handling, if/else, modeling gravity, collision detection, problem-solving (continuous scrolling and making the items reappear) instructions handout given in class

see how the completed file work

explanation of the code for recycling the coin

explanation of the code for continuous scrolling

 
F 02-15 arrays

recap on Lab05: solutions to the two extra credits

Arrays:
- ppt PPT
- supplementary reading
 
M 02-18 loops (part 1): while-loop and for-loop

Review

ppt PPT: while loop and for loop

pdf Reading: Digital Media Primer Chapter 11 pdf file Sections 11.10.4

 
W 02-20 TEST #1 About Test #1:
- about 1 hour
- cover materials from Jan. 25 to Feb. 18

Expectations and practice questions: see the pdf posted on Feb. 13

Last day to drop classes
    No lab    
F 02-22 go over HW#5 Homework #5 (due Mon):
Starting a Tic-tac-toe board game:
- ppt instructions
- see how the completed file works

 
M 02-25 loops (part 2): for..in, do..while, nested loops

finish up animation basics: frame rate, motion guide (from Jan. 23)

PPT: ppt loops (part 2)

upload Homework #5 before class
W 02-27 recap on Test #1

(the lecture will be combined with the lab)

  10-min quiz No quiz this week
  Lab 06 Program a tic-tac-toe game: use of 2-dimensional array, custom-define functions, parameter passing, return a value, nested for-loop, problem-solving tic-tac-toe game:
-ppt instructions
- see how the completed file, in-progress files, and extra credit files work

 

F 02-29 swap the values of two variables

sorting algorithms: selection sort, bubble sort, insertion sort

ppt PPTs:
1. swap
2. selection sort
3. bubble sort
4. insertion sort

To practice for Wed quiz: run the code with different arrays and verify your prediction of the progress of the sorting process

 
M 03-03 more on programming concepts and constructs: switch statement

intro to OOP, objects, classes (Part 1)

PPTs:
1. ppt switch statement
2. ppt OOP (Part 1)

Reading: pdf file on OOP concepts

fla OOP code example:
- class file Dog.as
- Flash file showing how to instantiate Dog class to create an object and call the class methods

 
W 03-05 more on programming concepts and constructs: scope of variables (global, local, and timeline)

collision detection (simple distance-based)

debugger

PPT:
1. ppt scope of variables
2. ppt simple distance-based collision detection (see PPT of the Lab 07 Part A below)
3. ppt debugger
10-min quiz #3 on 3 sorting algorithms and swtich statements
  Lab 07 Part A: simple distance-based collision detection

Part B: scope of variables

Part A:
- PPT
- description and how the completed file works

Part B: Lab questions: Note down your answers on paper, and type the answers into the Comments box on Blackboard when you upload the file for Part A.

 
F 03-07 intro to OOP, objects, classes (Part 2)

 

inheritance

ppt PPT: Intro to OOP Part 2

To download any code examples, right-click on the link and choose Save Link As...
Save the class file and the Flash file (that uses the class) in the same folder.

fla OOP code example:
- class file Laser.as
- Flash file showing how to instantiate Laser class to create an object and call the class methods

fla OOP code example:
- class file Car.as
- Flash file showing how to instantiate Car class to create an object and call the class methods

ppt PPT: inheritance

code examples:
===============
Example #1:
superclass: Mammal
subclasses: Dog, Whale
--------------------
- fla class files Mammal.as, Dog.as, and Whale.as
- fla Flash file showing how to instantiate Dog and Whale classes to create objects, and call the class methods defined in the corresponding subclasses and the superclass

Example #2:
superclass: Laser
subclass: RechargeableLaser
-------------------
- fla class files RechargeableLaser.as and Laser.as
- fla Flash file showing how to instantiate RechargeableLaser class to create an object and call the class methods defined in Laser and RechargeableLaser classes

 
M 03-10 Srping break
W 03-12
F 03-14
M 03-17 use addChild( ) to give an instantiated object a visual representation

review: OOP basics, inheritance

ppt PPT: give an instantiated object a visual representation

fla OOP code example of giving an instantiated object a visual representation
- class file Ball.as
- Flash file showing how to instantiate Ball class

pdf Reading on Linkage and addChild() if you feel you need some reading about them: Digital Media Primer, Chapter 11, Section 11.10.5

 
W 03-19 static attribute for class properties and methods ppt PPT: static attribute

Example: static property
-------------------
- fla class files Laser.as
- fla Flash file: do a Test Movie, click on each of the lasers on stage and see how the remainingPower changes

20-min quiz #4 on OOP basics, inheritance, and giving instantiated objects a visual representation
  Lab 08 OOP Pong OOP Pong
- how the completed file works
- PPT
 
F 03-21 Good Friday
M 03-24 pre-lab for lab 09

event listener code that allow simultaneous multiple key presses (No Powerpoint; take notes)

create multiple instantiated objects with a visual representation using array and for-loop

review: give an object a visual representation, and for multiple objects using array and for-loop

 

ppt PPT: create multiple instantiated objects with a visual representation using array and for-loop

Pre-lab09 (due Wed at beginning of class): print it out and fill in the code, or copy them on index cards and fill in the code on the other side of the index cards

 
W 03-26 3d linear perspective basics for Lab09

human visual perception: psychological depth cues

ppt PPT: basic ideas and math for depicting linear perspective 10-min quiz No quiz this week

pre-lab09 due at the beginning of the class

  Lab 09 Program a 3d drive-through fly-through: keyboard event, frame event, simultaneous multiple key presses, if-statements, basic math for 3d linear perspective, generate 100 trees and invoke methods for 100 trees using for loop and array, static properties, addChild( ), modeling gravity and friction instruction (handout given in class)

see how the completed file and extra credit files work

 
F 03-28 lab09 followup
(Bring Thinkpad if possible)

 

About the final project

lab09 followup:
1. handout (given in class)
2. ppt PPT: focal length
3. ppt PPT: wrapping
4. ppt PPT: trees go behind viewer

interactive demo: human visual perception: psychological depth cues

About the final project (see Final Project Description).

HW: write up a brief description of your final project idea, and upload to Blackboard before next class

pdf lab09 questions (given in class)

Lab09 due before class

sign up a time for an individual meeting about your project (to discuss your project ideas and plan for programming it)
You can also go to the above Web page any time to check the time you have signed up.

M 03-31 encapsulation

access specifiers: public, private, protected, internal

polymorphism

ppt PPTs:
1. encapsulation, access specifiers
2. polymorphism

Code examples: Animal.as, Dog.as, Cat.as, Bird.as, Frog.as, BigFoot.as, demo-polymorphism.fla
due:
1. a brief description of your final project idea
2. lab09 questions
3. sign up an individual meeting time
W 04-02 naming conventions, commenting, coding style ppt PPT: naming conventions, commenting, coding style 10-min quiz No quiz this week
  Lab 10 Start working on your project, based on what we have discussed in the individual meeting. Everyone must create at least one class (must be related to your project), instantiate one or more objects from the class, give the instantiated object visual representation, write class method(s) and invoke the method(s) to make the object move or change on stage. Examples of what to expect for lab10 files

ppt PPT

 
F 04-04 problem-solving examples:
  • tiling
  • shuffle a deck of cards: use of array and splice
  • nested movieclips (no PPT for this one; take notes in class)
  • use of currentFrame and totalFrames to allow full playback of a triggered animation of a movieclip (no PPT for this one; see example Flash file)
pdf About Test #2: expectations and practice questions

ppt PPTs:
problem-solving examples:
1. tiling
2. shuffle a deck of card: use array and splice

fla Example file for currentFrame and totalFrames

Lab 10 is due before class
M 04-07 followup of Lab09: answers to the extra credits and lab questions

problem-solving examples:

  • toggle
  • generate random timing
  • strategies for 3d collision detection in the 3d fly-through project (no PPT for this one; take notes in class)
About first version of your project

 

ppt PPTs:
problem-solving examples:
1. toggle
2. generate random timing

 
W 04-09     10-min quiz No quiz this week
  Lab 11 Write short programs:

Program #1: toggle

Program #2: shuffle a list of items, such as a deck of cards

Program #3: tiling objects on a grid

Program #4: randomize timing using Timer object to program a tortoise and hare race

See how the completed files work

PPT: Program #2 shuffle

 
F 04-11 TEST #2 About Test #2:
- pdf expectations and practice questions
- about 1 hour
- cover materials from Feb. 25 to Apr. 9
TEST #2
M 04-14 controlling sound playback using Actionscript

startDrag( ) and stopDrag( )

controlling masks using Actionscript

snapping to a grid

ppt PPTs:
1. controlling audio playback
2. drag
3. draggable mask
4. snapping
 
W 04-16

 

  10-min quiz No quiz this week
  Lab 12 Program #1: sound
Program #2: draggable mask
Program #3: snapping to a grid
How the completed files work  
F 04-18 binary notation, binary-decimal conversion, hexadecimal-decimal conversion, representation of information on computers ppt PPTs:
1. binary notation
2. hexadecimal notation
3. color representation
DUE: version 1 of your project due before class
M 04-21 searching algorithms: linear search, binary search

setting color using ActionScript

ppt PPTs:
1. linear search and binary search
2. setting color using ActionScript
3. filters

sample checklist for project (handout given in class)

If you want to meet to discuss the final version of your project, sign up a time for an individual meeting.
You can also go to the above Web page any time to check the time you have signed up.
W 04-23 filters (continued)   10-min quiz No quiz this week
  Lab 13 Program #1: Adjust color using ActionScript: hairstyle again, but dye the hair this time!

Program #2: Glow filter

Program #3: Blur filter

How the completed files work  
F 04-25 binary notation of fractions

FlashLite (for cell phones)

Identify programming constructs in other programming languages

ppt PPT: fractions in binary notations

Handouts given in class:
- Identify programming constructs in sample C++ code

Microsoft Visual C++ 2005 Express Edition installer on CD (handed out in class)

M 04-28 Lab 14
Program #1: A simple sales tax calculation--first trial on C++

Program #2: Program a simple ASCII art animation in C++

Bring Thinkpad; class is held in room 241 today

 

DUE: final version of your project due before class

Pre-lab: have Microsoft Visual C++ 2005 Express Edition installed on your Thinkpad before class

W 04-30 last-minute questions, about the final exam

teaching eval.

About the final exam last day of class
  Lab 15 Program #1: apply programming concepts in other programming languages: a tic-tac-toe game in C++

Program #2: a battleship game in C++

tictactoe C++ file

Board.h
Board.cpp
ComputerPlayerBoard.h
ComputerPlayerBoard.cpp
main.cpp

 
W 05-07 Final Exam (9:00am, Manchester 241)

Alternate session: 2:00PM, Room: 242
Students confirmed coming to the alternating session are: Thomas Wunderlich, Kirsten Lenihan, and Thomas Sherbakoff

  About final exam