At Gateway High School, I taught the Intro to Computer Science course with support from the TEALS program, part of Microsoft Philanthropies. Part of this support was having 2-3 volunteers who could help out in various ways - from lending their subject-matter expertise to being an extra set of eyes in the classroom, especially helpful to give feedback to more students and have a better idea of where the class stood as a whole when progressing through a larger assignment like this end-of-unit project. Another part of the support was having access to TEALS-created curriculum.

In my first year teaching the course, I made only minor modifications to the curriculum, especially early on, as I was learned both the curriculum and the Snap! programming. At the end of Unit 1 students use their developing programming skills to tell a story, anything from a nursery rhyme to something fully born from their imagination. This means there is a high ceiling for any kids who have prior knowledge or are just enthusiastic.

In my revision for the following year, I focused on making the project accessible both in conceptualizing what was being asked and in making it another chance to learn the code that the project was asking students to demonstrate. I also started promoting the idea of decomposing a problem earlier, which you can see some evidence of here. This helped students focus on first coming up with a story (ranging from The Itsy-Bitsy Spider to an epic three scene inside joke that I didn't get) then translating it to code by breaking down characters (sprites), actions, and timing. There was still a lot of project time in class, but more students completed the project as intended, giving us a fun share out class at the end.

The other big thing I changed was the grading scheme. Instead of just totalling up points, we attempted to make a clear rubric for three learning targets, described levels consistent with the school grading scheme, and left room for students to exceed expectations as they saw fit. We also included a second way for students to see if their project showed evidence of reaching learning targets in the form of a checklist. This more concrete list helped a range of students choose their next step at various points and feel confident in the code they were turning in. It was became a useful tool when reviewing code and giving feedback during project time in class, whereas the rubric was better for giving feedback on learning targets holistically after the project was completed.