Assignment/Problem Description: What were you required to implement?
This is a word-for-word reiteration of the problem given to you.
● Solution/Program Description: A brief description of what your program does, including how your program works. For example, you might state whether your solution is recursive or iterative, or if it uses memoization. If requested, include a flowchart that corresponds to the design of your program.
● Major Implementation Issues: What were the most difficult parts of your program to implement?
Known Bugs and/or Errors: List all the known bugs and/or errors of your program.
After extensively testing your program, you should be aware of (nearly) every issue it has. How does your program handle bad input? How does your program handle edge cases? This section is a space for full-disclosure; what’s wrong with your program?
● What went well
● What you would do differently next time
● How the exercise might be revised to make it clearer/more satisfying
● What the instructors and TAs might have done differently to promote learning
● It is expected that you use as much formal (bland) language as you can. There should be no emphasis placed on “expressing yourself” or “keeping it interesting”; a programming lab report is not a narrative.
● In a lab report, it is important to get to the point. Be descriptive enough that your audience can understand the problem and your solution, but strive to be concise.
● Focus on the work accomplished rather than the process used to complete the work.