CS 430 Computer Graphics I
Section 001
  • Instructor: Dr. David Breen
    • E-mail: david_AT_cs.drexel.edu (replace _AT_ with @)
    • Office: Korman 297
    • Office Hours: Tue 3:00-5:00
    • Class Hours: Tue/Thur 11:00-12:20
    • Class Location: Matheson 309
    • Phone: (215) 895-1626
  • Teaching Assistant: Craig Schroeder
    • E-mail: cas43_AT_cs.drexel.edu (replace _AT_ with @)
    • Office: Korman 207
    • Office Hours: Wed 2:00-4:30
Course Page : http://www.cs.drexel.edu/~david/Classes/CS430

Required text:
  1. Computer Graphics with OpenGL, Donald Hearn, M. Pauline Baker, 3rd Edition, Prentice Hall, 2004; ISBN: 0-13-015390-7
Suggested Supplemental Texts:
  1. Introduction to Computer Graphics, by James D. Foley, Andries van Dam, et al. Addison-Wesley Pub Co, 1994; ISBN: 0201609215
  2. Curves and Surfaces for CAGD, 5th ed., by Gerald Farin. Published by Morgan-Kaufmann
E-mail List:
   cs430_AT_lists.cs.drexel.edu (replace _AT_ with @)
To subscribe email address to class email list: send an email message to majordomo@lists.cs.drexel.edu with the words "subscribe cs430" in the body of the email message. To unsubscribe email addresses from the list, use "unsubscribe cs430".

It is University policy that you read your official Drexel email; it is the course policy that you read it at least once per day.

Course Objective

Computer Graphics represents a vast technical field, ranging from mathematics and geometry topics to computer hardware and software engineering topics to rendering, animation and virtual reality, far more than can be comprehensively covered in a 10 week term. Computer Graphics I is designed to provide students with an introduction to the subject through detailed coverage of the mathematics and implementation of 2D and 3D curves and surfaces. The course culminates with a focus on 3D viewing and visible surface algorithms.


Students are required to have taken CS260 (Introductory Data Structures and Algorithms) and Math 201 (Linear Algebra). You will find this course extremely difficult if you do not have strong (B or better) linear algebra skills. No review of linear algebra will be given in this class. Students are assumed to have excellent knowledge of programming. Students can use whatever programming language they wish (C, C++, Java, Lisp, etc) for the assignments in this class with the following caveat: you will need to turn in both source code and an executable file for testing and evaluation. Code must run, without dynamic linking, as a single command-line process on Solaris OS. Arguments passed to the command-line will parameterize assignments; hence you'll need to read command-line arguments (argc, argv) and parse input files. This course is mathematically intense and implementationally challenging. You will be required to implement complex mathematical calculations as a regular part of your assignments.

Course Grading Scheme
  • Assignments (85%)
  • Final exam (15%)
I will use the standard grading scale of 100→ 90 (A), 89→ 80 (B), 79→ 70 (C), 69→ 60 (D), else (F). Please also note that incompletes will not be given for this course.


Students must work on the assignments individually. No geometry or graphics libraries may be used in the homework assignments. 2 points (out of 10) will be deducted from late assignments. You will be given a grade of 0 if an assignment is not turned in before the next assignment is due.
The programming assignments must be submitted via the 'submit' command on queen.cs.drexel.edu before 11:59 PM on the due date.
Note: If the TA or instructor finds strong evidence of cheating on assignments and/or the final examination, the student(s) involved will receive an "F" in the course, and a memo describing the cheating will be added to their student record. Be very careful, it is not worth the risk.
Note: Your source code for all programming assignments will be run through a plagiarism detection system. This program uses compiler techniques, which are invariant of syntax and style. If you are sharing code with other classmates, you will get caught.


There will be a final exam on material from the assignments and from class.

Week 1 (January 5-9)
Week 2 (January 12-16)
  • Reading Assignment - 15.1, 15.4, A.1→A.2, A.5, A.7, 5.1→5.6, 5.8→5.16, 5.18, 6.1→6.3
  • January 13 - Lecture: 2D-Transformations 6 per page
  • January 15 - Lecture: 3D-Transformations 6 per page
Week 3 (January 19-23)
Week 4 (January 26-30)
Week 5 (February 2-6)
Week 6 (February 9-13)
Week 7 (February 16-20)
Week 8 (February 23-27)
Week 9 (March 1-5)
Week 10 (March 8-12)

File last modified on March 3, 2004.