ECS175

ECS 175 Introduction to Computer Graphics

Fall 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_F00

Prerequisite

ECS110 or ECE73; Mathematics 22A

Time & Place:

Tuesday and Thursday, 6:10-7:30pm, in 118 Olson
Discussion: Friday, 5:10-6:00pm, in 118 Olson

Instructor:

Professor Kwan-Liu Ma
Room 3025, Eng II
752-6958
ma@cs.ucdavis.edu
Office hours: Tuesday and Thursday 1:00-2:00pm (or by appointment)

TA:

Monika Jankun-Kelly
cs175r@cs.ucdavis.edu
Office hours: Monday 10:00am-12:00pm and Friday 3:00-5:00pm
at Room 069, Eng II

Reader:

Robert Hero
hero@cs.ucdavis.edu

Textbook

Required:
1. Interactive Computer Graphics with OpenGL, Edward Angel, Addison Wesley.
2. OpenGL Programming Guide, 3rd Edition, Woo, et al., Addison Wesley.

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 project 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.

Projects, Exams, and Grading

There will be 4 projects, one midterm, and one quiz: For each project, you are generally graded based on the following criteria: Important: A computer program that does not run will not be graded. A project that is partially complete must be clearly documented to indicate what functionalities were (or were not) implemented.

You will be using either the Silicon Graphics (SGI) workstations in rooms 067 and 069 of Engineering II. 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. Some new Linux PCs with Geforce2 graphics card will become available soon in room 75. We will keep you posted.

Due Date:

To receive full credit for a problem, the project must be turned in complete by 6:00pm 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 projects 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, projects and examinations 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_F00

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, 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 Handouts       due




September 28 Overview      class syllabus
September 29 Discussion: Computing environment and tools
October 3 History of Computer Graphics project 1
October 5 3D Graphics Rendering Pipeline
October 6 Discussion: OpenGL fundamentals
October 10 Line Drawing and Boundary Fill Algorithms*
October 12 Transformation*
October 13 Discussion: OpenGL fundamentals, drawing
October 17 3D Viewing Project 2 Project 1
October 19 Projections
October 20 Discussion: OpenGL viewing system
October 24 Culling and Clipping
October 26 Visible-Surface Determination
October 27 Discussion: OpenGL colors, ...
October 31 Colors and Display Systems
November 2 Shading Project 3 Project 2
November 3 Discussion: OpenGL Shading
November 7 Midterm Exam*
November 9 Curve & Surface Modeling*
November 10 Discussion: OpenGL modeling
November 14 Other Modeling Methods
November 16 Texture Mapping I
November 17 Discussion: OpenGL texture mapping
November 21 Texture Mapping II Final project Project 3
November 23 Thanksgiving Holiday (no lecture)
November 24 Thanksgiving Holiday (no discussion)
November 28 Scientific Visualization
November 30 User Interfaces, VR, ...
November 31 Discussion: advanced OpenGL topics
December 5 Ray Tracing
December 7 Animation*
December 8 Quiz* (no discussion session)
December 10 Sunday Final project