Guest Post by Tom Rogers
The reasons for having students create software are similar to the reasons for having them write a poem, balance a chemical equation, solve an algebra problem or play the clarinet. Literature, science, math, the arts and computer software are all important elements in our society. The best way to learn about them is to do them.
On the other hand, query a sample of adults about how many times during the last month they’ve written a poem, balanced a chemical equation, solved an algebra problem or played a musical instrument and the answer is likely to be zero. Ask them how many times they’ve used computer software in the same time span and the results will be far different. Okay, using a piece of software is not the same as creating it, but having had the experience of creating software does add to the understanding of how to use it.
Almost every major software package has programming features built into it, such as macros—a method of programming using pull down menus that implements ways of capturing keystrokes—and one or more actual programming languages. For example, tasks in Microsoft Word and Excel can be automated using macros or the Visual Basic programming language. Individuals who’ve had the experience of creating software, any type of software, will be better able to tap into this power–a significant employment advantage.
Considering that computer software has become almost the DNA of industry, improving the software capabilities of the state’s workforce would be a plus for economic development. However, economic development aside, in today’s environment, even existing businesses are having a hard time finding the computer-savvy workers they need.
The experience of creating software not only improves a person’s ability to use software, it polishes a person’s algorithmic thinking—a fancy way of saying the ability to design effective sets of instructions or procedures. And there are a huge number of human activities that can benefit from this skill including medicine, manufacturing and even seemingly unrelated activities like police-work.
Since computers are super-obedient but dumb, designing and implementing a set of procedures for them is more challenging than doing so for humans. With humans, the procedures can be sloppy but still work, not so for computers. Miss so much as a semicolon and the procedures become useless.
Even the highly motivated students who regularly take Advanced Placement courses are avoiding AP Computer Science, a course that would compel them to create software. In 2011, over 16 times more students took the AP Calculus course than took the AP Computer Science Exam—an amazing fact, since using computer software is far more common than using calculus.
Part of the AP Computer Science enrollment problem stems from the lack of availability. According to a recent Computer Science Teacher Association (CSTA) survey, only 18% of the teachers responding from South Carolina reported that their school offers AP Computer Science, one of the lowest levels in the United States. On the other hand, why should students take a demanding course like AP Computer Science when they can take a less demanding course like keyboarding?
An obvious solution would be to move keyboarding and office app courses to middle school and with the greater availability of computers in middle school this is slowly happening. It’s a step in the right direction, but under the right circumstances, the middle school classes can count toward the high school computer science requirement. Students who make use of this option are often the ones likely to take AP Computer Science, however, having met their graduation requirement, they have less motivation to do so.
Removing keyboarding and office apps courses from the list of acceptable courses for high school graduation would be an additional step toward boosting the number of students taking AP Computer Science—by itself a prestigious and highly visible accomplishment. Furthermore, the step would also motivate current computer teachers to upgrade their skills and presumably cause either better suited or new courses to be added to the state’s high school offerings—giving the state an overall competitive advantage.
Unfortunately, without an overarching goal or vision, even steps in the right direction are going to have a limited effect. Ultimately, to meet the competitive challenges of the 21st century created by the ubiquitous nature of computers, we need to make sure that no student graduates from high school without the experience of creating computer software.
About Tom Rogers
Tom Rogers has a BS in mechanical engineering from Arizona State University and an MBA from Clemson University. He worked in industry for 18 years before becoming a high school teacher in 1993. He is a U.S. patent holder and has authored numerous publications including the book Insultingly Stupid Movie Physics. In 1996, he founded a popular web site devoted to creative learning, intuitor.com. He currently teaches AP/IB Computer Science, calculus based AP/IB Physics, and AP Statistics in the International Baccalaureate Program at Southside High School in Greenville SC and is the leader of the AndSAM project a collaborative effort with Clemson University, funded by a Google RISE award, and aimed at bringing Android Phone computing power to K-12 classrooms.