Assignments, COM1370 W98, Prof. Futrelle
Machine problems, general guidelines

You will receive the maximum credit if it is clear that you have read the Toolbox references, online and on Reserve, and created interesting and well-structured programs, well-commented. Some points to keep in mind:
  1. All work must be done in MetroWerks Code Warrior Pro on Macintoshes (or in MCL).
  2. All assignments are due the beginning of class, else you lose points. (See point 7 below.)
  3. Your comments should tell why something was done and what concept is illustrated. Don't comment trivial and obvious code. Don't do all comments line-by-line, that is, there should be some comments at the beginning of the entire source file, some associated with an entire function or data structure definition,and some at important lines, e.g., conditional blocks, and occasionally, for individual lines.
  4. When you use a technique you read about or saw somewhere else, mention the source of the idea in your comments. Your job is not just to make things "look good", but to use the various ideas and algorithms you're learning in the course.
  5. In laying out graphics, it is tempting to use lots of integers to specify locations. This is a mistake. It makes your code very difficult to read and understand and very hard to change (and it will really reduce your grade). Instead, use parameter variables. For example, in designing a face you might use the diameter of the eyes as a basic unit of measurement, call it faceunit, and set it to say, 20 pixels, about 1/3 of an inch. Then all other dimensions in the face would be multiples of this, e.g., faceradius = eyespacing = 4 * faceunit, etc.
  6. If you work with someone else on your project, you must do your own work on the final version and it should be different from your partners'. If you do work closely with someone else then you must send email to me explaining what part was yours and you must carbon the mail to your partner(s), so everyone will agree on who did what.
  7. No excuses are accepted for, "printer down", "my only floppy got messed up", "machine crashed", because you should use the following strategy: From the beginning of a project , make sure that your source file has comments at the beginning that says what it is, what it's about, who you are, etc. Also, give your files sensible names, such as "Smith1370PA3.cp". Print out a copy of whatever you have early (days before it's due). Continue to update and print a copy every so often. Then, the day it's due, even if all systems are down, you'll have something to hand in. Also, use at least two floppies with copies of your code on it. Always copy your code to the hard drive to work on it, and back up often to the floppy as you work (how many minutes (hours?!) of work do you want to have to do over again if the system crashes?).
  8. Hand in a Mac floppy and a hardcopy of your sources, and hardcopies of any other required material. I'll give you envelopes in advance to hold the disk and folded hardcopy. Put your name, and "COM1370 W98" on the outside, as well as what assignment it is (cross out the old one to update). The disk, disk name, and all printed material needs similar identifying information on it.
  9. You're always welcome to ask me to look at your program running before it's finished, for comments, or hand in an early version of it to get feedback.

 

 

 


Overview of the projects

The Graphics Sampler: Assignments 1, 2, and 3.

This is a non-interactive program that presents the screen divided into a number of rectangles (at least 12) and puts different types of static and moving graphics in each (or moving across more than one rectangle. You'll understand what it's about as soon as you look at the examples, done in the past by other students.
 

A 3-D spinning object.

This will build on code I have written to tumble a 3-D object in space (details later).
 

A sketching application.

This will be a 2-D interactive sketching program with menu control (details later)
 

Running graphics algorithms.

Most of the algorithms in the text are so fundamental, that they are built into the basic system, e.g., the Mac OS, X windows. But I will occasionally ask you to experiment with ones from the book, after you're experienced with displaying windows and drawing in them.


Details and due dates

Assignment 1:

Writing about demos, due Tuesday 13 January: You are to run all the compiled demos in the Samplers folder (make local copies first). Write up some notes on the most interesting techniques you saw, how they look and behave and why they're interesting. Write in full sentences. (This doesn't mean be wordy.)
 

Quiz on Thursday, 15 January: Details on the Exams page.

Assignment 2:

Code commenting and design, due Thursday, 15 January: Part 1: You are to study my source code for my sampler in the Samplers folder, comment it carefully, and turn in hardcopy of your commented code. To do a proper job, you'll have to study Macintosh Toolbox and QuickDraw references. Part 2: Write a brief description of your preliminary Sampler design ideas and strategies.

Assignment 3:

Write your own Graphics Sampler, due Thursday 22 January.

You are to create a program with at least 12 windows that subdivide the screen, and in each one, your program is to draw some design or animation. Break all your drawing into a function for each window which in turn calls other functions, that is, make your code as modular as you can.

Return to COM1370 home page