1. About
  2. Features
  3. Explore

I was recently reading some papers regarding bridging the gap between academia and industry, specifically in undergraduate computer science and software engineering programs. The papers I read were published between the late 1970s and the mid 2010s. I noticed a stark contrast in papers published in the 1990s as compared to the 1970s with regards to education, often in reference to mathematics and science.

A small passage from Essential Elements of Software Engineering Education, published in 1976:

It is clear from the above discussion that the education of a software engineer will involve the study of a variety of subjects combined with a considerable amount of practical experience which must be accumulated over a number of years. From a university standpoint, the subject matter not only cuts across a number of traditional disciplines and boundaries, but also covers topics that historically have not been part of academic curricula.

This passage follows a discussion of problems that arise from teaching software engineering, specifically the difficulties in mapping certain aspects of industry into the classroom. This discussion is a significant portion of the paper, and similar discussions are prevalent in other papers written around the same period of time. Generally, there's an understanding that a wide knowledge base is needed in the fields of computer science and software engineering, but the trend is to focus on maximizing the skills and knowledge needed in industry.

Throughout everything published in the mid-to-late 1970s, I get the idea that the people designing the computer science and software engineering curricula understand the industry. This includes technical and non-technical topics, but always serving the needs of the profession. It's well summarized in this statement, also from Essential Elements of Software Engineering Education:

A curriculum in software engineering must be multi-form and in fact be a collection of curricula to meet the diverse needs of existing professional groups.

Fast-forward to the 1990s. A passage from the The SEI undergraduate curriculum in software engineering reads:

The mathematics and science content of the curriculum should help achieve two fundamental objectives. First, it should prepare students to participate competently in an increasingly technological society. This includes the ability to understand science and technology issues well enough to make informed political decisions. Second, the science and mathematics content should provide the students with an appropriate foundation for subsequent software engineering courses.

...

While the physical and life sciences are fundamental to traditional engineering disciplines, they provide virtually no basis for software engineering. The only significant exception is that electricity and magnetism, common topics in introductory physics courses, support the study of the computer itself, and software engineers need a basic understanding of the machine for which they are developing software. To achieve the first objective stated above, however, it is probably the case that basic knowledge of physics, chemistry, and biology are essential in almost any undergraduate curriculum. Chemistry and biology, in particular, are likely to be increasingly important in understanding society’s health care, environmental, and genetic engineering issues in the next century.

This is really the first time that I saw society come up in a discussion about the content of a curriculum. There were mentions of law and legal topics being relevant for software engineers and computer scientists in previous papers, but always from a professional standpoint. In the above quoted passage, the first objective (and I'm assuming the most important in the eyes of the author) of mathematics and science education is not to prepare the students for future course work or their first job in industry or for future research, but for functioning fully in modern society.

Beyond that, the authors even identify that these topics have limited utility in many industrial settings for software engineers. However, they continue to encourage that basic knowledge should be part of the curriculum for society's benefit.

My questions:

  1. What happened in the late 1970s into the 1990s that caused a shift from focusing on the profession and entering the workforce (both industrial and academia/research) to the general needs of the society in computer science and software engineering education?
  2. Was this phenomenon localized to computer science and software engineering education or was it a widespread event?
  3. What were the triggering events?

1 Answer 1

This answer is from a retired software engineer’s point of view. In 60’s and 70’s, not too many people had a close look at real computers. I wrote my first few FORTRAN programs on punched cards without actually seeing what a computer looked like.To me, a computer was like a black box. There was a magician living in the computer room, could understand the DO loop instructions in my program and do the job for me. There were a lot of students thinking the same way like me. The professors in CS department were facing tough choices. There was limited time for the students to take the courses. You teach them math and science first, or programming first? What would the industry think if your computer science graduates could not even write programs? Naturally, the curriculum had to be focused on computer science itself.

In late 70’s, micro computers came out. In 90’s, PC became house furniture. A lot of software packages were available. Programming became everybody’s skill like driving a car. In the mean time, the industry found out CS graduates are hard to use because they don’t have enough application domain knowledge. I, for example, had to borrow books from the library to learn how radar operates. In the last few years before I retired, I didn’t need the programming language manual because I knew them. But I had to get on Wikipedia web site many times everyday because I was not familiar with the application I was working on. And I know I was not an exception. Many of my colleagues were doing the same thing. Naturally, the industry and academia have to train the undergraduate student math and science so that they would be more useful.

The above is my observation and my experience. I would not say who is wrong or right. The OP was wondering what happened. I believe it was a gradual process and a basic economics rule, demand and supply.