Program assignments will be posted here as they are assigned.
Programs in this class are 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.
Program must be turned in on the assigned due date. No late programs will be
Program may consist of both programming and written portions. All work
should be performed in a professional manner.
- should correctly solve the problem presented.
- Program descriptions will contain sample or "test cases". These cases will include example output. 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 failing to produce the expected output for test cases are not elligable for redo.
- I will test your programs extensively. Programs that do not produce the correct answer will lose points.
- 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.
- Please see this tutorial on tar files.
- must not use elements of the standard library which have not been presented in class.
- Streams, strings, and files are acceptable.
- 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 on line or given to you by a "friend".
Written portions of a programs should:
- be neat and legible.
- be typed.
- be completed on time and submitted according to instructions.
Officially I do not accept late programs. 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 programs. 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 programs, 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.
- Program x is due x/xx/2022 and is worth xx points.