Bootstrap:2
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 [html | pdf] - 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 [html | pdf] - Students discover the need for data structures, and practice defining them, making examples, and writing functions that produce them.
Unit 3 [html | pdf] - Students, having made pre-built data structures in the last lesson (autos), are introduced to the syntax for accessing the fields of those structures. They are then forced to generalize the 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 [html | pdf] - 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. Additional iterations are possible if time allows, by adding more sets of coordinates to the World. Students brainstorm their videogames, and derive the structure for their game world.
Unit 5 [html | pdf] - After thinking about their World, students practice building, drawing and animating it.
Unit 6 [html | pdf] - 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 [html | pdf] - 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 [html | pdf] - 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 [html | pdf] - 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.
Bootstrap by Emmanuel Schanzer is licensed under a Creative Commons 3.0 Unported License. Based on a work at www.BootstrapWorld.org. Permissions beyond the scope of this license may be available at schanzer@BootstrapWorld.org.