Computer Engineering studies combine two different fields of knowledge: hardware and software. Computer Engineering deals mainly with computer architecture and begins with the hardware-software hierarchy level of abstraction from digital logic, whereas Electrical Engineering deals with hardware below this level of abstraction--from silicon layers, to transistors, logic gate implementation, and digital logic. The border between the two is rarely dealt with. In the integrative concept, one wishes to strengthen the synergism between these two worlds, and to emphasize the importance of studying Computer Architecture to Programming studies, and especially Assembly Language. Curriculum development requires that the developers engage in analysis and decision-making concerning the required number of software and hardware courses studied and concerning the dependency between the two. This is essential in order to define the proper order in acquiring knowledge. As the ACM--Association for Computer Machinery (2004) declared in ACM/IEEE Joint Task Force on Computing Curricula, "Students need to understand computer architecture in order to structure a program so that it runs more efficiently on a real machine. In selecting a system to use, they should be able to understand the trade off among various components, such as CPU clock speed vs. memory size". The aim of the research presented here was to review the curriculum in order to improve its coverage, with the goal of better preparing graduates to pursue a wider range of professional careers, as recommended by McGettrick et al. (2003).
The paper in organized as follows: the rest of this section presents the program of a newly founded Engineering program and focuses on the characteristics of computer architecture topics and teaching approaches. The next section describes the goal of the research and the experimental framework and the third section details the methodology. The results are presented in the fourth section. The final section summarizes the conclusions and examines the perspectives.
Computer Engineering Undergraduate Studies
In this section, the authors present the concept of a new Computer Engineering (CE) program that was implemented in the newly founded School of Engineering at Bar-Ilan University in Israel. The concept includes a description of the basic ideas concerning the structure of the CE Department, its organization, the CE curriculum, issues concerning teaching and research, the infrastructure of the laboratories, ideas of assessment, and organization of the final project.
Establishing a new Engineering Department has always been considered as a challenge. In particular, regarding a Computer Engineering (CE) Department, this challenge is even greater for a number of reasons: (a) the high prestige of computer-related professions in today's society; (b) rapid development of new information technologies and the appearance of corresponding innovative teaching strategies and new learning environments including laboratory infrastructures; (c) the great influence of the modern high-tech industry on the content of the engineering curriculum. At the same time, the challenge is also motivated by the need to distinguish the CE studies from the Computer Science studies, which are widely known and have been intensively developed during the last decades.
More specifically, two main dilemmas have to be resolved when developing a new Computer Engineering Curriculum.
1) The "Theory vs. Practice dilemma" that deals with a compromise between fundamental studies, which are oriented toward basic academic subjects based on classical science and engineering university studies, and industry oriented studies based on rapidly changing computing and information innovations.
2) The "Programming vs. Designing dilemma" that deals with the compromises between programming as the main computing skill and designing as the more subject-oriented professional skill. …