History and Evolution of Computer Engineering Education
In the 1940s and 1950s, several traditional subjects and courses in engineering and science started to shift toward the then new born computer engineering courses. In the 1970s, most colleges and universities worldwide began offering majors in computer science and some in computer engineering.
The Association for Computing Machinery (ACM) began publishing curriculum recommendations for computer science in 1968 (a preliminary version appeared in 1965) and for information systems in 1972. In a parallel effort, The Computer Society of the Institute for Electrical and Electronic Engineers (IEEE-CS) began providing curriculum recommendations in 1977.
The IEEE Computer Society published its first computer engineering curriculum around 1983. Prior to the 1990s, each society produced its own curriculum recommendations. Over time, the advantages of cooperative work among them became obvious. Today, the societies cooperate in creating curriculum standards and, in this way, unify the efforts and send a single message to the computing and engineering communities.
IEEE-CS and ACM joined forces in the late 1980s to create a joint curriculum report for computing. Published in 1991 and known as Computing Curricula 1991, or CC’91, it provided guidelines for curricula for four-year bachelor’s degree programs in computer science. CC’91 defined computer science in terms of 3 processes, 9 fundamental subject areas, 12 recurring concepts, and a social and professional context.
According to CC’91, the three processes of computer science are defined as follows:
- Theory (mathematical roots)
- Abstraction (scientific roots)
- Design (engineering roots)
The curriculum also included nine fundamental subject areas:
1. Algorithms and data structures
2. Architecture
3. Artificial intelligence and robotics
4. Database and information retrieval
5. Human-computer communication
6. Numerical and symbolic computations
7. Operating systems
8. Programming languages
9. Software methodology and engineering
The 12 recurring concepts are listed as follows:
1. Binding
2. Complexity of large problems
3. Conceptual and formal models
4. Consistency and completeness
5. Efficiency
6. Evolution
7. Levels of abstraction
8. Ordering in space
9. Ordering in time
10. Reuse
11. Security
12. Trade-offs and consequences
Throughout the 1990s, various efforts were made to produce curricula guidelines for other programs in computing education. By 1993, ACM had produced five reports for two-year associate-degree programs, one report each for computer science, computer engineering technology, information systems, computer support services, and computing for other disciplines.
By the end of the 1990s, it was becoming clear that the field of computing had not only grown rapidly but had also grown in many dimensions. This rapid growth in computing results in a growing number of kinds of computing degree programs. IEEE-CS and ACM again joined forces in the late 1990s to produce an up-to-date curriculum report to replace CC’91, and to tackle the problem of the growing number of kinds of computing degree programs. IEEE-CS and ACM created a joint task force with the goal of producing Computing Curricula 2001 (CC2001), a single report that would provide curriculum guidelines for degree programs for the various computing disciplines.
However, the members of the task force soon recognized the new reality: Computing had grown in so many dimensions that no single view of the field seemed adequate. The days when the field of computing consisted of only computer science, computer engineering, and information systems were over, and the richness and breadth provided by the various computing disciplines called for a new way of defining what computing curricula should be.
The work of this task force, known as Computing Curricula 2001 (CC2001), was published in December 2001. The CC2001 Report contains detailed curricula guidelines for undergraduate degree programs in computer science.
In response to the CC2001 model, work soon began on other discipline-specific volumes:
- The information systems community published its updated IS2002 report in 2002.
- The software engineering community published its first report, SE2004, in 2004.
- The computer engineering community published its CE 2004 report in 2004.
- The information technology community published its (draft) IT2005 report in 2005.
Figure 1. IEEE-CS/ACM joint task force classification for computing disciplines post-1990s
The post-1990s world presents meaningful choices: Computer science, software engineering, and computer engineering each include their own perspective on software development. These three choices imply real differences: For computer engineering, software attention is focused on hardware devices; for software engineering, the emphasis is on creating software that satisfies robust real-world requirements; and for computer science, software is the currency in which ideas are expressed and a wide range of computing problems and applications are explored (see Fig. 1).
Date added: 2024-03-07; views: 129;