Project Report
Please submit a clear, concise project report with your code. (“Concise” means it should take a page or less.) Your report should be your project’s README.md file, and it should include the following components:
-
Project Title
-
Names of your team members
-
Project description:
- Give a one-sentence description of your project, so that somebody considering pulling the code knows what to expect.
- Give a brief technical guide to running your code:
- What are its technical requirements? (At a minimum, it requires that you have Java 17/21 installed, because that’s what Kilt Graphics requires. Anything else?)
- How should somebody run the program? Where is the main class?
- Acknowledge any help, references, inspiration, or outside resources you used. If your game includes any art or sound assets, or includes the work of others in any way, credit the creator(s) and link to the source(s).
-
Known issues:
- Are there fundamental design limitations that users should be aware of?
- Are there specific bugs, glitches, or shortcomings that users should be aware of?
-
Societal impact:
Please write about how your project abides by ethical considerations and socially responsible computing practices. Be mindful that anything created by humans, including software, can carry embedded biases and have unintended consequences. In every software project, you must consider the ways in which your program can promote justice or heighten injustices, either through unintentional effects or through malicious misuse.
This may seem like an odd question. For example, Breakout cannot possibly have negative consequences…right? It is just a game, and such a simple little game at that! But can a blind person play it? What about somebody who uses an assistive device instead of a mouse?
Consider equitable practices in software like inclusivity, accessibility, and diversity. Think about the ways in which the code you write or software you produce may or may not contribute to society. Here are more specific questions to ask yourself:
- Does your code have the potential to exclude or cause harm to vulnerable populations?
- In what ways do you anticipate your software project being used in malicious and oppressive situations?
- Could there be unintended consequences of your software creation?
Note that you do not need to fix every problem you identify. Our goal is for you to develop an awareness of these issues early on in your computing journey. Being able to identify and raise ethical concerns in your software work is an important skill to have. We want you to start developing that skill now.
Initial Readings to Guide your Thinking: