CMU 15-539: Computer Science Pedagogy, Fall 2017
Homework 9
Due Tue 31-Oct at 11:59pm (with earlier partial deadlines)
Note: students doing non-CS1-Content teamwork for hw9 will be contacted directly by their team leads for what to do and when and how to submit it. Be sure you know if that applies to you. Piazza includes a post listing the updated team assignments.
This assignment is collaborative. Team sizes are exactly 2. This assignment has multiple due dates, see the timeline below for details.
Assignment OverviewChoose a game idea, and then design and build the following in teams of 2:
- Design and build a simplified version of the game (at least clearly in the spirit of the game) that does not require that CS1 students use lists or loops, but they may use conditionals.
- Design a reasonably polished version of the original game and add three ways CS1 students can work with it:
- CS1 students make tiny modifications to the code (debug or change features).
- Embedded exercises where CS1 students implement a function (for example, they might write the jump part of line runner).
- CS1 students programmatically control the game writing simple loop-free Python code (so instead of keyPress or mousePress they call functions to control the game, in the spirit of Code Combat). Hint: avoid using onStep here.
Optional
- Animation framework feedback is encouraged and can be submitted here.
- Find a partner.
- Choose a game idea on this sheet. Enter both your Andrew ID and the Andrew ID of your partner on that sheet.
- Submit your initial designs for review to this form. Include the following:
- A one paragraph description and relevant sketches for your simplified version of the game.
- A one paragraph description of each of the 3 ways students can work with the polished version.
- Thursday class will be 20 minute meetings with either Kosbie + Arman or Eddie + Luca. See Piazza for your assigned time. You only have to show up during your assigned time. Be prepared to discuss the ideas you submitted to the form the day before.
- Submit a PDF version of your ideas from above (with feedback from Thursday meeting addressed) to Autolab under the “hw9-design” category by 11:59PM.
- Each team should have a short (15-20 minutes max) meeting with a member of the UX Design team. The earlier the meeting, the better. Please do not have all these meetings on Sunday at 11:45pm (besides, you cannot expect UX Design team members to be available then). Expectations for the meeting include:
- Prior to the meeting, you should make reasonable progress on the implementation of the simplified and polished versions.
- Team members should take notes during the meeting in order to properly address user experience design concerns.
- Be prepared to give a brief, clear, enthusiastic, compelling in-class live presentation on your work.
- Submit a zip folder of all your work to the “hw9” Autolab assignment. Include the following:
- The PDF file from hw9-design named design_feedback_round1.pdf.
- Notes from your Saturday/Sunday meeting named design_feedback_round2.pdf.
- The full source for your simplified version named simplied_solution.py.
- The full source for your polished version named polished_solution.py.
- A high quality writeup that a CS1 student would see for your simplified problem. This file should be named simplified_problem_statement.txt.
- Three high quality writeups for each of the 3 polished variants. Name these files as follows: polished_problem_statement1.txt, polished_problem_statement2.txt, polished_problem_statement3.txt.
- Any other files that you feel are relevant.
- Attend a code review meeting with Scott and take notes for everything mentioned.
- Scott will provide instructions for how to upload your production code to Github.
- Assignments will not receive credit until Scott’s feedback has been reasonably well addressed.