We started with the first grade class. They watched the presidents message and then did Kodable on the iPad. They loved it. We were off to a good start. I was planning on having the 3rd grade class do the LightBot Hour of Code on PCs, I tested it at school in the morning and everything worked fine, but when the kids tried to run it later in the day, it never loaded. So we tried a couple of activities on Code.org. It was slow and glitchy. I let the fifth grade select from a wider number of activities and they had a little better luck. Overall the kids were disappointed and frustrated.
I explained to them that these were web applications which means you are running them on a remote computer - actually lots of computers. And that with over 48 million people signed up, the servers must be overwhelmed and that's why performance was slow and sometimes things were timing out and connections were being dropped. I realized they were having a hard time imagining banks of computers and the magnitude of 48 million people. One 3rd grader was crying because she lost her connection and still didn't understand why. So I used an analogy. I said it was like shopping on "Black Friday". Normally when you go to a store, you walk in, find what you want to buy, you pay for it and leave. But on "Black Friday", you might get to the store and not be able to get in because it's packed. Or you might get in and only be able to find some of the things your looking for because so many other people have bought up some of the items you wanted. And when you finally want to pay, there might not be enough cashiers and you have to wait a very long time. Maybe so long that you finally decide to leave without purchasing the items because it took too long. That seemed to help them understand what was happening. With the 5th graders I mentioned the recent Health Care sign up issues where the systems were overwhelmed and they all nodded their heads in understanding.
It's funny, last week when I was preparing the kids for the Hour of Code I was telling them that "making mistakes" is part of coding. If you make a mistake in code it's called a "bug" and figuring out what went wrong is called "debugging". I explained to them that sometimes you learn more when you make a mistake than when you don't. In some respects the same thing happened with this activity. If everything had gone well, the kids may not have learned as much.