The Bootstrap Blog

2018 Updates to Bootstrap:Reactive!

Educators know that great classroom materials take years of polish and editing, and Bootstrap:Reactive is no exception. Over the years, with the help and support of teachers from across the country, Bootstrap:Reactive has been re-written and refined, taking it from a continuation of the programming language and topics covered in Bootstrap:Algebra to its current form as a polished and versatile computer science module appropriate for use in intro or AP-level CS classes.

Bootstrap:Reactive is a 25+ hour curricular module that teaches data modeling alongside developing interactive simulations, such as games with 2D animation, games with arbitrary numbers of characters, or simulations of scientific processes. Creating simulations and animations requires developing rich models of domain elements, writing programs to advance simulations, and figuring out how to test simulation programs independently of their GUIs. Reactive targets this using a new (but not unfamiliar) programming language called Pyret. Pyret combines the same functional programming semantics and pedagogy experienced teachers and students know and love from Bootstrap:Algebra (such as the Design Recipe), with a Python-like syntax. In Bootstrap:Reactive, students are introduced to computer science topics such as data structures, data modeling, complex functional relationships, and event-driven programming. Throughout the module, students design and program simple animations to deliver a package by drone (new for v. 1.0), animate a sunset (or a rocket blasting off), and care for a virtual pet (new for v. 1.0). After completing the core units of the module, students have a variety of choices in where to turn: adding levels or a scoring system to their own video game, practicing code refactoring, extending their knowledge of data structures into nested structures (new for v. 1.0), or creating their own version of Pong. In each unit and optional lesson, students practice key software development principles such as designing and testing the interactive systems involved in their games, animations, and simulations. These are the skills that take Bootstrap beyond mere coding and into principles of computer science.

Students discover the need for structured data by programming a 2-dimensional delivery path
Data structures and event-based programming open up whole new avenues of Computer Science exploration and application for students. Students in Bootstrap:Reactive deconstruct and program games, animations, and simulations from the ground up, without relying on background code or do-it-all libraries. In the process, they examine how functions that draw images, update the state of the game's data, and handle events (such as keystrokes and mouse clicks), work together to produce animations and interactive games.

Based on teacher feedback after our experience at CSPdWeek, we've added many practice exercises for skills such as producing images with code, identifying useful data structures, using helper functions, and defining important vocabulary terms. We've also added new lessons on adding features to programs after completing the core units of Bootstrap:Reactive, including using timers to add a splash screen or collision animation to a completed game.

Students examine different versions of code to produce the same emoji, identifying the benefits of reusable code
With the core content of Reactive getting positive reviews, most of the changes this year were about adding exercises and optional activities, rather than making structural changes to the curriculum. This tells us that the course content has reached a level of quality that holds up for even the most discriminating CS teachers, while providing a high level of rigor that builds on earlier Bootstrap classes and integrates with AP CS Principles and other college-level computing courses.

Who is Bootstrap:Reactive for?

If you're a teacher who has taught Bootstrap:Algebra, Bootstrap:Data Science or Bootstrap:Physics, Bootstrap:Reactive lets you use your experience and expertise to teach a rigorous CS class while preserving the mathematical and pedagogic content you care about, like the Design Recipe. If you're a Computer Science teacher who wants to use the Bootstrap approach to introduce AP-level concepts, or any educator who's had success with the Bootstrap pedagogy, Bootstrap:Reactive lets you and your students build on what you know, without having to throw everything out and start over. As a module, Bootstrap:Reactive can be completed in as little as 25 hours, but it can also be used as a rigorous, semester-long programming course. Students in one Idaho school are using Bootstrap:Algebra and Bootstrap:Reactive as a single course, required for all high school seniors! Other schools include Bootstrap:Reactive as a module within their AP CS Principles course, having students create games in Pyret for their "Create" task.

The Bootstrap team is proud to recommend Bootstrap:Reactive for many different uses, each of which brings our unique perspective on modeling, simulation design, program development and testing to students and teachers around the world.

Posted January 10th, 2018