CompSci 308
Spring 2023
Advanced Software Design and Implementation

Weekly Journal : Breakout Project Analysis

Follow effective action with quiet reflection. From the quiet reflection will come even more effective action. — Peter Drucker

Now that the project has been turned in, take a few hours to relax and reflect, then analyze your experience. It is important for you to review your past performance, analyzing its positive and negative aspects to maximize what you learn from this experience. The goal of this retrospective is to draw meaningful conclusions to help you learn from your past successes and failures. They are an integral part of a project because, if taken seriously, they can be an extremely productive method of improving your development practices.

Submitting Your Work

In the breakout_NETID repository provided for you in the course's Gitlab group, push the following (no other modifications to this project repository should be made):

In the portfolio_NETID repository provided for you in the course's Gitlab group, push the following:

Specification

Explain your view of how your program is organized and why it was done that way. This is an opportunity to describe how you might fix a problem, conceptualize something you thought about but could not figure out how to implement, or present an alternate design if you did not have time to actually refactor the code after learning something new, or any other learning you want to tell us about that the code does not convey.

If you think something is good, justify your opinion. If you think something is bad, justify your opinion and suggest how to improve it. Use specific code examples and supporting reasons related to design principles discussed in class or in the readings rather than general terms like "clearly/obviously", "good/sucks", "elegant/ugly", or "like/hate".

Note, no design is perfect so including both pros and cons (i.e., its trade-offs) or alternate designs you considered is highly encouraged (often designs cannot be seen as better or worse than another, but rather as a specific set of trade-offs that prioritize different goals).