[ Assignment #1 | Assignment #2 ]
For the first two assignments you will write an interactive program for drawing schematic diagrams such as the electronic network on page 83 of the text.
These assignments are somewhat open-ended. In particular, you are allowed to choose the kind of schematic diagrams your program will draw. Here are just a few suggestions:
kind of schematic examples of objects
----------------- -------------------
class diagrams classes, directed edges
flowcharts computation boxes, decision diamonds
digital logic diagrams nand gates, multiplexors
musical notation staves, notes
architectural plans walls, doors, stairs
All kinds of schematic diagrams should accomodate labels and text.
Assigned Monday, 24 June.
Due Monday, 15 July (extended from 8 July)
For this assignment you will draw various kinds of objects on the screen. This is not an interactive program. You will merely demonstrate your ability to draw the objects that make up your chosen kind of schematic diagram.
Your program should draw about 6 separate displays, and should wait for a mouse click before advancing to the next display. The first display should include your name and a textual description of the schematic diagrams you will be drawing.
You are allowed but not required to use animation to make your displays more interesting. You are also allowed to include graphics that are not directly related to the schematic diagrams you will be drawing. Feel free to have some fun with this assignment.
You will turn in an executable program and a listing of the five most important pages of code that you wrote for this assignment. Please make sure that it takes no more than a couple of minutes to run your entire program.
Assigned Monday, 15 July
Due Monday, 29 July
For this assignment you will write an interactive program that allows the user to create schematic diagrams on the screen.
For the most part, your program should operate in event mode. It should support at least one level of undo, and should allow the graphics window to be refreshed after it has been obscured by some other window.
It is up to you to choose the kind of schematic diagrams that are drawn by your program, and to choose the kinds of objects that will be used to construct those diagrams. Your program should allow the user to construct essentially arbitrary diagrams of your chosen kind, within the limits imposed by the screen size and the kinds of objects supported by your program. For example, it should be possible to construct diagrams that are at least as interesting as the diagrams on pages 83 and 216 of the textbook.
You will turn in an executable program and a listing of the ten most important pages of code that you wrote for this assignment.