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.