CSCI 4530/6530 - Spring 2013
Advanced Computer Graphics
  Contact Information
  Office Hours

  LMS (Discussion Forum)


  Assigned Readings

  Lecture notes
  Lab materials
  Test reviews

  Homework Late Policy
  Collaboration Policy
  Electronic Submission   Compilers
    CMake notes
    gcc/g++ notes
    GL/glut notes
    memory debugging

Final Project
   Spring '13 Projects
   Spring '12 Projects
   Spring '11 Projects
   Spring '10 Projects
   Spring '09 Projects
   Spring '08 Projects
   Spring '07 Projects

Academic Integrity

Homework Assignments

The homework assignments (posted on the Calendar) involve a significant amount of C++ programming. You will submit all of your source code files (ending in .h or .cpp), your CMakeLists.txt file, a plaintext README.txt file (using the provided template), and a preliminary self-grading of the homework (using the provided template). The README.txt and gradesheet will document:

  • completed homework assignment features,
  • any known bugs in your code,
  • any new features or extensions you've added (include instructions for use and test cases/sample output as appropriate),
  • how long it took you to complete the assignment, and
  • the extent of your collaboration with other students or outside sources.

Collaboration Policy

We encourage you to discuss the assignments with other students in the class. (Please acknowledge your collaborators in your README.txt file). However each student is responsible for implementing the assignment on his/her own. You may assist each other in debugging, but this should absolutely not involve "cutting and pasting" code. Likewise, consulting the assignment solutions of students from previous terms is not allowed. You may certainly use the internet as a resource for learning the material, but you may not submit or "borrow from" code found online. Please read the Academic Integrity policy for this course and speak with the instructor if you have any questions.


To streamline grading your code must compile and run under gcc/g++ (available for Linux, FreeBSD, Cygwin on Windows, and Mac). If the grader must spend time editing your files in order to compile or run your code, you will receive no more than half credit for the assignment. Please see the instructor in office hours if you need help writing portable code.

We will be using CMake, a cross-platform, open-source make system. The provided homework code will be developed on MaxOSX using CMake/g++, but should also work on Linux using CMake/g++, and Windows using CMake/VisualStudio.

Homework Late Policy

Homework progress reports are due on Thursday nights at 11:59pm on LMS. Progress reports will not be graded if they are submitted late. (Unless accompanied by a written excuse from the Student Experience Office).

Final homework submissions are due on Thursday nights at 11:59pm. Submission will be electronic and submission times will be judged from the timestamp on the web server. You may submit the assignment multiple times; we will only grade your last submission. Each student will be given three days (whole or partial) of grace for late homework assignments. These grace days should be used carefully. Once the late days have been exhausted, late assignments will not be accepted without a written excuse from the Student Experience Office.

Electronic Submission

Once you've finished writing, testing, debugging, and commenting your code, prepare your assignment for submission as described below.

  1. Gather all of the files for your submission in a directory (hopefully everything you need is already in your hw0/src directory). Make sure to include:
    • the CMakeLists.txt file (edited appropriately if you added any .cpp files to the project),
    • all of your .cpp and .h source code files,
    • your plaintext README.txt file (please use the provided template),
    • and your self-assessment grading (please use the provided plaintext gradesheet template).
    Note: The submission should not contain any directory structure.

  2. If you're using the Cygwin/Linux/FreeBSD/UNIX/OSX command prompt, cd into the directory containing your source files for this assignment and type:
       zip -r ../ * 
    This will put a zip file in the parent directory. (And keeps the source directory free of big files in case you need to re-zip and re-submit.)

    If you're using WinZip for Windows, create a new archive named and then drag & drop all of the files from your source folder into the archive.

  3. Next click the submission link below. You will use the login & password for your Computer Science account (not your RPI RCS account) to access this page. Many of you will already have this account from another CS course. If you did not already have an account, you should have received an email with the Computer Science account login information the first week of classes (be sure to change your password promptly). Contact the instructor if you registered on or after the first day of classes and did not receive a Computer Science account.

    Homework Submission (link currently disabled)

  4. Select the radio button for the appropriate assignment, and then use the browse button to select the zip file you just created and press the "Send File" button only once.

You should then receive a message confirming your submission. If you find a mistake in your homework, you can fix it and re-submit using the same procedure. We will only grade the most recent submission. Please ask the instructor if you need help preparing your assignment for submission. Do not submit any other type of compressed file format or your files may not be correctly received.

Note: If there's lots of "stuff" in your homework directory the zip file may be too big for submission. (Visual Studio makes lots of big temporary files.) Either manually delete this extra stuff OR make a new folder and copy just the necessary files to that folder for submission. If your submission files are still too big, please contact the instructor and we can increase the file size limit.