Why Computer Science Education in K-12 Settings Is Becoming Increasingly Essential by Mehran Sahami, The Huffington Post, 14 Sep. 2016.
Is computer science for everybody? In this blog post, the author reminds us that in today’s world, computer science goes beyond programming for programmers. It is more and more part of our everyday lives. The author asserts, “This is the reason we don’t talk about teaching CS as just teaching ‘programming,’ but rather as a means for students to develop ‘computational thinking’ skills.”
Ex-Google Guy Builds English Teaching App That Adapts to Student by Selina Wang, Bloomberg Technology, 13 Sep. 2016.
Chinese parents spend quite a bit of money for English lessons for their children, then find out that their children don’t speak English very well. In steps LiuLiShuo, which means “speaking fluently,” an app which incorporates gaming and social media into English learning. While it has its critics, it also has 30 million (yes, million) users.
Audiobooks Can Support K-12 Readers in the Classroom by Kate Stoltzfus, Education Week, 19 Sep. 2016.
Audiobooks have been around for quite a while, and their usefulness for struggling readers has been supported by research. With the growth of digital media, audiobooks are becoming even more important as a tool for learners, especially students who have trouble reading. A study by the American Association of Schools Libraries in 2012, which focused on elementary students, found that “audiobooks improved students’ reading scores, increased students’ positive attitudes about their reading ability, and offered students more personal choice in what they read.”
Filed under: Apps, Ed Tech, ESOL, International, K-12 Schools, Language Learning, Library, Literacy, Social Media, Trends & Issues |
That CS article is one of the most balanced articles on this subject I have yet to read. The controversy in CS for K-12 arises from multiple sources, like a hose with many leaks. Some of the problems stem from the extremists who promote “coding for all” even in kindergarten. Others come out of the phrase “computer science” because it’s not truly a science at all but rather a blend of engineering and mathematics with essentially no science at all. Then, some proponents claim that every child enjoys writing code and produce singular examples to prove their claims. Talk about not being science!
The author is entirely correct that “learning CS helps students develop systemic thinking skills for problem solving, practice logical deduction, and learn to express themselves with greater precision and clarity.”
Here are the problems with this assertion and the conclusion that we should be providing this class as mandatory education throughout K-12 schooling. The first problem comes from a fixed amount of time in each day. To put something in, you must take something out. If CS is to be taught every year, then lots of somethings must be removed. If not, then the years must be specified along with what will be removed. Take away history? Take away English? You see the problem.
The second problem has to do with who will do the teaching. We do not have enough skilled CS teachers. After all, the best ones are making six figures in Silicon Valley or some similar location.
Next, you have the problem that most K-12 CS curricula have that title as a disguise for coding classes. Enough teachers have enough coding expertise to be dangerous to students and not enough to convey the learning necessary for CS.
The problem with coding classes comes from their either being too trivial to engage the better students and even to convey what programming really is like — or they use an advanced coding language (e.g. Java) that challenges students to learn detailed syntax and semantics from scratch.
Writing software takes a certain personality to do well. That person most likely appears introverted, highly analytical, and self-assured in front of a computer keyboard. Programmers must live for detail and be immune to a computer that continuously tells them what jackasses they are. Few students will fit that profile. Nearly all will find writing software in the real world to be dull beyond measure.
We must educate our students to the vagaries of computers. They must know, in their guts, that computers are total ignoramuses. They must understand that the software forms the weak link in every application and that programmers seem never to be able to write perfectly clean software, a utopian goal that is Sisyphusian in nature.
They should understand how computer networks function and why they will always be vulnerable to hacking. They should internalize the many ways that malware can insert itself into their computers, tablets, and cell phones and be on the alert for these attempts. They have much to understand that has nothing at all to do with learning to code.
Another problem with K-12 CS: those wonderful goals of learning systemic thinking skills etc. can be learned in other subject areas. For example, although I love science, I have to admit that a good history course can teach critical thinking as well as a good science course. Just because CS is the “new kid on the block,” doesn’t mean you should jump in head first.
I write the above because I hate to see CS being shoved down the throats of every kid in our country. I do see a role in education here, but it must be thoroughly debated and completely thought out before being implemented. Don’t allow computer chauvinists divert education in the wrong direction.
I absolutely must comment on the 500,000-programmer shortage. This is utter nonsense being perpetrated by companies who worry that the government might curtail the H1-B programs. They have colluded to inflate the numbers to scare lawmakers into maintaining these programs and even expanding them. In reality, we import programmers who are barely able to speak English and have limited programming skills to deflate the previously rapidly expanding wages of native software engineers. These immigrants receive low wages, live in rented homes in large groups to save money, and primarily work here to send money back home to relatives. I’ve met enough of them to know.
Beyond that, not every student who learns to code can do so well, just as learning to write doesn’t make you an author or learning to paint doesn’t make you a painter. Convincing mediocre software writers to write software for a living makes things worse, not better, for them. They are competing against offshore programmers working for a small fraction of the wages they will receive. I once had to tell a programmer in my group that they would have to leave because they were not mentally suited to the job. It was tough. This person was heading for complete failure becuase of being in the wrong job and definitely had the talent and personality to succeed somewhere that they would enjoy.
I also write because I’ve been doing this stuff for over 50 years. I wrote my first computer program in 1960. It was very hard and frustrating. Only with great willpower was I able to complete my task, often working past midnight while playing football and taking a backbreaking course load. Since then, I’ve written hundreds of thousands of lines of code, mostly programs that I designed, in dozens of languages. Programming will strain you as much as taking the SAT test every day. You have to enjoy it to survive while doing it.
After decades of writing software for the joy of creating something, it began to pale. Now, I write to create something I care about. I had to give up the security of being a contract programmer (and had to give up the security of a regular job to do contract programming) to take this leap. I feel good about what I am doing, and it’s working. My tiny company has 300 schools, 3,000 teachers, and 130,000 students and is growing fast. I have melded my expertise in science, software, and education into something wonderful. Every person should be able to find rewards by choosing what they do best.