This file is out of date - did you arrive here by following an old bookmark? We keep these pages up for historical purposes but you can always access the current version of our materials by clicking on the materials link in the sidebar.

We provide all of the our materials free of charge, to anyone who is interested in using our lesson plans or student workbooks.
  • Student Workbook [PDF | OpenOffice] - The lesson plans linked below are tightly integrated into the Student Workbook, which should be used with the curriculum. A Teacher’s Edition is also available upon request. Please fill out a request using our online form, and we’ll get back to you right away.

  • Unit 1: Students review almost all of the material from Bootstrap 1, including Circles of Evaluation, Contracts, Expressions dealing with strings and images, Variable definitions, Function definitions, and the Design Recipe.

  • Unit 2: Students discover the need for data structures and they practice defining them, making examples, and writing functions that produce them.

  • Unit 3: Students, having made pre-built data structures in the last lesson (autos), will generalize their understanding by defining various data structures of their own and accessing their fields. Students are introduced to Racket’s purely-functional microworld implementation. This requires an understanding of functions, data structures, and an introduction to events-based programming. To accomplish this, students first work with a simple world (a number, representing a dog’s x-coordinate). This world is consumed and produced by the update-world function, and drawn by draw-world. To understand events, they act out the World model, actually becoming event handlers and timers, to simulate a running program.

  • Unit 4: Students return to the Ninja World game, and codewalk through the ’update-world’ and ’draw-world’ functions. Making minimal changes to these functions, they are able to modify the dog’s speed, add static clouds, etc. They then modify the world to include the ruby’s x-coordinate, and systematically update each function in the source code to accommodate this new world. If time allows, additional iterations are possible by adding more sets of coordinates to the World. Students brainstorm their videogames, and derive the structure for their game world.

  • Unit 5: After thinking about their World, students practice building, drawing and animating it.

  • Unit 6: Students return to the subject of partial functions, this time defining a key-event handler that modifies their world when certain keys are pressed.

  • Unit 7: Students continue to combine their use of Cond and Data Structures, this time identifying ways in which the World structure might change without any user input.

  • Unit 8: Students return to the Pythagorean Theorem and distance formula they used in Bootstrap 1, this time with data structures and the full update-world function.

  • Unit 9: This unit includes instructions for adding frequently-requested elements to students’ games, such as extra levels and a scoring system. Students comfortable with structures are encouraged to use nested structures in their games for more complexity.

Of course, there’s more to a curriculum than software and lesson plans! We also provide a number of resources to educators, including standards alignment, an answer key for the programming exercises and forums where they can ask questions and share ideas.

  • Teacher-Only Resources - We also offer several teachers-only materials, including an answer key to the student workbook, a quick-start guide to making the final project, and pre- and post-tests for teachers who are paticipating in our research study. For access to these materials, please fill out the password request form. We’ll get back to you soon with the necessary login information.

  • Standards Alignment - Find out how Bootstrap aligns with Common Core Standards for Mathematics, as well as the standards for Mathematical Practice.

  • Support Forums [Announcements | Discussion] - Want to be kept up-to-date about Bootstrap events, workshops, and curricular changes? Want to ask a question or pose a lesson idea for other Bootstrap teachers? These forums are the place to do it.