This semester, students were given a choice of designing and coding one of three projects: Mario, Asteroid Defense, and Among Us. We chose these three games based on popularity from previous years and what students are playing today. Here’s a quick overview of what each game is about.
Among Us: A “build your own adventure” style game, based on the popular game of the same title, where the player progressively makes decisions which determine the outcome of the story.
Each student is given a template that corresponds to the game they chose, which includes sprites, background images, and sounds. From there, students finish coding each part of the game by following our guided worksheets and are able to customize them if time permits. All three games help students develop and understand the fundamental concepts of computer science that were introduced last semester--conditionals, loops, coordinates, and variables--along with additional concepts introduced this semester such as events, costumes, and game design.
CS IRL––Computer Science In Real Life––is a new initiative Code Haven introduced to get students excited about how computer science is integrated into our lives beyond Scratch games. CS IRL shows the students how influential programming can be, and how it can influence aspects of their lives in both the humanities and sciences. This semester, we have incorporated CS IRL into three of our lessons. For the first week, we focused on Computer Science and Music, talking about how apps like Spotify use algorithms to curate playlists and how Artificial Intelligence can listen to music and reproduce a similar piece of music. We also demonstrated Semiconductor, a Google AI experiment that allows you to conduct your very own orchestra: https://semiconductor.withgoogle.com/. In future lessons, we plan on exploring CS and animation–through the lens of the new Toy Story movie–as well as deep fakes.
While debugging activities have always been a part of Code Haven’s curriculum, this semester, we used Scratch rather than MIT App Inventor. The debugging activities are meant to help kids learn how to problem solve in their code when they run into an error. We emphasize a three step process: 1) locate the code causing the error, 2) fix the error, and then 3) test the code to make sure it works. Working through these problems as a group encourages students to collaborate and develop critical thinking skills that they can use both in their own Scratch projects as well as in the real world.
Along with creating guided worksheets for each of the three games, we also made corresponding “versions” that act as both answer sheets for mentors and checkpoints for absent students. Essentially, each game has a weekly guided worksheet and a corresponding Scratch project (remixed from the corresponding game template) that includes all the code that should be finished by the end of that week. All of these weekly versions are then organized by game using Scratch Studios for easy access. Mentors are free to reference these weekly versions in order to familiarize themselves with the code and guide students through the worksheets. For students, these weekly versions serve as a great way to be caught up with the class, in case they miss one or several classes, by remixing the Scratch project that corresponds to the week they’re currently on. Once remixed, students will be caught up and are able to continue along with their group.
During the fall semester, we encountered substantial issues in keeping track of student passwords. Incorrectly set passwords could not be recovered because the verification emails were linked to student school emails, which proved inaccessible by Code Haven. Additionally, classrooms used different username schemes to set up their accounts, which posed further challenges. In order to bypass this issue and to minimize logistical hassle, we devised a system to generate student accounts well in advance of their use. Code Haven requested rosters from classroom teachers during the first week of teaching, which allowed us to generate all usernames and passwords through the magic of spreadsheets. We also created a straightforward searching system to allow mentors to quickly copy / paste credentials into Google Meets with correct formatting. By generating the accounts through our Code Haven teacher account, we were able to programmatically create invitation links and standardized accounts for students. By placing them into appropriate classrooms, it also became possible to track student progress and to assist more effectively with technical issues. All of these benefits have resulted in a much smoother login process compared to the fall semester.
In order to improve the flexibility of curriculum scheduling, we decided to add challenge worksheets into the curriculum. Each worksheet is divided into independent parts, which allow students to add more challenging features to their games. By compartmentalizing these features, the challenge worksheets remain isolated from the rest of the curriculum and therefore are not necessary for the student to produce a working game. Additionally, students can tackle the challenges they find most interesting, providing a point of divergence that enables the individualization of each student project. We also emphasized that the challenge worksheets are a starting point - students should be willing to think of their own improvements and to go beyond the suggested additions. During catchup weeks, more advanced students make progress on the challenges, while students that have made less progress can catch up on normal worksheets. This flexibility has been invaluable for us during the spring semester!
During in-person classes, we frequently gave out stickers to students as an incentive to participate. Increasing student participation has become even more pronounced in the context of virtual learning, where technical issues and camera / mic dynamics can make engagement especially difficult for students. Gabe, an outreach director, created a virtual system that allows students to join teams and earn stickers, which are displayed as emojis. His website has proven essential in our transition to virtual learning and we thank him for his contribution.
At the end of each semester, Code Haven hosts a Project Fair. The goal is to foster a collaborative, supportive environment by allowing students to view other projects and to take inspiration from the achievements of their peers. The in-person version of this event is analogous to a poster presentation session; virtually, it is much more difficult for students to interact with each other. As a result, we have switched to an asynchronous format where each student will be given a list of projects to review (and leave positive comments on)! At the end of the semester, students will be given their work — our hope is that they will continue using Scratch even after their time with Code Haven!