Grading

Scoring criteria

Here is some info. on policies regarding homeworks. The one line summary would be "don't plagiarize, do individual work on HWs". Note that HW3 *is* a group project, so you *do* need to collaborate on that one.

Homework, exam material

HW1

HW2

HW3

makefiles

We strongly suggest that you use a makefile to do your compilations. Following is a template for a simple makefile. Copy the contents into a file called 'Makefile' or 'makefile', and add in the name of your source file(s). Note that in the lines following each colon (:), you need a TAB (not a bunch of spaces!).

Once you have the Makefile created with names of your own source file(s) (eg. drawLine.c), simply type 'make' in your shell prompt, it should do the compilation (eg. call gcc, g++, CC, cc, etc.) for you.

Saying 'make clean' will remove (rm) the executables so you can start a clean 'make' the next time around.

The 'make' system essentially automates the compilation process so that you don't have to manually create .o files (intermediates) and link them together into a binary.

In 'real' CG production (and in a variety of other industries, including telecom etc.) makefiles are still widely used, so it is good for you to know how to create and use them.. We're not forcing you to use makefiles just to torture you :)


#########################################################
# makefile to compile your program

CC = <name of your compiler, e.g. g++>

# note that in the following, the $(CC) is preceded by a TAB, **not** spaces
hw:
        $(CC) <name of .cc or .cpp file> -o <name of executable, e.g. drawline>

# again, the 'rm' needs to have a TAB before it, not spaces
clean:
        rm -rf *o *~ <name of executables separated by space>
#########################################################
# examples:
# simple:
# hw:
#      $(CC) drawLine.cc -o drawLine

# use of the math (-lm) library
# sim:
#      $(CC) main.cc calc.cc -o fluidsim -lm 

# once you have a makefile as per either of the above examples, you can type
# make hw 
# to create the drawLine executable, or
# make sim 
# to generate the fluidsim one.

# to remove (delete) the .o and binary files, do
# make clean 

Here is a link with several makefile tutorials, if you want more details.

Online homework submission guidelines (authored by Vivek Singh)

How to submit your assignment (eg. HW1) using the Digital Drop Box tool:

Note - on occasion, when you click on 'Send File', you'll only see two steps - for picking a file and for submitting. You'll not see the user list. It's OK if this happens. Just pick your file and hit 'Submit' to submit it, and it'll reach us.

Notes on PPM

PPM is a really simple image file format for describing pixel data. Here's useful info. on this format.