Tuesday, 8 January 2013

How I Became a Nerd

I started out to write a blog on rural education in a global context (and global education in a rural context), but mostly, so far, I have been writing about computer science. In my personal journey, moving to a rural community ultimately led to my belief that computer science needs to be a core discipline for all, but that connection may not be obvious to anyone else. I have some explaining to do.

Confession: two of my biggest character flaws are the overwhelming desire to appear more normal than I actually am, and the tendency to believe I have less to offer to my community than I actually do. Well, my true self and my talents have been harder to hide since I moved to a very small town, and also I find it suits me here. It's quieter. There's loads of acceptance for different kinds of people. Things can move slow or move fast - it doesn't matter. There's a nice flow. You can get involved, and then you can take time off. Everything seems more manageable because organizations are small and nimble. There's less risk involved in implementing wild ideas.

I moved here to take a job as vice principal, to try my hand at leadership in a rural setting after many years of teaching in urban settings. I'm not much interested in power, I tend to question everything, go back and forth between opinions when making decisions, and formulate ideas out-loud, but with the right people on my team, I turned into a real leader. My confidence increased and I found myself taking initiative, connecting people and resources, supporting events and activities, and helping make really good things happen in my community.

I looked around for the first year or two, but I couldn't find the kind of teacher-expert in new technology and education that usually exists somewhere in a school system. I had always been the kind of primary teacher who surrounds kids with art, books and wooden toys, and lets the computer people worry about the technology stuff. Here, I couldn't avoid technology, because if I did, kids would miss out on some important education. Also, it's not the 1990s anymore (in spite of how it looks in schools sometimes).

So, I learned about pixels and packets, types of codes and files, about computers and about how the Internet actually works. I learned about bits and bytes and how everything is actually just zeros and ones, and that that's what digital actually means. I learned that most of the time, in the core acronyms pertaining to the Internet, P stands for protocol, and this made sense. I learned CSS and HTML, and started learning JavaScript. (Okay, I'm old. It's hard for me. I haven't given up on coding, but I'm taking a break.) I read tech blogs and all kinds of news I had previously ignored, and I forced my 50-year-old-grandma-like-kindergarten-teacher-brain to stay with all this stuff even though I didn't understand it all and it upset me (at first).

And now I am a nerd. I'm not always very good at it, but I am one. It probably is my true nature, anyway, but like I said, I have avoided facing that part of myself in the mirror for years. I embraced my inner nerd because I was the best nerd some of these kids were going to get as a teacher. They needed it. Which is a good message for teachers everywhere - whoever you really are, the kids need you to be that, and all of it. They don't necessarily need another bland, white-haired grandmother type telling them to make their letters starting at the top (although that's who I am, too, just more nerdy and colourful now).

What I realized during this journey was that the more you understand about how computers actually work, the more you understand about how to use them. If you try writing a bit of code, you understand what your software should be able to do, and what it probably won't be able to do. You also realize that there isn't a semi-god-like wizard-species living in basements and Silicon Valley making all this stuff happen for you. There is an industry, a job market, and a kind of employment that schools aren't preparing kids to join. There's a huge market, it's pervasive, everyone contacts it, and people need fundamental literacy as well as the kind of expertise that might allow them to do work or be creative in this powerful medium.

Computer Science is distinct from, but also combines well with all other literacies.  Everyone will use it in their lives and their work to make things better, once they are exposed to it. And beyond that, and maybe the most heartbreaking part, is that it's magic and more magic and we aren't letting the kids see it.

And if I'm the best nerd these rural kids have got, it's a lot worse out here in the hinterland. So much is possible. So little is being done.

Monday, 10 December 2012

I Know How Cars Work, and So Do You

A few people have challenged my idea of universal computer science education with the following comment: "People don't need to know how cars work in order to drive them, why do they need to know how their computers work?" I think we actually know a lot about how our cars work, but before I get into that, let me clarify a little about what I mean by computer science. I'm not talking about every child learning the Java programming language in grade nine, or even grade eleven. Learning languages would likely be part of computer science education (although maybe Python would be a better choice than Java), but a focus on specific languages misses the point. Computer science is a discipline, with big ideas and fundamental understandings. Those are what we need to focus on and teach in school, using the tools that make the concepts most accessible (and fun) for our learners.

It's true, you don't need to be a mechanic in order to drive a car. Nonetheless, every elementary school student learns about simple machines. We teach the big ideas of mathematics in school to all students (I hope), but expect only a few grow up to be mathematicians. It speaks to our general illiteracy about computer science that the fundamentals aren't obvious to the general population, the way they are in the other disciplines we teach in school.

As far as driving a car goes, we do know how it works. Beyond knowing about simple machines, we know how a car will behave in a variety of situations. We rarely wish we could throw our cars out the window, the way we do our computers. 

We use our cars as extensions of our bodies. We are physically in synch with our cars when we are driving. We learn, spend months practising, and spend years refining how to coordinate our sensory input, movement, reaction, response and physical coordination with the functioning of our vehicle, to take best advantage of what it can do. It's a lot more than turning the key and pushing the correct buttons. If I drove my car without deeply understanding its behaviour in response to my input, if I was a passive user of my car rather than a driver, I would be a danger to myself and society. 

A computer is an extension of my mind. If I understand some basics about computer science, for example how programs work, how computers handle big data, and how networks interact, I can predict how an application will work, I can choose the right software to make my work efficient and productive, and I will know what to expect from my tools. People often use software in inefficient ways because they don't assume things about its design that would be obvious to programmers, or they don't understand how computers handle data. When there is a problem with computers, the frustration and misunderstanding that ensues is less when users understand a bit about computing. We need to bring our minds into synch with our computers the way our bodies are in synch with our cars. To do that, we need to know how computers work.

Computers, like language, shape and are shaped by what we do with them. Our relationships with computing machinery run deep, but our awareness and understanding of those relationships is often shallow. It's a problem we are just beginning to recognize. The solution is to teach computer science in schools.

Monday, 19 November 2012

Computational Thinking: an essential literacy

Imagine we are living 200 or so years ago, when reading and writing was the privilege of the elite - bureaucrats, business magnates, and priests - and everyone else received oral education and training sufficient to carry on the tasks and culture of their social class. What was the fate of the individuals who didn't learn to read and write? What were the implications for democracy? Last year, visiting Boston for the BLC Conference, I stood looking up at the inscription on the north side of the Boston Public Library, from 1895: "The commonwealth requires the education of the people as the safeguard of order and liberty". I felt a sense of awe. Yes, this is exactly why I do what I do.

We are in need of a similar sentiment, here at the start of digital age, to promote computer science education to ensure full participation in our democracy. The techno-elite know how to manipulate politics, the legal system, and business for their own advantage, and the rest of us (including many politicians and decision-makers) are ignorant of how we are being used to keep the rich and powerful firmly in place. That is, except for forums like Reddit or Slash-Dot, or technology blogs like BoingBoing, ReadWriteWeb, and others, who pride themselves on their understandings of how computing and computer systems work. These groups successfully stopped the US "Stop Online Piracy Act" in early 2012, because they understood the implications of the legislation for the free and open Internet, freedom of speech, and access to information in general.

Back in Boston, the impression I got from wandering through the streets, museums and graveyards was that the original Boston Tea-partiers weren't above taking the law into their own hands, and they are now greatly admired for their passionate commitment to the same ideals that motivate groups like Anonymous today. Personally, I would rather have decisions made by democratically elected politicians and mainstream lobbyists who have an understanding of the Internet equal to Anonymous, than rely on a vigilante group to protect my rights. Anonymous scares me quite a lot - vigilantism in general frighten me - but the thing about Anonymous is they stand up for ideals like free speech, rational thought, access to information and ideal-based decision-making. And they sure know their stuff when it comes to computer science. Right now, I don't know who else we've got with that combination of ideals and understanding.

Yikes.

Monday, 12 November 2012

Computer Science for Everyone

It's true, 21st century learning is about a lot more than digital technology - it's about creativity, collaboration, critical thinking, and communication, among other things (P21 Framework,  What are 21st century skills?Personalized Learning BC). On the other hand, the impact of digital technology on learning and living in the 21st century is pervasive. Digital media are changing how people work, communicate, play, interact, think and learn. So, it's important not to give digital technology secondary status when we talk about 21st century learning.

The more I learn about how integrated the digital layer is becoming in human life, the more I feel connected to and concerned about the learning needs of my students, both now and in their futures. We have an incredible responsibility to reform education and incorporate digital technology with best practices in pedagogy. More than that, we need to help students grow into citizens who understand, on a deep and critical level, just how our computer-dependent world works.

In order to do this, I have come to believe we need to teach computer systems and computer science to all students, just like we teach math, science, language arts and social studies. By this I mean the logic, mathematics, science, and languages that make computers work. Some educators call this "computational thinking." It isn't "IT" education (which teaches students how to operate the technology); computer science is about understanding how computers work, and the thinking that people do to make computers work.

In my experience, those who understand programming and systems are also those who understand the implications of policies and laws affecting digital communication - including copyright, the collection and responsible sharing of data, freedom of access to information, and protection of privacy. I think there are reasons for this correlation, rooted in the kind of thinking taught in computer science. Understanding how information and communication technology actually works might just be vital to understanding how it can be used to either promote or prevent true democracy.

Many other people have come to the same conclusions. Here in North America and in the UK, organizations have been working for some time on defining computer science as a unique core subject area in K-12 (primary and secondary) schools (Computing at Schools UK CurriculumCSTA K-12 Standards). I am throwing my hat into that ring. At this point in my career as an educator, I am making a commitment to promote computer science education in all schools, and help educate teachers so that this is done in the deepest and broadest possible way. There is much work to do, and many questions about how to do it, as we move forward within the context of evolving curriculum in a rapidly changing world.