|
CS 3014 Computer Graphics |
|
|||||||||||||||||||||||||||||||||
|
Office Hours: |
|
||||||||||||||||||||||||||||||||
| Virtual Office Hours: | I will be available in the Moodle Chat Room at least two hours in the evening during the week, usually the night before a project is due. I will also attempt to answer evening emails in a timely fashion, but not after 10:00 p.m. | ||||||||||||||||||||||||||||||||
|
Class Meets: |
Monday � Wednesday - Friday
1:30 � 2:20
BSC/107 |
||||||||||||||||||||||||||||||||
|
Course
Prerequisites: |
This course assumes you have already successfully
completed CS 1124 (Foundations of Computer Science), CS 2124
(Logic in Problem Solving), and CS 2444 (Data
Structures). Thus, you are expected to be a competent C++
programmer. |
||||||||||||||||||||||||||||||||
|
Textbooks
and Guides: |
Computer Graphics Using
OpenGL; 3rd
Edition; F.S. Hill, Jr. and Stephen M.
Kelley.; Pearson/Prentice Hall; 2007. ISBN 0-13-149670-0
Other recommended texts (available
in 106 and earlier editions available online) are:
|
||||||||||||||||||||||||||||||||
|
Purpose: |
This is the first of a two-course
sequence. The course's primary purpose is to
explore the basic principles (together with the hardware) needed to
design, use, and understand computer graphics. Using only the
primitive for setting a pixel on a screen, we develop all the important
components of a two-dimensional and a three-dimensional graphics
system. All algorithms are developed without regard to any
particular graphics library. However, implementation of the
algorithms makes extensive use of the OpenGL graphics library. Topics covered include scan-line
algorithms, two and three dimensional affine transformations, 2D and 3D
morphing, clipping, lighting, texture mapping, and 3D viewing with the
synthetic camera. Platform independence is
stressed; modifications necessary for mobile platforms included. The second course in the sequence,
Advanced Graphics, will be
offered as a Special Topics course in the winter term and will
primarily focus on curves and surfaces.
Topics will include Bezier Curves and Surfaces, Splines, NURBS, 3D Texture
Mapping, and an introduction to Ray Tracing. |
||||||||||||||||||||||||||||||||
|
Missed Classes: |
You
are expected to attend all classes. Please inform me via email if it is
necessary for you to miss. Excessive absences
will lower your final grade. |
||||||||||||||||||||||||||||||||
| Copying or Sharing Work vs Getting Help: | Unless we are working on group projects, you are expecdted to do your own work. You may discuss the homework assignments with other students but may not copy any code or "borrow" any work from anyone else. Please see me for help whenever you need to -- check office hours or make an appointment when convenient. | ||||||||||||||||||||||||||||||||
|
Lecture
Topics, Reading Assignments, and Homework Exercises: |
The schedule of topics is subject
to change (due to progress rate of the class) so be sure to check Moodle for the latest
information, including
Please make the information found
on Moodle an integral
part of your study for the course. You
are expected to do all assigned homework exercises in the book.
Although they will not directly be used to calculate your grade in the
course, they will greatly impact your
performance on exams as well as programming
projects. You may discuss homework exercises with other
students in the class and, of course, with me. You must bring
homework assignments to class with you as you may be called upon to
share solutions in class. |
||||||||||||||||||||||||||||||||
|
Programming
Assignments: |
Programming assignments determine
70% of your grade. There will be 8-10 programming projects
(individual and group). For each programming assignment you will be
provided with complete specifications, as well as a grading scale,
indicating how many points each part of the assignment is worth. Thus,
when you submit each programming assignment, you will know
how many points you will have earned even before the program has been
officially graded and reported to you. There will also be the
opportunity to earn extra points on most projects.
You may be required to demonstrate each project to
the class and answer questions about it. It is very important that you
Scores
will be posted to Moodle
as soon as the programs have been officially graded. |
||||||||||||||||||||||||||||||||
|
Late Work: |
You
are expected to submit work on time. Each assignment will have a
specified time and date that it is due. You must submit
the program files to be graded by this deadline to have the possibility
to earn full credit. Each assignment has the point value broken down
into smaller tasks. Generally, late work will not be accepted, so you
are strongly encouraged to turn in whatever tasks you have completed
for the assignment. The
extra points
portion must be completed within 24 hours of the deadline. Instructions
for submitting assignments will be given in class.
You
will each have three 24-hour late
passes that you may use as your discretion for no penalty. |
||||||||||||||||||||||||||||||||
|
Exam Dates: |
|
||||||||||||||||||||||||||||||||
|
Earning Points: |
|
||||||||||||||||||||||||||||||||
|
Determining Grade: |
|
||||||||||||||||||||||||||||||||