This Year, Rediscover Your Ability to Learn Anything

As I was reading an article critical of MOOCs and online learning (there seem to be no shortage as everyone likes a good straw man), I was annoyed by a certain statement made about halfway into the article.

"Every age has its autodidacts, gifted people able to teach themselves with only their books. Woe unto us if we require all citizens to manifest that ability."

Learning is our natural state of being. We can't help but learn new things. I don't want citizens to manifest the ability to "teach themselves" I want them to rediscover that with resources and support, one can learn anything.

If you are letting someone else set the curriculum and pace for your learning you will inevitably be disappointed. I have enjoyed my formal schooling thus far and have benefited from great educators but I considered them a supplement to my learning not the other way around. I've have always kept a stack of books at my desk since I learned to read. When the Internet emerged, I found both resources and community that addressed my questions that books and the classroom could not answer.

When I was a child, if I wanted to learn about a topic there were two options: learn about it in school, or buy the book. Now I have books, school, videos, forums/conferences, web pages, virtual simulations, online classes, and more. Almost all of these can be found via the Internet from a computer that fits in my pocket.

In this new world, enriched with technology, Educators are not obsolete, they are more useful than ever before. We no longer need to be disseminators of information, and this should be welcome news. For how could we ever hope to keep up with the rapid increase in information. We must be mentors, and as my colleague +James Sanders puts it, curators of quality resources. The author seems to agree with this when she says that education at it's core is, "one mind engaging with another, in real time: listening, understanding, correcting, modeling, suggesting, prodding, denying, affirming, and critiquing thoughts and their expression."

There has never been a better time to learn. Resources and communities are plentiful. Never stop learning.

What programming language should I use/learn?

I get asked often, "Which programming language should I start with?" or "I teach _______ which language would be the best for my classroom?" My goal is not to promote one language but show you the benefits of each of the more popular choices out there and let you make your own decision. There really is no one "best" language, just the best language for what you are interested in doing.

As always I promote technology that:

  1. Enhances or encourages learning. Programming is one great way to implement Computational Thinking into your class.
  2. The software is free and open source.

Disclaimer: These are intended to be a summary. They are presented in no particular order.


Free? FOSS (Free as in zero cost and open source)
Requires an installation? Yes but there are web based options like sage math notebook. Python comes preinstalled on Mac and Linux.
  • The syntax is very high level so you and your students can take your ideas and very quickly turn them into code. 
  • Python is interpreted so as soon as you press enter or run the code you can see the results. 
  • It has a large number of modules and support for graphics (e.g. VPython), physics, math, language parsing and more.
  • Great for prototyping, web, data mining/processing, and almost anything!
Recommended Tutorials:


Free? FOSS
Requires an installation? No
  • Coupled with HTML5 and CSS allows you to add a lot of power and interactivity to your web pages and applications.
  • Gives you to access web APIs (directory of available APIs) and use other services.
FYI: Javascript fails silently (meaning if there is a bug, it just won't work the way you intended, there won't be an error message) so use lots of debugging techniques and logs to debug. This is far easier than it may sound and is useful to learn regardless of what language you are using.
Recommended Tutorial:


Free? FOSS
Requires an installation? Yes
  • Designed to be very easy to make something visual, beautiful and/or interactive.
  • With both Processing and Arduino, it provides an introduction to C++ that is less intimidating.
Recommended Tutorials:
    Examples in the Processing software (Select File and then Examples)


  • Hardware: No but Open Source (Sparkfun, Adafruit, and Radio Shack are trusted suppliers)
  • Software:  FOSS
Requires an installation? Yes
  • Works with off the shelf parts (e.g. motors, LEDs) to cheaply and easily build projects that sense, move, light up, etc.
  • Many "shields" are available to easily add functionality like Bluetooth, Wifi, audio, etc.
  • Hardware is relatively inexpensive (~$20-30)
  • Interfaces easily with Processing to add interactivity and data visualization.
Recommended Tutorials:
    Examples in the Arduino software (Select File and then Examples)
    Sparkfun Education

Subscribe and follow Phil for more on education and technology.

Physics Gizmo is Open Source

I've put the source to Physics Gizmo on GitHub. If you are interested in helping me develop a tool for students to collect and analyze scientific data in an affordable way I encourage you to join the project.

Physics Gizmo on GitHub
Discussion Group Forum

Physics Gizmo on Google Play

More information on Physics Gizmo can be found at the original Physics Gizmo post on BrokenAirplane.

Subscribe and Connect to see how educators are innovating.

#CompThinkChat on Twitter - Join the discussion

Computational Thinking is showing up in discussions and talks everywhere I look. The Next Generation Science Standards reference them and the skills are implied in the Common Core.

A few days ago, I saw this tweet from @Kevin_Krenz:

and knew that this would be a perfect way to bring the community together to discuss and share experiences with Computational Thinking. Kevin put this planning document together and #CompThinkChat was born.

The first chat is Wednesday Aug 8th at 7pm CST (5pm PST/8pm EST) and continuing every other week. This may not be the best time for everyone who wants to be involved so add your suggested times to the planning doc and let's see what works out in the long run.

If this is your first Twitter chat, here's the steps to get started:

  1. Sign up for Twitter.
  2. Sign in during the scheduled chat time.
  3. If you are using the Twitter homepage search for #CompThinkChat in the upper right corner. This filters out all tweets except those relevant to the chat.
  4. Chat! Share your thoughts, questions, link, etc. Note: Make sure you add #CompThinkChat to your Tweets so everyone else can see them.
There are many ways to access Twitter, especially on your mobile device. I personally use Silver Bird for Chrome and Seesmic on Android but do a search and try a few out to see what works best for you.

If you miss out on a chat, they will be archived in the Exploring Computational Thinking General Forum.

Here's the document of Computational Thinking Resources I share in my presentations about Computational Thinking. All are invited to join the chat whether you have been using Computational Thinking since PapertWing, or if this is the first time you have heard about it. It'll be exciting to hear the community's thoughts on the implications and possibilities and I hope you will join us!

How many Aces do you need to win at War?

Python is a fantastic language for answering life's questions. It's amazing how such a powerful and popular syntax could be so great for prototyping and trying things out. So one day,  I was teaching my three year old, the card game War

Rules (the version I learned as a kid):
1. Give each player half of a deck of cards face down.
2. Each player turns over a card.
      - The player with the larger card adds both cards to the bottom of their pile
3. If the cards are the same, then it is War!
      - Each player adds three face down cards.
4. Repeat steps 2-3 as needed.
It's a great way to practice numeracy and comparing values while being simple enough to learn in a minute. He loved getting Aces and was sad when he started to lose (I have no control over this son!). It got me thinking, what is the minimum numbers of Aces needed to have a statistical advantage?

The trick for this code, was to make it optimized so it could run as many times as I wanted without using up too much memory or taking too long. Additionally, with a couple of data type changes, it became all the more important for me to brainstorm before what my program would look like. It is very tempting to jump right in but with a dynamically typed language like Python you will save a lot of headaches if you plan it out (for more resources on designing programs with your students I direct you to the Bootstrap Math Curriculum/Program).

Change num_games to see how many Aces are needed to have a statistical advantage and increase game_limit if you want to enable a game to go on longer (memory warning: some go on for a long time!). I'm really interested to see what fun discoveries you can make from the data in wins_num_hands.

So what question will you use technology to solve?

from random import shuffle

wins_num_aces = [0,0,0,0,0] #Each win, keep track of original number of aces
wins_num_hands = []
card_values = {'2':2, '3':3, '4':4, '5':5, '6':6, ' 7':7, '8':8, '9':9, '10':10, 
     'J':11, 'Q':12, 'K':13, 'A':14} #Ace is highest value

def createDeck():
    deck = []
    the_card_values = card_values    #local variable for faster processing
    for suit in range(0, 4):    #iterate through the dictionary 4 times
        for card in the_card_values:
    shuffle(deck)    #From the random module
    return deck

class player:
    def __init__(self, halfDeck):
        self.hand = halfDeck
        self.num_aces = self.hand.count('A')    #Count aces in hand
        self.game_over = False
    def nextCard(self):
            return self.hand.pop()  #Returns next card if any left
        except IndexError:
            if self.game_over == False:
                winning_num_aces = 4 - self.num_aces
                wins_num_aces[winning_num_aces] += 1
                self.game_over = True
                return None
    def addCards(self, current_hand):    #Add the cards to the bottom of your hand
        self.hand = current_hand + self.hand

def warGame():
    deck = createDeck()
    game_limit = 10000
    p1 = player(deck[:26])    #split deck in half
    p2 = player(deck[-26:])
    current_hand = []
    the_card_values = card_values
    times = 0
    while True:
        times += 1
        if times < game_limit:    #restart game if going on too long
            try:    #Fails if there are no more cards left
                current_hand.extend([p1.nextCard(), p2.nextCard()])    
                p1_card = the_card_values[current_hand[-2]]    #2nd to last
                p2_card = the_card_values[current_hand[-1]]    #Last card
                if p1_card == p2_card:
                    for i in range(0,3):
                elif p1_card > p2_card:
                    current_hand = []
                elif p1_card < p2_card:
                    current_hand = []
            except KeyError:    #If a player runs out of cards (None)
                    wins_num_hands.append(times)    #Keeping track of data
                    return False    #Game is over
            return True    #Too long a game, restart
numGames = 100    #Number of games to play
while numGames > 0:
    current_game = True
    while (current_game == True):
        current_game = warGame()
    numGames -= 1

print 'Wins with 0 Aces:',wins_num_aces[0]
print 'Wins with 1 Ace: ',wins_num_aces[1]
print 'Wins with 2 Aces:',wins_num_aces[2]
print 'Wins with 3 Aces:',wins_num_aces[3]
print 'Wins with 4 Aces:',wins_num_aces[4]
print 'Number of hands:', wins_num_hands

Solving Problems at Google Using Computational Thinking

Find curriculum aligned lessons, examples, and resources at

Hello World Part Deux

It's been a couple of years since I started BrokenAirplane so I thought I would use the opportunity of this EdTech Blogger survey study to reintroduce myself and the blog.

Blog URL:

What do you blog about?
Tutorials, resources, tips, and innovation in education. Technology is often involved but I try to let great pedagogy be the motivation to blog not shiny new gadgets.

Are you paid to blog?

What do you do professionally (other than blog)?
I was a math, science, and robotics teacher and now I work at Google as an Instructional Designer as well as get the word out about Computational Thinking.

How long have you been blogging at this site?
Almost exactly 3 years.

Do you write in other platforms? (e.g. in a print magazine?)
I do not but I have been interviewed for articles and publications.

Can you remember why you started blogging?
I was sharing links to resources and teaching classes on using technology effectively in the classroom. I figured that others might want these resources as well and I wouldn't have to repeat myself.

What keeps you blogging?
Education resources and programs exist for students and educators that are truly empowering and incredible. The problem is that it is hard to get the word out so I hope to be another voice promoting great pedagogy. It has also helped me become better at articulating my thoughts.

Do you have any idea of the size or character if your audience? How?
Yes, I gather metrics from social and page analytics. My readership is approximately 10,000/month. The primary readership is educators from the US but there is also a sizable international audience. Some come to the blog for resources others are looking for ideas on ways they can implement computational thinking in their classroom.

What’s your attitude to/ relationship with people who comment on your blog?
I love comments especially when they aren't spam :) If there is a question I respond/fix it as quickly as I can because I want to help anyone who asks.

Do you feel as if you fit into any particular community, network or genre of blogging? (e.g. schools, science, education, museums, technology)
I'm sure I most closely identify with math, science, engineering, computer science teachers since I speak on that topic a lot but I often speak about education revolution which is applicable to anyone who is passionate about the future of learning.

If so, what does that community give you?
Resources, ideas, it's all about connecting the community together.

What do you think are the advantages of blogging? What are its disadvantages/ limitations?
Blogging allows anyone to have a voice and share resources and best practices. It takes time to do it well and get the word out. I often fight against the urge to blog just to blog. I wait until I am dying to say something and then it becomes a labor of love. I hope that 97% of my posts are something that I would be proud of 5 years from now.

Do you tell people you know offline that you’re a blogger? (e.g. your grandmother, your boss)
I don't consider myself a "blogger" because I do many things and blogging is just one way I express my ideas. I do tell people that I blog and point them to it.

Hope this was helpful to anyone who is visting and I am glad you are here. Please let me know if there is anything I can do to support you and feel free to subscribe and connect to keep up to date as I often post on Google+.

Physics Gizmo is updated to version 2.2

Physics Gizmo is updated to version 2.2 for phones running Gingerbread, Honeycomb, or Ice Cream Sandwich.

If you are running Ice Cream Sandwich (Android version 4.0), this update brings with it a visual refresh in alignment with the new look and feel.

For everyone else, Physics Gizmo will no longer close if you choose not to turn on Bluetooth. This is a bug I have wanted to resolve for a while, and I appreciate your patience.

Bluetooth is necessary to connect two phones as a photogate (video), but if you don't turn on Bluetooth the other sensors work just fine.

Thanks to everyone who uses and tells others about Physics Gizmo. Please let me know your comments, feedback, and requests and I would appreciate it if you leave positive feedback/rating in Google Play.

See the original Physics Gizmo post for more background and information about the app.

Subscribe to Brokenairplane to see how Education is shifting and educators are innovating!

Education On Air Robotics Session

We had a blast presenting at the inaugural Google Education on Air Conference. There were so many great sessions I found it difficult to leave one to check out another.

The session I hosted was entitled, Building Tomorrow's Innovators and Leaders with Robotics and it was great to see so many students, teachers, administrators, and parents turn up to learn or share their experiences on how robotics has impacted their lives.

Watch the session at the conference page or below, you can check out all of the Education on Air sessions at the Google in Education YouTube page.

The best part is Hangouts On Air, the ability to record your hangout and invite an unlimited number of people to watch is now available for anyone so now you can host your very own conference (or un-conference) without needing to leave your home.

If you are interested in starting a robotics team or finding out more, you can check out the comments from the conference but I have pasted many of them below.

Teams represented in the hangout
MorTorq - Team 1515,  Mentor: Eileen Kahn
The Holy Cows - Team 1538, Mentor: David Berggren
Robokong - Team 2493, Mentor: Richard Sisk

Team Resources - A great place to get started

Robotics Competitions
FIRST - First Lego League, First Tech Challenge, First Robotics Competition

Videos to Share
FLL Games - 19 sec
FTC Games - 53 sec

Subscribe to BrokenAirplane to see how education is shifting and innovating.

Check out the online education conference via Google+ On Air Hangout

There are so many conferences happening throughout the year, it is hard to decide which one to go to. It would seem like there should be a way for us to use the power of the web to share our best practices and what works for students.

Now there is! On May 2nd from 12pm to 10pm EST, come check out over 40 sessions for teachers by teachers. It is 100% online and 100% free. Using Google+ Hangouts On Air, the educators will have a live video chat and it will accomodate as many people as we can get.

If you are unfamiliar with a Google+ On Air Hangout, it was used to have a conversation with President Obama. Others have included Desmond Tutu and the Dalai Lama, the Black Eyed Peas, and many others using Google+. For more information you can follow Google in Education on Google+.

The topics will include everything from digital literacy to assessment to blogging. I will be collaborating with David Berggren of the Holy Cows and Eileen Kahn of MorTorq to share our experiences with robotics and how it has made a huge impact on our students and communities. Our session will be at 8pm EST/ 5pm PST. Be sure to check it out!

For more information check out the Education on Air website.

ClassConnect makes sharing resources and collaborating easy

By some estimates there are approximately 4 million teachers in the US. On any given night, weekend, holiday, teachers are thinking about what to do in their classrooms. Some are developing worksheets, others are designing projects, maybe they are searching around for something previously made. The problem is that millions of hours a week are wasted recreating these materials. Educators are professionals and they are also human beings. I believe we have better things to do with our work and personal time than start from scratch every day and with every new teacher.

Now many of us share resources already, whether it is with your colleagues at work or online but how easy is that and what happens over time? This process doesn't scale, it only helps some. There are repositories of lesson plans all over the web. But how do you separate the good from not so good?

ClassConnect is driven by a passion to solve this problem. The developer behind this has put every resource he has into making this awesome, and it is awesome. My colleague Audrey at Hack Education has already done a great job of giving an overview and showing how ClassConnect is the Git Hub for Education (a code sharing platform for programmers). What I want to focus on is how easy it is to get started right away. Did I mention it's free!

We were each taught how to create lessons in our credential programs. We take pride in creating them and making them great. However, each time we create a new lesson we are running an experiment and the results of that experiment (good or not so good) cannot be refined and reapplied for an entire year until you use that lesson/project again. What makes matters worse, is we are independently running that experiment thousands of times each year! The boon of the web is to allow researchers to share their findings and to crowd source experiments to solve problems more quickly. There is no reason why we can't do the same, in fact we must.

ClassConnect makes it easy for you to find and vote up the best stuff so it rises to the top. You can also search by topic, subject, standard, file type, and even type of lesson.

However, this platform is only as good as the resources we share. For every colleague you add, you get additional storage for your files. But get this, for every file you share publicly, it doesn't count against your quota! A great way to store your files in the cloud and an even better incentive to share. I shared this resource on Google+ and within a day I had more storage than my Dropbox. Plus I was now able to share it with you and have you benefit as well! You can even add a class online so you can share the entire curriculum or resources (I used it with my robotics team to maintain shared resources).

You can add anything: a link to your favorite YouTube video, a file, Google Doc, or an entire folder.  Click the share button to the right of the file and check the box that says Public, you just saved another educator valuable time!

Don't forget to add tags and a description to make sure we can easily find it.

Now you have access to some of the best projects and assignments I have found or made over time. Some of it was mentioned on this blog, but having it all in one place and searchable makes it much more convenient. Did I mention that you can claim a url?, head on over and claim yours to easily share. I'll add more as time goes on them, but the important thing is to share the best so over time we can refine and remix it for our own needs and continue to iterate.

By doing this, over time we can develop a large community developed collection of best resources. Imagine back to when you started teaching, wouldn't it have been wonderful to be able to use others resources (perhaps you were lucky enough to have a great mentor) and focus on your pedagogy and finding your feet? Then as time goes on you make the curriculum your own, refine and share like others shared with you. I would imagine we could crowdsource a lot of our resources and have great lessons, projects, puzzles/problems, etc. ClassConnect is inspiring a movement called United We Teach, I've joined the movement to help my fellow educators and our students, will you?

Stay connected with BrokenAirplane.

Getting rid of old "new" pedagogy

Did you know that our way of schooling is only a 100 - 1000 years old? That may seem like a lot but it is less than 1% of human history. We transmitted culture and knowledge for thousands of years before the first school opened its doors. What do you think about that? Should we be nostalgic and go back to the "old ways"? Impossible, none of us were there to see it and too many generations have passed for us to even know what that would look like.

But, if our pedagogy cannot keep up with technology then we miss out on enormous opportunities for learning. Not because technology drives pedagogy but because technology provides new ways of accessing learning. We have experienced rapid growth and change in our society. In evolutionary terms this signals the beginning of change. However, the transition should not be mistaken for the new form it is just temporary. All of our debates and frustration with how tools are or are not being used is just that, a shifting era in the way in which we learn.

Although one could not predict what the change will be into, it is possible to see what pressures are driving this change. Examining this will help us pool our resources and focus our energies on what could be lasting.

Curriculum - The Common Core Standards in the US are slowly being adopted by states as the framework for what students should learn. Much like a cell phone purchased in January, it is obsolete by February. Not to specifically target the CCS but knowledge is growing so rapidly in depth and breadth, our strength will be in the diversity of our experts not the uniformity of our mastery.

Assessment - Of course one should know how to do what they are expected to be doing, and it should be possible to provide assurance that they are qualified to do so. But what are we doing to ensure they are capable of working with others? I'm not saying play nice and communicate effectively, but if a doctor and an engineer are capable of collaborating, something great will come from that. We need to move away from a liberal education which is a mile wide and an inch deep into a highly interdisciplinary one where divisions of knowledge become blurred.

We also need to move away from the idea that I am the master and I will always be the master. It should be implied in your studying with me that you will learn what I have to teach but discover and innovate beyond what I understood. If the student never exceeds the master then we have a negative feedback loop and innovation is stiffled. At the same time, one should not consider themselves an educator if their learning stopped when they left the University with a piece of paper in their hand.

The New Economy  - Up until recently, the bulk of our workforce was skill based. If you knew how to do something then you were paid to do it and you could do that skill for the rest of your life. Technology made it possible for industries to change or become obsolete. Suddenly an entire generation was unable to do the thing their family had done for generations and simultaneously industries popped up that had never existed before.

Knowledge became the new currency and people went back to school to be retrained, students were told an education was critical and the more you had the better. It was about what you knew and how much of it. But with everyone entering the universities, there was no hope of employment for everyone. The bar was raised to make an undergraduate degree the new standard and now more and more employers are pushing towards a graduate degree as the new cutoff. Sometimes employers are not even looking for someone with a degree in a particular field. It doesn't matter, in our system, the more knowledge you have the better worker you must be.

Whether this is a result of the transition mentioned above or the emergence of the new form, we are seeing the synthesis of knowledge and skill. It is not enough to know anymore you must be able to do. If you have your ear to the ground you will see lots of new institutions of learning. Some of them are online and some of them are grassroots organic but people are flocking to them to apply their knowledge and learn useful skills.

Now we must continue to learn out of necessity if we wish to stay relevant. There are more and more online learning resources for us to continue our education for little or no cost. Yet this is not enough, it will be those who apply their knowledge who create the next big thing or find new ways to live. If we are not showing our students how to create and exclaiming when they do create, "How did you do that?!?" then we are not going beyond the pedagogy we inherited.

Update: Found Sal making these points in video form (uploaded on my birthday)!

Convergence is everywhere.

Physics Gizmo 2.0 is in the Google Play Store

I have updated the original post on Physics Gizmo with the details regarding version 2.0.

There are 3 new ways to collect data and a refined user interface.

Here is the link to download it from Google Play.

Please let me know on the original post if you have any questions, comments, or suggestions and if you like Physics Gizmo, please rate it in the market. Thanks and I hope this enables you and your students to DO science like never before!

FRC 2012 Game Rebound Rumble - The Year Minds Change

If you had a full night of sleep last night, you are not likely involved in the FIRST Robotics Competition. This year's build season is underway with Rebound Rumble and as always the game designers did a great job sparking innovation and coopertition. Check out the video below for a quick overview of the game:

Robotics has a cult like following with teams staying up late into the night for weeks on end to create the best robot while learning skills and gaining knowledge usually withheld until university and beyond. Students have just a few short weeks to create robots capable moving across a field and accurately launching basketballs into a hoop, a feat overwhelming even without time, money, and engineering constraints.

For over 20 years, robotics has made a positive and powerful impact on students and the engineering community, but the wrong lesson to take from this is that we should have robotics teams in every school and require engineering for everyone. Sure, I would love to see a team in every school so the opportunity is open to people who want it, but top down standardization would kill the spirit and fun. Robotics' appeal comes from its grassroots underground and playful nature.

I claim 2012 to be the year "minds change" because I believe the momentum has come to a head with all of the opportunities for students to learn and society's perception of their potential. Those who watched the kickoff event saw engineers, CEOs, celebrities, presidents and more come out to support the students. What the world is realizing is, students are capable of doing anything with the right resources and motivation. Educators are determined to give their students more than a lecture and a worksheet. Robots are a great example of this, but students are having an impact in every aspect of society.

Go to a robotics competition and be inspired and hooked. Mentor a robotics team or any program that fits your passions. There is nothing like an after school program to change a student's life.

To all of the teams out there competiting: good luck, have fun, and remember the learning is the prize!

To the mentors: may your coffee cups be full, your pizza be plentiful, and your joy abundant!

To everyone else, go find a team and check out the amazing work being done at schools all over the world!

Subscribe to the BrokenAirplane blog to keep up to date with all things awesome in education!