COS 426 Computer Graphics - Fall 1997
tdsmith dgslomin
milliron
tdsmith


COS 426 Home

Projects

Project 0

Project 1 (hints)

Project 2 (hints)

Project 3 (hints)

Project 4 (hints)

Project 5 (hints)

Project 6
Projects
This is a project class. There are no exams, no quizzes, no written assignments -- just programming. Most of you will find that you spend a lot of time on your projects, hopefully because you are excited about them, not because your grade depends on it (although it does).
There will be 6 programming assignments. They grow in complexity throughout the semester, starting from simple line-drawing and culminating in something really fabulous of your own design. The first three projects are individual. In the fourth and in the fifth you will be allowed to have a partner. The final project will involve teams of up to four people.

Credit

# Name Assigned Due Pts D Team
1 MacDraw 09/15/97 09/28/97 20 2 1
2 Photoshop 09/29/97 10/12/97 20 2 1
3 Illustrator 10/13/97 11/02/97 20 2 1
4 Renderman 11/05/97 11/23/97 30 3 2
5 Rayshade 12/01/97 12/11/97 30 3 2
6 Final project 01/05/98 01/23/98 50 ? 4

The table above indicates the number of points possible for each project. The assignments have two kinds of features: required and optional. The required features account for about 3/4 of the possible points, so it is expected that you will complete all of the required features as well as some of the optional features.
This system allows you to choose which (optional) features you are most interested in tackling. However, you will not receive points for optional features unless you have at least attempted to implement the required features first. You may actually implement more optional features than are necessary to acquire "full credit", in which case you will be given extra credit. However, extra credit points are harder to acquire than "regular" credit, so for example in Project 1 it is more difficult to go from 20 points to 22 points than it is to go from 18 points to 20 points.
For optional features you may choose to implement items suggested on the handout, or you may think up features on your own. In principle, there is no limit to the number of points you could receive on an assignment, but the more points you receive the harder it is to acquire even more (and in practice there are only 24 hours in a day).

Art contest
For each of the projects (except 0) there will be an art contest. This falls under the domain of "optional features" for the homework assignments, but it is mostly for fun. There are three categories in which you may submit art work: general, characters and bloopers.
In the general category you may submit any art work of any size that somehow used your program from the project.
For the character category, you should submit an image of a specific character (the letter `C' for Project 1, `O' for Project 2, followed `S', `4', `2', and `6') in an image that is 100 pixels wide by 200 high.
In the blooper category please submit any funny-looking pictures that you created by accident due to bugs or logical errors.
For each category, a winner will be chosen each time and posted on the web pages. You may submit in all three categories if you wish, and the total number of optional points that you may receive for art work is 2, but to get 2 points it better be pretty amazing.

Late policy
Assignments are due at 11:59pm on the due date. Late assignments are marked down 1/3 per day. One minute late is the same as one day late. You are given 1 bonus day to cover the first time you are 1 day late. Teams may submit their projects late as much as the average of their remaining bonus days. Exceptions will be given only in extreme circumstances, only in advance, and only by Professor Finkelstein.

Do not share code
All work must be your own. You may discuss the assignments with your classmates but you must write your own code. If you borrow code from any source, be it Graphics Gems, or somewhere on the web, or a friend, or anything else, you must state this in your assignment. Failure to do so will result in disciplinary action. Needless to say, team members are allowed to share code among each other on Projects 3 through 6. If you have any question about what you can and cannot do, please contact Professor Finkelstein.

Facilities
We will be using the facilities of MECA, the former ICGL, for the programming assignments. Please do not use the graphics lab (418) in the CS building for working on your projects. It is intended for research projects only.

What to submit
You should turn in complete source code for your project as well as a writeup. The writeup should be a HTML document called writeup.html which may include other documents or pictures. It should be brief, describing what you did, what you have implemented, what part works and what doesn't, and how to compile and run your program.
Make sure the source code compile in the MECA workstations. If it doesn't, you will have to attend to a grading session with a TA, and your grade will suffer.

How to submit
Submit your solutions to the programming assignments electronically using the following command.

/u/cs426/bin/submit number files

number is the assignment number and files is the list of files for that assignment. For example,

/u/cs426/bin/submit 31 readme makefile main.c strings.c

submits the files readme, makefile, main.c, and strings.c for a fictitious assignment 31. The submit command copies your files to the directory

/u/cs426/submit/login/number

and lists all the files that you have submitted for assignment number. login is your user account name. If you execute submit after the assignment deadline, your files are placed in directory number_late. You can run submit more than once, and you can submit partial lists of files.
There's also unsubmit, which allows you to `unsubmit' one or more files. For example,

/u/cs426/bin/unsubmit 31 main.c

would remove your main.c from the submission directory.
You can omit the /u/cs426/bin/ prefix if you add /u/cs426/bin/ to your PATH variable. You must execute submit on one of the MECA workstations.

Last update: Sun Dec 7 14:39:28 EST 1997