What is the Best Way to Teach Computer Programming?

The field of computer science is growing by leaps and bounds. If you have seen any of our videos or presentations, you know the statistics. Right now, there are over 500 thousand open computing jobs in the US and this field is growing at twice the rate of other jobs. Yet despite this growth, we are failing to produce enough competent computer professionals in our education system. At this point, only 3% of our college students graduate in the field of computer science. Even though these graduates will earn 40% more during their lifetime, there still is a tremendous talent gap, which is continuing to widen.

So how do we fix this problem? Obviously one of the answers is to offer more computer science classes at middle and high school levels. But what is the best way to teach computer science? How does a student best learn how to write code? Many studies have tackled this subject and their findings are very interesting. While learning the basics of how a programming language works and learning to read the language are important skills, actually writing code in that language is vitally important and often overlooked in modern programming curriculum. In fact, research into this topic found that most conventional programming instruction focused too much on reading and understanding programming languages and not nearly enough on writing and testing a student’s own programs. Why is this a problem? When students are only working on reading programming languages, they fail to fully grasp how that language can be used to solve problems in the real world.

The solution, researchers argue, is to produce programming curriculum that includes both reading and writing practice. This method tends to produce more competent and confident programming professionals. Why? Researchers have several ideas, and the most popular idea is that the feedback supplied by compiler programs is immediate, consistent, detailed and informative. This feedback helps to reinforce and encourage students by showing them how to actually create powerful programs on their own. Students are then able to work more independently and experience how programming can provide a rich source of problem-solving skills.

CompuScholar is dedicated to providing instruction that helps students to both understand and write programs in many different languages. Our courses have always included hands-on exercises that allow students to apply their new programming knowledge by creating real programs.

As part of our commitment to continuous improvement, we are pleased to announce that our Java Programming (AP) and Java Programming (Abridged) courses have now received additional in-class coding exercises. These exercises take the form of new "Work with Me" sections within the lessons. "Work with Me" exercises are short, un-graded activities intended to give students immediate practice with the lesson concepts. Coding answers can be found within the Teacher's Guide for the corresponding lesson. These updates do not impact class scheduling, grading or prior student work. Teachers and students can take advantage of the new exercises when desired, either in-class or as homework.