Course Number

Скачать 25.07 Kb.
НазваниеCourse Number
Размер25.07 Kb.

The Art Institute of California – San Francisco

Course Syllabus

Course Number: VG4425

Course Title: Programming for Computer Graphics

Class Meetings: Thursdays, 6-10pm

Session/Year: Spring ‘09

Instructor Name: Paul Edmondson

Email Address:

Phone: N/A

Instructor Availability Outside of Class: Available only by e-mail or by appointment

Programming for Computer Graphics

Course Description:

This course enables students to write scripts that can enable, customize or develop specific features in computer graphics.

Course Length: 11 Weeks

Contact Hours: 44 Hours

Lecture: 22 Hours per week

Lab: 22 Hours per week

Credit Values: 3 Credits

Course Competencies:

Upon successful completion of this course, the student should be able to:

  • Create a large-scale, extensible graphics system

  • Apply principles of object-oriented design and design patterns

  • Apply concepts of advanced software development

  • Develop the principles of multi-level serialization through a scene representation system that is distinct from the requirements of the graphics system itself

Course Prerequisite(s): VG3302 Software Development for Game & Animation


Required: Shirley, Peter, et al. Fundamentals of Computer Graphics, Second Ed. A K Peters, Ltd.; 2 edition: July 2005. ISBN: 1568812698.
Errata page:

Suggested: Suffern, Kevin. Ray Tracing from the Ground Up. A K Peters: 2007.
ISBN: 1568812728.
Errata page:

Glassner, Andrew S. An Introduction to Ray tracing. Morgan Kaufmann: 1989. ISBN: 0122861604.
Errata page:

Materials and Supplies: Storage Medium, Notebook.

Estimated Homework Hours: 8-10 Hours

Technology Needed:

Hardware: PC with Windows

Software: Microsoft Visual Studio .NET, using C++ or C#

Grading Scale:

All assignments must have clear criteria and objectives to meet. All students shall be treated equitably. It will be that student’s right to know his/her grade at any reasonable point that information is requested by that student. The criteria for determining a student’s grade shall be as follows (on a percentage of total points basis):

A 100-93

A- 92-90

B+ 89-87

B 86-83

B- 82-80

C+ 79-77

C 76-73

C- 72-70

D+ 69-67

D 66-65

F 64 or below

Process for Evaluation:

Attendance and Participation 20%

Subjective Evaluation (weeklies) 40%

Objective Evaluation (final submission) 40%

Student Evaluation/Grading Policies:

  • The student is responsible for documenting all parts of assignment submissions not attributable to them.

  • Use of all external sources in assignment submissions must be validated as acceptable by the instructor before submission. All other use of external sources will be deemed plagiarism.

  • Plagiarism is punishable by assignment and/or course failure, and notification of school administration.

  • You must follow the class programming standards in order to achieve full credit on an assignment.

  • Class time will be spent in a productive manner.

  • Grading will be done on a point system.

  • All work must be received by the set deadlines.

  • Late work receives a grade of zero.


Classroom Policy:

  • The instructor is not responsible for keeping a student up to date when a class is missed. Notes may not be available for missed lectures.

  • The student is responsible for letting the instructor know if he/she is having trouble with the class material. Leniency will not be given if the student waits until an assignment deadline to let the instructor know of problems with the material or assignments.

  • No food allowed in class or lab at any time. Drinks in recloseable bottles allowed in classroom.

  • Break times are scheduled by the instructor at appropriate intervals.

  • No private software is to be brought to lab or loaded onto school computers.

  • No software games are allowed in lab (unless in course curriculum).

  • Headphones are required if listening to music during lab. No headphones are allowed in lecture.

  • Any student who has special needs that may affect his or her performance in this class is asked to identify his/her needs to the instructor in private by the end of the first day of class. Any resulting class performance problems that may arise for those who do not identify their needs will not receive any special grading considerations.

Disability Policy Statement:

It is our policy not to discriminate against qualified students with documented disabilities in its educational programs, activities, or services. If you have a disability-related need for adjustments or other accommodations in this class, contact the Disabilities Services Coordinator Suzanne Raffeld at 415-276-1060 or see her at room 609.

Rough Course Outline

Week 1: Lecture: Review of Design Patterns and Object Oriented development

Week 2: Lecture: Entities, Properties

Week 3: Lecture: Rendering pipeline

Week 4: Lecture: Raycasting

Week 5: Lecture: Materials and Lighting

Week 6: Lecture: Shadows

Week 7: Lecture: Anti-aliasing, Depth-of-field

Week 8: Lecture: Texture Mapping

Week 9: Lecture: Reflection

Week 10: Lecture: Advanced Topics

Week 11: Lecture: Review of Class

Paul’s Programming Standards

  1. No single-letter or meaningless variable names. The only exception is for simple loops. Nested loops are not simple.

  2. Function and class names should be descriptive.

  3. You must comment your code to a level that I will be able to understand what you are trying to do.

  4. If you cannot explain a section of code in your project, I will make you delete it. No guess and check programming!

  5. C++ code should not be using C syntax or functions unless there is no C++ analogue. That means no printf (use std::cout), no strtok (use std::stringstream), no FILE* (use std::fstream), and no char* (use std::string).

  6. No inlined code in .h files longer than 2 lines. If you need more code, put it in the .cpp file.

  7. Do not use arrays where an STL structure is appropriate.

  8. Write const-correct code. Be prepared to defend your choice of const or non-const variables and functions.

  9. No global variables or functions, unless I explicitly allow them.

Paul’s Programming Hints

  1. Use the web to research your problems. It is very unlikely that you’re the first person to have a particular problem.

  2. Don’t try to make everything perfect the first time – you won’t succeed (nobody does). Get it working first, then make it awesome.

  3. Make note of the limitations and assumptions of your code as comments, so you can come back to them later and fix them. It also helps in debugging them.

  4. Use the debugger to debug.

  5. Use Debug mode for debugging, and Release mode for testing.

  6. Organize your code into folders within your project for quick access.

  7. Don’t guess and check to solve problems, follow the code!

  8. You will write a lot of code in this class, more than you can keep in your head. If you don’t comment your code, you will regret it later.

  9. It is very advisable to either use a version control system like Perforce or at very least save archival copies of your work as you go. You will probably be deleting (and sometimes re-adding) large sections of your program.


Course Number iconCourse Number: artmulti 391 Cross Listed Number

Course Number iconNotice of confidentiality rights: if you are a natural person, you may remove or strike any of the following information from this instrument before it is filed for record in the public records – your social security number or your driver’s license number

Course Number iconCourse Number, Section Number, and Course Title

Course Number iconCourse Number: speech 271 Cross Listed Number: journlsm 271

Course Number icon"name of contributor" "payment type" "city" "state" "zip" "id number" "employer" "occupation" "amount" "transaction date" "filed date" "transaction number"

Course Number iconLicensure and Certification Number Year Licensure 00132 dir 1994 Nevada Medical Laboratory Director License Number Year Certification

Course Number iconPage number

Course Number iconNumber of benchmark sources currently: 20

Course Number iconII. number of times course may be taken for credit: One

Course Number iconDepartment and Course Number: cs 499

Разместите кнопку на своём сайте:

База данных защищена авторским правом © 2014
обратиться к администрации
Главная страница