- What are the main learning objectives of the assignment?
- Upon completion of this assignment, students should have understand of Strings, Integers, Lists, Loops, and If/Else Statements. This assignment also introduces topics surrounding the technical representation of social concepts (such as storytelling).
- What are the main points from the reading that should be discussed for students to understand the assignment?
- Students should have a solid understanding of how the technical implementation of a game can contribute to the social message and vice versa. By analyzing Depression Quest, students see how their choices can be influenced by other entities, thereby preventing them from taking the paths they wish to take. This concept should then be extrapolated to demonstrate how this idea plays out throughout society.
- How should I instruct students to start the assignment?
- Students have approached this assignment in a myriad of ways. If a student feel confident with a storyline, encourage them to map this idea out first so that they understand exactly what decisions they need to build into their program. If a student is struggling to think of a topic for the storyline, you could also recommend that they start by mapping out a pathway and implement the coding portion first. Then, once they have the code written, they can go back in and create a story to fit it. The most important thing to remember is that every student will have a different level of comfort with the technical and social content, and it is important to encourage them to find the connections between the two disparate ideas in a way that makes sense to them!
- Is there a significant difference in the resulting quality of the work if students start by writing code or start by writing the storyline?
- We did not find a significant difference in the quality of work based on what method students took to approach this assignment. Because this is an introductory course and is often taken in the first year of college, many students have little to no experience with either the social or the technical content presented in this assignment. As such, the approach students might take are widely varied and influenced by their own understanding of their strengths and weaknesses. It is important to remember that where every student finds inspiration is different, and that they should be encouraged to approach this assignment in whatever way best enables them to fully understand and engage with the material.
- What computer science principles should students be familiar with to understand this assignment?
- Students should understand Python lists, tuples, strings, functions, integers, for loops, and while loops.
- How should I approach grading this assignment?
- You will have to hand grade the majority of this assignment. That said, due to the requirement to submit an outline of all possible paths, you can better test the code to ensure that the program has correctly implemented the required portions of the assignment. In regards to the storyline, we recommend that you just check to make sure that it somehow implements one of the social concepts introduced in class. We recommend not grading harshly on the quality of the writing (grammar, spelling, etc.).
- How long does the grading process take?
- It should take two TAs about two hours each to grade 30 assignments. We recommend having two TAs grade the assignments to ensure that fewer errors in grading occur.
- Why is there a ReadMe?
- The ReadMe enables students to engage with the social content more and gives them a space to note any difficulties they encountered with the assignment. It can also help TAs to be able to have more context for the student’s implementation of the assignment when they are grading.