ECS175

ECS 175 Introduction to Computer Graphics

Spring Quarter 2000




Course Description:

This course acquaints the student with the basic principles and problems of computer graphics, and gives the student the mathematical background to understand and implement these basic principles. It also gives the student the computer science underpinnings of the implementation of computer graphics modeling and rendering systems.

Course Home Page

http://www.cs.ucdavis.edu/~ma/ECS175_S00

Prerequisite

ECS110 or ECE73; Mathematics 22A

Time & Place:

Tuesday and Thursday, 12:10-1:30pm, in 205 Olson
Discussion: Friday, 4:10-5:00pm, in 205 Olson

Instructor:

Professor Kwan-Liu Ma
Room 3025, Eng II
752-6958
ma@cs.ucdavis.edu
Office hours: Tuesday 10:30am - 11:30am and Thursday 2:00-3:00pm

TA:

Oliver Kreylos
kreylos@cs.ucdavis.edu
Office hours: TBA at Room 067, Eng II

Reader:

Yang Liu
yngliu@ucdavis.edu

Textbook

Required:
Computer Graphics, C Edition, Hearn and Baker, Prentice Hall.
Optional:
OpenGL Programming Guide, 3rd Edition, Woo, et al., Addison Wesley.

Other Goodies

OpenGL Tutorial
UCD Graphics Group's Course Notes and Class Libraries
Mesa3D
Xforms
Cygwin
Bloodshed Dev-C++

Newsgroups

ucd.class.ecs175

Do not post to this newsgroup. It is only for announcements, adjustments in the homework, and answers to questions on the homework. Since these things are of importance to everyone in the class, everyone has to check this newsgroup regularly, especially before assignment due dates.

ucd.class.ecs175.d

The discussion group. This newsgroup is for discussion among students, and questions to the staff. Students are encouraged to discuss assignments and answer one another's questions, as long as specific homework answers (or parts thereof) are not posted (see section on Cheating and Collaboration). Also, this is not an open forum. Rude or irrelevant postings will not be tolerated; i.e., no "flaming" allowed.

Programming Assignments, Exams, and Grading

There will be 4 programming assignments, one midterm, and a few quizs: For each programming assignment, you are generally graded based on the following criteria: Important: No programming assignment will be accepted if it is only partially complete. That is, no grade will be given if the assignment is incomplete.

You will be using the Silicon Graphics (SGI) workstations in room 067 and 069 of Engineering II. Some Liunx PCs will become available in room 075 in the second half of the quarter. The use of these systems is not required to complete the problems of the course. However, it is required that you get the final version of the programs running on these systems. We will grade your programs on how they operate on these systems, and this will determine your grades on the projects.

Due Date:

To receive full credit for a problem, the assignment must be turned in complete by 11:59pm on the due date. Problems that are turned in after this time will be penalized 10% of the points assigned per day.

Follow these instructions to turn in your programs.


Regrade:

In general, regrades must be turned in no later than one week after the graded papers were made available, not from when the student picked up her or his paper. However, at the end of the quarter, papers to be considered for regrades must be turned in earlier, as will be announced. See the TAs or reader for regrades of assignments and quizs; see the instructor for regrades of exams. Similarly, any missing or misrecorded grades must be reported within a week of their posting, except as will be announced at the end of the quarter.
Sample Grades:
90% 80% 70% 60% 50%
A B C D F
Incompletes:
I do not give them unless extreme circumstances are presented and documented. In this case, the student should be prepared to retake the class completely.

Class Attendance

Class attendance is not required. However, you are responsible for all material covered, assignments and quizs given, announcements made, etc. in all classes. If you miss a class, consult one of your classmates for notes and announcements. Class handouts will be available online in the class home page:
http://www.cs.ucdavis.edu/~ma/ECS175_S00

Policies, Cheating and Plagiarism

This is a demanding course. We are asking you to not only learn the basics of the computer graphics field, but to learn how to utilize the environment of a sophisticated computer graphics workstation, and to produce significant results. It is difficult to discover all the UNIX tricks, the OpenGL techniques, the implementation strategies, the typos in the course notes, and the C++ debugging techniques. To solve these problems, you require a tremendous amount of information -- and there is information available to you, not only from books or from over the network, but also from other students in the course.

While I would like to encourage cooperative work, each student is to do his or her own work on the assingments, quizs, and exams. The basic idea is simple. Share the ideas, share the strategies, help each other with system productivity, ask questions of others, but produce your own code. Create a synergistic environment where we all learn much more than you could if you did this class entirely on your own.

Any instance of suspected cheating or plagiarism (e.g., copying other student's code) will be referred to the Office of Student Judicial Affairs for adjudication. The `Code of Academic Conduct' describes relevant policies and procedures. Ask the instructor for clarification beforehand if the above rules are not clear.

Tentative Class Schedule:

Date               Topic




April 4 Overview      
April 6 Line-Drawing Algorithms, Pixel Addressing
April 7 Discussion: Computing environment, UI toolkits, OpenGL fundamentals
April 11 Filled-Area Primitives
April 13 3D Object Representations
April 14 Discussion: OpenGL fundamentals
April 18 3D Transformation
April 20 3D Viewing
April 21 Discussion: OpenGL viewing system
April 25 Culling and Clipping
April 27 Visible-Surface Determination
April 28 Discussion: OpenGL drawing
May 2 Colors and Display Systems
May 4 Midterm Exam
May 5 Discussion: Midterm exam solution
May 9 Illumination and Shading I
May 11 Illumination and Shading II
May 12 Discussion: OpenGL shading
May 16 Texture-Mapping I
May 18 Texture-Mapping II
May 19 Discussion: OpenGL texture mapping
May 23 Curves and Surfaces Modeling I
May 25 Curves and Surfaces Modeling II
May 26 Discussion: OpenGL advanced topics
May 30 Ray Tracing
June 1 Ray Tracing and Radiosity
June 1 Discussion: OpenGL advanced topics
June 6 Scientific Visualization
June 8 TBA