Mr. Moodle
“My interest in coding all started 40 years ago. The reason I know that is because the very first computer that I had was released 40 years ago in March— I saw it on Twitter! So, 40 years ago, when I was about nine years old, my parents bought me this tiny little computer for Christmas. I was the first kid in my neighborhood to have a computer. Now, you wouldn’t even think it was a computer— you would look at this thing and think, “This is ridiculous, this is a toy”. And in a way it was. But all of the basic concepts that are in the materials I teach now, that computer did back when I was a nine-year-old, and ever since then, I’ve been hooked.
It’s interesting because there is a direct correlation between what I did back then, and then what I am doing now. You know, on the surface technology is more complex, but on the fundamental level, nothing has changed. There have just been new conveniences for humans to code better, and code faster, but there have been no fundamental changes to the way the processor worked then and how it works now.
Learning these basics for sure was easier because I started at a young age. Neuroscience shows that your brain is more elastic when young. So I think I understood how the computer works pretty well, relative to my age and to other people. As long as you understand the step-by-step nature of coding and the thinking process, the syntax is relatively easy. So, the younger you get exposed to that way of thinking, of course, the easier it is going to be. But also, the younger you are, the more open you are to learning things, the more you find things fascinating. So, I think, when you allow children to explore something like that at a young age, up to middle school, there’s still that idea of, “Oh it’s frustrating, but it’s fun.”
There are different stages of development identified by a Swiss psychologist, Jean Piaget, and he says, there is a phase where you are just not ready for abstract thinking. So, for younger students, the abstraction can be a challenge. But honestly, the thinking process is like a puzzle: you’ve got all these pieces, all these different commands, and you need to figure out how to fit these pieces together to get what you want. Most students start with the puzzle pieces, and they want to put them together without having actually figured out what the final product is. This is just human. I do it too sometimes when I code, but it’s a bad habit. But I understand that that’s also the fun part of it. But, if you know what you need to get done, and what the final product is, then you can break that down until you’ve got the pieces that you need.
If you take one of my coding classes, the first day, I always show this little two-minute excerpt of a video interview with Steve Jobs called, “The Lost Interview.” There is a great quote in it, and it goes something along the lines of, “Everybody should learn how to program a computer…because it teaches you how to think.” Students that are taking coding now will tell you that coding requires a certain way of thinking, and it’s not natural to human beings. We are multitasking, multiprocessing machines, but computers have very locked steps, so you can’t do B before you do A. It’s kind of like saying, “I can’t drink this until I open the cap.” These things are kind of obvious. But when you are programming, and you have this wall of code, the problem is, it’s less concrete. So a lot of people have trouble with the thinking part. That’s why when students get older, this can be frustrating, and act as a barrier.
In kindergarten, you learn math, how to spell, grammar, and you’ve got about 12 years to become fluent in it. The same goes for science and history. But until recently, we didn’t have computers. So for a very high academically achieving school like ours, with many students that are normally high academic achievers and always have been good at school, when they run into something that they can’t do instantly, they often have the frustration block them. That’s what I found a lot in my subject. It can be frustrating for people that are used to things coming easily to them because it’s a new way of thinking they haven’t done before. Of course, there are some that pick it up very quickly, and there are others that take more time. But in the years that I taught coding here, by the end of my year-long courses, it has clicked for every single student.
Steve Jobs said that programming is a liberal art because it’s a way of processing information and thinking. I also would add that it’s a creative art. To me, what I found really interesting at Sacred Heart is that the students I have in coding are often also very good artists or musicians. You’d usually think that there is a correlation with the science and math people, right? But there are a lot of really artistic and creative people that take coding, which I found very very fascinating. In coding, you are being creative. You are literally creating something from scratch. That’s what I like about it. It’s my little world, and whatever I can code, I can make it happen. It’s a kind of magic, in a way.
I actually did a local Ted Talk, TedxTokyo Teachers, before I came to Sacred Heart. It’s called, “The Guitar and the Smartphone.” Some things I mentioned here were also said there, but since then I’ve developed the ideas a little bit more in my head. At the time, there was a lot of talk about technology and teaching technology. You need to watch the video to get the idea, but there was a presenter that thought we should teach how to use the computer as a tool, which is not wrong, but it can be much more than that. A computer is a general-purpose thing, and anything that I can code, I can make it happen. So it’s qualitatively different.
In the grade 11-12 elective classes, I show my students a 3-page long document and I say, “This is literally all the content in this class.” It’s like saying the periodic table has a hundred and something elements, but all the matter in the universe is made of these hundred and whatever elements. So, compared to other sciences, there’s way less content.
When studying computer science, building resilience is definitely important. What I think is the problem though, is the way computer science has always been traditionally taught. Particularly in universities, CS101 is what they call a weed-out course, which is a course that they make intentionally hard because they want people to drop the major, or drop out of that course. They want only what they think is the best. I am so philosophically opposed to that. It’s a subject I love. I am sure everybody can learn it to a certain degree. Of course, just like some people will be better musicians than others, some will be better athletes than others, some coders will be better coders than others. But I think the purpose of education should not be to weed people out of your field, it should be to give them the support they need to succeed in your field.
Now, we don’t do that here, because Sacred Heart is a good school, but the way I approach it, particularly in younger grades, is that I want to be fun, so I focus on making games and animations, so students can learn these concepts in an entertaining way.
The tech-related things I teach, I not only find fun, but I think it also has the purpose of preparing you for the future. Companies were really resistant to telework, because the typical management mindset is, if I can’t see you working, you are not working. This pandemic has definitely sped things up. Different companies basically have come up with different metrics for how to measure productivity.
Now, companies are saying, well, “We don’t have to buy desks, chairs, pay for electricity, heating, or rent a big building. Just buy a laptop and you are good to work.” It’s good because the individual can work from anywhere, but also then the population you compete against for jobs grows tremendously. If my job can be done by anyone, anywhere, not just by the person here in the expensive city of Tokyo, but in the countryside, where there is much cheaper housing, high-speed internet is all they need. We’re going to see a lot of disruption. This is all a big question for our society as we move forward. It’s all related to technology and how fast it is growing. So, determining what is the best metric for measuring productivity is the challenge for businesses, individuals, and by extension, the society.
Douglas Rushkoff, an American Writer, wrote a book called, “Program or Be Programmed: Ten Commands for a Digital Age.” The basic idea is like, the world will be controlled by those who understand technology, so you can either choose to understand technology, and be part of shaping the future, or you can just be on the receiving end of that, and be controlled.
The scary side of that is that when you go on Facebook, Twitter, or Youtube, when you click on a certain video, you are fed other videos, and it takes you down a rabbit hole. This is not intentional, but the programmers just want to get you hooked. This is called, ‘Unsupervised machine learning.’ The program doesn’t do anything, really. The computer goes in, finds, teases out all of these relationships and comes with some formula. The question then becomes the ethics: who gets treatment A, and who gets treatment B?
There’s also the question of whether or not technology reflects our biases. Instead of leveling the playing field, it strengthens the divisions we already have. I don’t want to get political, but we saw this in the last elections in the United States, in Europe, and in Britain as well. Again, I don’t think there is a big, malicious plan to turn you into a zombie, but there is a plan to sell advertising, and the best way to do it is to have you hooked. With the media, you just hear about the extremes. The left demonizes the right, and vice versa. The other side is not the enemy, they just have a different viewpoint. For people who have had a good education, they can recognize the clear biases, and need to stay neutral. But it still is hard, because it pulls out your emotions, your core and your identity. As individuals, though, we have to prepare ourselves to use technology, and not to get caught up in all this social media vortex, and the echo chambers.
Society’s always changed, but the rate of change is at an exponential curve, rather than linear growth. Societies and people can only change so fast. We are fortunate we are from developed countries, on the wealthy end of things, so we are a little bit more adaptable. I think we’re going to see a lot of big changes. Go back 100 years, and it was 1920. Winston Churchill was on a cavalry charge on horseback when he was a young man, and he lived to see television, radars, airplanes, and nuclear weapons. Our generation is the computerization generation and the next generation will be the AI generation. None of us knows what that’s going to look like.
I am very grateful that when Sacred Heart hired me years ago, they recognized that this was the direction society and our world was going.
Coming to Sacred Heart, I had an interview with Mrs. Hayes and Ms. Young, and I said, my goal is to make Sacred Heart a coding school. I want this to be a school where students have the opportunity to learn to code, are passionate about coding, and want to go on and study coding. I have been teaching high school level coding now for five, six years, and we’ve got students who are coders, they are professionals out there in the workforce. This is because they had an opportunity, and I think that’s probably the thing that I am most proud of.
There is a huge interest in AP Computer Science now, and I think it’s rewarding when you teach and can bring that passion to the students. My highlight is just every time a student is happy coding, thinks, “this is cool”, or just whenever I see that spark ignited because it means there is a life path that just opened up. They may take it, or they may not take it, but they aren’t not taking it because they couldn’t, but because they had a choice. And that’s what I think Sacred Heart does very well – we open up those possibilities. Seeing this really helps give my life purpose and meaning.
The other Mr. Thompson has done a really amazing job in the K/JS preparing our students for this, and it has made my job easier in a lot of ways because he prepares them so well for when they come to grade 5. This allows me to do things I would have covered in grade 7, in grade 6. So I am able to pull some advanced stuff down a little bit because there is this ramp-up. With the addition of the AP now, I made a few changes to my other programming course, to better prepare for what’s going to happen in the AP. So every year I am trying to integrate it, so there is not a big jump, but rather a smooth runway.
Our curriculum has changed a lot over the past several years. We added the Python course I teach to high schoolers, and now, of course, we’ve added AP Computer Science as well as Century 21 with entrepreneurship and technology. What I found is that our school has done a fantastic job building a path where the students have chances to do some coding, and then to get exposure to it, in a fun, non-threatening way, and then, ‘Boom!’ in high school go full into it.
When I got here, we didn’t have laptops. I think we weren’t a laptop school, until my second or third year when we went pretty full-on. That had a big influence, just because you had your computer all the time. I think next year, about 1/4 of seniors are signed up for AP Computer Science. I knew that we would grow the program but when I think about it as a percentage, it was… wow!
Tech Toolkit is really useful for students, because it is all self-directed study, and learning how to learn on your own, without being forced to do it, or without following somebody else’s plan is a very valuable skill for the students. And every year we do a capstone project in the Python course we have in grades 11 and 12, and every year the projects just get better. It’s been a rewarding and wonderful experience.
More recently, what I have seen is that there are all kinds of coding environments that make things easier for somebody who knows the domain to write what is called ‘no code’. Scratch is kind of an early version of that. You still have to understand how to put things together, but you don’t have to stare and type the code out. Scratch is quite amazing. There is still a lot of that ‘no code’ type of stuff going on. When you learn a lot of the coding now, there are these libraries, and these modules and things that other people created that you just plug into, and you are just gluing pieces together that other people have done. So as an average person, you can do quite a lot with the tools that you have been provided.
So it’s accelerated the growth of technology because an individual has access to supercomputer resources. But again, these AI libraries are extremely powerful, and the same things that high-level researchers are using, you can now download and use for free. So as far as changing the tools have become much more powerful, and more and more available. But the fundamentals are still very very important, and that’s what I teach and enjoy teaching. As far as education is concerned, there is a place for those basics. I think what is happening in the tech world is that there is such a lack of technology people, you can go to online boot camp or in-person boot camp, and they will teach you so many of these technologies, to use them well, it’s a good thing, I am not critical, I respect that, but you don’t know these things (the basics), and there is a gap in learning. I think, for us as a school, with the AP we learn “How does that work?” if you want to go more in-depth. Some people think it is going to be all ‘no code’, and people are not going to need to know those fundamentals. You know, if you’re in Calculus you still got to know 2+2, and having a strong foundation is going to make it better for you to do the course.
I can’t think of any entrepreneurial field or business field that isn’t touched by technology. Everybody’s got to have a web presence. The fact is that you can automate your business, essentially. In C21, we talk about mailing lists and using WordPress for a website. Twenty years ago you needed to hire a designer, now it’s five bucks a month – it takes 10 minutes to put together. Using Google for your communications and analytics, that’s free for the most part. So if you’re going to be an entrepreneur, how do you reach your customers? Through technology, social media, and having a YouTube channel, you have a worldwide audience. Instead of only “Shibuya-Ku” being your potential customer base, it’s three, four billion people on the internet. So absolutely, you can’t consider entrepreneurship without some technology. You can always hire people to help run your business, but are they telling you the right thing? Especially when you are trying to run a startup and want to start a business, technology is like a big lever. You are one person, but you’re good to go. The entry barrier for a business used to be getting all those things in a row, and the entry cost was much higher. Now anybody can start a business, and that’s got to be good for individuals, and it’s good for society.
Everybody should learn to code. As an individual, it has been a very powerful influence in my life, and I hope that I can pass it on to if not all my students, almost all of my students, at least to some extent. Even the ones that say, “Look, I don’t like it,” that’s ok. You have tried it. Trying and not liking something? No problem. But conceptually we want to expand options for our students as teachers.
If you want to pursue computer science, you should take my class! But in case you are a senior and didn’t take the class, take your university’s intro to computer science course, or self-study over the summer! You know, the Harvard CS50 is online for free and is very well taught, and interesting. They start out with Scratch, and Scratch is just brilliant, for the conceptual stuff. Don’t be afraid, because anybody can learn it to a certain extent, it’s like a foreign language. It’s also a very rewarding thing to understand how technology works, and to create something that wasn’t there before, as well as just understanding the world around you.” — Mr. Moodle