Winter 2004, CSE 403 - Software Engineering

Reflective essays

Every week or so you will have a reflective essay assignment. The goals of these essays are (a) to get you to think more deeply about some aspect of the course, and (b) to practice the skill of reflecting. Reflecting upon your experience will deepen your understanding of the topic, show it in different light, and help you generate new ideas and possibilities. Practicing reflection is important, since this is a critical skill for becoming proficient or an expert. Only by reflecting upon what happened can you learn from our successes and our mistakes so that the mistakes you do make are more and more interesting. That is a sign of being on the path toward expertise.

Here are some techniques that will help you get the most from your reflections:

We are looking for stories about things meaningful to you, to be communicated in a way that they are meaningful to the reader. The goal of these essays is for you to reflect upon, capture, and synthesize what you have learned from this course, in a way that communicates this to the reader (the instructors). Good essays have solid content, clear style, are grounded in factual assertions, and communicate well.

Good code, by the way, has exactly the same characteristics as good essays. It communicates well to the people reading the code. Excellent software developers tend to also be excellent writers. In the end, writing code and writing essays are both about communicating effectively.

Our grading will reward essays that:

The grading metric is a mix of subjective and objective:

Here is an example of what we consider to be a good reflective essay: