CSEW 2017, Pt. 1: CS Myths Debunked

It’s Computer Science Education Week! You might be more familiar with this event as #HourOfCode, but these days, a whole lot more than an hour of computer science takes place, so we’re gonna go ahead and use the proper name.

Cards on the table: it’s weird that only a single subject gets a whole week of festivities. Would that we had an English Week, a Social Studies Week, a Latin week. CS Ed Week exists in part because of the massive movement to get more students interested in computer science, so we’ll have more code-savvy Americans ready to fill the programming jobs of today — and tomorrow!

I could go on at length about the questionable move of keying curricular priorities to labor market demands. Instead, I’m just gonna move past the “jobs” conversation and focus on the intellectual benefits of computer science. That’ll be the point of the five essays I’m penning this week, each on a different aspect of computer science’s role in education.

But first, we need to get some misconceptions out of the way. Without further ado, I humbly present: Computer Science Myths Debunked.

CS ≠ Computing

You’ll sometimes see a “Computer Science” curriculum include things like word processing and image manipulation (Photoshop). These are important skills, certainly, but it’s incorrect to include them under the umbrella of comp. sci. A more general term, “computing,” encompasses all the skills necessary to fluently operate and produce on a computer. Computer science focuses on theories, principles, and engineering that form the foundation for the tools we use on the computer. Put another way, we can do what we do with computers because computer scientists and engineers building on their work have created useful hardware and software.

So what does computer science entail? One aspect, human-computer interaction, studies effective ways to build “user-friendly” devices and applications. Another you’ve heard a lot about recently is artificial intelligence, which (I swear) is not about developing Skynet. Rather, AI scientists develop algorithms that enable computer programs to make informed decisions in ways that emulate human decision-making — albeit more rationally and much more quickly.

“What about coding?”

“Coding” is, if you hadn’t heard, a hip new term for what has been known as “programming” since 1840. Programming is integral to computer science. But it’s a means, not an end. Even if we’re just talking about software engineering — the art and craft of creating programs for people — the code we write is just the material, not the product.

Full disclosure: I love programming, and programming languages. I could talk all day about the differences between Python and JavaScript, Clojure and Haskell. Honestly, that’s inside-baseball frippery. These minor details are by no means the true substance of computer science, or even programming.

“I could never learn to program”

YES

YOU

CAN

Ever build something from LEGOs? Follow a recipe? Make a recipe? Alphabetize your bookshelf? Play literally any game ever with some thought to strategy? These are the skills of programmers. The tools are esoteric, so it seems like the skills are out of reach.

I will never tell you programming is easy. It’s not. But you can do it.

“I don’t teach math or science. This is not helpful to me.”

Hey there. I see you. I was you. I majored in English, minored in Creative Writing. I didn’t take a single Comp. Sci. class in college. I had to scrape my skills together afterward. In doing so, I became a better writer, a better thinker, a better member of my team because I developed new skills in analyzing and understanding systems.

You could reasonably define mathematics as “applied logic.” Maybe that’s so, but a similar definition would aptly fit programming. Most of the time when I’m writing code, I feel like I’m immersed in a sea of pure reason. The same thought processes that help me program now help me in other pursuits. Thinking computationally is a habit of mind with value far exceeding its discipline.

“I’m not a computer person”

I hear this one a lot in my profession. Some folks just don’t “click” with technology. I get it! And learning something in this realm can be intimidating.

My humble request is that we all strive for a growth mindset in this, just as in all areas of our practice. We know it’s problematic to say “I’m not a math person,” around students, since doing so implants the notion that it’s acceptable to wall off mathematics as an area of exploration. Instead, the sentiment should be closer to “I still have lots to learn.” The same is true here.

The good news? There’s a lot of help. Never has a skillset been more accessible to so many than programming is to you, an internet user. It’s as though several authors inside a great library have set up shop within its halls to teach you their craft. Computer science built the internet, and what you’ll find pursuing programming is the internet at its best: a welcoming community of experts who want to share knowledge and connect with others with similar interests around the world.

In the coming days, I’ll be talking about some specific hows and whats of diving into computer science. By its end, I hope you’ll have tried a little bit of programming, maybe developed an interest in going further. If computer science is indeed a new literacy, society improves with every new learner of these concepts.

Welcome, friends, to CS Ed Week.