<<

in electrical

The computer revolution has made a signiJicant impact on electrical engineering curricula. The electrical engineering department's new role and the need for greater course flexibility in the computer environment are examined

COSINE Committee of the Commission on

The vital role that electrical engineering departments with the conception, design, and of digital must play in providing undergraduates with special . Moreover, electrical engineering is deeply competence in computer is explored. Three involved in a wide gamut of areas that border on or are related problem areas are discussed: (1) meeting the contributory to computer , such as integrated needs of students majoring in computer sciences in circuits, switching theory, and finite-state, control, corn- electrical engineering; (2) balancing the treatment of munication, and adaptive . continuous and discrete systems so that students During the past several years, the rapid growth in the have a background in discrete systems comparable use of computers in science, engineering, and many other to that which they now acquire in continuous systems; fields has tended to shift the emphasis in computer and (3) realizing wider and more effective use of the technology from circuit and component design to digital computer as a tool for analysis and design in organization and programming or, in roughly equivalent all engineering courses. Specific suggestions for but more succinct terms, from hardware to . meeting these needs are offered. This trend has given an impetus to the crystallization of what is now widely referred to as computer sciences- The rapid growth in the accessibility and of that is, an aggregation of subject areas centering on the digital computers for purposes of numerical computa- use of computers as large-scale -processing tion, data processing, and retrieval of information is systems. having a deep, though not necessarily uniform, impact on Clearly, it would be unreasonable to equate the com- all branches of science and engineering. Although most puter sciences with electrical engineering, or to regard branches of science and engineering are concerned pri- it as a subset of the latter. Nevertheless the close relation marily with the use of digital computers, electrical en- between the two is presenting electrical engineering de- gineering, by virtue of its long standing and deep in- partments with a special responsibility for the training volvement in information-processing technology, has of large numbers of computer and . vital concern not only with the use but, more important, This responsibility derives not only from the close con-

IEEE Spectrum MARCH 1968 nections between electrical engineering and computer are but the more prominent of the many important sub- technology, but also from the traditional emphasis in ject areas that comprise electrical engineering. Each of electrical engineering curricula on physical sciences per- these areas has its own needs and objectives, which, in tinent to information processing; the extensive exper- many cases, cannot be satisfactorily met within the frame- ience in teaching mathematically oriented subjects re- work of a single curriculum with just a few electives and lating to and systems; the tradition of analyzing a large core of required courses in engineering and elec- system behavior on an abstract level without regard to trical engineering. the physical identity of its variables; the existing expertise A climate of flexibility is thus essential for the ac- in subjects that fall into computer sciences or are closely commodation of the needs of computer sciences as well related thereto; and the vast resources in facilities and as other subject areas within electrical engineering. It faculty which the electrical engineering departments have should be noted that some electrical engineering cur- at their disposal. ricula already offer the student almost a full year of The emergence of computer sciences as a highly im- electives with more available by route of petition. In most portant field of study, coupled with the growing shift in cases, this approach is sufficient to enable a student to cmphasis in information-processing technology from the focus his studies in a field of concentration that may be analog and the continuous to the digital and the discrete, either computer sciences, or computer sciences in com- is creating an urgent need for a major reorganization of bination with such areas as circuits, systems, control, electrical engineering curricula. Such a reorganization or solid-state devices. The committee feels that flexibility must, in the first place, accommodate the needs of stu- of this order of magnitude would permit many diverse dents who wish to major in computer sciences within educational programs to thrive within electrical - electrical engineering. Second, it must bring into balance ing and make it possible for students in such programs to the treatment of continuous and digital systems, and acquire excellent training in both the foundation subjects provide all electrical engineering students with a back- in electrical engineering and the more specialized sub- in digital systems comparable to that which they jects in their particular fields of interest. Indeed, such currently acquire in continuous systems. Third, it must training would serve well not only the needs of those stu- result in a much wider and more effective use of the digital dents who would continue their studies toward higher de- computer as a tool for and design in all grees, but also of those who would terminate their formal engineering courses. education at the undergraduate level. The COSINE Committee feels strongly that, as an essential first step, electrical engineering curricula should A be made substantially more flexible. The movement program In electrical engineering toward greater flexibility is already under way in most By a computer science program in electrical engineer- engineering curricula; it is only in the climate of flexibility ing the committee means a curriculum in electrical en- that engineering education can respond to the rapid gineering education that allows the student to acquire ~dvancesin science and technology and adapt to the substantive competence in computer sciences and related explosive growth in knowledge that is now taking place. fields, comparable but not necessarily similar in content Because it is one of the fastest changing fields in natural to that acquired by students in a typical computer science sciences, and owing to its wide diversity of subject areas, department. Such a program must fulfill the following the need for flexibility is particularly acute in electrical aims: engineering. Apart from computer sciences, the fields 1. It must provide the student with a thorough un- of solid-state , quantum and optical elec- derstanding of computer systems and their use that is tronics, integrated circuits, bioelectronics, plasmas, based on fundamental principles of long-term value control, communication, and large-scale power systems rather than the salient facts of contemporary practice. 2. It must give the student a background in relevant This article is a condensation of a report, of the same title, discrete (set theory, mathematical logic, issued by The Committee on Computer Sciences in Electrical and algebra) including familiarity with methods of de- Engineering (COSINE Committee) of the Commission on Engi- neering Education. Chaired by Dr. Samuel Seely, educational duction as applied to abstract models relevant to the consultant, the committee includes J. B. Dennis (M.I.T.), D. C. field of computation. Evans ( of Utah), W. H. Huggins (Johns Hopkins 3. It must give the student access to a variety of sub- University), M. Karnaugh (IBM Corp.). J. F. Kaiser (Bell Tele- phone Labs.). F. F. Kuo (University of Hawaii), E. J. McCluskey jects covering specialized and advanced aspects of com- (Stanford University), W. H. Surber and M. E. Van Valkcnburg puter science. (Princeton University), and L. A. Zadch (University of California). Copies of the report may hc ohtilined by writing to the Commission 4. It must provide the student with sufficient technical on Engineering Education. Wnshington. D.C. 20036. and general knowledge that he can readily broaden his

Computer science in electrical engineering education through continuing study and remain adapt- be regarded as guidelines intended to assist electrical able to the changing demands of society throughout his engineering departments in devising curricula in com- professional life. puter sciences. Our discussion relates to the first three of these ob- Finally, the committee takes no position on jurisdic- jectives; achieving the last objective is left to the discre- tional questions relating to departmental responsibility tion of each university. for particular courses. Because information processing The committee recognizes the inherent difficulty in in all of its forms will continue to be of major concern attempting to specify a detailed curriculum in computer to electrical engineering departments, the committee science; no single curriculum could possibly fit irito the feels that electrical engineering faculties should strive variety of programs and organizational frameworks to develop strong expertise in computer sciences and present in electrical engineering departments. We have, related areas. At the same time, it is essential that elec- therefore, organized the material into subject areas as trical engineering departments cooperate closely with all shown in Table I; each subject area is a collection of departments having interests in computer sciences, related topics having cohesion and purpose. In describing sharing with them the responsibility for providing in- a subject area, the committee does not wish to imply that struction in computer-oriented courses and for conduct- it necessarily corresponds to a single one-semester course. ing in computers and computer-related areas. Furthermore, the description provided for each subject area is intended only to indicate what the committee Category A: Basic subject areas regards as a reasonable set of topics and their logical We suppose that the student embarking on this pro- order, without implying that strict adherence to the gram has had previous exposure to the use of automatic description is expected. , whether in high school or in work experience. Category A comprises four subject areas that the com- In some schools it might be desirable for students in mittee feels are of central importance and basic to an computer science to take immediately the basic course: adequate education in computer science. Other subject Programming Principles. In such cases, some arrange- areas, which are less central but which nonetheless cover ment to provide an early introduction to elementary important related and specialized material, are listed in numerical methods should be provided. Category B. The committee feels that these subject areas The four subject areas of Category A comprise ma- should be available to students in the computer science terial that is essential background for all students of com- program. However, we do not view Category B as neces- puter science. Two subject areas, Programming Principles sarily complete, since there are legitimate differences of and Computation Structures, are intended to give stu- opinion on whether additional areas should be offered. dents fundamental knowledge of the operation of general- A computer science program in electrical engineering purpose-computer systems and the important features of can assume a variety of forms. It can start at the fresh- programming languages, with emphasis on computer man, the sophomore, or the junior level. It can be struc- hardware as the means of realizing programming fea- tured as an option with specified required courses, re- tures. The indicated sequence of development shows our stricted electives, and unrestricted electives. It can be preference for developing familiarity with programming realized by allowing for enough electives in a standard features prior to the discussion of issues of electrical engineering curriculum to make it possible for organization, instruction, code design, and addressing a student (with the help of a faculty advisor) to put to- mechanisms. In this manner, it is possible to motivate gether a program of his own in computer sciences. It may aspects of machine organization by the language fea- or may not include a core of required electrical engineer- tures they serve to implement. This approach also places ing courses in areas outside of the computer sciences. conventional machine organization in a less sacred light Accordingly, the subject outlines presented here should and should lead students to consider and evaluate alterna- tive implementations. The subject area labeled Introduction to Discrete Math- ematics is intended to familiarize the student with mathe- I. Subject areas for a computer science program in electrical engineering matical concepts and techniques that are basic to the .-- - study of discrete systems. Such familiarity is essential Category A: Basic subject areas for computer science majors, and certainly very desirable Programming principles for all electrical engineering students. Computation structures The subject , Languages, and Algorithms Introduction to Machines, languages, and algorithms serves to introduce students to abstract formulations of certain important and related areas of knowledge con- Category 6: Recommended elective subject areas cerning computation. These areas are not only important Digital devices and circuits in their own right, but they give the student the back- Switching theory and logical design Programming systems ground and experience that will enable him to make sig- Operating systems nificant use of abstract modeling in his future professional Numerical methods work. Suggested content for these courses is considered Optimization techniques in the following discussion. Circuit and system theory Programming principles. A reasonable selection of and coding topics might include practice in algorithm design and Functional analysis programming to provide familiarity with the primitive Combinatorics and applications operations on commonly encountered data types-for Probability and statistics Symbol manipulation and heuristic programming example, truth values, integers, real numbers, arrays, symbol strings, queues, stacks, trees, and lists; infix

IEEE Spectrum MARCH 1968 Category A. Moreover, the following lists are not neces- sarily complete, and individual ideas can be reflected in this group. Short descriptions of the subjects are given in order to indicate the content and level of the material. The subjects included may denote courses, and, in a few cases, they can represent more than one course. Digital devices and circuits. Modeling of nonlinear circuit elements; approximate analysis of quiescent and transient circuit behavior; use of time-domain circuit ; designing to specification with imperfect components; worst case and statistical approaches to circuit reliability. Applications to flip-flops, multivi- brators, and networks of cascaded gate circuits; and polish notation for expressions and the use of a transmission methods; integrated-circuit technology. pushdown list for their intertranslation and evaluation; Physical phenomena usable to realize memory functions; assignment operator, conditional expressions, iteration, ferromagnetics, cryogenics, electrostatics, photochromic and subscripting; programs as defining functions with materials, sound waves; address selection principles certain domains and ranges; complex programs (coordinate and serial). High-current for induc- (functions) through the composition (nesting) of more tive loads; sense design; techniques for im- elementary routines: binding of arguments, local and proving signal-to- performance. global identifiers and their scopes, sharing, and recursion. Switching theory and logical design. Combinatorial A formalism for defining the syntax of programming logical design, including the notion of prime impli- languages, such as the Backus-Naur Form (BNF), cants. Huffman theory of sequential machines, both should be introduced and the notions of derivation and synchronous and asynchronous. Hazards and their ambiguity treated. resolution. Interconnection of submachines to form Computation structures. A knowledge of logical design larger units. Time-independent logical design. Identifica- fundamentals is an essential component of this subject. tion and diagnosing experiments. Error detecting and Topics include the realization of Boolean functions by correcting codes. Languages for specifying digital combinational gate logic, the flip-flop, registers as systems. ordered sets of flip-flops, register transfer operations, Programming systems. Formal methods of specifying and theory and design of sequential control logic. language syntax and semantics. Syntactic structure, Basic topics on number representation and the implemen- parsing methodology, diagnostics. Advanced study of tation of arithmetic operations include the binary number programming features-for example, data structures, system, representation of negative numbers, simple properties of data types, block procedures and the con- mechanizations of addition, multiplication, division, and text of identifiers, parallelism and sharing of data, pro- floating-point representations of real numbers. tection and process monitoring features. Implementation Introduction to discrete mathematics. A representative questions, including symbol table structure, code opti- set of topics includes propositional logic, Boolean algebra, mization, efficient subscripting, flow-of-control analysis set-theoretic notation, axiom systems and formal deduc- and loop organization, flow-of-control and loop optimi- tion, formal and informal proofs, proof by contradiction zation, subroutine linking and parameter passing, syn- and finite induction, quantification and its use in formal- tax-directed compiling. izing propositions, and application to the study of Operating systems. Functions of an operating system, formal properties of number systems, graphs, fields, such as controlling the use of computer system resources groups and semigroups, and linear transformations. by programs submitted for execution by its users and Machines, languages, and algorithms. The following is insuring the integrity and security of information held on a representative selection of topics: the finite-state model, behalf of users. Topics suitable for in-depth study in- state diagram and flow-table descriptions, equivalent clude the concept of process, the blocking and awakening states, equivalent machines, state reduction, finite-state of processes, the meaning of interrupts, interprocess languages, regular expressions and Kleene's theorem, communication, and process scheduling; the concept of limitations of finite-state automata, formal languages, address space, binding of procedures and data to address grammars and derivations, context-free languages and space and interprogram linking, motivation for location- their relation to pushdown storage automata, ambiguity independent addressing and techniques of implementa- and other properties, and sentence-parsing procedures. tion, shared information; storage management aspects, Conlputability topics include Turing machines, universal such as movement of information within a storage Turing machines, the existence of noncomputable func- hierarchy, file backup, and issues of data integrity on tions, the "busy beaver" and halting problems, unsolv- restart. File access control and transfer of access priv- able problems of practical interest (for example, un- ilege. decidable properties of context-free languages), the com- Numerical methods. Solution of systems of linear equa- putability of recursive functions, Post systems, and tions (matrix inversion, gauss elimination, determinants, Church's thesis. etc.), numerical solution of nonlinear algebraic equations, roots of polynomials, interpolation techniques and curve Category 6: Electlve subject areas fitting, numerical integration, solution of ordinary dif- As already noted, the subjects in Category B are less ferential equations, solution of partial differential equa- central to a computer science program than those in tions, and linear programming.

Computer science in electrical engineering Optimization tcchniqucs. Solution of linear inequalities, II. Skeleton of program showing recommended courses in computer science linear programming algorithms, convex sets and convex -- -. . - functions, nonlinear programming, quadratic program- Year Term 1 Term 2 ming, dynamic programming, gradient techniques, max- Freshman .. . Programming and imum principle, Markoflian decision process, optimiza- numerical tion under vector-valued criteria, and search strategies. methods Circuit and system theory. Circuits as interconnections Sophomore ...... of basic elements, including such topics as passive and Junior Programming Computation active circuits, characterization of circuits in the time and principles structures frequency domains, solutions of difrerential input-out- Senior Machines, ... put relations. State-space formulation and representa- languages, tion by differential and difference equations. Basic and algo- properties of linear systems, time-varying systems, and rithms nonlinear systems. Controllability, observability, and stability. Information theory and coding. Quantitative definition and measurement of information, entropy of uncertainty, memoryless discrete channel, capacity of a memoryless ponents, circuits, and devices-such as the , the channel, capacity theorems. Encoding and decoding of magnetic-core memory, integrated circuits, etc.-it has messages, parity check codes, convolutional encoders and become practicable and economical to process large decoders, sequential coding. Practical digital communica- volumes of data in digital form with high speed, accuracy, tion systems. and reliability. We have witnessed a rapidly growing Functional analysis. Functions, functionals, and opera- trend toward the use of digital systems in place of analog tors. Metric and topological spaces, linear spaces, Hilbert or continuous systems for purposes of computation, in- spaces. Linear functionals, differentiation of abstract formation processing, and control. Moreover, as a result functions, homogeneous forms, and polynomials. Sta- of the availability of efficient, economical and reliable tionary problems, fixed point theorems, gradient tech- digital devices, modern information processing and con- niques. Quasi-linearization. Applications to problems in trol technology is becoming increasingly digital in nature, optin~izationand identification. with all signs pointing toward a much bigger role for Combinatorics and applications. Enumeration tech- digital as compared with analog systems in the years niques, including permutations and combinations, gen- ahead. erating functions, recurrence relations, the principle of The transition from the analog and the continuous to inclusion and exclusion, Polya's theory of counting. the digital and the discrete has not yet been adequately Theory of graphs, including planar graphs and duality. reflected in the orientation of electrical engineering cur- Network flow problems and elementary linear program- ricula. Many, or perhaps most, electrical engineering ming. departments still lay a heavy stress on courses in con- Probability and statistics. The concept of sample space tinuous (in time, , and state) systems and de- and random variables, probability distributions on dis- vices, disregarding the fact that such courses are much crete sample spaces, dependent and independent random less relevant to the needs of present technology, and cer- variables, conditional distributions, distributions on tainly much less relevant to the needs of the future than continuous sample spaces, parameters of probability they were 20 years ago, in the age of the vacuum tube and distributions, normal distributions, stochastic processes. the amplidyne. The committee strongly feels that, in this Markoff chains, waiting-line and servicing problems, regard, electrical engineering curricula are in need of a estimation techniques, stochastic approximations, and basic reorientation from the entirely analog and the con- decision rules. tinuous to reflect the digital and the discrete, and that Symbol manipulation and heuristic programming. electrical engineering departments should make a con- Heuristic versus algorithmic methods, LISP and other centrated effort to prepare their students to deal with relevant programming methods, game-playing programs, digital systems, be they computers, control systems, or question-answer programs, symbolic integration and special-purpose information- and data-processing sys- differentiation, theorem proving, search techniques, tems. simulation of learning and concept formation, applica- How can such a reorientation be implemented? Clearly, tions to pattern recognition and information retrieval. Table I1 places the foregoing discussion into the con- text of a four-year undergraduate program. This table contains only the basic courses in Category A plus an introductory course in Programming and Numerical Methods. Detailed curricula of two electrical engineering departments, which show how they have included a con- centration in computer sciences, are given in Appendixes A and B.

Implications of the digitalization of information processing During the past two decades, as a result of the inven- tion and development of a number of electronic com-

IEEE spectrum MARCH 1968 a wide-ranging shift in emphasis from the continuous lation to discrete systems that the conventional courses to the discrete in electrical engineering curricula would in Laplace transforms, complex variables, linear algebra, present formidable problems that are not likely to be etc., serve in relation to the analysis of linear time-in- solved quickly or painlessly. Deeply entrenched at- variant systems. Clearly, of course, the totality of the titudes will have to be changed, new knowledge and skills mathematical background needed for the analysis and will have to be acquired, and new textbooks will have to synthesis of discrete systems cannot be provided in a be written. Indeed, it is beyond the scope of this report single course. to analyze these problems fully and to suggest possible A theoretically oriented student majoring in computer solutions to them. Thus, in what follows, the committee sciences might well take one or more courses in mathe- will restrict itself to making a few preliminary recom- matics, in such subjects as abstract algebra, set theory, mendations that suggest evolutionary changes in elec- mathematical logic, group theory, etc., in preference to trical engineering curricula. This section will discuss the taking a single, less-specialized course of the type here addition of three new courses dealing wholly or in part being discussed. Thus, the committee's recommendation with some of the basic aspects of discrete systems. The is intended primarily to point to a need in electrical en- next section will discuss the digital reorientation of a gineering curricula for a broadly based course in the number of existing courses. mathematics of discrete systems, which would be suitable New-course development. To provide a start toward the for most electrical engineering students, not just for those development of new courses that have a discrete state majoring in computer science. A desirable first step in orientation, we discuss three possible courses as indica- this direction may be accomplished by a revision of the tive of the direction that such development might take. usual two-year mathematics program that exists in al- Course I. Our first recommendation is that serious most all electrical engineering curricula (the calculus consideration be given to the development of a sopho- program), to a program of which one half is devoted more- or junior-level introductory course in circuits, largely to discrete mathematics and the second half to systems, and signals, which would cover the fundamentals topics in continuous mathematics. of both discrete and continuous systems. We envisage Course 3. Our third recommendation relates to the that, initially, such a course would be offered as an alter- offering of a course in finite-state systems at the junior native to the traditional type of course in which the em- or senior level. The importance of such a course stems phasis is wholly on the techniques of time- and frequency- from the fact that finite-state systems constitute a very domain analyses of linear, time-invariant, continuous- basic class of systems particularly well-suited for the time circuits and systems. Eventually, courses of this introduction of such basic concepts as state, equivalence, new type would probably replace introductory courses identification, decomposition, etc. Furthermore, they of the more conventional nature. are much better suited for computational purposes than An example of the type of course being recommended continuous systems, and can frequently be used as ap- is that being developed at M.I.T. by Professors Athans, pro~imatemodels for the latter. At present, several elec- Dertouzos, and Mason, under the title, "Elements, trical engineering departments offer courses of this type, Systems and Computation." In addition to covering the covering such topics as the characterization of finite- basic techniques of the analysis of linear, time-invariant, state systems, the notions of state and system equivalence, lumped-parameter networks and systems, this course also identification algorithms, decomposition techniques, treats basic techniques for the study of nonlinear and synthesis techniques, etc. discrete-state systems, and covers computational as well Until a few years ago, the offering of courses on finite- as analytic methods of problem solving in the context of state systems was hampered by the dearth of texts on this such systems. subject, a situation that is now changing. There are several A controversial aspect of a course of this type is that very good undergraduate level texts on finite-state sys- its broader coverage of both continuous and discrete tems. The teaching of a course on this subject should be a systems is attained necessarily at the cost of less depth in relatively easy task for most electrical engineering pro- the treatment of various types of components and systems. fessors. Consequently, the committee feels that every For this reason, it may be preferable, in the longer run, electrical engineering department should consider offering to treat discrete systems separately in a course that would an elective course on finite-state systems as part of its precede a course in continuous systems. Although this regular curriculum. approach would represent a departure from the tradi- tional order, it may well be more logical and more sound Implementation pedagogically. To introduce computer techniques in a meaningful Course 2. Our second recommendation relates to the way into traditional courses covering circuit theory, con- inclusion of a new type of course, at the junior or senior trol, communication systems, and similar topics, the level, that would be concerned chiefly with mathematical following sequence might be used in presenting subject concepts and techniques central to the analysis and syn- matter: theory, analytical methods of solution, numerical thesis of discrete, as contrasted with continuous, systems. algorithms, and computational examples. Some general This course is listed in Table I as Introduction to Dis- recommendations are outlined in the following; these crete Mathematics. recommendations presuppose a familiarity with pro- A representative set of subjects that might be included gramming principles and elementary numerical methods. in a course of this type would include elements of set 1. The first course in electrical engineering (usually theory; Boolean algebra; elements of mathematical in the sophomore year) should be modified to incorporate logic; elements of the theory of relations, groups, fields, the use of computers as a tool. A problem-oriented and rings; elements of Galois theory; etc. A course of program having a special language might be used to work this type would serve essentially the same function in re- exercises relatively early in the course, without requiring

Cornputcr science in clcctricol cnginccring a detailed knowledge of computer programming. For example, digital simulation of models of elec- 2. Major revisions might be made in the method of tronic circuits can be a significant adjunct to normal presentation for certain courses, particularly those in electronics laboratory experiments. A number of quite the systems area. For programs in and elaborate electronic circuits analysis computer programs communication systems, for example, this approach are available or are being developed. Although many of might involve changes in emphasis of some of the tradi- these have serious deficiencies from an educational view- tional material and the introduction of new material point, there is some expectation that this will be rectified related to computer operation and limitations. in tho relatively near future. An simu- 3. Since the purpose of courses in the systems area is lator, such as ECAP, when supplemented by a graphical to develop an understanding of the behavior of these output routine can provide the basis for some very useful systems, it would be desirable to make available to the simulation studies in this field. Examples might include students as analysis and design aids certain fairly elabo- the study of transistor amplifier operating-point stability rate specialized computer programs with prevision for with respect to parameter variations, the transient and graphic output. Computer-generated results would thus frequency response characteristics of pulse , be provided without the large investment of the student's and oscillation phenomena. time that would be required were he forced to write and debug all of the necessary programs. Educational software 4. The academic program should help develop a more The most desirable types of specialized software that thorough understanding of programming techniques and should be available in the computer library can be divided the limitations of numerical methods of simulation, into several general categories: particularly in those areas in which the computer is a 1. Mathematical subroutines. Examples include major factor in the practice of modern engineering, either graphic output subroutines and programs to solve simul- as a design tool or as an important part of the system. taneous sets of linear equations, to find the roots of poly- 5. The use of computers for system simulation should nomials, and to solve sets of ordinary differential equa- be encouraged as a valuable supplement to laboratory tions. These subroutines are presently available at almost experiments with physical elements. all computer centers. They are far from being sufficient, however. Computer use for 2. More elaborate programs to facilitate special types simulated laboratory experiments of analysis. Examples are frequency response, root- Digital coqputer simulation of devices and systems locus and transient-solution plotting, Fourier-series can provide a valuable supplement to laboratory experi- analysis routines, parameter optimization routines, and ments with physical elements. Simulation studies, pro- some statistical analysis routines. vided that adequate software is available, can also be 3. ProMem-oriented programs with special language used very effectively as alternatives to some problem ses- facilities. Examples of such programs are analog system sions and homework exercises. It is recommended that simulators, such as MIMIC and CSMP; digital system such computer experiments on idealized models of physi- simulators, such as BLODI;and electronic circuit simula- cal devices be introduced into the laboratory program tors, such as ECAP. Another significant example is early in the curriculum. The essential features of the JOBSHOP,which was developed by W. H. Huggins at The behavior of many types of systems can sometimes be Johns Hopkins University, as a simulator for the circuit explored more readily in this way than by actual experi- design process. Much remains to be done in the de- ments. velopment of suitable software for educational purposes. Idealized models can, of course, be nonlinear and thus In addition, information concerning the availability of can provide quite realistic representations of the true the computer programs that do exist, and their documen- device characteristics. Some advantages of a computer tation, leaves a great deal to be desired. study are the ease with which the model parameters can be varied over a wide range without damage to the com- Closing comments ponents, the ability to compute sensitivity coefficients and The recommendations presented in this article relate . make a worst-case analysis, and the ability to generate to what the committee believes are the central issues in and plot performance curves directly for nonlinear as well the impact of computers and computer sciences on elec- as linear systems without tedious experimental tests or trical engineering education. These are (1) the need for the drudgery of repeated hand computations. Further- computer science programs in electrical engineering, (2) more, this approach allows a considerable degree of in- the need for greater emphasis on discrete systems in dividual initiative to be exercised by the student in the electrical engineering curricula, and (3) the need for design of the system model to be simulated. modifying the content and underlying philosophy of Observation of the behavior of the actual physical basic electrical engineering courses, particularly in cir- system is very important, and experiments on real de- cuits and systems, to interweave the use of computers for vices and systems should clearly be retained. Both types analysis and design with the development of basic of experiments are significant in dilrerent ways in help- theory. ing to develop an intuitive feeling for system behavior; These issues are probably the most pressing of the many a balance should be maintained between actual and simu- questions and problems facing electrical engineering edu- lated experiments. A combination of both will be more cation today. They are by no means the only issues aris- stimulating than either type alone, and has the added ad- ing out of the advent of the computer age; clearly, the vantage of providing a basis for appreciating the dif- use of computers will have to be stressed not only in ferences between the analysis of an idealized model and courses in circuits and systems but, more generally, in the behavior of the real device. all areas in electrical engineering in which computers

IEEE Spectrum MARCH 1968 can be an effective tool for analysis, design, or simula- ments, both in instruction and in research in computers tion. We have said nothing concerning the roughly and related areas. three years of studies constituting the portion of the B.S. program that reflects the general base of electrical During our study, we have maintained liaison with the ACM Curriculum Committee on Computer Sciences through E. J. engineering. However, we do stress that attention must be McCluskey, and we are especially indebted to William Viavant given to the revision of introductory courses in mathe- of that committee for his assistance. We also wish to acknowledge matics, , and other basic fields, with a view to the support of our efforts by the National Science Foundation through the Commission on Engineering Education, and its increasing the emphasis on algorithmic and numerical executive director. Newman A. Hall. techniques in such courses. Also, the traditional role of laboratory courses must be re-examined, in the light of the possibility of using computers as simulators of physical systems. Already, in many instances, greater insight into system behavior may be obtained by studying its performance with the aid of a computer than by measuring the physical variables and parameters as- sociated with it. This will be even more true in the future. It hardly needs saying that computers and computer sciences are, and will be, of considerable concern to many disciplines in addition to electrical engineering, and electrical engineering departments will have to co- operate closely with other academic departments, es- pecially computer sciences and mathematics depart-

Appendix: Some electrical engineering curricula that include computer science courses

A. College of Engineering, B. Department of Electrical Engineering, University of California, Berkeley Massachusetts B.S. Computer Science Program S.B. in Electrical Engineering,a Computer Science Program Quarter Year and Course Hours Credit Year and Course Hours0 Freshman Mathematics Freshman Chemistry Calculus 24 Physics Chemistry 12 Electives* Physics 24 6 Sophomore Introduction to automatic computation Mathematics Humanities 18 Physics Elective 6 Electives8 Sophomore 12 Junior Physicsb Electric circuits 8 Physics 12 Electronic circuits 5 Elements, systems, and computationb 12 Electronics and circuits laboratory 6 Elements, systems, and computation 12 Linear 4 Programming linguisticsc 12 Computers and information processing 4 Electiveb 12 Restrictedb and technicalc electives Humanities 18 H umanistic-sociald Junior Senior Circuits, signals and systems 12 Switching and computer circuits 6 Electromagnetic fields and energy 12 Digital computer systems 7 Computation structures~ 12 Laboratory 2 Computer systemsC 12 Restrictedb and technicalc electives" Electives* 24 Humanistic-sociald 1 30 Humanities 18 Total: 180 Senior .The electives for the freshman and sophomore years include at Electives" 60 least 15 hours of humanities or social sciences, plus Computers and their applications 4 Humanities 18 lntroduction to electronic systems, circuits, and devices 4 Thesis 12 Engineering mechan~cs 4 Properties of materials Total: 360 b Restricted electives: three courses from an available list, in- cluding mathematics, physics, engineering courses. c Technical elective: 25 units of upper division computer science en,gineering, mathematics, phys~cs,statistics, or other naturai sclence courses. - - .. - . .- ., - - - .. - - .- . d Humanistic~social:Total in the program must meet minimum three credit hours represent approximately one semester College requwements. contact hour.

Computer science in electrical engineering