Programming Assignments
Click the Refresh button on your browser to be sure you are getting
the latest version of this page.
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.
When submitting programming assignments via e-mail then you must
include your e-mail address on the cover page of the design document,
test plan and in the heading comment on all source code. Also 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 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 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 form
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.
//----------------------------------------------------------------------------
// Source Code File Name
// Your Name
// Programming Assignment number and name
// This program is entirely my own work
//----------------------------------------------------------------------------
Notes on Programming
You should pay careful attention to the following when writing code for a programming
assignment:
-
In many of the programming assignments you will be given the prototypes of functions
which must be included in the program. You may NOT change the function prototypes
in any way. This includes the return type, the argument number and type, and the
spelling of the function name, e.g. if the requirement calls for void addNode(Node *n)
you may not rename the function to void AddNode(Node *n).
-
When requirements for a programming assignment are listed you must meet ALL of
the requirements for full credit. You may not modify any of the requirements because
you think they are unimportant or you think you have a better way of implementing the
assignment. The requirements are stated as they are for a purpose.
Notes on Program Grading
You will be asked to turn in electronic copies of source code files which the instructor will
compile and link with a test driver program. Please note the following:
-
Documentation for each programming assignment must be in Microsoft Word .doc
format. Do not turn in any documentation in .docx format. The instructor
does not have that version of MS Word. (Besides that was designed for use with
MS Vista and that is a piece of crap.)
-
Do not turn in any source code file that has a main() function in it. The instructor
will compile your source files in with his test driver file which contains main().
-
It is assumed that you have first compiled the source code files with your
own test driver to test all of the functionality.
-
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.