Project assignments will be posted here as they are assigned.
Project in this class is intended to provide students with deeper and more focused practice with the
concepts discussed in class and in the book. True understanding is only
available with practice.
Projects must be turned in on the assigned due date. No late project will be
Projects may consist of both programming and written portions. All work
should be performed in a professional manner.
Programming portions of a project :
- should correctly solve the problem presented.
- I will test your programs extensively. Programs that do not produce the correct answer will lose points.
- Programs that do not sufficiently pass the test cases provided in the description will receive a grade of 0 and no further grading will be performed.
- Programs that do not produce the correct output on the test cases provided in the description will not be eligible for a redo.
- In general, you should use the test cases provided. Do no retype these files, download and save the provided example files.
- For this class, unless specified otherwise, all files end with a new line character.
- Files are in "unix" format, there are no carriage return characters at the end of a line.
- The last line in the file normally ends with a newline character.
- Please refer to this tutorial on file conversion.
- 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 using the specified compiler flags 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.
- Please see this guide for more information on the compiler and compiler flags
- 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 portions of a project should:
- be neat and legible.
- be typed.
- be completed on time and submitted according to instructions.
Officially I do not accept late project. 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 project. 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 project, 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.
- Project 1 is worth 40 points and is due 3/3/23.
- Project 2 is worth 50 points and is due 3/27/23.
- Project 3 is worth 40 points and is due 4/27/23.