Unit 1While learning a new programming language, students review the major concepts and material from Bootstrap:Algebra, including Contracts, Expressions dealing with numbers, strings and images, Variable definitions, Function definitions, and the Design Recipe.
Unit 2Students discover the need for compound data - data structures - using 2-dimensional animation. They learn the syntax for data blocks, constructors and dot-accessors, and practice each by creating a "digital bakery".
Unit 3Students create a complete animation (of a sunset) from scratch, and learn how to use data structures to capture the essence of an animation. They apply the put-image function to draw single frames from data structure instances, and write a function to generate new frame data from previous frame data. They learn how to use reactors to combine their data and functions into a full running animation.
Unit 4Students are introduced to conditionals using if-expressions, on both built-in data (like numbers) and on programmer-defined data structures. They then use conditionals to implement an animation that goes through distinct phases. They also learn about helper functions, which abstract away frequently-used code to improve readability and reduce duplication.
Unit 5Students are introduced to another type of event, called on-key. They define a key-event handler that modifies a reactor state to move a character when certain keys are pressed. To handle multiple possible keys, students return to the subject of piecewise functions, giving them more practice with Pyret’s if expressions.
Refactoring Emoji DrawingsStudents examine the benefits of refactoring code to make it more readable and useable, and practice with some simple drawings (requires Units 1)
draw-state FunctionsStudents implement functions to draw a scene based on simple data structures (requires Units 1-3)
Build Your Own AnimationStudents create their own animation from scratch (requires Units 1-5)
Detecting CollisionsStudents use the Pythagorean Theorem to detect collisions in their games (requires Units 1-5)
Adding ScoresStudents add a score to their games, based on the number of collisions (requires the Collisions unit)
Adding LevelsStudents add levels of play to their games, with levels changing based on scores (requires the Scores unit)
Writing PongStudents implement a one-player version of the classic Pong video game (requires Units 1-5)
Nested StructuresStudents explore the benefits of nesting data structures to add complexity to programs (requires Units 1-5)
TimersStudents use timers to add functionality (a splash screen, or collision animation) to their programs (requires Units 1-5)
Student WorkbookThe lesson plans linked 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.
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.
Bootstrap Discussion Forum - 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.