equipment for ECSE courses can be expensive, relative to its short useful life, especially for courses in which the effective presentation of material depends on equipment that is near the state of the art. An example would be a computer graphics course, in which certain techniques for realistically rendering three-dimensional images require very large amounts of computing power if those images are to display in real time.
In addition, if undergraduate students in computer science are to be employable by industry upon graduation, they must have some reasonable familiarity with the equipment that they will encounter in industry. This is not to say that the equipment of ECSE laboratories must be upgraded in lockstep with that of industry; however, over time the department whose teaching laboratory equipment does not keep pace with technological changes occurring in industry will find its graduates poorly prepared. Thus, a continuing effort to upgrade (rather than just maintain) laboratory facilities is a demand faced by ECSE faculty, but not by faculty in disciplines with a stable core of ''classic" experiments.
Some schools recognize the need to treat the educational dimension of CS&E as a laboratory science, and they provide meaningful staff support in the form of laboratory technicians, programmers, and the like. However, other institutions lack such staff support, and in their ECSE laboratories development, maintenance, and upgrading tasks fall to the faculty themselves.
Not surprisingly, student work in ECSE courses has qualities that mirror the discipline itself, including complexity, reliance on artifacts, and technological sensitivity. Moreover, these courses often represent a substantial portion of the design component of the curriculum, especially the advanced specialty courses.
Students produce software and hardware artifacts in almost all ECSE courses as part of their homework. For example, students may write drivers for input/output devices in a course on operating systems, or design a chip in a VLSI design course. In general, there are many more ways to carry out a laboratory assignment than are present in the abstract systems that are the focus of typical problem sets. This multiplicity is due to the greater number of variables and the need to attend to all of the details in a real physical system.
The result is that no simple key can be used to decide the correctness of the homework. Programs or circuit designs are not simply