Report Writing

So you’re writing a report. It might seem overwhelming, and the least of your worries when there’s so much code to write, but report-writing is a skill you will need throughout uni.

Where to start:

  1. Reflect on what you’ve written- what functions were really difficult to write? Why so? How did you end up writing them? What design decisions did you make while writing your code?
  2. Create a draft report, laying what you will discuss in each section. While the structure of your report is up to you, here is my personal go-to layout:
    • Abstract (1 paragraph): outline what you achieved, explain the purpose of the program, and preemptively list some of your key design decisions (e.g. “in order to maximise readability, the code was not written to maximise efficiency…”)
    • Design goals (about half your report): explain how you used/created/manipulated data structures, and why you did so.
    • Results (about half your report): explain how your design goals/ideas changed over time, and why. Did you find that one way of writing a function just didn’t work? This is the time to (professionally) rant.
    • Conclusion (1 paragraph): a quick wrap up, summarising key points from your report, and if you have any- suggestions for how the code could be expanded upon in future.
  3. Begin writing!
  4. Proof read, and make sure your writing is clear and concise

    Your Goals, as Given by Steven Han

    • What are the objectives of your functions? • What were the conceptual or technical issues that you encountered whilst doing the assignment, and how did you get past them? • What were the assumptions that you had to make during the assignment? • What would you have done differently if you were to do it again? • What are the major design choices you have made in your program? • Why have you made those choices? • How would you make your program better? • How did you test your program? What were the results? • Which parts of your program can be confusing for the reader? Explain them if so. • How fast is your program? What makes it fast/slow?

###