Educational Dimensions of Academic ECSE
Although it is the research dimension of the academic experience on which the distinguishing characteristics of the experimental computer science and engineering (ECSE) discipline have their greatest effect, the educational dimension of academic ECSE also imposes special demands on faculty.
KEEPING COURSES CURRENT
Courses in ECSE cover material that changes much more rapidly than the material in theoretical courses, owing to the continuing rapid advances in technologies. For example, the design of VLSI circuits was in its infancy 10 years ago; today courses in VLSI design are a basic staple of many computer science departments. Courses on the design of high-performance computer architectures are another example. Rapid technological change means that ECSE faculty typically spend more time each year upgrading courses to incorporate new material; course notes, laboratory facilities, and software do not have long lifetimes. For the same reason, ECSE faculty often cannot rely on textbooks alone (and sometimes not at all) to adequately cover material because of its rapidly changing nature.
An additional complication is the laboratory component of ECSE courses. ECSE shares with many science and engineering courses the need to develop, maintain, and upgrade laboratory facilities, but laboratory
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.
EVALUATING STUDENT WORK
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
correct or wrong; correctness is only one of many properties that must be evaluated to assign a grade to this work. Properties such as efficiency, maintainability, modularity, and readability cannot be evaluated by looking at the output of the program. For example, a very convoluted and unnecessarily intricate program may produce valid answers to a set of test data, although a human grader would reasonably downgrade such a program for its unnecessary complexity. As a result, the entire program (data structures, algorithms, procedure calls, even syntax) has to be studied in detail and reasoned through line by line. Absent cheating, no two programs will be the same.
Although laboratory exercises for low-level classes can sometimes be packaged well enough to facilitate grading, project classes and advanced graduate classes cannot be similarly packaged. A typical project submission by a four-person team might involve a program consisting of 10,000 lines of source code and hundreds of pages of documentation and analysis, and a faculty member might have to grade 15 or 20 such projects in one course, or even more. Finally, reading and understanding such projects are considerably more difficult than, say, reading and understanding term papers.
The end result is that preparing and evaluating laboratory experiments and other design projects are extremely time-consuming, more so than for most lecture/recitation courses. Thus, ECSE faculty typically need more teaching assistant support than do faculty teaching courses that do not require projects or design work.
Teaching burdens tend to be higher in computer science departments than in other departments. Although the number of course preparations per semester required of ECSE faculty is likely to be the same as that of other faculty in CS&E or in other science or engineering disciplines, the number of students per class tends to be much larger. For example, the number of degrees awarded per year in computer-related fields (including computer science, computer engineering, and information sciences) per full-time faculty member is more than double that of science and engineering departments taken as a whole.1 Moreover, in recent years service teaching loads (i.e., nonmajors taking computer science courses) have increased substantially.
SUPERVISING NON-PH.D. GRADUATE STUDENTS
ECSE faculty tend to be responsible for more graduate students than their theoretical colleagues. Although at least some of the time spent supervising Ph.D. students contributes directly to the faculty member's research, as is the case for non-ECSE faculty, the situation is quite different with respect to master's students, whom ECSE faculty tend to take on in relatively large numbers. (These students are frequently continuing education students from industry.) Master's student projects may or may not contribute to the research of an ECSE faculty member, but they nonetheless require supervision and guidance, often at an intensity comparable to that required by Ph.D. students, although not for as long.