In your readme file we are asking you to engage in an act of metacognition: "an awareness of one's thought processes and an understanding of the patterns behind them" [Wikipedia]. Studies show that metacognition is a powerful self-improvement tool. Used conscientiously, it can allow you to identify both successful strategies and pitfalls to be avoided. The progress of developing programmers is closely tied to the accuracy of the mental models they develop, so your reflection can be a good opportunity to work on those as well.
With these goals in mind, please record any of the following in your readme:
- Realizations or revelations reached during the project
- Causes of significant bugs encountered
- Techniques used to work faster or more efficiently
- Concepts clarified
- Achievements of which you are proud
You may also use the reflection as a means of expressing to me parts of the assignment that you found difficult, could not complete, etc. Do not fear that your grade will be lowered because you say that something is unclear; in grading, I rely only on the evidence of the programs and other work submitted. The reflection is only evaluated (informally) in terms of its thoroughness and its contribution to your development.
How long should your reflection be? There is no set length. But you should attempt at least one or two serious observations, and this will necessarily require space to develop and flesh out. Longer reflections are fine also, so long as you keep to the point.
Acknowledgments
Your readme must include a section that identifies the resources you consulted while working on the assignment. Examples that should be listed here:
- Classmates you collaborated with
- Portions of code taken from websites or other sources
- Use of AI to generate or review code
It is not necessary to list consultations with course staff (TAs or professors). If you did not consult any resources or people while completing the assignment, you should include a statement to that effect.