Final Day: #CS50 Bootcamp: Now, innovate!


Today was the final day of AP CS50 bootcamp at Microsoft.  The amazing staffs of Harvard and Microsoft taught us about all of the tools that are already embedded into the course as resources for student learning.  The vast array (pardon the pun) of lecture videos and online resources will be amazingly useful for my students and I, as we work through this material.  I also feel relieved to know that if I am less familiar with particular quirks of C or the other languages in the course, I can quickly find a short video to play for my students that will easily explain the idea.  Additionally, there are HUGE social networks of people working on problems sets all over the world through the edX course.  I personally submitted a question about a particular problem set and got a useful and correct answer in under five minutes through slack from a woman in New Zealand that was moderating the forum.  It was quite incredible.  New computer science teachers and veterans alike will also benefit from the ability to direct students to a walk-through video of a problem set so that students can move forward without individual help from the teacher, and without being handed a solution.  This will also teach our students how to use resources to learn CS independently, which is a necessary skill for a Computer Scientist.

As an aside, I was totally fascinated by the thoughtful process Harvard used to create the mini-tutorials.  Apparently, each script is passed through the department and vetted by experienced Harvard Computer Scientists for accuracy before being recorded.  The staff writes them to be as short, interactive, and efficient as possible so that students get the nugget they need without extra information. It is very effective.

The pieces of the course that are not yet developed are those for high school teachers like me, who are obviously not at Harvard.  For example, a tool to help with teacher pacing is being created so that we can adapt this twelve week course to the number of weeks that we have in our school year with recommendations regarding essential topics and those that can be optional.  They are also working to break up the problem sets into more bite-sized chunks for high school students with some possible smaller assignments.  Harvard and Microsoft are also working out the process through which teachers might more efficiently grade student work and possibly utilize automated problem set checkers.  We were told that we would also have access to Harvard rubrics for grading the more subjective elements of students’ code.  Finally, a set of videos for teachers about pedagogy are being developed.  Harvard and Microsoft have been incredibly forthcoming about the fact that each of these plans will be adapted based on our feedback and needs.  We will not have all of these in some neat little bundle this year, but that is OK with me.  I think it is actually pretty phenomenal to be trusted with this process, and told that my feedback might influence how this course for high school might finally be built.  Not many folks in this world are willing to share their work before they have fully tweaked it, much less open it up for critique and criticism.  I see it as a sign of boldness and confidence on the part of this Harvard team.

The best thing that Harvard and Microsoft did, however, was to put this highly motivated and brave group of educators together in the same room.  It was INVALUABLE to have face to face interaction with these folks and know that I am part of a tribe.  After just two days, I can tell how thoughtful these educators are and how much they take risks and innovate in order to make great things happen in their classrooms.  We were told that an online forum for teacher communication will be created for all of us to participate, and I truly hope to hear from all of the voices that I met this week through that forum.  Together, we will be unstoppable, and we will be able to create resources that other high school teachers can use in their own classrooms.  I hope to let someone stand on my shoulders, just as I am standing on CS50’s.

Finally, I am excited to see where this journey will take all of us.  None of us know how students will respond to this amazing and rigorous opportunity, yet I feel certain that this innovative group of educators from Harvard, Microsoft and high schools across the country and in Canada will adapt and adjust as needed and pass on their lessons learned.  Harvard has entrusted us with their curriculum and invited us to innovate for our particular environment.  It is a gift that I take very seriously, and I will try to carry out with joy!

More to come as I share how that goes…

Day 0: #CS50 Bootcamp: Hello, joy!

Today was a packed day at Harvard’s #CS50 AP bootcamp here at the Microsoft Headquarters.  I learned so many things about Harvard’s plans for the rollout of AP CS50, and learned that we all have questions that only time will answer.

For me, the question of the day was, “What makes me love CS50 so much?”

As I consider this question carefully, and try to parse what makes this feel completely different from my undergraduate experience in Computer Science, I realize that CS50 is full of joy, and for me, that is its most important ingredient.

Within the first hour of the day, we were treated to a hands-on lecture from the inspiring Professor David J. Malan.  I had a blast trying to follow pseudo-code instructions from my peers to make a peanut butter sandwich. Needless to say, I couldn’t stop laughing when the instruction required me to “Spread the peanut butter with my nose.”  And I will likely never make a PB&J without remembering, you got it, the joy in that moment.


Experiences like these have come to be the trademarks of CS50, and indeed, I am naturally drawn to the theatricality of this course.  Not surprisingly, engaging lessons in which the students actively stand up and become the numbers in a sorting algorithm, or watch a phone book ripped in half to see the size of a problem literally cut in half make the content of the course memorable, meaningful, and dare I say, even fun!

There is also a pure generosity and lack of pretense surrounding this course, which is shared widely with anyone that wants to participate.  Teachers who are participating in the AP CS50 pilot have been asked to provide feedback and contribute to the development of the high school course.  We have been told that Harvard wants to know what we need in order to serve our students.  They have promised to work with Microsoft to create course materials to help us succeed in this project, and seem truly eager to collaborate.  So, here I am, early in my CS teaching career, being asked to give feedback to Harvard and Microsoft! What’s not to love?

I am also excited about the tribe of other high school educators, whose experiences and teaching strategies will contribute to my own classroom in the coming year.  Already, I feel connected to them and look forward to taking on this challenge, and creating something together in a non-competitive, truly collaborative way.  We began our time together doing puzzles and laughing, and now I feel empowered to ask them for help when I need it.

At Harvard, CS50 sponsors a Puzzle Day, Hackathon, and Project Fair to develop this same comfort asking for help among their students.  Students listen to music, have food and caffeine in abundance, and “play” together during these events.  AP CS50 teachers are being encouraged to implement these events at our own schools so that our students can have the experience of “playing” while doing something rigorous and worthwhile.  At the mini-Hackathon and throughout the day today, we were encouraged to document our experience by dressing up to take silly pictures in a photo booth.


As I walked out, folks were trying to see how many poufs they could balance on their heads.  Silliness and extreme productivity coexisted in a beautiful way.  We spent the day tackling complex, challenging problems, and yet there were smiles all around, and an overall feeling of empowerment.

While considering why no one looked daunted by the enormity of the task before us, I was reminded of some research that I read in graduate school about Piaget’s Theory of Play, distilled in Teach Like a Champion as the “J-Factor“:  “The J-Factor will help your students get more comfortable in your classroom and these games will help them understand the information you give them.”  Today at CS50 bootcamp, the J-Factor definitely helped me, and I plan to foster it in all of my classes next year.

It will be a year of joy as I dance and sing through CS50 with my students, and I can’t wait!

Coding Is Exploding!

I have spent the past year trying to find the right way to implement computer science in my school.  With so many choices and different platforms, the job of choosing or creating curricula can be overwhelming for a CS teacher.

At its core, however, computer science is about problem solving and creativity, and it impacts nearly every industry and career that we can imagine.

As I work to provide students with opportunities to create in the world of computer science and code, I look forward to sharing my ideas, successes, failures and most of all, the journey of learning how to teach in an ever changing, exploding world of code.


Day -1: #cs50bootcamp: It’s all about scheduling in schools… what will go if we teach CS?

In case you haven’t heard the biggest news in Computer Science K-12 education these days, Harvard and Microsoft are partnering to bring Harvard’s very popular CS50 – Introduction to Computer Science – course to high schools around the country, with an internal name of “AP-CS50”.  I am part of a cohort of 42 amazing teachers that plan to roll out CS50 in their high schools next year, and I am so excited to be a part of this tribe.  This blog is about my experiences at CS50 bootcamp – Day -1.


I spent an amazing evening at the Microsoft Welcome Center meeting other highly driven computer science teachers from across the country, all thrilled to be part of bringing our students a rigorous and exciting Computer Science course.  As I expected, each teacher I met feels passionately about bringing Computer Science and Coding to a wider audience and including a wider spectrum of students in this very important study.

What I didn’t expect, though, was to hear the same story reported to me by multiple teachers throughout the evening.  Each teacher reported that his or her administrators, parents and students all fundamentally seem on board with the notion that coding and computer science should be taught to all students.  Each teacher also seemed to have the needed financial support to implement these courses in his or her school.  Where was the difficulty, then?  With everyone on board with the notion that this needs to get done, what could be the problem?

It turns out that for each of us in a unique way, the problem is SCHEDULING!  Computer Science and coding are not currently in the schedule.  They are not currently part of the curriculum, and therefore, putting them into a student’s schedule upsets the status quo.  Suddenly, the big idea to put computer science and coding into the curriculum is disrupting the Modern Language department’s enrollment, or preventing students from taking another History course, or making them drop an art class.

Should coding and computer science create such a disruption?  Many of us (CS teachers) agree that the core subjects are good ones, and we don’t want to see the loss of great literature and writing courses in high schools as the result of teaching CS.

If we teach and offer more CS, then does that kill the awesome Digital Photography class that someone else created?  Will students now feel that they have one more obligation added on, without any expectations taken away?

These are the questions of the evening, and they are real and significant.  Nonetheless, we need to answer them, which will take creativity, problem solving and persistence.  Conveniently, as Computer Science teachers, creativity, problem solving and persistence are part of the discipline that we teach, so I know that we will innovate to find solutions to these issues in our schools.  I will share any that I hear that are useful here.

More to come from #cs50bootcamp tomorrow.  Time to get some rest so I can code in the morning with some of the world’s best.