CSE 40166 / 60166 - Computer Graphics

|    Home  |   Syllabus  |   Assignments  |   Schedule  |   Resources   |

CSE 40166 / 60166 - Computer Graphics
Fall 2012
Syllabus

The syllabus can be downloaded here (PDF).

Instructor:
  • Jeffrey Paone
  • Office: 254 Fitzpatrick Hall
  • Phone: 1-4391
  • Email: jpaone {at} nd {dot} edu
  • Office Hours: Monday 12-1, Wednesday 3-4, or by appointment
TA: Instructor:
  • Kyle Buckley
  • Email: kbuckle1 {at} nd {dot} edu
  • Office Hours: Tuesday & Thursday 2:30-3:30 in Engineering Library
Lectures:
  • Tuesdays & Thursdays 3:30 - 4:45
  • 216 DeBartolo Hall

Textbooks:
  1. Interactive Computer Graphics: A Top-Down Approach with Shader Based OpenGL, 6th ed., Edward Angel, Dave Shreiner, 2011.
  2. OpenGL: A Primer, 3rd ed., Edward Angel, 2007.
Other resources will be posted on the website.

Assignments:
  • There will be individual programming assignments throughout the semester (roughly one per week). Due dates will be specified and are firm. Individual programming assignments must represent individual student work.
  • If your program requires input from a data file or the user, please include sample data files or input with the submission.
  • All programs (homework assignments, programs, projects) must be submitted in electronic form to the course dropbox directory: /afs/nd.edu/coursefa.12/cse/cse40166.01/dropbox/
  • Every submission must include a README file which describes how to build and run the assignment. Any other information that is required to run the program should be included here as well. From time to time there will be questions that accompany the programming assignment and require answering. The answers to these questions should be placed in the README file.
  • Your goal should be to make it easy for us to see how great you did. If we make a couple of good faith attempts but fail to get your program running, we will try once to contact you to help us. If we still cannot get your work to compile, it will receive a zero grade.
  • Some assignments will have additional sections that require a more advanced technique to complete. For students enrolled in CSE40166, these sections will be extra credit. For students enrolled in CSE60166, these sections will be required. These sections will be clearly marked on the assignment writeups.
Late Policy:
  • All assignments and projects are due at the date and time specified on the item handout.
  • Items received less than 24 hours past the due date will receive a 50% grade reduction.
  • Items not turned in or received more than 24 hours past the due date will receive a grade of zero.
Projects:
  • There will be two course projects, to be completed in pairs. The first will be a midterm project due shortly before Fall Break. The second will be a final project due during the last week of class.
  • In addition to the programming project, each pair will give a brief in-class presentation showcasing their project.
  • All code and files required for the projects must be submitted to one of the team member's dropbox. A text file must be placed in the other member's dropbox stating who their partner was and where the files are located.
Exams:
  • There will be a midterm exam the week before Fall Break.
  • Make-up exams will be allowed only in accordance with University policy. Make-up exams resulting from illness require notification (email is fine) the day of the exam and a doctor's note when well. Make-up exams due to legitimate travel require advance notice and instructor's approval.
  • In place of a final exam, there will be a final report. The final report will consist of a description of your final project and a series of questions to be answered. Every team member must write their own individual final report. Details to follow.
Participation:
  • A small portion of the student's grade will be comprised of in-class and online participation.
  • After the first week of class, students are expected to participate by making a forum post each week, either asking a question or responding to an existing topic. From time to time, there may be specific discussion topics.
  • Regular course attendance is mandatory. If attendance is low, the instructor reserves the right to administer pop quizzes for credit, to be determined.
Grading:
The final course grade will be computed from the following course percentage breakdown:
  • 35% Homework Assignments
  • 15% Midterm Project
  • 20% Final Project
  • 10% Final Report
  • 15% Midterm Exam
  • 5% Participation
There will be multiple opportunities for extra credit throughout the course, including extra credit sections on various homework assignments and projects, extra credit questions on the midterm exam, and potentially an extra credit assignment.

Final grades will be determined using a straight scale. The straight scale assigns letter grades as follows:
Range Grade
[92, 100] A
[90, 92) A-
[88, 90) B+
[82, 88) B
[80, 82) B-
[78, 80) C+
[72, 78) C
[70, 72) C-
[62, 70) D
[0, 62) F
Discrepancies:
  • If you have any questions regarding how any assignment, project, or exam is graded and you think you deserve more points than you received, you must see the instructor within one week of the day the item was returned to class. No claims, justifiable or not, will be considered after this deadline.
  • Any assignment returned to the instructor is subject to total re-grading.
Computing:
  • This class will involve extensive use of OpenGL and GLUT. You may use any platform to develop your program, but your final code must compile and execute on Linux. Specifically, the code must compile and execute on the Linux environment lab machines in Cushing 303. We will provide makefiles to aid with the compilation on these systems.
  • In general, OpenGL / GLUT code that compiles and executes correctly will perform correctly on any other machine on which it compiles. However, certain elements of OpenGL and GLSL are less-standardized. For this reason, it is important that you test your code on these machines prior to submitting. This will become more important in the second half of the semester when we cover more advanced techniques and shader programming.
Academic Code of Honor:
  • All students are expected to follow the University's Academic Code of Honor.
  • A student or assigned team working on a program may discuss high-level ideas with other students or teams. However, at time of submission all work submitted must be his/her/their own work.
  • Use of the Internet as a reference is allowed but directly copying code or other information is cheating. It is cheating to copy, allow another person to copy, all or part of an exam or a project, or to fake program output. It is also a violation of the Code of Honor to observe and then fail to report academic dishonesty. You are responsible for the security of your own work.
  • We will provide, as part of the course, functional code examples for most of the topics covered. While you are encouraged to examine these examples, your submissions must represent a good-faith effort to complete the assignment. Merely copying and pasting code from the examples will result in a failing grade. Furthermore, relying too heavily on the given examples will fail to prepare you for the much more open-ended midterm and final projects.