Bradley Covington, a senior at Lee’s Summit North High School in Lee's Summit, Mo., remembers well the time he planned out Santa Claus’s Christmas Eve route.
“We had to think of all the problems we could face: where he would travel, the direction he would travel, how he’s going to travel to all these places,” he says. “We had to actually specifically look up the time zones, to find which ones Christmas would fall in first.”
This fanciful-sounding thought experiment was the first assignment Covington and his classmates had this fall in a software development course at Summit Technology Academy in Lee’s Summit. Covington says it was meant to get him to “think like a [computer] programmer.”
“You have to think of every single thing that could possibly go wrong. That’s how you have to think like a programmer,” he says.
Covington is one of more than 40 students from schools around Jackson County who come to Summit Tech for two hours each weekday to learn advanced computer programming. Veteran instructor Terry Yoast says last year she had just 14 students, and she’s not surprised at the course’s rapid growth.
“We’re offering something different,” she says. “We could teach from a book and say, ‘Oh, here’s what you need to know’. But we don’t. We collate to real-life situations.”
There is an increasingly urgent economic imperative to efforts like this. The Bureau of Labor Statistics projects that by 2020, there will be 1.4 million computer science jobs and only 400,000 qualified graduates to fill them.
“Thinking like a programmer” serves as a kind of mantra for Yoast and her students. The students spend most of their class time working in small teams, developing fully functioning software programs based on several coding languages, including HTML and C++. Most of these students, including Covington, have taken basic computer science courses at their home schools and are now looking for something more.
Laura Sterke, another senior from Lee’s Summit North, says she gets most excited by the creative challenges posed by the course.
“I love that you can take a bunch of random words and put them together in a certain order and you create things,” she says. “You make websites, you make games. And it works.”
Typing out the intricate lines of code that create the virtual structure of their programs, may very well be the easy part. These students also do a lot of problem-solving. The students have to analyze and check each line of code and if it doesn’t work, they must meticulously review it to find mistakes, which can sometimes come down to a single typo.
Yoast hopes to have her students eventually develop programs that can be used by real-world businesses and organizations. Last year, her students helped the Lee’s Summit Historical Society start building a mobile app for its museum.
“You would be able to use this app in the museum as a guide or around town,” she says. “Whenever a local point of interest comes up. That’s a real-world application.”
Yoast is one of a handful of what the KC STEM Alliance calls “master teachers” in computer programming and software development. The Alliance is leading efforts to enhance computer science curricula in Kansas City-area schools to better match the type of hands-on work done in Yoast’s class. KC STEM Alliance Executive Director Laura Loyacano says too many students in high school are mere ‘users’ of technology rather than ‘creators’.
“Students may be having iPads to do their work or using their smartphones,” she says. “This makes them a computer-user, which is good, but it is a far cry from being able to write code and work in computer science.”
The KC STEM Alliance is partnering this year with 20 area high schools to begin implementing a computer science curriculum produced by Project Lead the Way, a national non-profit that pushes STEM education. The Project Lead the Way curriculum pushes students to master multiple coding languages and build their own software.
Teachers that partner with the KC STEM Alliance to use this curriculum will also get professional development from master teachers like Yoast and can visit college programs like those at the Missouri University of Science and Technology.
Tim Shipley, the computer and software engineering facilitator at Olathe South High School in Olathe Kan., frequently tells his students of the opportunities their futures can hold in computer programming. He should know: he worked as a computer programmer in the Kansas City are for 30 years before turning to teaching.
“The programmers who get the good jobs are the ones who can problem solve,” he says, “but they can also interact socially and they can work fast. That’s what I tell my students.”
Loyacano says computer science programs in area high schools have the challenge of preparing kids for a field that is new and ever-changing.
“The jobs these students are going for in four to five years don’t even exist now,” she says. “So it follows that high schools and K-12 school districts are going to have a hard time keeping up with industry needs and standards.”
That sounds like a problem, but problems are something the young computer programmers at Summit Tech Academy are used to dealing with. Bradley Covington says it’s "annoying" when one line of mistyped code can ruin his entire program, yet that feeling creates a new incentive.
“It’s annoying, but because it’s annoying, it makes me want to learn more and makes me want to try harder,” he says.
Now that’s what Covington’s teacher would say is “thinking like a programmer.”