Evaluation of the Model Curriculum in Computer Science and

advertisement
Evaluation of the Model Curriculum in
Computer Science and Engineering
M. E. Sloan
Michigan Technological University
Introduction
Curriculum reports in computer science and engineering
have traditionally resulted from committees, working in
relative isolation. Once chosen, the members of such committees as the ACM Curriculum Committee on Computer
Science and the COSINE Committee have held meetings,
debated, occasionally consulted with resource people, and
then have published their results. Informal prepublication
reviews have occurred, but no formal, formative evaluation
of previous work in CSE curriculum has ever been published.
The Model Curriculum Subcommittee of the Computer
Society broke this precedent by deciding to submit their
report for evaluation by a broad spectrum of the CSE
community before publication. This paper reports the
results of the evaluation.
Procedure
Copies of the report together with a survey questionnaire
were mailed to 35 reviewers representing a cross section
of the professional community. The reviewers, who were
selected from industry, government, and academia, were
asked to rate 19 aspects of the report on a five-point scale.
In addition, they were asked for detailed narrative comments on individual parts of the report.
Despite the report's bulk-more than 200 pages worth19 of the 35 reviewers persevered and submitted their
comments for a response rate of 54%. The typical reviewer
submitted three or four pages of comments. Appendix A
lists the reviewers and their affiliations.
General comments
The consensus of the reviewers was overwhelmingly
positive. In fact, only one review was predominantly
negative; it is discussed at length later. While generally
praising the report, reviewers did criticize inconsistencies,
varying levels of description, and missing material; they
referred to the report as a working document. One reviewer
114
called the presentation "poor and lengthy." In addition,
the following major substantive issues were raised:
* The core curriculum should be given greater emphasis.
It should be presented first and should, in the words
of one reviewer, "drop out cleanly."
* Other courses needed for a complete BS curriculum
should be shown. One reviewer suggested extra courses
to meet requirements of the Engineers Council for
Professional Development (ECPD); they are shown in
Appendix B.
* Too many courses are oriented toward a PhD program,
rather than toward developing BS graduates for
industry.
* The report should be issued as a joint document with
ACM.
Other suggestions and criticisms concerned emphasizing
the rapidity of technological changes; showing different
implementations for different types of departments; including courses on data acquisition, simulation, numerical
analysis, real-time computing, and computers and society;
developing courses for a strong computer science and
engineering minor; reducing the number of prerequisites
and corequisites; defining terms; and recommending the
year in which each course should be taken. One reviewer
stated that each student should spend a significant amount
of time in programming, both operating systems and
applications. Another suggested identifying courses that
might be taught outside a computer science and engineering department, such as logic in a philosophy department,
to help smaller schools start a computer science and engineering program.
Report ratings
Since only eight reviewers completed the section in
which the 19 characteristics were rated (the rest choosing
to give only narrative comments) this section of the evaluation should not receive undue importance merely because
COMPUTER
it provides quantitative data while the rest gives only
qualitative data. The main intent here was to identify
relatively strong and weak aspects of the report to show
what improvements should get top priority before publication. Because there is no comparable data on other computer science and engineering curricula, such as those of
ACM or COSINE, this section was not intended to rate
the qualities of the report, either in an absolute sense or
relative to similar reports.
The averages for each category ranged from 3.25 (clarity
of report) to 4.17 (computer organization and architecture
courses). One reviewer gave consistently low marks,
whereas most others were close to the average, and none
was notably high. To show the effects of one extreme
reviewer in such a small sample, averages were also computed omitting his ratings. The range was from 3.57
(statements of instructional objectives) to 4.60 (computer
organization and architecture courses). Table 1 shows
both sets of averages.
Because of both the limited number of reviewers and
the limited range of average ratings, close attention to
minor differences between ratings may be misleading.
One useful division of responses to satisfy the goal of
identifying strong and weak areas is to classify the ratings
in three groups-high (4.00 and above), middle (3.50 to
3.86), and low (below 3.50). Within each group, the characteristics are listed in order of their average rating by
all reviewers (with ties resolved by their order without
the low reviewer).
High ratings. The top-ranked characteristics or topics
were computer organization and architecture courses,
depth of curriculum, digital logic courses, and quality of
core curriculum.
Three of these are course areas; they happen to be the
two most hardware-oriented areas and the core curriculum.
The fourth characteristic gives credit for the depth of the
proposed curriculum.
Middle ratings. Receiving middle ratings were quality
of writing style, software engineering courses, laboratory
courses, relation between lab and other courses, references,
implementability of core curriculum, breadth of curriculum,
bridge between hardware and software, organization of
report, and statements of instructional objectives.
Table 1. Report Ratings.
AVERAGE RATINGS
ALL BUT LOW
ALL
REVIEWERS REVIEWERS
TOPIC
(3.93)
3.56
BREADTH OF CURRICULUM
4.00
(4.43)
DEPTH OF CURRICULUM
3.29
(3.67)
IMPLEMENTABILITY OF CURRICULUM
4.00
(4.29)
QUALITY OF CORE CURRICULUM
3.57
(3.83)
IMPLEMENTABILITY OF CORE CURRICULUM
(3.86)
BRIDGE BETWEEN HARDWARE AND SOFTWARE 3.50
3.71
(3.83)
LABORATORY COURSES
(3.80)
RELATION BETWEEN LAB AND OTHER COURSES 3.67
4.00
(4.40)
DIGITAL LOGIC COURSES
COMPUTER ORGANIZATION AND
4.17
(4.60)
ARCHITECTURE COURSES
3.83
(4.20)
SOFTWARE ENGINEERING COURSES
3.33
(3.60)
THEORY OF COMPUTING COURSES
3.25
(4.00)
CLARITY OF REPORT
3.50
(3.86)
ORGANIZATION OF REPORT
(3.83)
3.43
PREREQUISITE STRUCTURE
(4.00)
3.57
REFERENCES
(3.57)
STATEMENTS OF INSTRUCTIONAL OBJECTIVES 3.50
3.86
(3.86)
QUALITY OF WRITING STYLE
(3.71)
3.38
CONSISTENCY OF WRITING STYLE
December 1977
Two course areas-software engineering and laboratory
-appear near the top of this group, suggesting that a
moderate amount of polishing and revising is needed.
Several other characteristics given middle ratings-quality
of writing, style, references, and organization of reportare primarily matters of style and can be improved with
minor smoothing and editing. The rating of references
reflects several areas with few or no references, a matter
of concern for the coordinators of those areas.
The remaining mid-ranked aspects-relation between
lab and other courses, implementability of the core curriculum, breadth of the curriculum, bridge between hardware
and software, and statements of instructional objectivesare substantive concerns that cannot be simply handled.
Improving the relation between lab and other courses
requires major coordination and perhaps reworking of
both types of courses. Improving implementability of the
core curriculum requires consideration of the needs and
resources of a wide variety of schools; it may well be that
in a time of limited educational resources no solid computer science and engineering core curriculum could be
implemented at many of these schools. The middle rating
of breadth of curriculum primarily results from a decision
of the model curricula committee to limit their initial
work to computer science and engineering courses, rather
than recommending entire undergraduate curricula. Per,
haps future work can consider the entire curriculum; this
aspect is discussed further later in this paper. The rating
for the bridge between hardware and software simply
means that the committee did not solve this problem-not
a surprising circumstance considering the results of other
attempts to bridge the gap. That the rating for combining
hardware and software is as high as it is is a tribute to the
committee. Finally, the borderline rating for statements
of instructional objectives results both from their uneven
quality and from their nature. Although some instructional
objectives can be rewritten for the published report,
changing all ttie objectives to behavioral objectives to
meet the standards of their advocates would require much
time.
Low ratings. The lowest ranked aspects of the report
were prerequisite structure, consistency of writing style,
theory of computing courses, implementability of curriculum, and clarity of report.
Just one of these-theory of computing courses-is a
subject area. It does not appear to have been rated low
primarily because of its faults. The reviewers showed
little interest in this area, giving fewer comments on theory
of computing than on any other area. The low rating may
result from this lack of interest in much the same way as
the operating systems report issued by the COSINE committee received relatively low ratings.
Implementability of the curriculum, like implementability
of the core, is largely a problem of resources and interests
of each institution. Some attention can be paid to suggestions for implementation, but little can be done given the
nature of the problem and the time before publication.
The remaining low ratings went to features of the report
that should be improved as much as feasible before publication. The prerequisite and corequisite structure can be
simplified. More attention can be paid to prerequisites, if
any, other than computer and science engineering courses,
such as mathematics, engineering, and physics courses.
Consistency of writing style and clarity of the report
should receive high priority. Clarity received the lowest
rating. It can be improved by sharpening focus, improving readability, striking redundant and irrelevant material,
providing overviews, and the like.
115
Core curriculum
The reviewers generally praised the core. They made
fewer comments on this section than on any other, except
for theory of computing, but the few comments they did
make were positive and constructive. As mentioned earlier,
they wanted to emphasize the core. Some commented that
the core was still fragmented and needed more cohesion;
they suggested identifying complete core courses.
According to one reviewer, "The core is the best part of
the report; it is practical and realistic. It can easily be
implemented within the framework of a typical EE program without accreditation problems. The sequencing
seems good."
Another said, "Core is good. There could be implementation problems because it seems comprehensive."
Digital logic subject area
The digital logic subject area with a rating of 4.00 received
few but positive comments. One reviewer called it "unexpectedly good," noting that "the balance of practical and
theoreticaris very good compared to classical logic courses."
Another said it was "quite well done." A third said that it
was adequate for today's engineering and computer science
graduates but needed to emphasize LSI for tomorrow's
graduates.
Reviewers offered more detailed comments on the individual courses. Those noted below and in the following
sections represent only substantive items of general
interest. Others, such as suggested references, identification of misprints, stylistic comments, and the like are left
to the individuals revising the report. Hence, the comments
here may be considered as suggestions to a course
instructor or as a minority report.
DL-1, Theory and Application of Switching Theory and
Logic Design I. This course and its successor, DL-2, had
perhaps the most detailed descriptions in the report. Some
reviewers liked this; one noted, "I was impressed by the
DL-1 course writeup and its level of detail." Another was
less sure; he said, "DL-1 and DL-2 seem good, if anything
too thorough." There were suggestions on content, such
as emphasizing LSI. One industrial reviewer said, "Industry uses timing analysis and time diagrams much more
than is found in conventional logic courses. I hope the
timing aspect can be emphasized in this course."
DL-2, Theory and Application of Switching Theory and
Logic Design II. The reviewers liked this course. One
noted briefly, "A nice course"; another supported the
desirability for such a course. The main suggestions for
content were to emphasize practical aspects, such as LSI
blocks. One reviewer wrote, "Two small items need more
emphasis: (a) an explicit study of inter-register transfer
mechanisms: gating structures, busses, MUX's; (b) hazards
in asynchronous circuits; a fundamental concept appearing
in all asynchronous systems."
DL-3, Microprocessor Systems. Many reviewers noted
that this course was less thoroughly prepared than the
preceding two; they suggested references, noting the
paucity of books available in late 1976. One reviewer
thought the course should be oriented toward "small computers," presumably including minicomputers. The reviewers disagreed on the treatment of bit-slice computers.
One thought that the module on microprocessor organizations should contrast bit-slice organizations to monolithic
CPU ones; another thought that bit-slice microprocessors
116
are really advanced logic devices and, as such, should be
treated in DL-2.
DL-4, Digital Logic Devices Technology. Engineeringminded reviewers were enthusiastic about this course,
characterizing it as "a great course" and "a good idea."
They tempered their enthusiasm with comments on the
need for a text. One reviewer thought that the discussion
of memory devices should include all IC types, CCD, bubble
memories, etc.
DL-5, Digital Design Automation. The reviewers had
primarily negative comments on this course. Two felt
strongly that the material should be left for a graduate
course, noting that the graduate who enters industry will
probably learn his employer's system. Others commented
on the lack of depth and quality of the course outlines.
One noted:
This is unfortunately a relatively sketchy outline of
a course which lists a number of subject items but
doesn't provide a very detailed description of them.
Totally lacking is coverage of manufacturing design
automation practice. What is missing is an overview
section showing the product development flow from
the engineering sketch to the mask generator or the
automatic test equipment, the latter two items being
used by manufacturing. The file structures to support
these diverse activities must be described along
with... the equipment and techniques used in both
engineering and manufacturing to build a product.
The present emphasis of DL-5 on the engineering
aspects of DA is too narrow. Perhaps a better description of each of the items listed in the course outline
would clear up my concerns in this area.
Another reviewer wrote:
DL-5 is very questionable. Is there really enough
organized knowledge here to justify a course? Certainly this is a very specialized topic that is not going
to be taught unless you can give more detail and
good references.
Computer organization and architecture subject
area
Although the reviewers rated this area the highest
(4.17), their comments were less than glowing. One was:
This series is well partitioned, but the organization
of the individual courses tends too well to reflect the
lack of basic theory and structure in the computer
-organization area. In particular, these courses seem
to degenerate into giving descriptions of machines.
A preferable approach is to analyze system (user)
requirements and then explore the time-cost tradeoffs in satisfying these requirements.
Another was:
There is too much fragmentation. For example,
courses CO-1, CO-2, CO-3, DL-3, C0-4 could, and
should, be offered as a single course or at most two
coordinated courses. An advanced system architecture course then could be offered which would
integrate operating systems, distributed processing,
networks, and advanced computer organization.
A more positive comment was:
The series on computer organization and architecture
looks very good. Again there is some variation in
the level of detail of the course descriptions but the
coverage is broad and inclusive.
CO-i, Introduction to Computer Organization. The
introductory course on computer organization was judged
to be lackluster, although few specific suggestions were
offered. As one reviewer put it, "The structure of this
COMPUTER
course has no particular appeal." One reviewer suggested
emphasizing the module on computer units; two suggested
combining this course with other computer organization
and logic courses.
CO-2, I/O and Memory Systems. In contrast to CO-1,
the reviewers were enthusiastic about a course on input/
output and memory. One noted:
I heartily endorse the identification of a requirement
for a separate course on I/O and memory. Interfacing is all too often neglected totally. I would
even further emphasize the need to carry this on
into the laboratory courses with attention there
being paid to such "mundane" issues an interfacing
various families of logic devices into an integrated
system. Too often degreed engineers are ill prepared
to get their hands dirty on these real world issues.
Another stated:
This can be a very useful course, but the outline is
pretty vague. Topics which need more emphasis
than is indicated are: (a) real-time constraints of I/O
devices, (b) buffering mechanisms, and (c) alternatives
in channel design.
CO-3, Computer Architecture. Reviewers thought the
outline of this course was weak and contained some questionable material. One thought that three credits instead
of four would be adequate and that CO-2 was not needed
as a prerequisite.
CO-4, Microprogramming. Reviewers felt strongly, both
pro and con, about this course. Some thought this topic
was too specialized for an undergraduate course; they
thought that parts of the course could be taught in the
digital logic sequence. Yet others liked the course, one
commenting that it was "quite well worked out." Several
commented on the need for up-to-date texts. Additional
topics suggested included control memory implementation
and microprogramming software aids.
CO-5, Distributed Processing and Networks. This course
was considered insufficiently developed for undergraduates
at this time. The apparent lack of course content and the
advanced references, including a 1976 PhD dissertation,
were evidence of the current inappropriateness of this
course for undergraduates.
Software engineering subject area
This area, rated 3.83 by the reviewers, attracted much
interest. Opinions seemed to be divided. One reviewer
stated,
Your software engineering courses do provide a
good bridge between what is regarded as computer
science in the liberal arts institutions and what we
would look upon as being computer engineering.
Another reviewer saw it differently:
The software engineering sequence is really not an
engineering approach to software. It appears mostly
to be a technique not a design course.
Other general comments included suggestions for additional courses-an advanced course in software engineering, advanced applications programming, program design,
and software methodology and practice. Presumably these
courses, suggested by four different reviewers, have much
in common.
SE-1, Introduction to Computing. This introductory
computing course was controversial. Some thought it
covered too much; others, too little. Some liked PL/I; others
did not. Representative comments follow:
December 1977
My major concerns deali primarily with the introductory courses in the SE sequence. I personally
feel that careful and precise expression of ideas in a
computer program is a sufficiently difficult task
that the first course should deal exclusively with
this issue. The use of a high-level language and the
hiding of all but the most essential details of the
underlying machine allow the student to spend his
time and energy formulating and implementing
good algorithms.
The course SE-1 is very poorly defined. If you try to
introduce three or four languages in an introductory
course, all you end up with is a confused student
who feels that programming is a very important
and complex task. Stick to one language (I like the
choice of PL/I). Develop the basics of computing
from a language-independent viewpoint and then
use the lab to teach the realization of algorithms,
using one programming language. There is very
little "meat" in the proposed course. This course
will probably have to be a service course that will
serve many other students besides those in the computer area.
It is my feeling that the instructional objectives,
with which I agree, are not supported by the course
outline. My own experience suggests that good
design and careful implementation of computer programs is sufficiently complex that other issues should
be excluded from the first course. Comparing calculators to computers and more than a superficial
treatment of basic computer components bring up
issues that higher level languages were intended to
hide. Internal representations of values, which is
highly machine-dependent, as well as the stress on
batch-oriented systems (in Module II), are particularly troublesome since -many students will receive
their first course in a time-sharing environment and
with languages that hide the internal representation
completely. The main thrust of the course should be
Module III. The careful analysis of the problem
before coding is started, in order to determine a
good algorithm, must be stressed. A large number
of short-to-medium scale problems, given out as each
new programming concept is introduced, can greatly
aid in a steady development of good programming
style.
I wouldn't recommend PL/I as an example programming language for freshmen; for an engineering
orientation, Fortran is fairly standard. PL/I is fairly
complicated. One can teach "analysis, design, documentation, implementation, and evaluation" with
Fortran.
SE-2.1.1, 2.1.2, and 2.1.3, Data Structures I, II, and III.
The reviewers, in a rare show of near-unanimity, thought
that three courses (9 credits) of data structures were too
much, at least for undergraduates. They recommended
that these courses (and possibly TC-1, Discrete Structures)
be consolidated into one or two courses.
One reviewer disagreed. He thought that Data Structures I attempted to cover too much material. He
recommended that an introductory data structures course
aim at familiarizing students with the most basic data
structure instead of mentioning esoteric structures. He
liked Data Structures II because it allowed the student
to apply the techniques of the earlier course to a serious
problem of meaningful depth.
Other recommendations included using an assembly
language and emphasizing data-base management, particularly indexed sequential files.
117
SE-2.2, Programming Languages. The main comments
on this course were that it should be interleaved with
SE-4, Translators and Translator Writing Systems. Several
reviewers wrote of their experiences in combining the
two courses. For example, one said:
Unfortunately the course on language translators
and TWS, SE-4, suffers from a very brief course
description. I have found that overlapping this
course with the one on programming languages,
SE-2.2, works quite well. By using two texts ... the
entire subject of language translator techniques,
including the writing of a fairly large compiler, can
be accomplished in two terms. The student emerges
somewhat battered but well aware of what is involved
in generating compilers.
One reviewer thought that the desc1iption of these two
courses confused the choice and evaluation of programming language features with implementation choices, such
as compilation techniques. Another thought the courses
should be preceded by one on program design.
SE-3.1 and 3.2, Operating Systems and Computer
Architecture I and II. Because of disagreement within
the Model Curriculum Subcommittee, two versions of these
two courses were presented-a standard version that
emphasized operating systems, and an alternative version
that stressed integration of the two topics. The reviewers
did not like this compromise. They felt that the committee should recommend one sequence or the other; however,
they too were divided on which one.
Speaking for the standard version, one reviewer commented:
This is the most carefully thought out and clearly
presented curriculum for courses in operating systems I have seen to date. It provides a unified
framework in which to present a wide body of
material. It provides both a theoretical base and a
large amount of practical material.
Another stated:
I want to discuss one final specific problem. I am
concerned about the wisdom of listing, on page 121,
"Alternate Operating Systems and Architecture
Course." I believe that the committee should decide
one course to recommend. It is then possible that
alternates, if appropriate, could be described in an
additional section on possible implementations. I
would note that the course defined on page 121 is
not nearly as well specified in its appearance as
other courses and this further detracts from it.
An advocate of the alternative sequence argues:
I am of the school that prefers to view the operating
system as an extension of the hardware architecture.
Hence, I feel that there must be a close tie-in
between courses in these areas . . . The alternative
series deserves up-front identification with pros and
cons clearly identified, and perhaps the model curricula should take a position on which is the "preferred"
approach. A macro look at the curricula does not
give any hints as to even the fact that there are
alternatives.
Another advocate of the alternative sequence argued:
I recommend the "combined" approach to operating
systems ... Some of the more theoretical aspects of
operating systems belong in a graduate-level course.
Also, I question any emphasis on teaching a student
how to "design" an operating system before he's
118
learned how to use one. I think that industry
would prefer the student learn how to cope with an
operating system first.
Still others felt the curricula unduly emphasized operating
systems. One wrote:
Too much emphasis is placed on operating systems.
Software engineering is concerned with the specification, design, and construction of software systems.
Students should have a broader contact with other
kinds of systems, e.g., data base management
systems (partly contained in Data Structures III),
systems for real-time process control, etc.
SE-4, Translators and Translator Writing Systems.
Most reviewers considered this course together with
SE-1.2.2. Independent comments were that the course
looked good and that the description was too brief.
Theory of computing subject area
As mentioned earlier, few reviewers provided specific
comments on the theory of computing area, which they
rated 3.33. They gave no general comments on the area.
TC-1, Discrete Structures. One reviewer said he felt this
should be a mathematics service course; however, it is
most commonly taught by computer science departments.
An industrial reviewer with some experience teaching a
similar course thought it covered too much material for
an undergraduate course without prerequisites. He suggested dropping the modules on groups and semi-groups,
lattices, and finite fields.
TC-2, Analysis of Algorithms. One reviewer suggested
emphasizing design, retitling the course "Design and
Analysis of Algorithms," and revising the course outline
correspondingly.
TC-3, Automata and Formal Languages. The only
reviewer to comment on this course suggested stressing
LR(k) and parsing much more to benefit computer'
engineers.
TC-4, Theory of Computing. No reviewer discussed this
course.
Laboratory sequence
The laboratory sequence, rated 3.71, received generally
favorable reviews. Comments ranged from "This program
is excellent," through "Courses are reasonable; some
descriptions are sketchy" to "Seems ok." Longer and
more philosophical comments included:
L-1 and L-2 seem reasonable, probably because this
sort of thing is already being done. The rest seem
like little more than suggestions as to things that
might be done. There is little here that is much help
in actually doing it.
The laboratory sequence is a well-planned sequence.
Its success will depend upon the teachers who put
together the experiments and projects and who tea'ch
the courses.
The laboratory program is an important part of any
curriculum. However, if there are too many, they
become "cookbook" type labs. One or two introductory labs should introduce students to the necessary
techniques. Later labs should be problem-solving
labs where the student must take on and solve one
COMPUTER
or at most two major problems during the semester.
The details about specific components, software, etc.
should be learned by going to references and reading.
This is what will be required after graduation.
L-1, Digital Lab. Reviewers thought this was "pretty
sketchy," especially considering the number and age of
ongoing laboratory courses on this topic. One reviewer
commented on the importance of this lab.
L-2 Minicomputer Lab. Reviewers considered this to be
an important lab. One, bucking the tide of existing labs
in this area, commented:
Logic Lab is not a necessary prerequisite. I think
Minicomputer Lab should teach computer organization, not assembly language and programming tools
(i.e., papertape, TTY, debugger, console). Therefore,
I don't like this outline.
L-3, Microprocessor Lab. Reviewers commented on the
sketchy description of this lab. One wrote, "There are
enough microprocessor labs around now that it ought to
be possible to come up with something more definite."
L-4, Digital Devices and Associated Components Lab.
The main comment on this lab is that it could be
reduced from two credits to one, given that D-4, Digital
Devices and Associated Components, is a corequisite.
L-5.1 and 5.2, Systems Design Laboratories. These labs
were considered to be too heavy on corequisites-two
courses for the first lab and three for the second.
Procedural issues
One reviewer was highly critical of the report. Most of
the substantive issues he raised have been noted earlier,
but he also raised several procedural issues that should
be considered in evaluating the report. He argued that
because the model curricula were not developed by a
"well-funded, broad-based group," the report should not
be issued without substantial refinement and additional
evaluation. In his words:
The development of a model curriculum which
attempts to set itself up as a standard for higher
computer engineering and science education in the
United States is a major undertaking which must
be done in a well-organized and well thought out
manner. Once such a model curriculum is published,
it can have a number of unintended influences upon
the discipline that it is trying to serve. Thus the
development of a model curriculum should be carried
out by a well-funded, broad-based group which has
considerable input from the people it purports to
serve.
In reading over the draft report, I quickly came to
the conclusion that the proposed curriculum does
not meet this important objective.
The committee working on this project is not, as far
as I know, well funded. It has had to draw upon
participants on the basis of their ability to fund their
own investment in this work ...
No major attempt has been made to obtain broad-
based inputs from those departments which actually
have a well-developed computer science or computer
engineering curriculum...
What is needed is a well-organized and carefully
selected group of experienced and respected professionals from the computer area to get together and
pull the report into a much more coherent form.
December 1977
The persons selected should not be limited to the
members of the current Task Force but should be
drawn from those engineering departments which
have extiisive experience in organizing and operating
undergraduate and graduate programs and from the
industrial area which are deeply involved at the
forefront of computer application and design.
If the IEEE Computer Society wishes to assume
the responsibility of defining a model curriculum,
then it should see that the funds are available
to insure that those persons selected in developing
the curriculum have the financial resources necessary
to meet and develop the curriculum. The curriculum
should then be circulated to the departments with
undergraduate computer programs for their comments and input. A final report then should be prepared which would better reflect the needs of an
undergraduate computer curriculum.
Future Plans
The reviewers were asked to recommend how frequently
the report should be updated and what additional areas
the committee should pursue. The reviewers thought that
the committee should update the report frequently;
suggestions ranged from yearly to every three or four
years. A representative comment was:
Curriculum review should be an ongoing activity at
all institutions of higher education. Updates may be
needed only rarely, but the need for an update should
be considered at least once every two years, and
preferably every year.
The reviewers thought a natural way to update the
report would be to get reactions of instructors who were
using it. One reviewer wrote:
It seems to me that the best way to update this
report would be to obtain feedback from people who
try to initiate or integrate portions of their curriculum
into their CSE programs. The problems that arise
when implementing a course or sequence of courses
as well as their solutions could be useful in updating
the model curriculum. Alumni of a model curriculum
could provide interesting comments on their education if a way could be found to obtain their comments.
Two major areas for future work emerged. Several
reviewers commented on the desirability of developing
a complete BS curriculum, showing mathematics, science,
engineering, and liberal arts courses, in addition to the
CSE courses discussed in this report. Engineering educators were concerned with curricula that would satisfy
ECPD guidelines.
The second area of interest was developing a CSE minor,
preferably drawing from courses proposed in the report.
One reviewer described the situation as follows:
One area this committee may look into is to develop
options to allow students in other areas to have a
strong CSE minor. The trend seemns to be that most
other fields will be utilizing computers for specialized
applications. Students need to acquire certain "CSE
skills." Courses like "applications of mini and micro
computers," together with microprocessor course
and lab, plus the basic introductory course, could
form a "strong" minor for a mechanical engineer
specializing in process control. A two-course sequence
in data management and data base design may be
excellent for students from business school. Furthermore, these courses will also be good for the CSE
majors as industry wants more professionally oriented graduates than academically oriented ones.
119
Appendix A. Reviewers
Julius A. Archibald, Jr., State University of New York,
Plattsburgh
Taylor L. Booth, University of Connecticut
Gerald L. Engel, Virginia Institute of Marine Science
Harlow Freitag, IBM
S. J. Garrett, University of South Florida
Hellmut Golde, University of Washington
Ellis Horowitz, University of Southern California
Glen G. Langdon, Jr., IBM
Georgia Marszalek, National Semiconductor
Richard E. Merwin, Department of the Army
Gerald R. Peterson, University of Arizona
Harriett B. Rigas, Washington State University
Alan B. Salisbury, Department of the Army
Henry D. Shapiro, Sperry Research Center
Merlin Smith, IBM
Robert W. Taylor, IBM
John F. Wakerly, Bell Northern Research
Terry Welch, Sperry Research Center
Raymond T. Yeh, University of Texas, Austin
Martha Evans Sloan is an assistant professor
in the Electrical Engineering Department at
Michigan Technological University, Houghton, 'Michigan. Her experience includes research in statistical communications theory
at Lockheed Missiles and Space Company,
Palo Alto, California; and teaching junior
mathematics and science at Frankfurt Inter-
national School, Oberursel, Germany.
Dr. Sloan, the Computer Society's treasurer
and a Governing Board member, is also chairman of the Education Committee's Survey Subcommittee, and a member of the
Education Committee, Model Curriculum Subcommittee, and
Technical Committee on Computer Architecture. She was guest
editor of the February 1975 special issue of the IEEE Transactions on Education and a recipient of the Dow Outstanding
Young Faculty Award of the American Society for Engineering
Education.
She received the BSEE, MSEE, and PhD degrees from Stanford University, in 1961, 1963, and 1973, respectively.
Appendix B. Suggested outline for electrical and
computer engineering curriculum to meet ECPD
guidelines for accreditation
I
Freshman
Chemistry
Physics
English
Communications
Math (analyt. & calc.)
Hum. & soc. science
Computers
Sophomore
Math (linear alg. & diff. eq.)
Economics
Hum. & soc. science
Physics
EE circuits and lab
Eng. science
Computers
EE (electronics)
EE adv. circuits
EE (elective)
Eng. science
Hum. & soc. science
Computers
Junior
Senior
Adv. hum. & soc. science
Adv. course in eng. or EE
Computer science, EE, or math electives
semester
hrs.
3
4
3
3
8
6
6
33
7
4
3
4
3
3
6
30
4
3
3
6
3
12
31
3
3
24
30
Semester hours for typical courses to meet ECPD guidelines
Humanities and social sciences
15-18 hr.
Physics
6-8 hr.
Chemistry
3-6 hr.
3 hr.
Communications,
Mathematics
15 hr.
Economics2
4 hr.
14 hr.
EE (required courses)
Engineering science'
6-9 hr.
60+
Computer science, EE, or mathi
IEngineering science could include thermo, statics, dynamics, transport
phenomena, fluids.
IEconomics is optional but required at some schools.
ISenior electives in computer science or electrical engineering should
include a design-oriented course. This could be satisfied by microprocessors.
120
COMPUTER
Download