Here are some tips for writing an undergraduate academic report:
Don’t State That Your Particular Work Is Above Average
The goal of evaluation is to evaluate. Some students may think they’ve surpassed their own expectations (and it’s highly encouraged a sense of self-criticism), but the ultimate responsibility for the grade is from the lecturer. Thus, when writing the conclusions chapter, focus on presenting the challenges you’ve had and if there is room for improvements. A student that doesn’t know what else to do with its own work is a student without vision. Nothing is perfect. Excellence does not require perfection; it requires self-awareness, though.
Motivation Is About The Significance Of Your Work
The study of the “Implications of Formal Methods in Systems with Unstable Requirements” or “Agile Methodologies for Safety-Critical Systems” may be motivational because there seems to exist apparent, intrinsic antagonies. Implementing something in Piet may be motivational due to the exquisite underlying language. These affirmations show more about why the student chose its work than something like “I did this because I always enjoyed riding bikes”: it shows that the student cared to analyze the significance of its work to the underlying course. Which, by the way, leads to…
Your Work Has A Context
If you’re taking a course on dogs, and you’re asked to make a work about cats, it’ll probably be wise to compare dogs to cats. It would be unwise to try to meow your way through it. In other words:
Focus
If the course is about Object-Orientation, and you ignore Inheritance, Polymorphism, Decoupling, Encapsulation and Abstraction, then get yourself ready for a low grade, even if it just works.
Don’t Waste Time On Prettying-up Reports
If your teacher doesn’t give you a pre-defined format, than go grab one of the standards out there: ACM, IEEE, LNCS… Unless you’re taking a course on typography or design, trust me: the font you’ll choose is hideous. Make use of graphics and images if they’re relevant. Aesthetic distractions waste your time, don’t give you extra credits, and will not replace useful content. But if you insist on designing your own report then…
If You Must, Read Something About Typography
Use sans-serif fonts for titles, and serif fonts for body with enough spacing. A combination of Arial/Georgia using 10/12 for text size is good enough. If you really care on making your report as aesthetically pleasant as possible, this book is for you.
Form Follows Function
Instead of putting your effort in the aesthetics of the report, apply it in the elegance of the solution. Do your work with pride, as if everyone would be looking at it. After some experience, one knows when something was made in a hurry - we all were once students, you know?
Use Collaborative Tools
If you’re technological savvy - as in a 2nd year CS/SE student - use a version control system, or a wiki, or a combination of both. If you aren’t, Google Docs is here for you. This is specially relevant within big groups: not only it’ll ease cooperation, but will provide keep an history of your work for later review - though I believe some don’t like that prospect ;-)
It’s Not The Goal, But The Path
The goal of the course is seldom to develop the best product in the market, or to fulfill 100% of the requirements - which by the way, unless stated, tend to be guidelines. The goal is to learn - not memorize - the underlying concepts. You should be able to, after several months, easily recall with small effort and then infer your way throughout the subject like a pro.
This said, claims such as “we’ve fulfilled all of the proposed requirements so we deserve a 20/20” are, at best, silly! In contrast to final exams, evaluation of essays have into account parameters like overall work complexity, elegance of the solution, and potential scientific relevance. Essays shouldn’t be regarded as functional black-boxes; the how is as relevant (if not more) than just being done.
Learn By Trial And Error, Reductio Ad Absurdum
If something doesn’t work, don’t rush calling your teacher or giving up. Read your error messages, try slight changes, learn to debug. Citing Guido van Rossum - “you are debugging your entire life”. If all else fails, start again from a consistent point - the use of version control systems starts to pay off here. If the problem reveals to be non-trivial, then discuss it in your report: extra credits for those that surpass difficult challenges!
Cite Your Sources
Original research is only required for a PhD. And even at that point, ideas don’t usually appear out of nowhere. Research is typically an iterative, incremental process, introducing small changes to an already existing body of knowledge.
Having said that, cite your sources. And if you don’t have sources, then learn to find them… a priori! Learn to use Google and Google Scholar.
Also, unless stated, it’s not wrong to reuse - au contraire, it may reveal the pragmatism you’ll need in the industrial world. But, by all means, cite them!!! Credit where credit is due. And if you don’t like the culture of copy-paste - which you shouldn’t - then use your newly gained time to improve upon it.
Still, Google is not a valid source per se. Point to the actual pages you’ve used, and when appropriate, use those references inside the text of your report. Otherwise, it’s just a bunch of links.
And Finally…
Writing, no matter what, is an art that should be practiced. Its ultimate goal is to act as a medium for communication. Thus, don’t disregard grammar, be objective, and always assume the target audience can’t read your mind.