CSC 240: Computer Graphics (Fall 2008)

Last Updated: 

InstructorJoseph O'Rourke
Textbook: None!  This course is somewhat unusual and is not approximated by any existing textbook. This saves you money but puts a demand on your attendance, attention, and note-taking.
Location: Burton B17.
Time: MW 9:00-10:20AM.
Overview This course is intended for all students with one introductory programming class. It serves both for the Digital Arts Minor, and as a Computer Science Major course, covering both Programming and Theory.
Prerequisites: The prerequisites are minmal: One course in programming, e.g., Computer Science I (CSC 111), language not so crucial; Four yrs of HS math.
Two Tracks: The course has two tracks in the assignments: (1) for those counting it for Computer Science major programming or theory credit, or (2) for those counting it as a generic "elective," e.g., for the Digital Arts Minor.   Computer Science majors are welcome to follow Track 2 if it is not fulfilling the programming or theory requirements. And anyone nominally in Track 2 can select the Track-1 assignment any week.
Programming Language: I am assuming only exposure to Python from Computer Science I. Programming experience in C or C++ is not required. One-course experience in C++ or Java will suffice to supplant experience with Python, because we will use Python only superficially to call OpenGL library routines.
Software:

Course Structure:  We meet two times a week; there is no lab, although we will do many "minilabs" during class time.  There will be one assignment per week, due (generally) each Tuesday at midnight. Ideally you get started over the weekend and are prepared to ask questions in Monday's class. Collaboration is permitted, even encouraged, on assignments. Precise details in the detailed schedule.

Exams:  Two of the assignments will be one-week take-home "exams," which are very much like assignments except that (a) they focus more on understanding rather than doing, and (b) unlike assignments, there is no collaboration permitted. You can view the assignment-exams as more comprehensive assignments that count slightly more than a normal assignment.

Project: There is a final (structured) project, due on the last day of the exam period.

Grades:

8 Assignments
60%
2 Assignment-exams (take-home)
20%
Project
20%

TA: Volha Charnysh <vcharnys@email.smith.edu>. Her lab hours will be as follows in McConnell 104 x3853:

Day
Time
Monday 7:30PM-10:30PM
Tuesday ~9:30PM-11:00PM

Grading Numerology

Late Policy

Resubmission Policy

O'Rourke Office Hours & Schedule


Anonymous feedback to Joe on any subject. (Just send me email <orourke@cs.smith.edu> if there is no need for anonymity.)

Syllabus (with links to details below)


Last Update:


Week
Dates
Topics
Assignment
Sep 8,10
Introduction; Postscript
 
Sep 15,17
Postscript; OpenGL
1: Postscript
Sep 22,24
Graphics Hardware; OpenGL;2D Transformations;
2: OpenGL
Sep 29, Oct 1
Game Programming: GameMaker Basics
3: Transformations
Oct 6,8
GameMaker: Scripts
 4a: GameMaker-I
6
Oct 15
[Oct 13: Fall Break] Review
4b: GameMaker-II
7
Oct 20,22
Bezier curves
5: MidTerm
8
Oct 27,29
Curves & Surfaces
6:Illustrator
9
Nov 3,5
Perspective; Blender
7: Blender
10
Nov 10,12
Blender
8: Blender
11
Nov 17,19
POV-ray: camera, lights
9 :POV-ray
12
Nov 24
[Nov 26: Thanksgiving]
 
13
Dec 1,3
Reflectance; Texture
POV-ray Project
14
Dec 8,10
Ray-tracing algorithm
10: Final
 
Dec 12-15
[Reading Period]
 
 
Dec 16-19
[Exams]
 

More Details

Week
Dates
Topics
Info/Software Links
Sample Files
Notes
Labs
Assignments
Mon Sep 8
Introduction; Postscript: begin
 
 
Wed Sep 10
Postscript: vars, procs, translate
Windows: GSview;
[also: Emacs]
Mac OS X: PostView
 
 
 
Mon Sep 15
Postscript: Transformation, Control Structures, Text palette.ps
 
Wed Sep 17
OpenGL: begin
History
Structure
Operation
PyOpenGL
Python
PyOpenGL

OpenGL Tutorial
 
Mon Sep 22
Graphics hardware
Animation in OpenGL
OpenGL pipeline
 
Wed Sep 24
Transformation matrices Wikipedia on Transf. Matrix    
Mon Sep 29
GameMaker Resources:
Rooms, Objects, Sprites, Events, Actions, etc.
GameMaker
GM Wiki
 
A4a
due Tu 7th @midnight
 
Wed Oct 1
GameMaker: Events, Actions, Variables    
Mon Oct 6
Scripts; GML; variables
 
 
A4b
due We 15th @midnight
 
Wed Oct 8
Debugger; Particle Systems        

 

Five College Graphics Courses