By Daniel Kimball

Information technology is the fastest growing field of our age and is predicted to remain so for decades to come. Unfortunately, computer science teaching is not keeping up. Increasingly, schools and colleges are teaching students how to use particular pieces of software, but neglecting to teach them about how computers actually work or how they are programmed.

According to Michael Littman, head of the computer science department at Rutgers University, “Computational thinking should have been covered in middle school, and it isn’t.” Even virtual students, who receive the majority of their education online, receive very little instruction on how computers work beyond the basic level of knowledge that they need to complete their courses.

One way to combat this disturbing lack of computer science teaching without sacrificing other subjects is to integrate computing into subjects that are already being taught. Introducing basic programming principles into math lessons is an obvious starting point, but other subjects can also be used to further students’ understanding of computing.

Most programming languages are based on English, taking their grammar from the language that we speak and write everyday. A good example of this principle is the BASIC family of programming languages, which use constructions such as “if… then…” and “do… while…” to tell the computer what to do. Students will find it interesting to compare and contrast phrase structure and word usage between English and BASIC programming languages. This exercise could inspire students to think more deeply about language at the same time as teaching them how to communicate with computers on a deeper level than they are used to.

Science classes do not present an accurate picture of what it is like to work as a scientist. Science researchers in fields such as physics, computational biology, applied mathematics and astronomy spend much of their day writing computer code. In spite of this reality, the Framework for K-12 Science Education published by the Board on Science Education does not demand that computer programming is included in the science curriculum.

A simple coding exercise for science class, which reflects the work that a theoretical astrophysicist might do, is to get students to write a simulation of a planet orbiting the sun. This task tests their understanding of Newton’s law of gravitation at the same time as giving them a fun introduction to writing simple programs.

Creativity can be injected into class projects in social science and geography by encouraging students to present their work via a website written in HTML. Rather than inputting data into a spreadsheet and letting Excel create charts automatically, students can use JavaScript to create their own graphs, which can even be interactive! To speed up the process, teachers can provide code templates to use as a starting point but encourage students to play with the code to customize their graphics and layout.

When computer science students first come across the concept of public and private data in programming, they often struggle to understand its purpose. However, when students are presented with a real-world example in their business studies lesson, such as a program that manages employee paystubs, they quickly understand why employees should be able to see only some of the program’s data and why they should be prevented from modifying it. Programming conventions are much easier to understand when illustrated using real-world examples.

Education is intended to be a useful preparation to adult life. With computers featuring so strongly in the modern world, it is essential that young people should have some understanding of how they work. When integrating computer science into everyday subjects, it is not always necessary to go into great detail: keen students will begin to experiment for themselves once they have been given an introduction to computer programming that shows how useful and fascinating it can be.

Guest post contributed by Daniel Kimball, for Daniel has worked in the PC business for more than 20 years. He writes extensively about Intel core processor laptops, web browsers and general technology topics. He’s basically a self confessed tech geek.


  1. You make an assumption here that teachers of non-computer science classes understand and can teach computer science. In my experience, it’s hard enough even to find computer science teachers who meet that requirement.


Please enter your comment!
Please enter your name here