Fall 2007 CSC 108
Introduction to Programming
Dr. Yue-Ling Wong
 

Tentative Timetable (will be updated frequently; check often!)
Last Updated:Dec. 07, 2007

 
W 08-29

overview

  Lab 01 Install Flash 8, Flash workspace, drawing tools

1. ppt PPT
2 . fla sample completed files

 
F 08-31 vector graphics vs. bitmap images, symbol types, master copy vs. instance, naming movieclip instances  
M 09-03

symbols in Flash (cont'd)

basic animation concepts: keyframes, frame-by-frame, tweening

 
W 09-05

animation: frame rate, mask, motion guide

(part of the lecture will be combined with the lab)

10-min quiz #1 on materials covered in lectures: Aug. 31 and Sept. 03
  Lab 02 Animation Basics: onion skin, insert/remove frames/keyframes, frame-by-frame animation, shape tween, motion tween, mask  
F 09-07 overview of programming concepts and constructs (part 1)  
M 09-10

overview of programming concepts and constructs (part 2)

Homework #1 due in class
W 09-12

event handlers (part 1)

where do scripts go

10-min quiz #2 on materials covered in lectures: Sept. 07 and Sept. 10
  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  
F 09-14

event handlers (part 2)

controlling movieclip instances' properties

 
M 09-17

collision detection (built-in hitTest( ) method)

upload Homework #2 before class
W 09-19

controlling the playhead (gotoAndPlay( ), gotoAndStop( ))

working with text in Flash

(the lecture will be combined with the lab)

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

upload Homework #3 by 12:00 noon

  Lab 04

Part A: Program a Pong game: custom-define function, calling a function, mouse event handler method, frame event handler method, if/else, logical operator, hitTest( ), dynamic text

Part B: Interactive hairstyle customization: controlling the playhead using gotoAndStop( ) and stop( )

 
F 09-21

arrays

 
M 09-24

while-loop and for-loop

Review

upload Homework #4 before class
W 09-26

Review (cont'd: capture keypresses and if-statement)

Recap on Lab 04: solutions to extra credits for Lab 04 (Pong game lab)

10-min quiz #3 on arrays and loops
  Lab 05

Program a tic-tac-toe game: use of 2-dimensional array, custom-define functions, parameter passing, return a value, problem-solving

 
F 09-28

more on loops: for..in, do..while, nested loops

 

 
M 10-01

shuffle a deck of card: application of array and splice

Review (cont'd)

 
W 10-03

TEST #1

 

Last day to drop classes

         
F 10-05

swap

sorting algorithms: selection sort, bubble sort

 
M 10-08

sorting algorithm: insertion sort

Modeling gravity
Bring ThinkPad if possible (then you can test out the gravity code in class)

 
W 10-10

Basic math for depicting 3d linear perspective,
and translate them into code for Lab06

10-min quiz #4 on 3 sorting algorithms
  Lab 06 Program a 3d drive-through fly-through (Part 1): keyboard events, if-statements, basic math for 3d linear perspective Upload your Lab06 (Part 1) file before Friday class.
F 10-12

Lab06 (Part 2):
generate 100 trees, for loop, attachMovie(), wrapping, modeling gravity and friction, swapDepths( )
Bring ThinkPad

The Part 2 file is due Monday 2:00PM.

M 10-15

Lab06 follow-up: wrapping, swapDepths(), using functions to organize code

 

planning and starting a platform game (HW05)

upload Lab 06 (Part 2) before class
W 10-17

(the lecture will be combined with the lab)

10-min quiz No quiz this week; replaced by Homework #5 and #6 (DUE 1:00PM)

  Lab 07 Program a continuous scrolling platform game: keyboard events, if/else, modeling gravity, collision detection, problem-solving (continuous scrolling and making the items reappear)

Pre-lab required (from Homework #5)

DUE Sunday at 9:00PM

F 10-19 Fall Break
M 10-22

data types

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

 
W 10-24

Lab07 follow-up (about organizing code using functions)

debugger

collision detection (simple distance-based)

10-min quiz No quiz this week; replaced by Homework #7 (due in class)

  Lab 08

Part 1: data types, scope of variables, organize code using functions, reduce code duplication using functions

Part 2: simple distance-based collision detection

 
F 10-26

about the final project (see Final Project Description)

more on programming concepts and constructs: switch statement

intro to OOP, objects, classes (Part 1)

write up a brief description of your final project idea, and upload to Blackboard by 2:00pm Wed

sign up a time for an individual meeting about your project (to discuss your plan for programming your project)

M 10-29

intro to OOP, objects, classes (Part 2)

 

 

 

giving an instantiated object a visual representation

 
W 10-31

giving multiple instantiated objects a visual representation using attachMovie()

10-min quiz #5

Upload Homework #8 by 9:00PM Tue

  Lab 09

Part 1. Give an object a visual representation

Part 2. OOP Pong

 
F 11-02

inheritance

M 11-05

encapsulation

access specifiers: public, private, static

naming conventions, commenting, coding style

individual meetings: click here to check the date/time you have signed up for
W 11-07

 

10-min quiz #5 on switch statement, data types, and scope of variables, OOP, inheritance, encapsulation, access specifiers, and coding style
  Lab 10

Part 1. Inheritance

Part 2. 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 on stage.

Part 1 description

Part 2 description

Due on Sunday at noon
F 11-09

polymorphism

 

 

problem-solving example: generate random timing

Lab 10 is due on Sunday at noon
M 11-12

problem-solving: examples:

  • toggle
  • shuffle a deck of cards
  • nested movieclips (no PPT for this one)

Bring Thinkpad

 
W 11-14

Tiling

3d collision detection (no PPT for this one)

  Lab 11

Write short programs:

Program #1: toggle

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

Program #3: randomize timing using getTimer(): turtle and bunny race

Program #4: tiling movieclip instances on a grid

 
F 11-16 TEST #2   TEST #2
M 11-19

binary notation, binary-decimal conversion, hexadecimal-decimal conversion, representation of information on computers

 
W 11-21 Thanksgiving holidays
F 11-23
M 11-26

binary notation of fractions

searching algorithms: linear search, binary search

ActionScript refresher

DUE: first version of your project due at 11:55PM
W 11-28

ActionScript refresher (continued)

controlling audio playback using Actionscript

startDrag( ) and stopDrag( )

controlling masks using Actionscript

snapping to a grid

 
  Lab 12

Lab 12:
Program #1: audio
Program #2: draggable mask
Program #3: snapping to a grid

How the completed files work:

 
F 11-30

Strategies for collision detection in the 3d fly-through

Use of _currentframe and _totalframes to control playback of a triggered animation

apply programming concepts in other programming languages

 
M 12-03

Lab 13
Program #1: A simple sales tax calculation--first trial on C++

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

Bring Thinkpad

PPT Pre-lab: have Microsoft Visual C++ 2005 Express Edition installed on your Thinkpad before class
W 12-05      
  Lab 14

Program #1: apply programming concepts in other programming languages: a tic-tac-toe game in C++

Program #2: a battleship game in C++

10-min quiz #6

DUE: final version of your project due at 11:55PM
F 12-07

ActionScript 3.0

FlashLite (for cell phones)

last-minute questions, about the final exam

teaching eval.

last day of class
M 12-10

Final Exam 9:00am
Room: Manc 241
Bring Thinkpad

Alternate Exam Time: 2:00pm
Room: Manc 242
Bring Thinkpad
Students planning to come to this alternate session: Andrew, Katie, Marc

About final exam
Copyright © Dr.Yue-Ling Wong, Wake Forest University.