Programming Assignments

Click the Refresh button on your browser to be sure you are getting the latest version of this page.
Programming Assignment 1 will be the basic project for the semester. Think of it as Version 1.0.
Programming Assignment 2 will incorporate some major redesign to incorporate more object
oriented features, specifically Design Patterns. Think of this as Version 2.0.
Programming Assignment 3 (for which there is no documentation required) will be to "wrap" a
Graphical User Interface around program 2. Programming Assignment 3 is for extra credit.
Completing it successfully can earn up to 15 extra points.


When submitting programming assignments via e-mail you must include your name somewhere in the message to which you attach files.
The instructor will not remember that the e-mail address wiffle@whereever.net belongs to John Smith.
Make sure you are submitting items in the way instructed. Assignments will
not be accepted if submitted incorrectly. Printed copies will NOT be accepted
under any circumstances. If you try to submit an item after the posted deadline
and have not talked to the instructor about it being late then it will not be accepted.

DO NOT SUBMIT FILES VIA GOOGLE DRIVE. THEY WILL NOT BE ACCEPTED.

Click the links below to get copies of programming assignments and any associated data files.
These links will be turned on as the assignments are given in class.

If you need help getting started using the Microsoft Visual C++ compiler then click here
for step-by-step instructions on how to create a project, add source files, compile, etc.

Make sure you have read and thoroughly understand everything in the section below
before you begin working on programming assignments.

Additional Requirements and Information

Programming assignments are a very important part of this class as they demonstrate that you have acquired a practical understanding and ability to apply the concepts learned from class lectures. It is expected that you will do the programming assignments on your own, without help from other members of the class, computer lab assistants, or friends.

If you are having problems with a programming assignment the instructor will be available after class and during posted office hours to answer questions. You may also e-mail questions to the instructor and he will reply as soon as possible, usually within one day. Note: there is one questions which the instructor will NOT answer. That is, "Here is my source code. It doesn't work. Will you look through it and tell me what is wrong?" The answer to that question is "No". However, you may send the source code with a question like, "My program crashes on the line 'if(temp->key == key)' in the function addNode(). Can you tell me why?" This will be answered because it is about a specific line and function.

The following comment MUST be at the top of EVERY source code file (.h and .cpp) which you turn in. It is assumed that by placing this comment in your code you are verifying that the code is your own work and not copied from someone else. Any code that you copy from some other source must carry a comment as to where it was obtained. Please note, this is a Computer Science Department requirement.

Source code files not so commented will not be accepted.
	/*******************************************************************
	*   CS 307 Programming Assignment 1
	*   File: Source Code File Name
	*   Author: Your Name
	*   Desc: A brief description of what the program does.
	*   Date: Date file was submitted to the instructor
	*
	*   I attest that this program is entirely my own work
	*******************************************************************/
			
Notes on Program Grading

When you turn in your project code files the instructor will open your project solution in Microsoft Visual C++ 2008, compile, and run the program. Please note the following:
  • It is assumed that you have already compiled and fully tested your program.
  • If your source code files will not compile the instructor will not look through your source code to determine what the problem is and fix it.
  • If your source code files will not compile the instructor will not look through your source code and give you partial credit.
  • If your source code files will compile then the instructor will run and test your code. If the program crashes at any time during testing the instructor will not look through your source code to determine what the problem is and give you partial credit. He will, however, return the program to you with a note as to where the crash occured and ask you to fix the problem and resubmit the program. There will not be any points deducted for this.
If you think these requirements for programming assignments sound somewhat harsh then welcome to the real world of professional software engineering. "You gotta keep the customer satisfied..." And the instructor is your customer. If he doesn't like your product he won't pay for it and the "coin of the realm" is grade points.