A curious crisis of computer science

February 8th, 2016 9:16 AM
by
Filed under Musings;
Comments Off on A curious crisis of computer science

I frequently hear from programmers born earlier than 1980 that today’s kids don’t know how to code. Matt Hellinger gave a great talk on the subject at KansasFest 2013, which he followed up with a Juiced.GS article on the subject. Other outlets have opined similarly, such as Simon Bisson pointing to the skills and technology of the past to power today’s Internet of Things, and John Martellaro proposing that a revamped iPad could be the ideal learning environment.

There’s plenty of truth to what these pundits say. The Raspberry Pi, which is often seen as a modern yet affordable equivalent to the Apple II in terms of easy access to the underlying hardware and software, is a powerful alternative to today’s closed environments. My own experiences would suggest that’s the way to go: opening up my Apple II, plugging in expansion cards, booting into BASIC, and writing my own code is how I taught myself to fall in love with computers.

The Apple II’s impact extends beyond these personal anecdotes, influencing careers and industries for a generation. "The peak in computer-science degrees, in 1985, came about four years after the introduction of IBM’s first personal computer and during the heyday of the Apple II, which very likely led to increased interest in getting a computer-science degree," writes Jonah Newman for The Chronicle of Higher Education in "Is There a Crisis in Computer-Science Education?" Had I started with an OS X or Windows machine, I wouldn’t know where to begin peeling away the pretty GUI surface and getting at the roots of the machine.

But how has interest in computer science developed since then, paralleling the rise in ubiquity of computers, smartphones, and other closed devices?

University of Washington in Seattle CS enrollment

"The chart above tells quite a story. That blue line — the one that looks like a hockey stick — shows how interest in computer science from freshmen at the University of Washington in Seattle has skyrocketed since 2010 compared with other engineering fields," writes Taylor Soper for GeekWire.

While that’s a very small data set, a larger one suggests computer science enrollment is on the upswing. "After the 1985–1986 peak in CS majors, demand declined again through most of the 1990s, before increasing in the 2000s and dropping back down again in recent years… Even though there are proportionally fewer graduates now than there were in 1985, this may be a cyclical trend that’s actually beginning to reverse," says Elizabeth Dye for Sparkroom in an analysis of The Chronicle of Higher Education‘s blog post. The job market plays a large role in that, with bubbles (such as the dot-com of 1997–2000) encouraging higher interest and enrollment in computer science.

The sooner kids have the opportunity not just to use computers, but to program them, the earlier they’ll develop an interest in a career in computer science. From the Apple II to the Raspberry Pi, there are many opportunities for young programmers to have that experience working with low-level hardware and software. But the platform they have access to is just one variable in a complex equation, and their childhood is only one window in which they can develop these skills. When I started college as a computer science major in the mid-1990s, I had a classmate who had never written a program before, yet she’d chosen to major in CS; almost two decades later, she’s still employed in that industry. The important thing may not be to give our children the same experiences we had, but to spark their curiosity. That quality, regardless of what field they pursue, will be of lifelong value.

(Hat tip to Steve Weyhrich)

What schools don’t teach

March 18th, 2013 11:18 AM
by
Filed under Musings;
2 comments.

Computers play an important role in education, be it in programming or game design. Retrocomputers like the Apple II can be especially valuable in any of these disciplines, especially programming. The finite, knowable universe of an 8-bit machine provides the perfect canvas on which budding programmers can craft their first algorithms.

But in many schools, the question isn’t with what computers should programming be taught, but whether programming should be taught at all. Demand for programmers has never been higher, with the number of positions growing at twice the national rate. Yet ninety percent of schools offer no programming courses at all, leading to colleges graduating fewer computer science majors than they were a decade ago.

The non-profit Code.org is bringing attention to the need for more programming education in this country with a public service announcement (PSA). For this five-minute video, they have recruited the likes of Bill Gates, Mark Zuckerberg, and will.i.am, as well as some less likely suspects.

(There are also one-minute and nine-minute versions of this PSA.)

When I was in high school, a required course was geometry. I found it a challenging course, but reasonably so. The theorems and corollaries about alternate interior angles and their kin weren’t intended to train me to be an architect; rather, they were lessons in logic, teaching me how to think and solve.

Programming is the modern geometry, offering similar value to students, whether or not they seek careers in computer programming. I do not consider myself a programmer, yet I have benefitted immensely from the languages I taught myself outside of school. I have occasionally tried to pass on these lessons to friends, showing them some (literally) BASIC concepts on the Apple II, such as variables and FOR loops. They remain completely mystified, with one going so far as to marvel at my own capacity to grasp programming: "You’re a creative person, Ken, yet you can program. I’ve never met anyone whose mind can switch between those two modes so effortlessly."

But programming is creative. A relative who doesn’t realize that basic tenet recently characterized programming to me as "Doing the same thing, over and over". How he confused programming with data entry is beyond me. But the fusion of creativity and logic is perhaps best found on this digital landscape, and students would benefit from being introduced to that sandbox — whether or not it’s on an Apple II.