Over the summer I posted a series of interviews with computer science
educators. (see the index at
CS Educator Interviews: The Index) ) One of the people I really wanted to include was Emmanuel Schanzer who runs
Bootstrap. Emmanuel was pretty much flat out over the summer but he recently made time for my questions which I appreciate greatly. BTW if you get a chance to take one of his workshops – DO IT!
[NOTE: A lot of people seem to get here looking for questions to ask computer science teachers during hiring interviews. Those people may want to read
Interview Questions for Computer Science Teachers.]
Tell us about yourself. What is your background and how did you wind up creating Bootstrap?
I grew up in Providence, RI and studied Education and Computer Science at Cornell University. I've always loved teaching and found CS to be a fascinating field, and I'm at my happiest when I can combine the two. After short stint in the private sector after college, I decided to become a teacher and approached a number of schools about teaching programming.
Ten years ago programming wasn't even being
talked about as a core subject, and there just wasn't demand for someone like me. As a result, I wound up teaching introductory algebra in a public high school. What struck me then was that the vast majority of my students struggled with the concept a "function", regardless of how well they'd done in the previous class. Even the students who were doing well would struggle if I tweaked a problem or asked a follow-up question, and I discovered that they were basically memorizing different types of problems and solving them mechanically.
I also struggled with functions in high school, and realized that I didn't fully understand the concept until college, when I took my first real programming class. At the time there were already a number of software programs, programming languages and activities that used programming to teach math, but none of them fit my needs (more on this later). As a result, I started writing a curriculum for my own class, which is eventually what became Bootstrap.
However, Bootstrap wouldn't be what it is today if it weren't for the
enormous contributions of a number of people and organizations. Over the last six years, Shriram Krishnamurthi (Brown University) and Kathi Fisler (Worcester Polytechnic Institute) have been instrumental in taking it from a small project and turning it into the scalable, polished work it is today. The program has also grown thanks to the tireless efforts of Emma Youndtsmith, who runs all of the Bootstrap workshops and teacher support programs in the Northeast - it's because of her that we're able to operate on both coasts of the country! Finally, I want to thank Matthias Felleisen (Northeastern University) and the entire
Program by Design team - we're standing on the decades of work they've put into the language, curriculum and pedagogy.
What is Bootstrap? What makes it special?
Bootstrap teaches students to program their own videogames, using purely algebraic concepts.
I'd say there are two main differentiators for Bootstrap, the first being our use of a truly algebraic language. It may surprise some people that the programming languages used most often in schools don't behave anything like mathematics! Here's a simple program to illustrate the point:
x = 3;
x = x+2;
What is the value of 'x' at the end of the program? If you said "five", you're completely right! But now consider the same expression in a math class:
x = 3
x = x+2
This doesn't even make sense! Subtracting by x on both sides of the second line gives us "0=2", which we know is totally wrong. What's going on here is that many programming languages have things called "variables" that don't behave anything like the variables we see in math! If a student is struggling with the concept of variables in algebra, learning to program in a language like this isn't going to help...and it's likely to just make things worse.
In Bootstrap, functions and variables truly behave the way they do in mathematics. What's more, we extend the algebra to talk about more than just numbers! Kids write functions over numbers, strings, images, and animations - all following the same rules in their math book.
The second major differentiator for Bootstrap is the close integration between the software tools, the curriculum and the pedagogy. So many of the tools out there assume that teachers will just seat their students in front of a computer and be done with it -- at best the teacher is basically a tutor, and at worst they're a babysitter. The tech-ed movement has created a number of beautiful tools, but teachers need more just than a piece of software to teach: they want lesson plans, a scope and sequence, homework assignments, quizzes, and handouts. They want professional development that really demonstrates
what it really means to teach with this stuff, and they want these things designed carefully so that they fit together. That's what we've done in Bootstrap, and I think teachers really appreciate the difference.
I should also say a few words about these three components, because we've put years of effort into each.
The software is entirely browser-based, so there's nothing to download or install. Files are saved in the cloud, so students can work from any computer. We've made every effort to keep the environment as friendly and helpful as possible, while still being a real text-based IDE. The research that went into just the
error messages for this language won "best paper" at SIGCSE, and we've integrated that work into the errors in WeScheme.
Meanwhile,
the curriculum has been developed with feedback from hundreds of teachers and thousands of students. We ship it with an integrated student workbook, handouts, exit slips, homework assignments and detailed lesson plans. We've also aligned our curriculum to both the CSTA Standards for Computer Science and are the first to align to the Common Core Standards for Mathematics as well. We run a discussion group for teachers, where they can ask questions and get quick feedback, as well as a YouTube Channel where teachers can watch sample lessons to get some ideas.
Finally, the pedagogy is drawn from the widely-respected
Program by Design work, which has been used for decades in university and upper-high-school classrooms around the world. When used with an algebraic language, it also mirrors the Common Core Mathematical Practice Standards beautifully, as well as the NCTM recommendations for teaching algebraic functions. With this pedagogy, Bootstrap students
live and breathe word problems, with nearly every aspect of their game being introduced as a word problem they need to complete.
Oh, and did I mention that our software and classroom materials are all completely free? :)
Where is Bootstrap being used? What sorts of schools? What grades?
Bootstrap has been integrated into existing math and computer science classrooms around the country, either as a standalone module or as something that's woven into the fabric of the class. Our "sweet spot" is generally 8th and 9th grade, but we've seen teachers use it with students as old as 18 and as young as 10. Our focus on algebra has led to broad adoption in urban public schools, but there are a number of rural, private and parochial schools that have adopted it as well.
You do a lot of professional development. What sort of PD events do you run?
We run some
amazing 2- and 3-day workshops for teachers, as well as a 1-day "marathon exposure" class. I remember the various PD days I went to as a teacher, and I can definitely say that our workshops are not your typical PD. For one thing, 99% of the time teachers spend doing hands-on work, actively moving through the curriculum and asking questions along the way. We actually teach the entire class as a demonstration, pausing after each activity to debrief and talk about differentiation and technique. And since the teachers are participating "as students", they walk away having seen exactly how each activity can look in a real classroom -- and of course, they get to go home having written their own, fully-playable videogame!
What are your future places for Bootstrap?
There are some big things afoot, including the adoption of the very-exciting
Pyret programming language. We're also exploring a block-based environment and a flipped-classroom model, but we're not at the point where we're able to talk about it just yet.
What else do you want people to know about you and Bootstrap?
- Bootstrap is written by teachers, for teachers. If you're a veteran math teacher, you're going to like what you see.
- It's more than just a piece of software - it's a curriculum and pedagogical approach to problem-solving.
- We believe that making a dent in the universe is about more than engagement. Getting kids excited about programming is necessary, but learning real, transferable skills must always be at the heart of what we do as educators.