Below is the uncorrected machine-read text of this chapter, intended to provide our own search engines and external engines with highly rich, chapter-representative searchable text of each book. Because it is UNCORRECTED material, please consider the following text as a useful but insufficient proxy for the authoritative book pages.
4 Education in CS&E As mentioned in Chapter 1, the strong connection of CS&E to computing practice, both in terms of new computing technologies (the province of the computer industry) and the application of com- puting to problems outside the computer industry, results in a cer- tain tension between researchers and product developers. This ten- sion has its counterpart in different conceptions of what a CS&E education should involve. Academics tend to believe that CS&E education should provide a basis for later careers by emphasizing fundamental principles, effec- tive knowledge, and skills. A CS&E education cannot provide com- prehensive exposure to all computing problems that might be en- countered later on, but rather should provide a good foundation on which to build. With a good understanding of the basic intellectual paradigms of CS&E, graduates can more fully exploit computing wher- ever they are employed. From this perspective, the role of CS&E education is to open doors for later exploration by students, but not to lead them through those doors. While cognizant of and even sympathetic to this view of educa- tion, individuals from outside academia have a different perspective. Individuals from the computer industry want employees who can apply the fundamentals of CS&E to the creation of marketable prod- ucts. Thus the computer industry recruits heavily in the CS&E de- partments of major universities, is generally satisfied with graduates' 116
EDUCATION IN CS&E 117 technical knowledge, but notes their lack (especially among under- graduates) of good communications and teamwork skills and the re- luctance of Ph.D.s to work on product development. Commercial users of computing are further removed from aca- demic CS&E. They are interested in the most effective use of current- ly available technology, and they have to maintain compatibility with substantial previous investments; consequently, research is usually of less immediate interest to them. Their needs for employees tend to emphasize the operational and practical. Thus they may believe that CS&E education is somewhat marginal to their needs. These sentiments are consistent with testimony received by the committee from representatives of large commercial users of comput- ers.i Engineering firms outside the computer industry stated that they often preferred other engineering majors over CS&E majors for computing jobs, because of their grounding in engineering as a way of thought. Several service-sector firms told the committee that, after on-thejob training, majors in other disciplines (including music) of- ten performed as well as or better than computer science majors and had broader perspectives as well. These firms appeared to treat CS&E bachelor's degrees as terminal at best, expecting on-thejob learning to be more relevant to their needs than further formal education. Although much can and should be done to stimulate discussion between industry and academia regarding the appropriate content of CS&E education, the differences in perspective will never be fully reconciled. The committee does believe that fundamental knowl- edge, basic concepts of broad applicability, and general techniques of analysis and synthesis are best taught in the university environment, while knowledge of more specific relevance to particular industrial or commercial settings is best taught "in house," although the lines between these categories are often unclear. An appreciation for the perspective of both academia and indus- try sets the context for the remainder of this chapter. On balance, the committee believes that for a field as young as CS&E and that is advancing so rapidly, education in CS&E has many strengths. For example, in many universities, CS&E attracts more than its share of the best students (as measured by SAT scores, GRE scores, and grad- uate fellowships awarded by the university).2 Graduate education in CS&E, which is older and more established than undergraduate education in CS&E, is held in high regard by the universities and industrial research laboratories responsible for hiring many of CS&E's graduates. And the significant advances in computing over the years can be attributed in part to the educational system that produced the people making those advances. , ~ ~. . ~ _ A ~. . ..
118 COMPUTING THE FUTURE At the same time, CS&E education exhibits much greater vari- ability in tone, emphasis, and quality than does education in other more mature scientific disciplines, such as physics or chemistry, in which core curricula (especially at the undergraduate level) have had much more time to evolve. This variability and other aspects of CS&E education at all postsecondary levels are discussed in this chapter. UNDERGRADUATE EDUCATION IN CS&E Undergraduate Education for CS&E Majors The variations in CS&E education are greatest at the undergradu- ate level. Some undergraduate programs concentrate on the intellec- tual framework needed to cope with rapid change and pay less atten- tion to practical skills. Some programs concentrate on practical skills but include enough fundamentals that the student is well prepared for the future. Still others have not changed their curricula for over ten years and consequently produce students who are already behind the times when they graduate. These differences are particularly apparent for introductory courses. While introductory courses for most scientific and engineering disci- plines exhibit a relatively high degree of uniformity in content and approach, university-level introductory courses in CS&E exhibit striking variation. Some emphasize newer concepts in functional program- ming, logic programming, or object-oriented programming. Others teach no theory and are focused more on teaching programming lan- guages than on programming itself, and still others emphasize theo- ries of program correctness and programming methodology. Some diversity at the introductory level is appropriate and desir- able, as long as the diversity results from informed choice on the part of faculty. But to the extent that this diversity reflects a lack of current knowledge about the field, it is undesirable. CS&E is a rap- idly advancing field, and it is important for those who teach the subject to maintain currency in it. Thus it is worth looking at the faculty who teach CS&E throughout the nation. Notably, of the 1000 or so U.S. institutions that have a CS&E undergraduate program, only 15 percent are Ph.D.-granting institutions for CS&E. By and large, Ph.D.-granting institutions are where the bulk of academic re- search is performed, and thus it is reasonable to expect that faculty at these institutions generally have a more current understanding of new research than do faculty at institutions that do not grant Ph.D.s. Of course, graduates from many liberal arts colleges can receive quite good educations in computer science. But on the whole, the dispari
EDUCATION IN CS&E 119 ty in undergraduate CS&E education available at Ph.D.-granting vs. non-Ph.D.-granting institutions in CS&E is accentuated by two fac- tors. The first factor is that, contrary to the norm in other disciplines, well over half of the CS&E faculty in non-Ph.D.-granting departments do not have doctorates in CS&E (see Table 8.12 in Chapter 8~.3 Since a major function of the Ph.D. degree program is to socialize graduate students into the culture of the discipline, faculty who teach CS&E without an advanced degree in CS&E may be handicapped in pre- senting the discipline's mind-set and key concepts. Moreover, newly graduated Ph.D.s who go to non-Ph.D.-grant- ing institutions bring along their own recent work, which at least for a while boosts the currency of the receiving institution. A non-Ph.D.- granting institution that hires no Ph.D.s in CS&E will find it consid- erably more difficult to maintain an up-to-date curriculum, since to keep current it will be forced to rely on journals and publications, which, as noted in Chapter 1, are less effective than people in trans- ferring technology. Aggravating problems of faculty currency is the relatively slow rate at which it is possible to change the content of undergraduate courses. While new ideas generated by research institutions may influence undergraduate education at those institutions within a year or two, those ideas may take much longer to propagate beyond local boundaries.4 Thus the problem of faculty currency in undergraduate education is more acute in CS&E than in older disciplines like mathe- matics or physics, which have had a sound and stable foundation for decades. The second factor, noted also in the section "Synergy Enables Innovations" in Chapter 5, is that parts of CS&E are strongly driven by the pace of technology. Some CS&E research (e.g., in parallel programming and in graphics) depends on the availability of state- of-the-art equipment, which is expensive and thus much less accessi- ble to non-Ph.D.-granting institutions. Although this situation may change when high-speed networks become available to link universi- ties and colleges, the widespread availability of such links is many years in the future. As a result, even those CS&E faculty at non- Ph.D.-granting institutions who wish to keep current may find it dif- ficult to do so, since the equipment-acquisition budgets of these insti- tutions are likely to be more limited than those of the Ph.D.-granting institutions.5 A similar consideration holds for CS&E education; resource-poor departments find it difficult to maintain a current educational com- puter infrastructure. For entirely financial reasons, a CS&E depart
120 COMPUTING THE FUTURE ment may slight important concepts that are missing from the soft- ware of its computing environment. For example, the basic notion of recursion appeared in Algol and Lisp in the 1960s but did not find its way into Fortran or Basic for over 15 years, and departments basing their curricula on these older languages often did not cover this im- portant concept. As a more modern example, few undergraduate programs teach parallel programming, because parallel programming is difficult to teach without access to parallel computers. In some cases, even when suitable software is available, the cost (in terms of money and time) to acquire it and adapt courses to it may be prohib- itive. Functional programming and object-oriented programming are examples of major new concepts that may not be taught for this rea- son.6 Variations in quality and outlook in undergraduate CS&E educa- tion have enormous impact on the strength of academic CS&E and also on computing practice. Holders of CS&E bachelor's degrees move on to graduate school, to jobs that center on computing prac- tice per se (programming, software engineering, and so on), and to fields such as business, law, and economics. The principles, view- point, skills, and techniques that are taught to undergraduate majors (especially in the non-Ph.D.-granting institutions) have an enormous impact on how they later practice computing,7 affecting program- ming, software engineering, and the transfer of academic research in CS&E to industry. With this perspective in mind, the committee identified several areas of concern in undergraduate CS&E programs as they are gener- ally constituted. , 1 ~ . . ~ Rigor and Clarity According to testimony received from industrial representatives by the committee, new hires in programming and software engineer- ing seldom approach their tasks with sufficient rigor, whatever their baccalaureate degree. They fail to be precise, do not consider thor- oughly all aspects of a problem (e.g., what should be done when unexpected data are received), are unable to see a problem from sev- eral viewpoints, and do not know when and how to abstract. Why is this? Partly, the committee believes, because of a lack of rigor in early parts of the CS&E curriculum. It is important to distinguish between rigor and formalism. The intent of rigor is precision and thoroughness. Using formalisms such as mathematics and formal logic may help achieve rigor, but one can be rigorous without using formalisms. Mathematics is a rigorous
EDUCATION IN CS&E 121 discipline, but it is not always formal. For example, many theorems and proofs are given in English instead of in a formal notation, and intermediate steps are omitted if it is felt that the reader can fill them in. CS&E has perhaps even stronger requirements for rigor than does mathematics, stemming from the wealth of detail and complexi- ties that arise in algorithm design and software or hardware engi- neering. Students must especially understand that rigor and clarity are essential for the specification, design, and implementation of software components. The committee was unanimous in its view that many undergrad- uates do not learn to approach software problems in a disciplined or systematic manner (e.g., they jump into coding before they under- stand a problem adequately, or they patch their programs locally without understanding how those patches affect the global structure or function of the program). This view is reinforced by evidence of enormous variation in the productivity of programmers.8 One of the reasons for this variation may be an immature educational process. Rigor and clarity in specification and design are especially im- portant, since a specification is an implicit contract between the cus- tomer (who takes the specification as the contract to be filled) and the software engineer (who uses it to design and implement the soft- ware). Having a rigorous and clear specification at any given mo- ment allows both sides to evaluate much more easily how suitable the specification is, how much it will cost to implement, and what any requested change in the specification would cost. This last point is particularly important because requests for changes in specifica- tions are made quite often during the design, development, and im- plementation processes. Rigor and clarity are also necessary during the implementation phases of software engineering, and their impor- tance increases for larger and more complex projects. The qualities of rigor and clarity must be learned early and rein- forced throughout the curriculum; they cannot easily be taught as mere add-one in later courses. Even an introductory CS&E course can communicate the need for rigor and clarity, as described in Box 4.1. Taught in isolation, more theory will not lead to rigor or clarity and may be viewed by students as nothing more than academic exer- cises to fill the curriculum. However, programming and the under- standing of programs taught as an ad hoc exercise, without underly- ing foundations and principles, is just as bad. Instead, throughout the undergraduate CS&E curriculum, practice and theory should be integrated, without an artificial distinction made between the two and in a way that achieves the necessary mind-set of rigor and clarity.
122 COMPUTING THE FUTURE Mathematics and Formalism Learning mathematics serves two purposes. First, it imparts math- ematical maturity, which is one way of developing an appreciation for rigor. Second, mathematics is central to many subfields of CS&E. Discrete mathematics underlies correctness of programs and compil- er construction as well as chip design, and certain branches of math- ematics such as logic and algebra are foundational to some of the more theoretical aspects of CS&E. Thus lack of sufficient mathemat- ics will limit the horizons of CS&E students. Moreover, as discrete mathematics (e.g., logic, set theory, graph theory) has found its way into the CS&E curriculum, continuous math- ematics (e.g., calculus, differential equations, statistics) has been slighted. This is unfortunate, because continuous mathematics is essential in important subfields in CS&E such as performance analysis, computa- tional geometry, numerical analysis, and robotics. Further, continu- ous mathematics is the language of many scientific and engineering fields, and an adequate understanding of continuous mathematics is needed to approach computing applications in such areas with confi dence. Mathematics also underpins the use of formalism, some degree of which should be an essential aspect of an undergraduate CS&E cur- riculum. However, formalism should not be taught for its own sake, but rather as a tool that stimulates understanding and provides help in solving problems. For example, very basic formal logic can be used as a tool in writing clear and rigorous specifications, in reason
EDUCATION IN CS&E 123 ing about problems, and in switching circuit theory. Formal lan- guages can be used in designing not only programming languages but also application-specific languages. Automata theory can help to explain aspects of language implementation as well as concepts nec- essary for the analysis of the execution time of programs. The study of formal methods in programming can change how one views the programming process and makes one better equipped to be rigorous, thorough, and clear in later work, whether or not formal methods are actually used in the development of software systems. It has been said that the best mathematics has just the right bal- ance between formalism and common sense. The same holds in com- puter science. However, without suitable education and training in formalism, this balance cannot be achieved, and a formal component of undergraduate CS&E education is therefore necessary. Current attitudes are something of an impediment to a better integration of mathematics into CS&E. CS&E students often dislike mathematics some seem to have chosen CS&E as a less formal alter- native to mathematics or hard science, simply because they find math- ematics intimidating. The challenge for CS&E educators is to inte- grate mathematics into the CS&E curriculum in a way that builds and reinforces respect for mathematics as it contributes to the disci- pline. Breadth As argued in Chapter 2, a broader definition of CS&E is neces- sary if the field is to continue to prosper intellectually in the years ahead. Computer scientists and engineers need to understand areas outside CS&E to enlarge their own perspective and so that they can work with others more effectively. Furthermore, a student with some substantive competence in an applications area will be much more capable of designing software and hardware suitable for use in that area. Students should also have broadly integrated views of theory and practice (so that students do not become narrowly entrenched in either) and of hardware and software (since today's computer sys- tems are designed as a mixture of software and hardware, and the successful computer or software engineer must have an understand- ing of both). Finally, the various existing views of programming should be integrated. The venerable programming style characterized by the procedural approach of languages such as Fortran and Algol has since been joined by others: (1) logic programming and declarative pro
24 COMPUTING THE FUTURE gramming, in which the intent is to let the specification be the pro- gram; (23 functional programming, which simplifies reasoning about programs; (3) object-oriented programming, which generalizes data modeling by encapsulating data and the functions that operate on the data; (4) concurrency, which copes with the real world of multi- ple simultaneous activities; and (5) parallelism, which gains speed and capacity by bringing multiple computing elements to bear on a single problem. All of these styles are important, not so much as alternative tech- niques but as aspects of the general problem of programming. Some of them, so often regarded as distinct, have been successfully inte- grated into common frameworks, for example in the programming languages Scheme and ML. These different programming paradigms should be integrated into the undergraduate curriculum. Successful integration of these paradigms into the undergraduate curriculum will allow the student to view them not as competing methods with little in common, but as a continuum of complementary tools that build on each other. Broadening in all these ways puts pressure on the undergraduate curriculum; there is simply no room for all the broadening as long as the rest of the curriculum stays the same. Part of the problem is that the curriculum does not build on itself enough; too many courses have few prerequisites and are devoted to studying artifacts rather than establishing foundations and teaching enduring principles.9 In particular, undergraduate CS&E curricula typically include a large number of "systems" courses- compilers, operating systems, data- base systems, data communication, graphics, and so on. The chal- lenge will be to teach both the science and the engineering in more comprehensive courses unfettered by this taxonomy. Students should come to understand these artifacts as applications of unifying princi- ples. For example, central concerns in compilers may be considered as laboratory examples under the headings of state machines and of various programming constructs. Graphics ties in to advanced calcu- lus. Operating systems and data communication illustrate concur- rency and queuing theory. However, despite these comments, it should be recognized that achieving breadth is at least as much an issue of culture, mind-set, and expectations as one of specific courses to fulfill some additional breadth requirements. If indeed the idea of a broader agenda for CS&E is fully embraced by CS&E faculty, formerly "pure" CS&E courses will make use of examples drawn from other fields, stressing connec- tions between CS&E and the outside world.
EDUCATION IN CS&E The Limits of a Four-Year Program 125 Acknowledging the pressures on the undergraduate CS&-E cur- riculum led the committee to conclude that the undergraduate curric- ulum cannot meet all demands For example, it can provide only partial preparation for software- engineering positions in industry, because there is simply not enough time to teach all that is necessary. The committee believes that paying more attention to rigor and to foundations in the early part. of the cu~ricul'um and paying less atten- tion to artifacts can make the educational program; mare efficient, leaving, perhaps, some room for broadening (see Chapter 2Ji.~ Never- theless~ there is- little time to devote to issues that 'anise in the dievel- opment o£la~rge software systems, such as; teamwork, system testing, software maintenance, and version control. Also, more advanced topics relating to other disciplines (e.g., mathematics, humanities, arts and sciences, engineering) cannot be incorporated because of lack of room in the curriculum and insufficient background. There is a place in industry for the person with a bachelor's de- gree in CS&E, especially in organizations that provide their own training, but it is important that industry not expect too much from someone with such a degree. Recognizing the basic limitations of a four-year curriculum, it is time to put more emphasis on a master's or master- of-engineering degree as a professional degree, as discussed below. Undergraduate Service Education Computing has become so pervasive throughout society that a ba- sic understanding of computing is becoming essential for all educated citizens. All people should understand the ramifications of computing in society and should have a basic (if simple) technical understand-~- ing of computers and computing, in much the same way that citizens should both be literate and have basic numerary skills. Computer scientists and engineers, as the vanguard of this information agents have a responsibility to explain its implications to the general public.`' In addition, computing has become as important as mathematics to science and engineering. Specialists in other science and engineer- ing fields are beginning to understand that CS&E is more than For- tran programming and to recognize that an unde~s-tanding of the computer scientist's or engineer's approach to algorithms and infor- mation may be useful in their own areas (see Boxes 4.2 and 4.3; com- parable though not identical boxes could also be constructed for chemists, biologists, earth scientists, and others). As a result, several computa- tional science and engineering programs have been developed.
126 COMPUTING THE FUTURE ~ i,... ~ ~ i. ,,.,, ~ ~ ~ i, i. ~ , .. . ~ : . ~: ~:.~ ~ i. . . ~ ~ ~ ~ . .... ~..,.~. ...,..... :::::: ... .. ......... ~,~.~ .. ...........
EDUCATION IN CS&E . ,, ~: i, i . . i ..~ ~ I:. i . ~ ~.,=.~.~ ~ ~ i. . ~ : '.,., , ' ,.,:',''. ,' 2.'.2~ any'.'.' ' ~'.I'.O'^ ~ ~ ~ ~ ~: ~ ~ ~ ' ~ ha : ' ~ ~ ~ r=n I'm ' ' ' · \ ~ A- A,,, ~: : ~ ,,,,,,p,,,,,,,r,,,,,,,~..~....t,,,,e,,,,,m and an tt?~0 0~: f~ ~8 .......... I. .~m . e eCU ~. - a. ,( ~n on. ~o . m., whete ..n s the . nUm . . ..... . ... :~t of =~d Stms: 1n a: cIuster .. Daseo on i. : : : : : gmph ~ ~ . ~ the same prob.~. 1.n tIme propou o.~. to ~ : :: : : ::: ::: p~e~lnw31~'ng a mjlllol sates, a SO:ypar Illlulat~ll 111 be 1e .................. i ..................................... . , ~ . ....... .. ............ ~ ~ ..... r~na v ~ 10us O many 9 17s'¢Is s ~lI~ TnaI -w ~ . s a ~.'''c'ho'l¢~""""~'t"'""'m'3"n'y""""'p'~b'lems''"'"''tt"'"""~"""""m'a'ny"""'"I'x .'. .. ""~"''"'o'"''"''"''"'"" '' '' ''' '"'" ' "' ''" ''' ' ' ' ''' "' ''' ' ''"' " ' ' ' ' ' ' '"'"' ' ' '' ' " ' "'''" ' ' ' ' " " ................................................ ......................................... .. ... eas`~t ~ ~ ~ onde~d and debug For example FORTRAN tacks ..'. '. .""~."''c..~.~.'.""' · .. .. ....... .. . . . ~ . . ~x ~ ................ .' '.'.:,'.~.'.'.'.'~.'.' ~'.'.'.'~w'~'l t'l'.~n', '.~.~.Y,'=~ ~.'' .'.'.'.='.'.'. ~ =.I'w~''.~ y'.''.'.~.X .~.'=~'`~.~.'. .'.'.'.~.I'. ~'.'=, ..'4.'t!.'i'~'*.'.'.'.' ''. t'.$'.' '4 '~'.~ - '.'.l' ~,l,~. ~y ............... . . . . . . . ......... : ~.~= `:~.~.~.~. ~.. t ~. $. ~ ~ ... , ~: :- .-,-.,,~.~ ~: ~ w:~.,: : ''' '' '.'.'W: ~,' :,,,W''' : .,.' . ~ ............................ ~a,(~.~.c,l,e,, tdentI.~, by an tndex tni j ~.~s ' ' ' .: :: : ':: ........................ ~.~. ~b. ~s i,., , e .~. ~.~.t,<.t,0 ~.~. ~. : : . ~ : . .: :'':::: ::' :' :::::::::'':'' :: :::: ::::: ::::::::: ::: .::::.: .: ::: :: . ::: :: : :::::::::::: : ::::::: :: :::::: ::: :::: ::: :$ :::::::: :: :::: ::::: :: :::t: ::: :::::::: :: ::::: st :~ng as a un}~ ror examp e. ............................ ........ . ........... ....... ,. ~,llOat ~.~.~. ~............. ...... ..... .... ... ... ~.~a,l el ~. ~.................. ................... ..... . ................................... ~. .~ ~. s ~ ..................................... .............................................. ........ ...................................................... (~.~.~e desCrl~..~l ~ -. ~:::: :: :::: :::: :::::: :: :: :::: :::: : :: ::: ::: ::::: :~: ::: ::::::: : ::::: :: :: : : . :::: : :: . : :: : Th~ p~.~: st.~: t~.~.~: ~:~ ~ n:s al ~ a: : :: :: 5: : : :: : . . : :: ::: : : : :::: : :: :::: :: :::: : : : : :: :: :: ::: : :: $o RcE ~ ~ ~ .b .~.k ~ . .... . . . ~.. ~: :: ::.:: .6 : . ~ ~i ~ ~ $ ~6 (~ 62 ., ,:, . '.'.'.. ..., .. .,...., ... ,: '.,. ..:: ..... ', 1'2.', 127 CS&E education has a major service role to play. But for a vari- ety of reasons, CS&E has been unable to fully meet its obligations in this role. The most significant reason has been the enormous load placed on CS&E departments to teach their own majors. For exam- ple, in the mid-1980s, at some institutions the average CS&E faculty member was teaching twice as many credit hours as his or her coun- terpart in engineering disciplines, and the ratio of degrees awarded per faculty member in CS&E is still more than twice that of all sci
COMPUTING THE FUTURE
EDUCATION IN CS&E 129 . . . ence and engineering disciplines taken together (see Figure 8.5 in Chapter 8~.~° The bulk of service offerings should stress the CS&E necessary for effective computing practice. Service offerings should teach proven techniques, models, and principles, with the intent of promoting and enhancing the utility of computing in general. They should not take on the appearance of either "computer appreciation" or vocational training; the needs of discipline X for instruction in specific languag- es, software packages, or "computational X" will typically best be met from within that discipline. The reach of service activities may be multiplied by computer scientists helping, through consultation and teamwork, computer-oriented courses in other disciplines to adopt unifying terminology and view- points from computing. The concomitant interaction with faculty in other disciplines may incidentally reveal interesting computing prob- lems. It cannot help but further the goal of broadening CS&E. Finally, CS&E should actively promote minors in CS&E (and double majors). Society needs people in all fields who have a deep enough understanding of computing to apply computing effectively and effi
130 COMPUTING THE FUTURE ciently, but such understanding does not come from one or two courses. A minor in computer science will more suitably satisfy this need. Unfortunately, double majors and minors are usually only for the most gifted and hardworking students. Another approach would be to develop a joint program between CS&E and a discipline X that uses computation heavily. Both CS&E and X would relax some of their degree requirements so that a suitable degree in "computational X" could be developed one strict enough to satisfy conventional standards for a degree but relaxed enough so that a normal student could handle the requirements. THE MASTER'S DEGREE IN CS&E As discussed above, a four-year undergraduate curriculum is in- adequate to satisfy many of the needs of industry. A four-year pro- gram is simply unable to provide the kind of professional training that industry often desires in software engineering, management, and the like. Accordingly, the committee believes more emphasis should be placed on a master's degree or master-of-engineering degree in which this professional training could be achieved, even though it recognizes the difficulty of implementing such a change in many institutions. A master's degree can also be used to develop deeper under- standing about the nature of CS&E as an intellectual discipline, as a prelude to possible Ph.D. work, or to broaden the perspective of a student who has previously focused in a narrow way on CS&E. Both deepening and broadening could be synergistically achieved by re- quiring a design project that involves some substantial topic within CS&E (for deepening) or some topic outside CS&E (for broadening). Such a degree might be especially useful to students graduating from four-year liberal arts programs that have a relatively large number of electives. The undergraduate curriculum should be a foundation for pro- fessional achievement. A master's-level program and continuing ed- ucation programs could more closely approximate programs that do provide professional certification. A program of mutual exploration between academia and industry could result in master's programs that would better suit industrial needs. Certain individual companies and organizations do recognize the value of master's degree programs. Before its divestiture, AT&T was famous for its one-year-on-campus (OYOC) program, which support- ed hundreds of new hires each year in master's degree programs in CS&E, electrical engineering, physics, and neighboring fields. Bellcore
EDUCATION IN CS&E 131 has recently teamed with Carnegie Mellon University to establish a master's degree program that covers computer networks, business, and management. The Software Engineering Institute in Pittsburgh, sponsored by the Department of Defense, is engaged in developing curricula for master's degree programs in software engineering. Still, the committee believes that industry would be well advised to seek out CS&E master's degree holders for software development and en- gineering positions to a much greater extent than it does now. THE Ph.D. DEGREE IN CS&E CS&E graduate education at the Ph.D. level is today character- ized by traditions that have many elements in common with those of mathematics and many of the natural sciences. The graduate course work in most CS&E programs is concentrated in the core areas of CS&E with little exposure to other disciplines. A doctoral disserta- tion is intended to demonstrate a student's individual ability to con- duct original research in the field's "core" areas. It tends to empha- size work on manageable problems that are self-contained, with clean formulations. Since original contributions are highly valued, both teamwork and incremental improvements (however substantial or important) are less valued. Within this intellectual environment, it is difficult to do interdisciplinary work, and applications-oriented work is not fully appreciated. As a result, the typical CS&E Ph.D. is usual- ly not well matched to many industrial jobs (e.g., those in product development) that call for work in a team environment in which relevance rather than originality or intellectual achievement is the most important criterion. (Box 4.4 describes the sentiments of the Council on Competitiveness on this subject.) However valuable the traditional approach to Ph.D. education has been in the past, holding it as the only good model for Ph.D. education unnecessarily limits the scope of the field. For example, the committee believes that Ph.D. students in CS&E should be per- mitted and even encouraged to do dissertation research in some in- terdisciplinary or applications-oriented problem area. Substantial re- search that builds on previous accomplishments should likewise be considered appropriate for dissertation work. Ph.D. students exposed to problem areas of interest to industry or other disciplines would be better prepared for grappling with the realities of implementation, problem solving, and perhaps commercialization in a practical con- text, and their supervising faculties would have a better appreciation of these needs through the work of their students. Moreover, if Ph.D. students are encouraged in this manner, those who become faculty
132 COMPUTING THE FUTURE will be more likely to encourage their own students in such a direction, thus promoting the broader research agenda advocated in Chapter 2. There are, of course, difficulties with establishing interdiscipli- nary Ph.D. programs. Does the student have to demonstrate sub- stantial contributions to both fields? Is a novel application in anoth- er discipline of known CS&E techniques worth a Ph.D.? This issue i being faced not by CS&E alone but by all scientific and engineering fields' as more interdisciplinary work is being promoted. Only through serious and concerted effort can such questions be answered, although the committee believes that the criterion that a piece of work exhibit demonstrable intellectual achievement should not be abandoned. In some universities, breadth outside CS&E is promoted by re- quiring for the Ph.D. a minor outside CS&E usually, the equivalent of two to four courses at the graduate level in some other field. Typ- ically, the field is mathematics or electrical engineering. The com mittee believes that Ph.D.-granting departments should require an outside minor. Further, the range of possible minors should be ex- panded to include not only science and engineering fields but also fields such as economics and finance. Finally, "systems" Ph.D.s appear at present to be in much shorter supply than "theory" Ph.D.s. Universities and industry compete much harder for systems people than for all but the most outstanding theo- reticians, and there is strong anecdotal evidence that theoreticians have a much harder time finding suitable positions. It is worth ask- ing whether the dichotomy has not become too wide. Efforts should be made to reduce the distance between theory and practice, to de- velop researchers who can do both. Most computer scientists and
EDUCATION IN CS&E 133 engineers and most departments would be stronger if the important interplay between analysis and construction were emphasized. EMPLOYMENT EXPECTATIONS FOR HOLDERS OF CS&E DEGREES Formal education imparts values as well as knowledge to stu- dents; these values structure what students at all levels regard as important and determine what graduates see as the boundaries of CS&E. A broader perspective on the discipline for CS&E students will require a correspondingly different cultural socialization pro cess. A narrow perspective of the discipline affects student percep- tions after graduation. In particular, it is commonly believed that the best jobs for CS&E Ph.D.s are in academic or industrial positions that allow the graduate to do research as a major portion of those jobs, and that the best CS&E undergraduate students inevitably go to gradu- ate school in CS&E. These beliefs, though understandable, are fun- damentally part of a disciplinary culture that looks inward. As an alternative, CS&E departments could present the informa- tion age as an opportunity for many of their graduates to make their mark on the world at large. Ph.D.s (even some of the best ones) can and should be encouraged to take industrial positions in which they invent never technology or facilitate technology transfer, working on intellectually challenging problems that are also directly relevant to our economic well-being; teaching positions at nonresearch institu- tions are another possibility. Bachelor's degree holders (even some of the best ones) should be encouraged to take jobs that make broad rather than specialized use of their CS&E backgrounds. Beyond spe- cific facts and techniques, CS&E does teach important ways to ana- lyze and solve problems, i.e., to think. Taught with sufficient funda- mental foundations and breadth, a CS&E degree program should prepare the student for a nontechnical position in business at least as well as a program in any other scientific or engineering discipline.~3 But even in 1989, only 363 of the 648 CS&E Ph.D. recipients (56 percent) were anticipated to take positions working in CS&E.~4 CONTINUING EDUCATION Many of the people now doing software engineering in industry have had little exposure to recent developments in CS&E. Because of the rapid changes and advances in the field, the committee believes that continuing education for this population is extremely important
134 COMPUTING THE FUTURE for the health of the industry. Software engineers using only tech- niques and skills learned ten or more years ago cannot in general be reaching their full potential. Object-oriented programming, functional programming, and many other ideas as well as languages that em- body them have come to fruition and in suitable contexts can be used far more profitably than older concepts and notations. For ideas such as these, the committee believes that academia is the best vehicle for continuing education. However, it recognizes a meaningful role for continuing education based outside academia to expose practitioners to incremental improvements in new technolo- gies, i.e., improvements that will allow practitioners to do their jobs better but that will not require substantial changes in their approach to their jobs. Given the speed with which CS&E changes, reeducating the work force is an important task. It is also a large and difficult task, for the potential need and demand for continuing education in CS&E is enor- mous. An estimated 800,000 individuals were employed as computer specialists in 1991.~5 If the number of these individuals remained constant, and each individual required one semester-length course every five years and if 25 students constituted one course, there would be a demand for 3200 nonintroductory courses per semester. In spite of the fact that some companies make huge investments in the education of their employees (for example, the investment in continuing education at IBM is estimated to be $1 billion per year), the committee believes that the United States underinvests in keep- ing its employees technically current. Many professionals take no courses while on the job. Further, many companies are apparently unwilling to invest in continuing education. Moreover, much of the continuing education that does go on in industry is management ori- ented and not technical. Part of the negative feeling toward education for employees comes from a short-term approach to profits and to the mobile work force. If employees are going to resign for another position elsewhere in two or three years, goes the argument, why give them education? If activities do not contribute to the bottom line three months from now, how can they be justified? Such attitudes will ultimately work to the detriment of the field, and they are also the opposite of atti- tudes in Europe and Japan. Even worse, many universities and CS&E departments ignore con- tinuing education-partly because of a lack of resources to deal properly with continuing education and partly because of a value system that places such education at the bottom of the list of valued activities. The committee believes that the academic CS&E community should
EDUCATION IN CS&E 135 work more intensively with industry to develop adequate continu- ing-education programs. Such programs need reliable and long-term support from industry and commerce. Two kinds of programs could be developed: 1. On-campus programs would allow continuing-education stu- dents to take advantage of departmental facilities and to better un- derstand the academic culture. More part-time programs and more full-time programs the latter to be funded partly by industry and partly by the employee are needed. 2. University tale-education teaching by video, with either si- multaneous or delayed broadcast should be developed to its fullest extent. More use should be made of existing and emerging networks to bring education into the homes and offices of students.~7 Tele- education would provide needed funds to universities and at the same time would satisfy a deep need of industry. Emerging high- bandwidth networks may also provide a good mode of educational delivery. In 1985, an NRC panel on continuing education concluded that "continuing education of engineers is essential to increasing national productivity" and that "continuing education is an entity in itself and can no longer be viewed as an 'add-on' role of industry and academia." The increasing thrust into the information age makes it even more important that software engineers obtain continuing edu- cation in CS&E. PRECOLLEGE CS&E EDUCATION y Committee discussions of undergraduate CS&E education touched on the impact of the previous exposure of undergraduates to pro- gramming and computer science in high school. Although the com- mittee did not address this topic in detail, it believes that all of the difficulties experienced by CS&E faculty at non-Ph.D.-granting insti- tutions in keeping up with current knowledge in the field are also characteristic of high school teachers of computer science. Indeed, high school computer science education may well promote the atti- tude that "computer science is programming." Precollege teachers of computer science share problems of cur- rency with CS&E faculty from non-Ph.D.-granting institutions and other scientists and engineers who received their educations in com- puting many years ago. Thus outreach efforts toward precollege teachers could capitalize on efforts made toward these other groups. However, the difference in educational backgrounds and profession
136 COMPUTING THE FUTURE al cultures may well present different outreach problems, and so a study to address high school computer science education is discussed in Chapter 5, "Recommendations." SUMMARY AND CONCLUSIONS CS&E education at the undergraduate level is highly variable in outlook and quality. Concerted efforts to improve undergraduate CS&E education across the 1000-odd undergraduate programs throughout the nation could have a significant positive effect ore the graduate programs and on the practice of software engineering in particular and computing in general. Such improvement would also support the broader agenda described in Chapter 2. At the same time, it must be realized that the undergraduate program is too short to accom- plish all that industry would like it to accomplish, and industry should put more emphasis on hiring students with master's degrees. Given the ubiquity of computing in society, CS&E departments have an important service role as well; in particular, they must also take an active role in conveyir~g to other areas and fields a better understanding of computing's potential. Ph.D. education is in reasonably good shape, but several areas of concern need to be addressed. First, because it deals so heavily with research, the Ph.D. program is an excellent place to begin the process of broadening. For many Ph.D. students, more education in cont~nu- ous mathematics would prepare them for interdisciplinary work. All Ph.D. students should be required to minor in a f~elc! outside of CS&E, arid more faculty and Ph.D. students should begin doing interdisci- plinary research. Beyond that, it is necessary to address the present undersupply of new Ph.D.s and faculty in systems and in areas that span theory arid practice. Continuing education in CS&E remains weak. Academia places relatively low value on providing continuing education, and indus- try does not understand its importance well enough. An active part- nership is needed to strengthen and revitalize continuing education programs in CS&E. NOTES 1. For additional discussion of these issues, see Association for Computing Machin- ery, "The Scope and Directions of Computer Science: Adequacy and Health of Aca- demic-Industry Coupling," Communications of the ACM, October 1991, Volume 34(10), p. 127, as well as the forthcoming CSTB report on human resources in CS&E. 2. One illustration is that for the 1988-1989 academic year at Cornell University, the incoming graduate student in computer science on average outperformed the incom
EDUCATION IN CS&E 137 ing graduate student in English on the verbal part of the GRE and outperformed the incoming graduate student in mathematics on the quantitative part. See Alison P. Casarett, The Annual Statistical Report of the Graduate School, Cornell University, Ithaca, New York, 1989-1990, pp. 79, 88, and 113. 3. Although this observation applies to senior CS&E faculty in the Ph.D.-granting institutions as well, at those institutions the faculty are by and large active researchers. 4. It may take a decade or longer for substantial and radically new ideas to make their way into the national undergraduate curriculum. First, it may take three to five years or more to investigate and experiment with the ideas before they have jelled enough for someone to consider writing a textbook. Writing that first textbook and perhaps also developing software to accompany it may take another two to three years. But fully understanding and accepting the implications of that text may take another five years. 5. For example, in 1988 none of the 20 largest institutions in CS&E (as measured by research expenditures on CS&E) reported insufficiencies in the research equipment at their disposal. Forty-four percent of the remaining 127 institutions surveyed reported that the amount of research equipment at their disposal was insufficient. See National Science Foundation, Academic [Research Equipment in Computer Science, Central Computer Facilities, and Engineering: 1989, NSF 91-304, NSF, Washington, D.C., 1989, Table 6, p. 7. 6. An example makes the point more strongly. Borland's Turbo C package (Ver- sion 2 0) for IBM personal computers was selling in mid-1990 for around $100 (PC Magazine, February 13, 1990, p. 198). Today, Borland's C++ package, Version 2.0 (an object-oriented version of C), sells for around $340 from the same vendor (PC Maga- zine, February 11, 1992, p. 242). When such price differentials are multiplied by sever- al dozen, it is easy to see that upgrades can involve substantial expenses that are especially difficult to manage for institutions with very limited budgets. 7. In the 1989-1990 academic year, Ph.D.-granting institutions in CS&E awarded 9037 undergraduate degrees (David Cries and Dorothy Marsh, "The 1989-1990 Taul- bee Survey," Computing Research News, Volume 3(1), January 1991, p. 6 If.), or less than a third of all undergraduate degrees in the CS&E field. (Table 8.2 in Chapter 8 pro- vides the total undergraduate degree production in computer science over time.) However, Table 7.2 in Chapter 7 indicates that undergraduates from Ph.D.-granting institutions constitute the bulk of Ph.D. graduates in CS&E. Taken together, these points suggest that it is graduates of the non-Ph.D.-granting institutions that take the majority of computer-related jobs in industry and commerce. 8. Citing a study of experienced programmers in which the best and worst pro- grammers (as measured by their productivity) varied by a factor of ten, Fred Brooks has noted that "managers have long recognized wide productivity variations between good programmers and poor ones." See Frederick Brooks, The Mythical Man-Month, Addison-Wesley, Reading, Mass., 1975, p. 30. 9. The fact that more and more junior- and senior-level courses (e.g., graphics, operating systems) do require more prerequisites is a positive development. Of course, this makes it difficult for students in other disciplines to take these courses; essential- ly, they have to minor in CS&E. However, in no genuinely mature scientific or engi- neering field is it possible to take junior- and senior-level courses without taking prerequisites; this fact simply reflects the use of cumulative knowledge. 10. A "credit hour" signifies a single student enrolled in a course for a single hour. Thus if a department teaches a course worth 3 credit hours to 20 students, that depart- ment teaches 3 x 20 = 60 credit hours. 11. Although the same situation might well be true in most other fields, there are exceptions: "Academic chemistry, however, has from the beginning been closely tied
138 COMPUTING THE FUTURE to industrial chemistry. Chemistry, as a field, took hold in universities in the United States at about the same time that the U.S. chemical industry was beginning to grow. From the late 19th century on, professors of chemistry have served as consultants to chemical firms, often moving back and forth between industry and academe. Chemis- try undergraduates then and now have found their careers largely in industry.... [In addition, the field has seen] the training of industry-oriented Ph.D.s in the land-grant colleges and technical schools." See Government-University-Industry Research Roundtable/ Academy Industry Program, New Alliances and Partnerships in American Science and Engineering, National Academy Press, Washington, D.C., 1986, pp. 4-5. Interestingly, this source also asserts that "computer science, by the very nature of the subject, is closely tied to applications" (p. 5). As a statement about CS&E relative to other fields, this may well be true; nevertheless, it is inconsistent with the sentiment encountered by most CS&E academics seeking to perform applications-oriented work. 12. The demand from industry is certainly present. For example, despite anticipat- ed future downsizing of its work force, IBM is reported to have a hiring need for Ph.D.s in computer science that is greater than the entire supply produced by Ameri- can universities each year. See Peter H. Lewis, "Computer Science Is Going Down," New York Times, April 5, 1992, Education Section, pp. 42-43. 13. Such roles for computer scientists and engineers have been found even in aca- demia. For example, Project Athena at the Massachusetts Institute of Technology (MIT), a large and ultimately successful effort to tie together thousands of worksta- tions across the entire campus, was inspired largely by the vision of faculty members in the Electrical Engineering and Computer Science Department at MIT, even though the project was not intended to be a research project in CS&E and no faculty used it as a platform on which to conduct original CS&E research. Information provided by Jerome Saltzer, MIT professor of computer science, and former technical director of Project Athena. See also George A. Champine, MIT Project Athena: A Model for Distrib- uted Campus Computing, Digital Press, Bedford, Mass., 1991, pp. 23-24, xx-xxi. 14. Data provided by Survey of Earned Doctorates, Office of Scientific and Engi- neering Personnel, National Research Council, Washington, D.C. 15. The NSF estimated that in 1988, 710,200 people were employed as computer specialists in both science and engineering and nonscience and engineering fields (Na- tional Science Board, Science and Engineering Indicators, 1989, NSF, Washington, D.C., 1989, pp. 240-241). A modest 4 percent growth rate compounded annually over the subsequent three years would yield 800,000 people in 1991. 16. At a recent CSTB workshop on human resources in the computer field, some participants argued that continuing education in the field is needed every two years. But five years is far more plausible for the time scale on which new CS&E paradigms and approaches are created and found to be broadly applicable. A report on this workshop is forthcoming. 17. In assessing student learning, a study performed at Stanford University found no difference in demonstrated performance between students viewing a videotape of a lecture with a teaching assistant (TA) providing assistance and students enrolled in more traditional instructional formats. Such a result suggests that under certain cir- cumstances, TA-assisted video instruction may be competitive with lectures for deliv- ering information. See J.F. Gibbons, W.R. Kincheloe, and K.S. Down, "Tutored Video- tape Instruction: A New Use of Electronics Media in Education," Science, Volume 195, March 18,1977, pp. 1139-1146. 18. National Research Council, Continuing Education for Engineers, National Acade- my Press, Washington, D.C., 1985, p. 3.