13: Computer Science in the Classroom

As software continues to pervade our day-to-day lives, advocates cry louder for computer programming education in the classroom. Nowadays, children are more likely to send a text message than a letter and will Instagram a picture more readily than printing a photo. The usage of social media and smartphones has become commonplace, but most users have little to no experience with the code that makes it tick. Because of the prevalence of software, many claim that coding is the new literacy.

To be quite honest, I think comparing coding to literacy is overreaching. The ability to read is essential and expected in any modern society. Public notices and signs might warn readers of potential danger while paperwork in any transaction defines the terms of an agreement. Being illiterate is a disability that poses a risk to personal safety, financial stability, etc. If an individual is not versed in computer programming or computational thought, what are the dangers? Having to go to the Apple store when your phone malfunctions? Ignorance of coding is by no means the same disadvantage that illiteracy is, at least not yet. However, that being said, there are great advantages to understanding computer programming, especially learning computational thinking. Many jobs involve working with technology now running software, the auto industry for example, and many more would benefit from the organization of computational thinking. This trend will only continue and in the words of President Obama, “Now we have to make sure all our kids are equipped for the jobs of the future – which means not just being able to work with computers, but developing the analytical and coding skills to power our innovation economy” (President Obama, Weekly Address). It is time that students are at the very least exposed to computer science in schools.

Some disagree with adding computer science literacy.They argue that most people simply don’t need to know how to program. There are many essential skills needed in society, like plumbing, but not everyone needs to be a plumber (“Please Don’t Learn to Code”). Furthermore, it places emphasis on the “method before the problem.” Writing code is not the goal; solving a problem with as little code as possible is the object.  Lastly, the push for CS literacy implies that any novice programmer can break into the industry and make $80K with a month-long boot camp under their belt. This is simply not the case nor is it a desirable possibility. However, supporters of additional computing education argue that as “[n]ew technology replaces any job where work can be automated, [w]orkers need more skills to get ahead” (President Obama, Weekly Address). Furthermore, 1.2 million new CS jobs will be hiring in the U.S. by 2022, but there are fewer CS majors graduating now then there were in the 1980s (“We Can Code It!”). Needless to say, as CS4All continues forward, many schools will face challenges finding qualified instructors to teach these new courses and will struggle to equip students with the necessary hardware to program.

When CS curriculum is implemented in schools, it should be treated as an addition to the generic computer elective already taught in most primary and secondary schools and as an additional science or mathematics elective in high schools. While this elective would continue to teach students necessary skills such as typing and Microsoft Excel, it would also endeavor to teach students basic programming skills and logic. In primary schools, icon based languages could be taught to introduce logic and computational thinking. Concepts covered might include basic commands, if-statements, and loops. Of course, at this level difficult concepts such as recursion would be avoided. Eventually, in 6-8 secondary schools, other more standard yet easily comprehensible languages could be used such as Java or Python. While still highlighting computational thought, using standard programming languages would introduce students to creative implementation. High schools (9-12) should offer more specific computer science courses (although not required) to allow for more exploration. These might include web applications or mobile computing.

I believe that anyone can learn to program. Whether or not they aptly program well is a different story. Learning to program, like any subject, will be difficult for some and easy for others. But like basic mathematics, basic coding is simple enough for anyone to learn. That being said, knowing how to code is not as crucial as knowing arithmetic. Thus, I do not think it is necessary that everyone learn to program, although, all students should be exposed to it.

Leave a comment