The articles for this week brought up a lot of pros and cons for computer science education that I had never really considered. I think that it is a bit of an exaggeration to claim that coding is the new literacy, however it is undeniable that programming is seeping into fields that would surprise many who have not received a formal computer science education. To that end, I agree with the article that also said that coding is not the new literacy. However, I feel like that article failed to consider the importance of the thinking style that coding can instill. A different article made that claim that computational thinking is what will be important in the next few decades, and this is also what I believe. I don’t see the necessity to start teaching the subtle difference between a for and while loop or static versus dynamic allocation. I think that it is more important that people be able to look at code, and while they may not be able to understand what every line does, they can quickly get an idea of what the code does. I think that basic exposure to coding and computational thinking should be required, but I do not see the need or benefit of mandating that everyone learn to program.
From what the articles said, the main argument against pushing computer science onto everyone is either that it isn’t necessary, its something that we shouldn’t be trying to sell the way we are, or that its not realistic. I think that there are some merit to these arguments, particularly the one that the way many are trying to sell computer science to young people is by claiming that computer science is easy to do and some kind of get-rich-quick scheme by using examples such as Bill Gates or Mark Zuckerberg.
These seems deceitful to me, and in the long run may turn many away from computer science when they are unable to pick it quickly and then tell younger friends and family that they too should avoid computer science. I think that comparisons like these hurt the chances for computer science education. Children are impatient and when they struggle they will quickly become disheartened and all but the most dedicated will give up.
When detractors say the the push is unrealistic, their main point is that getting enough teachers for all the public schools in America is no small task, and it is even harder to convince good computer science graduates to take a job as a public school teacher when they could be make much, much more money working for a tech company. This is a difficult problem to remedy. Offering to pay computer science teachers more than another public school teacher would make the teaching unions mad. They would want all teachers’ pay to increase, but this is not realistic for most states as the article that noted that $1.3B is not enough to get a computer science teacher in every public school in America.
I do not know enough about education to give any good ways to implement computer science education into public schools. I think that computational thinking should be a requirement, but how you make a class out of computational thinking without it turning into a terrible theory class or a straight up programming class is a mystery to me. I think that a good deal of problem solving would need to be in this new curriculum as well a some of the basics from courses like discrete math. I think it is hard for me to separate computational thinking from programming because I was not exposed to programming before college. Everything I have learned as been in the paradigm of getting a CS education.
I think that the Geek Gene is another interesting topic that the articles brought up. I used to think that with enough effort, people could learn anything that they put their mind to. I don’t want to say that I no longer think this is true, but I am certainly less confident that this is the case. I think that a certain amount of natural ability or interest is needed for someone to pick something up, but maybe its a case of nature vs nurture, I don’t know. If I had to pick a side though, I guess I would say that not everyone can learn to program, nor should it be the case that everyone needs to learn to program. I think that knowing programming can be compared to know a second language. I don’t think that it is the case that everyone learns to be fluent in a second language, just as I don’t believe that everyone needs to know how to program. However, it is hugely beneficial to have at least a basic understanding of some second language. You may not be able to speak it yourself or read or listen fluently, but if you can read basic vocabulary or pick out certain words someone speaks, you can get very far, and this level of knowledge if what I think we should strive for in pushing computer science to others.