Reading 14: Computer Science Education

Source.

Is coding the new literacy?

No matter who you are or what you do it is almost impossible to go a day in modern American society without using a computer of some sort, whether that’s your laptop, your smartphone, or the infotainment system in your car.

But even with all of this use, plenty of the users haven’t the faintest idea how the computer operates. If the system stops functioning properly or if they want to accomplish something that’s not particularly intuitive, many people have no idea what to do. Maybe they have to take their iPhone to the genius bar, or call up their computer science friend.

Coding and computer science are not literally the new literacy, but they certainly are important. Learning to code and more importantly learning computational thinking provide numerous benefits to both those learning it and greater society as well.

The article from Mother Jones makes very important points about the benefits of understanding computational thinking. Even without understanding the minutia of how to code, understanding how programs work at a very high level allows one to comprehend how software could be used to solve a problem. This is an invaluable skill that allows people to come up with how software solutions could be used conceptually when they could never have thought of it otherwise.

It’s not quite as important as learning how to read and probably will not soon be the new literacy, but it’s exceedingly important and should be exposed to everyone.

Computer Science for All

Basel Fang writes in his TechCrunch article “Please don’t learn to code” that the widespread teaching of programming is no more sensible than the widespread teaching of plumbing.

I could not disagree more. Even though we all use a toilet and sink daily just as we use computers and knowing how to fix a toilet is helpful, the analogy really doesn’t hold up beyond that. Learning how to unclog a toilet doesn’t teach you a new way of thinking that may give you better ideas in the future about how to solve other problems. There also aren’t a million new plumbing jobs coming in the next couple of years. Every industry doesn’t have companies that feature plumbing as a department they’re trying to expand.

Learning programming and computer science is extremely helpful to anyone, and should be added to any American’s educational experience.

Perhaps one of the best benefits is simply to reach more people who may find that they have an aptitude for computer science but never would have considered it otherwise. There are likely plenty of people who may have an interest in computer science but never experience it because they don’t have the opportunity. As an additional benefit, this may result in more diversity within computer science. Women and minorities who may have never approached the field on their own due to stigmas or the discouraging words of others would be exposed to it and may just find out that they like it.

Basel also seems to believe that one must eat, sleep, breathe code in order to deserve to do it or be at all successful in doing so. I’m not sure why computer science is so absurdly exclusive when other similarly competitive fields certainly don’t have only the obsessed working within them. Not all those who work in financial services want to be surrounded by finance all hours of the day. Sure, I’m sure there are some that do, and feasibly they do better in finance, but that certainly isn’t the bar in order to work in finance. Why would that be the bar to work in computer science?

There are definitely difficulties that stand in the way of easily pushing computer science out to all schools in the nation. In one of the articles for this week’s topic, Mark Guzdial raises the issue of one of the toughest challenges standing in the way of the CS4All movement. Namely, it’s really difficult to add and entire subject to schools throughout the country. Some schools with greater resources already have CS as part of their curriculum, but plenty of others have no trace of it whatsoever. For example, my own high school had a very simple programming class, but not one with any sort of rigor or depth. So, lots of money will have to be invested in order to hire or train teachers to sufficiently teach CS in schools.

Fitting in CS

The K-12 curriculum throughout the country is already pretty packed, so where would computer science fit in?

In order to properly serve the purpose of exposing people to computer science that may not necessarily approach it on their own, it would have to be a requirement in the curriculum. Now, this need only be a single course in high school or something of the like, but it would have to be required to achieve this goal.

Attempting to see where it would fit in is much more difficult though, as many people would be opposed to it replacing any sort of history, science, English, or math. And, I completely understand and agree. Unfortunately, for many curricula, the best fitting place to put it is in place of an arts class. Now, it wouldn’t completely replace arts in this situation, but simply take the place of one arts class.

In terms of content, I would certainly suggest that there’s a healthy balance between computational thinking and programming. Frankly, I think our fundamentals of computing course kind of serves as a fairly good framework for how the class should be structured. It should have a strong focus on doing hands-on examples and teachers should guide students through example problems in class and encourage students to code along during the lecture.

This type of structure would expose students to what is actually possible with computer science and allow them to feel what it’s like to create your own programs and get them to run properly. This type of activity is what primarily draws me to computer science and I also think it would be quite effective as the method of teaching computer science in schools.

Is coding for everyone?

For some reason, a lot of computer scientists, software engineers, and programmers seem to think that programming is some kind of inherent gift. Either you can code or you can’t.

Mark Guzdial discusses this phenomenon in his other article of this week’s readings. People believe in this so-called “Geek Gene” that you either have and so you are naturally born to talk to machines, or you don’t and so you’ll never really be able to succeed at computer science. He even mentions that a vast majority of CS faculty doubts that anyone could succeed at CS with sufficient effort.

To me, that’s insane, and I don’t understand why this belief exists. Sure, some people are naturally more talented at certain activities. Some people naturally are naturally gifted athletes seemingly without working at it. However, these people aren’t necessarily the best athletes. Steph Curry isn’t the most naturally gifted athlete, but he works extremely hard at it and has become one of the best in the world. Surely we shouldn’t think that for some reason computer science is different.

With good teaching, effort, and a passion, anyone could become very successful in computer science.

Everyone should try it at least, see if they like it, because it’s everywhere, and it’s not going away anytime soon.

--

--