Syllabus
ECSE-4750 Computer Graphics
Rensselaer Polytechnic Institute
Fall 2005
ECSE-4750 Computer Graphics
Rensselaer Polytechnic Institute
Fall 2005
- 1. Updated Catalog Description
- 2. Course Objectives
- 3. Why Take This Course?
- 4. Why Not To Take This Course
- 5. Prerequisites
- 6. Staff
- 7. Course Homepage
- 8. Reading Material
- 9. Computer Systems Used
- 10. Times & Places
- 11. Grades
- 11.1. Components
- 11.2. Weights and Cutoffs
- 11.3. Missing or Late Work
- 11.4. Grade Distribution
- 11.5. Verifying Grades
- 12. Honesty Policy
1. Updated Catalog Description
Mathematics, data structures, algorithms, and programming for the pictorial synthesis of real or imaginary objects. Raster and vector graphics. Abstract and real I/O devices. Scan conversion. Filling and clipping. Graphics hardware. Color. Video controllers. Geometric transformations in 2-D and 3-D. Projections and viewing. Introduction to OpenGL. Object hierarchy. Visible surface determination. Programming assignments in C. Prerequisite: ECSE-2610. Fall term annually. 3 credit hours
2. Course Objectives
- to learn the principles and commonly used techniques of computer graphics
- to develop a facility with the relevant mathematics
- to gain an introductory proficiency with OpenGL, one of the most widely used APIs.
3. Why Take This Course?
- Graphics is fun. It's got a history, since it is a takeoff from geometry, which is at least 2500 years old. There are pretty pictures involved. It's based on state-of-the-art hardware.
- It has applications, and is tied into the real world, and is not just theoretical.
- Nevertheless, it's not just practical stuff with no depth, but has some theory and math also.
- It teaches practical knowledge, e.g., OpenGL that can lead directly to a job.
4. Why Not To Take This Course
- You don't like programming.
- You don't like documenting your programs.
- You don't like math.
- You don't like reading.
- You don't like writing exams at the official scheduled times.
5. Prerequisites
This is a senior CSYS course, and assumes a moderate computer maturity, represented in the catalog by ECSE-2610 (Computer Components & Operations). You should know some HW, but if you don't have that specific course, don't despair.
Since there is programming in C or C++, you also must know some high level language, which you can translate into a knowledge of some C. If you don't know what a pointer is, then drop this course and take Computing Languages first. A good review book on C is Kelley & Pohl, A Book on C.
Computer Graphics also assumes that you know, or be able to learn, some basic linear algebra, up to the level of what an eigenvalue is.
If you're uncertain about taking this course, then, by all means, talk to me, or to previous people in it. If there is one specific fact that is unfamiliar, such as eigenvalue, then there's no problem at all.
6. Staff
6.1. Prof
W. Randolph Franklin.
BSc (Toronto), AM, PhD (Harvard)
I've been doing graphics related programming since the 1960s, and have been teaching versions of this course since 1982. I've been at RPI since 1978, apart from several absences, including a year at Berkeley, 3 months at Genoa, and shorter times at Laval University in Quebec City, the Commonwealth Scientific and Industrial Research Organization in Canberra, and the National University of Singapore. I also spent 2 years 7 months as Director of the Numeric, Symbolic, and Geometric Computation Program at the National Science Foundation, recommending how to spend your tax dollars (thanks!).
Office: Engineering Center (JEC) 6026
Phone: (518) 276-6077
Email: wrfXXXecse.rpi.edu, replacing XXX with the AT sign.
Web:
http://www.ecse.rpi.edu/Homepages/wrf/
Office hours: after each lecture. Usually I stay as long as anyone wants to talk.
Preferred communication medium: email
6.2. Teaching Assistants
TBD7. Course Homepage
http://www.ecse.rpi.edu/Homepages/wrf/Teaching/graphics-f2005/
8. Reading Material
8.1. Textbooks
As listed on the RPI Bookstore site:
INTERACTIVE COMPUTER GRAPHICS...OPENGL 0-321-32137-5 Author: ANGEL Edition: 4TH Pub: AW Req / Opt: Required New Price: $91.50 Used Price: $68.75 OPENGL SUPER BIBLE (WCD) (P) 0-672-32601-9 Author: WRIGHT Edition: 3RD Pub: *UNK* Req / Opt: Optional New Price: $51.00 Used Price: $38.25
Angel's web site for his text is here.
There are also several other good OpenGL books, if you have the money. One good (and cheap) one is:
OpenGL : A Primer (2nd Edition) (Paperback) by Edward Angel, on Amazon.
8.2. My Notes on Various Graphics Topics
I've prepared web notes on some topics that I think I describe better than the text. They'll be linked from the appropriate lecture on the calendar.
8.3. Assorted online material
There is a lot of good, free, online material about OpenGL and graphics in general. I'll mention some of it; Google can find more.
9. Computer Systems Used
You may use any system that works for you, and that can do the work. My examples will generally be in Linux.
10. Times & Places
10.1. Course Sections
Computer Graphics has two official sections, with CRNs 40308 and 44472. The lectures coincide. It doesn't matter which section you're officially registered for.
Attendance is optional. However, I may base an exam question on a student question in class.
10.2. Lectures
Mon & Thurs, 9-9:50 am, in LOW (aka CII) 4050.
10.3. Labs
Wed, either 2-4 or 4-6 in Amos Eaton (AE aka EATON) 216. If there is space, you may switch labs, or come to both. Bring your laptop computer.
11. Grades
11.1. Components
11.1.1. Midterm Exam
There will be a midterm exam in class as listed in the calendar. You may bring in any printed material, but no computers. No collaboration or communication (except with the staff) is allowed.
The exam may contain some recycled homework questions.
11.1.2. Homeworks
There will be a homework approximately every week. You may do it in teams of 2.
11.1.3. Labs
There will be a weekly lab. Often part of a homework will be to turn in something you did in the previous lab. Other than that the labs will not be graded, and attendance is optional.
11.1.4. Term Project
A term project will be due. You may do it in teams of up to 3 people. You will implement, demonstrate, and document something related to Computer Graphics. You will sign up to demo it to the TA in one of the last two labs.
11.1.5. Final Exam
There will be a final exam on a date set by the Registrar. You may bring in any printed material, but no computers. You may not share the material with each other during the exam. No collaboration or communication (except with the staff) is allowed. The final exam will contain material from the whole course, but more from the last half.
11.2. Weights and Cutoffs
| Component | Weight |
|---|---|
| All the homeworks together | 25% |
| Midterm exam | 25% |
| Term project | 25% |
| Final exam | 25% |
Even if the homeworks be out of different numbers of points, they will be normalized so that each homework has the same weight.
| Course percentage | Letter grade |
|---|---|
| >=90.0% | A |
| >=75.0% | B |
| >=60.0% | C |
| >=50.0% | D |
| >=0% | F |
11.3. Missing or Late Work
We will drop the lowest homework grade. That will handle excused absences, unexcused absences, dying relatives, illnesses, team trips, and other problems. The homeworks will be due in the labs or by email, depending on the type of homework. Late homeworks will not be accepted.
If you miss the midterm because of an excused absence, we will use your final exam grade also as your midterm grade.
If you miss the final exam because of an excused absence, you may demonstrate your knowledge of the 2nd half of the course at an individual oral makeup exam.
If your term project is late, you will be offered an incomplete and the project will be graded in Jan 2006.
11.4. Grade Distribution
Whenever there is a new grade, we'll email the class.
11.5. Verifying Grades
When we return a graded homework or exam to you, please report any errors within one week.
When we report grades to you, please report any missing grades within one week.
It is not allowed to wait until the end of the semester, and then go back 4 months to try to find extra points.
12. Honesty Policy
- You may collaborate on homeworks, but each team of 1
or 2 people must write up the solution separately using their
own words. We willingly give hints to anyone who asks.
The penalty for two teams handing in identical work is a zero for both.
- You may get help from anyone for the term project. You
may build on a previous project, either your own or someone
else's. However you must describe and acknowledge any other
work you use, and have the other person's permission, which
may be implicit. E.g., my web site gives a blanket permission
to other people to use it for nonprofit research or teaching.
You must add something creative to the previous work.
The penalty for plagiarism is a zero grade.
- You must not communicate with other people or machines or
use electronic aids like computers and PDAs during exams.
That includes not exchanging books and notes during the exam.
You may use as many paper books and notes as you can carry,
wheel, or drag into the room.
The penalty is a zero grade on the exam.
- Also, all cheating will be reported to the Dean of Students Office.
-
The penalty for handing in the answer for a slightly different question that was on last year's homework or exam, because you copied but didn't even see that the question was different this time, is a zero and our scornful laughter.
Ditto for writing an exam answer that was more appropriate for the version of the exam handed out to other people in the room.