CSCI 250 Intro to Computer Graphics Syllabus

Fall 2008

 

Classroom location:        Fitzelle 301

Class schedule:                MWF 1:00-1:50PM

Instructor:                          Dr. Don Allison

Office location:                 Fitzelle 225

Phone:                                  436-3439

Email:                                    allisodl@oneonta.edu

Office hours:                      T 12-3pm, W 3-4pm, F 9-10am, 3-4pm

                                                Others by appointment

 

Catalog description:

Fundamentals of computer graphics from a computer science perspective. Topics covered include transformations, projection and viewing, illumination, hidden surface elimination, and ray tracing. Programming projects are an integral part of the course and will reinforce and expand upon topics covered in class.
Prerequisites: CSCI 203 and one of MATH 276 or 323 or permission of instructor

 

 

Course goals/objectives:

To learn how to make pretty pictures!  Actually to learn how a computer generates realistic images simulating a camera, and some of the tricks that have been developed to compensate for the fact that unlike nature, our computers can’t trace trillions of photons simultaneously. 

 

Textbooks:

There is one required and two recommended texts for this course.  The main text covers the basic graphical content; the second text focuses on mathematical aspects of computer graphics, while the third text covers using OpenGL.  The texts are:

Fundamentals of Computer Graphics, by Shirley, 2nd edition, A K Peters, ISBN 1568812698 (required)

Mathematics for 3D Game Programming and Computer Graphics, Lengyel, 2nd edition, Charles River Media, ISBN 1584502770 (recommended)

OpenGL Distilled, Martz, Addison-Wesley, ISBN 0321336798 (recommended)

 

Reading list/Additional resources:

There are many interesting books on generating graphics images and animation, which is a change from just a few years ago.  Here are some that are in our library:

Isaac Kerlow, The Art of 3D, TK385.S438 2000

Peter Shirley, Realistic Ray Tracing, T385.S438 2000

Dave Shreiner, OpenGL Reference Manual, T385.O642 2000 DIAGRAM

Tomas Moller, Real Time Rendering, T385.M635 1999

Andre LaMothe, Tricks of the Windows Game Programming Gurus, QA76.76.C672 L362 1999 CD-ROM

Mason Woo, OpenGL Programming Guide, T385.N435 1999

David Ebert, Texturing and Modeling, QA76.6.T44297 1998

Alan Watt, The Computer Image, T385.W379 1998

Eric Stollnitz, Wavelets for Computer Graphics, T385.S796 1996

Andrew Glassner, Principles of Digital Image Synthesis, T385.G585 1995

Alan Watt, Advanced Animation and Rendering Techniques, T385.W378 1992

Andrew Glassner, Graphics Gems, T385.G697 1990

Jim Foley, Fundamentals of Interactive Computer Graphics, T385.F63

Donald Greenberg, The Computer Image, T385.C5933 1982

William Newman, Principles of Interactive Computer Graphics, T385.N48 1979

 

 

Tentative schedule: (order of readings & other assignments, by due dates, course activities, course content by expected order of coverage, test dates and test coverage)

 

Date

Monday

Tuesday

Wednesday

Thursday

Friday

Aug 25-29

 

Last day to register without $40 late fee

Classes begin

Add/drop begins

 

 

Background email assignment due

Sep 1-5

Labor day: classes meet

Add/drop ends

 

 

Sep 8-12

Last day to add a full semester course

Sep 15-19

 

 

Project #1 due

Sep 22-26

 

 

Sep 29-Oct 3

 

TAP certification begins

 

Oct 6-10

EXAM #1

 

College closes after last class

 

Break

Oct 13-17

Classes resume

Columbus day: classes held

 

 

Interim progress reports due from faculty

Oct 20-24

 

Oct 27-31

Last day to drop with a W

 

Nov 3-7

Daylight saving time has ended!!  Did you set your clock back?

 

 

 

Nov 10-14

Begin Spring pre-enrollment

 

 

Project #2 due

Nov 17-21

EXAM #2

College closes after last class

Incomplete/pending grade makeup deadline

Nov 24-28

Break

Break

Break

Break

Break

Dec 1-5

Classes resume

Last day to withdraw from college

Project #3 due

 

 

Last day to turn in incomplete/pending grades

Dec 8-12

Project #4 due

 

 

 

Last day of class

Dec 15-19

Final exams begin

8am: MWF 10

11am: MWF 2

2pm: MWF 12

8am: TR 10

11am: TR 4

2pm: TR 12

8am: MWF 9

11am: MWF 1

2pm: MWF 11

FINAL EXAM, 11am

8am: TR 8

11am: TR 2

Final exams end

8am: MWF 8

11am: MWF 3

 

 

Course requirements:

Students are expected to keep up with the assigned readings for class, in order to be able to participate in class discussions.  To satisfactorily complete the course, students need to pass the tests and complete the programming projects.

 

 

Evaluation procedures:

A student’s grade for this course will be based on a combination of exams, programming projects, and homework/class participation.  The breakdown is as follows:

 

Exam #1

15%

6 October 2008

Exam #2

15%

17 November 2008

Final Exam

20%

17 December 2008, 11AM

Projects

40%

---

Homework/class participation

10%

---

 

As you can see, there will be two midterm exams and a final, contributing a total of 50% of your grade.  The next 40% will be earned by completing several programming projects implementing simple modeling systems.  The final 10% will be made up of various homework assignments and class participation.  The weighted sum of each component will be computed and grades will be assigned based on the total number of points earned using the standard 90-80-70-60 system.

 

 

Attendance policy:

While I do not require class attendance, and would prefer that you sleep in the dorm instead of in class, studies have shown that regular class attendance improves student grades.  In addition, I will be giving sample code and pseudocode for the projects in class, and will be discussing the course material (including the material covered by the tests) in class.  While attending class, students will be expected to comport themselves professionally, and to participate in class activities and discussions.

 

Academic dishonesty:

It is expected that all work turned in by a student will be created by the student himself.  Turning in someone else’s code, whether obtained from a classmate or from the internet, without acknowledging the authorship of the code, is plagiarism, and is a serious offense.  As academics, we value ideas and to use someone else’s thoughts without acknowledging them is stealing, and will be dealt with appropriately.

 

That said, however, it IS acceptable to discuss the class content and assignments with your peers and even to collaborate together under certain conditions.  All code and all answers to exams that you submit for grading should be your work alone, or if provided in class, should contain an acknowledgement of its origin in the header comments.  It is, however, acceptable to discuss the algorithms, code samples provided in class, or even the assignments (at a conceptual level) among yourselves.  If you have any questions about what is acceptable and what is not, ask!  It is better to ask and get the answer ahead of time rather than to find out after the fact that what you did was unacceptable.

 

Coding style:

An important part of any computer science class is the programming assignments.  These not only reinforce and extend the concepts covered in class, but also give the student an opportunity to hone his programming skills.  Therefore any programs you turn in should follow good style guidelines and coding standards.  They should exhibit consistent and logical indenting, block comments, function and file headers, sensible variable names, etc.  Every code and header file should start with a block comment containing the class, the assignment number, your name, the date due, and a brief summary of what is in the file.  For example:

 

/*************************************************************/

/*                                                           */

/*  CSCI 250 Computer Graphics                               */

/*  Fall 2006 Program #1                                     */

/*  Author: Don Allison                                      */

/*  Date Due: 20 September 2008                              */

/*                                                           */

/*  This file contains code to generate images using         */

/*  raytracing                  .                            */

/*                                                           */

/*************************************************************/

 

 

 

Late assignment & makeup policy:

Assignments are expected to be turned in by midnight on the day they are due, and exams are to be taken on the announced date.  Emergencies do arise, however, and sometimes this is not possible.  If you find that you will have to miss an exam or turn in an assignment late, please let me know as soon as possible (preferably before the due date).  Allowances will be made for school approved excuses, such as illnesses, family emergencies, official school trips, etc.  Otherwise, a late penalty will be assessed on assignments turned in after the due date, and makeup exams will be at the discretion of the instructor.  The late penalty for assignments will be 3n-1, where n is the number of days the assignment is late (weekends count as a single day).  Any assignment turned in more than a week late will be recorded as a zero grade.

 

Additional unique aspects of course:

In this course we explore methods to generate realistic looking images.