Transcript: Episode 7 (Programming in Estonia)
Virginia: An article came out recently that said that Estonia is now teaching first graders to code. It’s not actually Java or Pearl. Instead, they’re getting basic programming. It’s not like they could build there own server.
Nick: But second grade is still to come.
Virginia: The news is talking about how revolutionary it is. First grade is really young to start coding.
Nick: It’s not exactly the newest idea. A new trend in the States is teaching foreign languages earlier and earlier. Elementary schools in my area teach languages at first, second, and third grades.
Virginia: Programming, to me, isn’t exactly learning a new language.
The guys: It is!
Virginia: It’s more of a math.
Andrew: Virginia’s right. The most important part of learning to program is understanding logic and data structures. If you learn how to program in one language, you can transfer those skills to others.
Nick: It’s the same with learning the difference between English and Spanish.
Virginia: You didn’t go to math class and say, “I hate learning the language of math.” It’s different.
Nick: I know a lot of people that hated math.
Virginia: But they didn’t think it was a language.
Nick: How many people say that math is like a foreign language to them?
Andrew: All the time.
Nick: It is a language. It’s another way of communicating.
Andrew: I’d rather that we teach kids programming than foreign languages. If it’s an either-or thing, I’d rather programming.
Virginia: Why? Because everybody uses a computer?
Andrew: You can’t really find a job nowadays that doesn’t use computers.
Nick: I bet you that the statistics show there are more computers in houses than televisions.
Virginia: How old were you guys when you learned to program?
Andrew: In high school I had it.
Mike: I learned to program when I was seven.
Virginia: But not in school?
Nick: I remember in middle school we learned how to write a tiny program in C++. It was already figured out for you, but you did a few lines of code. It was “build you own calculator.”
Andrew: There’s something really magical about writing your first program. Even if it’s trivial, you feel magic.
Nick: You just lifted that curtain.
Virginia: I made this computer do my will.
Nick: It’s like your first invention.
Virginia: I don’t know if I even have one invention.
Andrew: It doesn’t have to be useful.
Nick: Here’s an example. When I was a kid, we used to have to lick envelopes. It was disgusting, and I hated it. So I figured out that I could cut up a washcloth and wet it so that I didn’t have to lick the envelope. I found out 15 years later that someone else had the same idea.
Virginia: I was probably 8 or 9 when I worked on what I guess was MS Dos prompt. We could do basic math. It wasn’t well-taught. All I could make it do was say a few things. I never got to the part where I could do anything cool.
Nick: What if it was a core curriculum? We had the TI 83s in high school. The first thing we did was figure out how to load games.
Virginia: I never learned that.
Andrew: Really? There’s so many games that you can load on there.
Nick: I had a messed up version of Doom.
Virginia: My high school career might have been totally different.
Mike: My dad gave me a computer and a BASIC book when I was 7. I had to learn to build my own games line by line. Then you could play the game.
Andrew: Mine had a USB cable.
Nick: Mine had a serial connector. You had to program the loader so you could have multiple games.
Mike: Mine had a cassette recorder. You don’t remember that, do you? Back in the day, they used cassette tapes to store programs for the small computers in the house.
Virginia: I vaguely remember that…
Nick: Back to programming. That was a neat part of school. They figured out that everybody was writing programs to cheat, so they made us clear the memory for the test. I just wrote a program that showed the blank screen for the cleared memory.
Andrew: They can go through and clear it, but if you store it in the read-only section, it won’t matter. I did that a lot.
Nick: That got me from calculators to Palm Pilots. Our high school got TV’s. Nothing’s funnier than seeing a teacher who doesn’t understand that multiple things can turn off a TV. You can literally hold the Palm Pilot up and turn off the TV in front of them. As soon as it went off, the teacher wasn’t sure what to do.
Virginia: I feel really silly, but how did you turn the TV off with your Palm Pilot?
Nick: Palm Pilots used to have this IR blaster. It was an LED and receiver. You could put two Palm Pilots together to transfer data. That was the best wireless connection at the time.
Andrew: It worked surprisingly well except for under fluorescent lights and outside.
Virginia: Which is almost everywhere, right?
Nick: You had that, and as soon as it became popular, they started building universal remote apps. I spent $100 on a universal remote app. You could program it to do any TV. It would let you go by brand.
Andrew: Back to our core discussion. Teaching program is important. Everything that we have has some level of logic. Your phone is a computer. Your car is a computer. Everything has a computer in it. Processors are so small and cheap that everything will have a computer.
Nick: The other thing is that it lifts that veil. It’s like how mechanics back in the day used to work on their cars. You can’t work on your car anymore because you are afraid to mess up some electronic system. If you know how the parts work together, you can start to control them. Programming added a veil of mystery. They can now teach us at an early age to control stuff around us.
Virginia: How do you guys use programming to control stuff around you?
Nick: I don’t use it all that often. The closest for me is the social cues in social networking and trying to get responses out of people. That’s more how I’m releasing messages.
Andrew: I think he actually is using it in daily life. He just doesn’t realize it. To a lot of people, computers are black boxes that work or don’t work. When you start using a programming language like C or C++, you realize how things work. You can identify problems with the technology and begin to fix things yourself.
Nick: It’s more than just turning it off and back on and hoping it works.
Andrew: I don’t know much about cars. I just recently learned how to change my oil. It’s empowering. Even though I don’t know much, I can do something. I’ve learned enough to learn what I don’t know. If I’m in the middle of nowhere and my car stops working, I know a few things to do. It could be as simple as just pouring more water in the radiator. Most people would freeze and call a mechanic.
Mike: That gets back to learning logic flow. You can analyze most problems with good structured logic.
Virginia: That’s the biggest benefit that I’ve seen with programming.
Nick: Being able to break down an argument into logical forms is huge. Then you never get caught in stupid fallacies.
Andrew: Even if you aren’t programming on a daily basis, it still makes you a better computer user. You understand things better. If you’ve ever been to one of those sites that’s got the popup add with a fake virus, you can figure out how easy that is to do. You know that it’s probably a scam.
Virginia: I started Ruby, HTML, and CSS about two years ago. I read about the start-up culture. We’ve got politicians starting coding. Come on! It seems like a bit of a bubble. Start-ups are going to save the world and solve all of our problems! For me, it hasn’t really changed my life all that much. It’s helped a bit, but not a huge change.
Nick: Have you seen the deep data stuff?
Virginia: It’s really cool. Yes.
Nick: You never get there if you aren’t programming.
Andrew: I don’t think that’s what she’s saying.
Mike: I don’t think she’s realized how much programming has changed her perception of the world.
Virginia: I’ll say this. Starting to learn Ruby has made me more open to other things like fixing my own cell phone. When my screen broke, I did a YouTube search and figured it out. But, the more I learn about programming, the more I realize I don’t know very much.
Nick: Are you trying to step away? Or do you see a path to more programming?
Virginia: I guess I see that the path is really long. It’s like being on a train on a long journey and realizing that by the time I get there, the city is likely to have already moved.
Andrew: But the people who don’t program don’t even know the city is there.
Virginia: Yeah. I see that.
Nick: How amazing would it be to see students building programs that teach themselves?
Mike: It’s even more interesting to teach a child something and have them teach each other. They learn better from each other than from adults. There’s a study about an internet-able computer that was stuck in a remote village. One kid learned how to work it, and he taught the whole village. When the researchers came back, the villagers asked for more memory and a faster CPU.
Nick: That’s cool. Then we ask: How do the teachers keep up? We’re asking them to keep up with kids who spend all of their time messing with these programs.
Virginia: At the first grade level, it’s pretty darn simple. It’s pictures that represent logic.
Nick: My high school went through a transition from a regular high school to a math, science, and technology high school. We taught all of our teachers how to get grants and fund their own programs. About a third of the school went crazy with it. Our speech and English classes fell to the wayside. Those teachers separated from the rest of our school. Kids trying to do media presentations about Shakespeare were shot down. They wanted them to write papers, even though there are new forms of communication.
Andrew: Writing is essential.
Nick: It is, but don’t tell me it has to be this specific manner.
Virginia: I think what you’re hinting at is that we need more holistic approaches to education. Everything is interconnected.
Mike: I learned more about math when I was programming because I wrote programs to do the math instead.
Virginia: Only you.
Andrew: Actually, I did that too.
Nick: The value of that is that you got to see how the math problem worked. Once you figured it out to the point that you could write a program, why do it again and again? You not only know that math, but you build a machine to do that math.
Andrew: To me, learning programming taught me how to find answers.
Nick: One way is to memorize the language. The other way is to get a flashlight and start searching.
Andrew: I’m a hands on learner. The best way to teach someone is to help them learn how to solve their problems.
Nick: It’s the old saying: Give a man a fish, and he eats for the night. Teach him to fish, and he eats for a lifetime.
Virginia: Gosh, Nick. That’s so inspirational. I don’t know how we’re going to move on.
Andrew: Give a man, a fire he’ll be warm for the night. Set a man on fire, and he’ll be warm for the rest of his life.
Nick: This is what makes programming seem scary. We’re giving first graders full control of a computer. It’s almost like giving them a car. We’re giving them access to the world.
Andrew: Computers are so cheap. If they break it, it’s not a big deal.
Nick: I’m talking about them being able to leave their small spot on the world.
Virginia: I think about it from the other angle. There is so much emphasis on programming right now. We almost seem to think that good programming will solve the recession, global warming, and the swine flu. It’s sort of like: Let’s teach our first graders to code, and by the time they get to high school, they’ll have figured it all out.
Nick: Or they’ll have another skill.
Virginia: They’re somewhat more employable? They still need social skills. It’s a global economy. It will get more competitive.
Nick: Unless individuals compete for themselves.
Virginia: It’s still on a global basis.
Nick: You’re saying that we all need to fit into this one little box. There’s competition there. The other thing is to aim for something more. The people who get there can then hire the rest.
Virginia: I challenge the view of what is outside of the box. There’s a certain number of people who can have their own business.
Nick: It gets more competitive as you have more people striving for the same goal.
Andrew: We’ve all been taught history, math, and English. Not everyone becomes a rocket scientist.
Nick: If it’s a global economy, there is more competition. But there are also local jobs.
Andrew: Just because you teach everyone programming doesn’t mean they’ll all be programmers.
Nick: I would hope the logic alone would help. So much of our media is non-logical.
Andrew: There was a study where they looked at logic questions and mental models.
Virginia: It’s like asking, “How consistent is your religion?”
Nick: The problem is that some people do think illogically.
Nick: I was trying to be nice.
Andrew: It wasn’t huge. But there was a portion of people that weren’t logical.
Nick: If we can prove that you have a logical frame of reference, then we can train you.
Virginia: Can you say that the vast majority of programmers that you know are completely logical and apply that to their lives?
Nick: Not completely logical. They have a framework. The scary thing is when someone doesn’t have a framework.
Virginia: So what you’re saying is that some people are without a framework for life?
Andrew: They don’t maintain a consistent mental model. You can give them two scenarios where only the names and slight details are changed, and they’ll come to different conclusions.
Virginia: Would a person like this flunk a programming class?
Nick: Scientists wanted to see if they could find a metric to show if people would likely pass or fail the class. People that didn’t have a consistent mental model couldn’t learn it during the course of the class. These are regular programming classes. They weren’t trying to teach a mental model. The people who didn’t have a mental model didn’t pass the class.
Virginia: What you’re saying is that a first grader who doesn’t have a mental model would fail?
Nick: That’s not the same thing as a nature versus nurture issue.
Mike: My two-year-old understands cause and effect.
Nick: This was at a college level. If they are in a college level, they already have at least some ability.
Andrew: I’m hoping, and would like to see studies to prove this, that if we teach kids logic structures that they’re more likely to have a good mental model.
Nick: Let’s take it to the extreme. What if it got targeted and taken advantage of much like the media takes advantage of people now?
Andrew: Like if we make sure that people have a consistent mental model and then reverse that so that most people don’t and then use that to our advantage?
Nick: I kind of feel like that’s what the media did now.
Andrew: That’s kind of conspiracy theorist, man.
Virginia: I think you’re stepping straight into the fringe now. We’ve got about a minute left. Do you guys think programming should be optional or mandatory? At what grade levels?
Nick: I say make it a taste at lower grades. At middle school, let them decide.
Andrew: If anything, we have schools for really gifted at math. We should have that for programming and electronics.