Homework assignments will be posted here as they are assigned.
Homework in this class is intended to provide students practice with the
concepts discussed in class and in the book. True understanding is only
available with practice.
Homework must be turned in on the assigned due date. No late homework will be
Homework may consist of both programming and written assignments. All work
should be performed in a professional manner.
- should correctly solve the problem presented.
- I will test your programs extensively. Programs that do not produce the correct answer will lose points.
- If your program does not sufficiently pass the test cases, it will receive a grade of 0 and no further grading will be performed.
- must work on the example data.
- Programs that do not produce the correct output on the example data will not be eligible for a redo.
- should be well written and well documented.
- Please refer to these guidelines. An expanded version of this document is available here.
- Programs which fail to follow the program guidelines will be subject to loss of points.
- must compile without errors or warnings on the specified target machine (CSLAB103 by default).
- Programs that compile with errors will not be graded and are not eligible for a redo.
- Programs that compile with warnings may be graded at the instructor's discretion.
- must employ the proper data structures.
- must employ efficient algorithms.
- must be modular in design, flexible and extensible.
- must be completed on time and submitted according to instructions.
- must be submitted in the required format. By default, this is as a compressed tar file.
- Programs not submitted in the proper format will be graded at the instructor's discretion.
- Programs not submitted in the proper format are eligible for a redo at the instructor's discretion.
- must not use elements of the standard template library or the standard algorithm library.
- stringstreams, vectors, and lists are explicitly prohibited.
- In general, if we have not discussed it in class, you should ask before you use something you have found.
Written homework should:
- be neat and legible.
- be typed.
- be completed on time and submitted according to instructions.
Officially I do not accept late homework. If you find that you will miss a deadline please contact me.
If you turn a valid assignment in on time or early, you may at your option,
resubmit it once after performing corrections and receive a higher score.
This option is not available to late submissions, or to submissions judged by
the instructor to be simply place holders for late homework. The original late
score still applies for others submitting late work.
Resubmissions must be made submitted within one week of the time the program
is graded. The resubmission may be regraded completely. Resubmission
of a program may or may not result in a higher score based upon the
corrections performed. All feedback is expected to be incorporated into
The resubmission policy is not available for programs submitted during the last week or classes or finals week.
You are responsible for ALL code submitted. You should know what this code
does and be able to explain how the code works.
I may, at my option, require an oral code review for any program submitted.
If you use external sources to complete your homework, you should document this. This includes sources where you copied sections of code, persons who supplied lines of code or collaborators. Failure to do so constitutes plagiarism and will result in severe academic penalties.
- Homework 1 is 8/25 at class time and is worth 5 points.
- Homework 2 is due 9/3 at class time and is worth 30 points.
- Homework 3 is 9/10 at class time and is worth 5 points.
- Homework 4 is 9/24 at class time and is worth 40 points.
- Homework 5 is 10/13 at class time and is worth 5 points.
- Homework 6 is 10/27 at class time and is worth 40 points.
- Homework 7 is 11/3 at class time and is worth 5 points.
- Homework 8 is 12/1 at class time and is worth 40 points.