In this CACM essay, Bjarne Stroustrup argues that CS education should change to support the needs of industry and that failure to do so will jeopardize the utility and relevance of Computer Science as a discipline. This outcome would also harm industry because software development would proceed without the benefit of professionals whose education has ostensibly outfitted them to be the best at doing such work. However, the best way for academia to meet industry’s needs is not to churn out carbon copies of made-to-order programmers. Instead, CS educators might try bridging the gap by reaching out to industry in more direct ways than through their students. Direct partnerships between faculty and industry with “embedded” computer scientists will make CS more directly relevant and beneficial to industry.
The disconnect that Stroustrup describes between industry and academia regarding the proper state of CS grads causes frustrations on both sides of the fence. Computer Science education is more theory than practice. The core of CS at an undergraduate level requires a lot of conceptual study of foundational topics in areas such as discrete mathematics, algorithms, data structures, logic, probability, and so on. This work is necessary not only for advanced study in computer science research, but also for aspiring software developers to understand their craft holistically rather than superficially. CS educators want their students to do well after graduation, but not by sacrificing what the core of that education should be. At the same time, although industry most certainly benefits from having its programmers knowledgeable of the fundamental topics and able to see the big picture in their work, hiring managers still prefer developers already skilled in practical tools and technologies.
This apparent disconnect is a lot less durable than Stroustrup’s caricatures make it appear to be. As is most often the case when two cultures fail to communicate, in order to bridge the gap, both sides need to spend more time talking and working with one another. With CS profs embedded in actual business settings, their curricula will benefit from an understanding of exactly what it is that students are being asked to do once they leave the purview of the academy. Of equal importance is the consultative function that the professors can provide to the business. Stroustrup fails to question whether industry’s needs might have become warped by a lack of onsite expertise. Demand for cookie-cutter programmers using stock tools results from the copycat mentality of a middle management layer determined to play it safe—in short, a failure to innovate.
With embedded computer scientists, both sides of this debate will begin to see that their interests are much more aligned than previously thought. The gap is not caused by fundamental differences between the needs of industry and the travails of academia. Instead, it is the communication breakdown, as academics focus on conference proceedings and research papers while business managers chase fads constructed by ad-driven publications and the culture of sales, that has led these two camps to believe their goals are mutually exclusive. In reality, they both want the same thing. At the end of the day, the business manager wants a staff capable of generating a competitive advantage with the product or service they are building. By arming students with the fundamentals of a CS education, academics aim to send their students out into the world with the capacity to do exactly that.
Pure research in academia, so the theory goes, leads to innovations in industry down the line. Somewhere along the way however, the two groups stopped talking to one another. Academics lost track of the problems most pressing to industry, while industry lost the ability to take advantage and put into practice what CS graduates have to offer. Direct partnerships are necessary to restore the link and resolve the disconnect. The quality and relevance of a CS education will increase if professors focus on real case studies and research that results from hands-on experience.
Stroustrup does well to point out that the caricatures he depicts are exaggerations, but his conclusion suggests that there is some magical way to “fix” CS education that will solve everything. However, business managers should not be seen simply as innocent victims of an inefficient educational system. The purported “needs” of industry ought to be thoroughly scrutinized before committing to a revamping of education. It would surely be tragic to realign CS education to meet the business needs of industry, only to discover that they were the wrong business needs.