What are the most useful things learned in the formal education of a computing professional, and what in the nonformal? What should an ideal undergraduate curriculum look like, to best prepare students for their future careers?
These are important questions that all of us in the field struggle with, whether we are instructors or learners. This paper is an attempt “to explore how formal and nonformal education prepares computing professionals for their future roles.” As part of their study, the two researchers conducted a series of 23 detailed interviews with experienced computer professionals. For a variety of reasons, only 14 interviews were actually used. (Unfortunately, the one female in the initial group could not be included in the final analysis. The authors acknowledge this deficiency, but they do not feel it had a major impact on their results.)
First, it is crucial to realize that just about all professions require some amount of on-the-job or continuing education training, but this need is especially crucial in the computing field, where the body of knowledge itself changes so quickly and so dramatically over time.
Because of this, the professionals interviewed for this study emphasized particular courses they had found useful, but also talked about nonformal education. The responses on formal coursework had few surprises, focusing on fundamental areas such as data structures and algorithms, as well as real-world projects, plus skills such as technical writing and communications. Despite Dijkstra’s famous dictum about Basic, these professionals thought the particular programming language used was irrelevant. They felt the need for a good background in a first language, but it was not so crucial what that language happened to be. With this good background, it was relatively easy for them to pick up additional languages on their own.
As for the nonformal education, the professionals stressed the power of the Internet, including specific things like Wikipedia, developer forums, code samples, and search engines. Those of us in academia tend to downplay these resources, but it is clear that the professionals in this study valued them quite highly.
The authors conclude that “findings from this paper suggest that formal educational programs [should] take into account the important role that nonformal educational experiences play.” Perhaps if we help students continue to learn in the future, we can cut down on some of the many “essential” topics that we try to cram into a computer science curriculum.