CS 234 Home Calendar Links Examples Tips Instructor

CS 234 Computer Graphics

This class covers the fundamental concepts in creating graphical images on the computer. Computer graphics uses ideas from Art, Mathematics, and Computer Science to create images. Students will learn to create graphical images using the Open GL Application Programming Interface (API).

The official webpage is here. I will use these pages to hold the sample programs.

Required Text

Ed Angel, Interactive Computer Graphics: A Top-Down Approach Using OpenGL. I have ordered the fifth edition for the bookstore. You can use an earlier edition of the book, though earlier editions do not discuss shading languages. I have placed a copy of the current edition and two earlier editions on reserve in the Grossman Library in Sever Hall.

Language

OpenGL is supported on a variety of platforms and has bindings for C and C++ and for Java. I will use C in class, as the book does. The book examples may be found online at the book website or at the examples link above.

Expectations

You are expected to be comfortable writing programs in an upper level language, and be comfortable with formulas, as a great deal of computer graphics is best described mathematically.

There will be frequent assignments. I will try to keep them on task and I will try to avoid meaningless work. Many of the assignments will require thought. I will expect you to read the assignment as soon as it becomes available and to start work promptly. I want to discuss solutions when the problems are due, so it will not be possible to accept late homework other than in extraordinary circumstances.

We will have a weekly lab. My goal for these labs is to give you a head start on the assignments.

I will not read my e-mail, IM my friends, or enable my cell phone in class. I expect you to do the same.

Academic Integrity

Students should be familiar with the Extension Schools expectations on Academic Integrity including, but not limited to, the following points

Plagiarism

Plagiarism is the theft of someone else’s ideas and work. It is the incorporation of facts, ideas, or specific language that are not common knowledge, are taken from another source, and are not properly cited.

Whether a student copies verbatim or simply rephrases the ideas of another without properly acknowledging the source, the theft is the same. A computer program written as part of the student’s academic work is, like a paper, expected to be the student’s original work and subject to the same standards of representation. In the preparation of work submitted to meet course, program, or school requirements, whether a draft or a final version of a paper, project, take-home exam, computer program, application essay, oral presentation, or other work, students must take great care to distinguish their own ideas and language from information derived from sources. Sources include published and unpublished primary and secondary materials, the Internet, and information and opinions of other people.

Inappropriate collaboration

Collaboration on assignments is prohibited unless explicitly permitted by the instructor. When collaboration is permitted, students must acknowledge all collaboration and its extent in all submitted work.

Cheating

Students may not copy other students’ assignments, computer programs or parts of programs, or exams. To avoid any suggestions of improper behavior during an exam, students should not communicate with other students during the exam. Neither should they refer to any books, papers, or use electronic devices during the exam without the permission of the instructor or proctor. All electronic devices must be turned off during an exam.

Duplicate assignments

Students are expected to submit work that is done solely for each course in which they enroll. Prior written permission of all instructors is required if students wish to submit the same or similar work in more than 1 course.

You will be encouraged to discuss the course material with others in the class, and to help each other understand the major ideas behind the algorithms we will be discussing, and to help each other understand the language and debug programs. However, I expect that all work you submit is your own. Copying the work of another student, electronically or manually, would be viewed as a serious instance of academic misconduct. If you have any questions about these expectations, please see me.

Web site

Syllabi, assignment and other course documents will be posted on this web site.


Topics

I hope to cover the following topics:

  1. Graphics Systems and Models - the graphics pipeline
  2. Two dimensional graphics
  3. Input devices and interaction - callbacks
  4. Geometrical transformations
  5. Viewing: transformations
  6. Lighting and Shading
  7. Clipping Strategies
  8. Bit mapped graphics
  9. Curves and Surfaces
  10. Introduction to GPU Programming
We cannot cover everything in the book, but I will try to make room for any specific topics that interest you. Let me know what you think is important.


Grading

I will be looking at the following items as I grade, as well as more specific points relevant to individual assignments.

Basic Hygiene

Details

Valid HTML 4.0 Transitional

Validator