These reflections are in commemoration of the thirtieth anniversary of the
creation of the Department of Computer Science at the University of Iowa. I
have written this chronology in a personal style that reflects my subjective
viewpoint. Many individuals have made contributions to the department, but
unfortunately space permits only a summary of developments. See the
Appendix
for a historical roster of faculty.
Contents
The department was organized in the College of Liberal Arts within a Division
of Mathematical Sciences that included separate departments of Computer
Science, Mathematics, and Statistics. All three departments were housed in one
building (MacLean Hall) and shared administrative offices and secretarial
staff. Each department had its own graduate degree requirements and
individually offered courses at all levels. At the undergraduate level there
was a single divisional degree. Gerry Weeg was the chair of the new department
(and simultaneously director of the Computer Center). Gerry had served as my
thesis supervisor at Michigan State (in mathematics) and recruited me to join
the University of Iowa in July 1965 with a joint appointment between the
Computer Center, the Mathematics Department, and the newly formed Computer
Science Department. The third faculty member in the department at its outset
was John P. Dolch who also held a joint appointment with the Computer Center,
and was its former director. This faculty was supplemented by a couple of
instructors.
At the undergraduate level, the early curriculum included courses in FORTRAN,
COBOL, and assembly language programming. Graduate courses were offered in
operating systems, compiler construction, automata theory and computability,
and artificial intelligence. Classes in numerical analysis continued to be
listed in mathematics where they had originated, but since this was one of
Gerry Weeg's primary interest areas it was a strong area of cross-over. A
number of graduate-level mathematics courses were typically taken by Ph.D.
students. Both M.S. and Ph.D. degrees had written comprehensive exams that were
taken when course work was largely completed. For the M.S. degree, a thesis was
an optional substitute for the comprehensive exam. Of course, there was the
customary research thesis (and defense) for the Ph.D.
The Computer Science Department had no computing equipment of its own. Both
faculty research and programming classes were served by the facilities at the
Computing Center, a campus-wide academic service unit. The Center provided a
traditional batch-oriented, large mainframe service common during this period.
Our center was an IBM shop, running an IBM 7040 at the outset, and acquired an
increasingly powerful series of models of the IBM 360 line beginning in 1965.
Students (and faculty) went to the Computing Center to keypunch
their programs and data, and submit their card
deck to an operator. The submitted card decks were "batched" and run in
succession. Sometime later you would return (four hour turn-around was typical
for "normal" jobs) to retrieve the deck and a printout. Having a department
chair who was also the Director of the Center proved to be highly advantageous
in this situation. By the fall of 1969 a system known as CPS was available. CPS
was an interactive system based on the PL/I language, and provided incremental
compilation. Unfortunately, resources (e.g., terminals and processing capacity)
were insufficient to support this system for class instruction. However, the
appreciation for the rather unique circumstances of teaching beginning
programming led to the early acquisition of "in-core" translators that would
process a series of small jobs, rather than treating each one as a separate
run. This, together with the advance to a multi-processing operating system,
led to turn-around of an hour for short student jobs.
In addition to the close ties of early faculty with the Mathematics Department,
the department's close relationship with the Computer Center had a significant
influence on its early development. Computer access for classes and research
was facilitated. The cross-over of personnel led to a departmental emphasis on
various aspects of software systems and programming. The fact that computer
science was not in the Engineering College led to much of the responsibility
for hardware and computer architecture being left to the Department of
Electrical Engineering (which has since become the Department of Electrical and
Computer Engineering).
During this period there was extensive nation-wide debate over just what the
definition of this newly emerging discipline should be, and discussions of
curriculum were never ending. Not only was the discipline too new to have
established academic traditions, but new work that profoundly advanced the
discipline was appearing constantly. New developments had unavoidably immediate
impact on the curriculum at all levels. Substantial course revisions were
needed at virtually every offering of every course, and the introduction of
brand new courses continued at a brisk pace. Invariably in this situation,
textbooks were out of date, further complicating class preparation. While there
had been several earlier curriculum proposals, in 1968 the first proposal to
achieve significant acceptance appeared ("Curriculum '68", Comm. ACM 1968)
and this subsequently helped to bring a modicum of
uniformity to the field (though it certainly did not end the debates). By 1970
new departments of computer science were appearing more and more frequently. It
was clear that the new discipline had wide-spread academic acceptance.
The department grew slowly at first. Senior administrative officials of the
university were unsure what our new discipline was, and what its role ought to
be. This made their responses to requests quite conservative despite a healthy
financial outlook for the institution and its rapid overall expansion. This was
compounded by the fact that Gerry Weeg was wearing two administrative hats, and
that problems in the Computer Center were generally more politically
compelling. Five years after the department began, there were six regular
faculty (see the Appendix for personnel details), the
graduate enrollment had
grown to over 50, and the undergraduate contribution to the divisional degree
was non-trivial.
In 1970 separate "tracks" were identified within the single divisional
undergraduate degree. Several additional courses were provided, most notably
the beginning programming course was expanded into a two course sequence with
the first course remaining in FORTRAN while the second used PL/I. Initially the
computer science track attracted little attention, and the number of students
selecting this track grew slowly until in the fall of 1974 there were 65
students.
Don Epley had a joint appointment between electrical engineering (where he had
earlier served as department chair) and computer science for several years, and
then in 1972 he moved over full-time to computer science. Because of the heavy
administrative burden of Gerry Weeg's two major assignments, in 1973 he stepped
down as department chair and Don Epley assumed the chairmanship of the
department. Gerry continued to hold a partial faculty appointment in computer
science. However, later that same year he was struck with a major illness and
he never did participate seriously in the department again.
When Don Epley began as chair, he set a high priority on establishing a
separate undergraduate degree in computer science. This was consistent with the
development of the discipline, and was the national trend at this time.
Interest at the undergraduate level was growing, both on campus and nationally,
and it was natural that our department respond to this impetus. Most of the
necessary courses were already being offered in the computer science track of
the divisional degree, so the changes were largely organizational. Separate
undergraduate degree programs (B.A. & B.S.) began to be offered in 1975 and
with this change the department immediately had over 100 undergraduate
majors.
At the end of its first decade, the three initial faculty in the department had
increased to ten. The curriculum had grown with the discipline and had expanded
substantially. The department had awarded 16 Ph.D. and 91 M.S. degrees.
Graduate enrollment was stable at around 60. And new undergraduate degrees had
just been initiated. Phase I of the remodeling of MacLean Hall had also just
been completed, relocating and modernizing faculty offices, expanding the
divisional library space, and providing additional classroom space.
Campus-wide growth in the use of academic computing led to much greater
demands being placed on the computer equipment at the Computing Center. This in
turn led to the necessity for greater controls to be placed over the use of the
equipment. In particular, systems research of all kinds was inconsistent with
the primary, campus-wide mission of the Computer Center. This led to Computer
Science establishing its own research-oriented computing facility in 1976,
initially with a Burrough's B-1700 and related equipment.
In the latter part of the 1970s, undergraduate enrollments in computer science
began to grow at an astonishing pace. By 1980, there were about 450
undergraduate computer science majors. This was not just a local phenomenon,
but a circumstance that was national in scope. The economy generally was
sluggish and jobs were scarce, except in computing where individuals with
technical background were in great demand. This job market led many students to
select a computer science major, and a significant number of them did so even
though they had an active dislike for the character of the discipline. Even
though the divisional undergraduate degree was not eliminated when Computer
Science began offering a separate major in 1975, the vast preponderance of
students selected the computer science major rather than the divisional
degree.
Between the fall of 1980 and the fall of 1981, the number of majors grew from
450 to about 650. The press of students entering the undergraduate computer
science program created a situation that was intolerable for both students and
faculty. The College of Liberal Arts had an open admissions policy, and it was
a student's prerogative to "declare" his/her major. As a state university it
was unacceptable to set caps on enrollment (except in the professional
schools). So classes ballooned in size, and even upper-level courses took on a
"large lecture" format, generally with no associated small lab style contact.
The departmental committee that had been established to administer the
undergraduate program and advise students was swamped with over 100 advisees
each. The situation was completely out of control.
To gain some form of authority to control the unmanageable levels of
undergraduate enrollments, in 1981 the department sought (and was granted)
permission to institute a pre-computer science status for its undergraduate
majors. When students declared the intention of a computer science major, they
were initially placed in this status until they had completed the first four
required courses of the major. Upon completion of the first four courses,
students were admitted to the major only if this early work met an established
grade-point threshold. While this did not place a cap on enrollment, it did
seem to provide a means to influence the number of majors. However, despite the
introduction of this filtering mechanism, by the fall of 1982 the combined
total of majors and pre-majors had grown to over 800, and it remained at this
level for two more years.
The explosive growth in undergraduate computer science majors was by no means a
local phenomenon. Virtually every computer science department in the country
had a similar experience. This led to universal efforts for faculty expansion.
Unfortunately, production of computer science Ph.D.s did not even come close to
keeping pace with the resulting demand. Throughout this time period, the number
of computer science Ph.D.s being produced remained at around 200-300 per year
while the number of available positions was three to five times that.
This resulted in profound staffing problems
for the discipline which in turn fomented an exceptionally high turn-over rate.
This situation was widely recognized as a crisis for the discipline ("A
discipline in crisis", Comm. ACM 1981). Our department lost numerous faculty
at both the junior and senior levels. Since our university administration did
not permit recruiting for senior faculty, these retention difficulties not only
led to a "churning" of our faculty, but created a serious imbalance in the high
proportion of junior faculty.
By the mid-1980s, undergraduate enrollment pressure had begun to decline. By
the fall of 1985, the combined total of undergraduate computer science majors
was down to around 600. Our pre-major status had some effect on this locally.
Actually, the greatest effect seemed to be the impact that the impression of a
demanding curriculum had on self-selection. However, there was a nation-wide
decline in computer science enrollment during this period so other factors were
also operating. On the other hand, the number of graduate applications was
sky-rocketing. With a total graduate enrollment of less than 100 students, it
was possible to matriculate only a fraction of that number each year, perhaps
20-25. But the number of applications per year was often greater than 500,
although the vast majority of these were from foreign students.
Despite the hectic activity caused by the high undergraduate enrollments during
this period, the curriculum continued to be developed. Offerings were
introduced in database, communications & networks, algorithm analysis, and
software engineering, and courses in operating systems were expanded. Also
during this period our beginning two course programming sequence was revised to
use a single language, first PL/I in 1976, and then Pascal in 1982.
There was an increasing demand for utilization of the departmental research
lab. Under the vigorous leadership of Bill Decker as its director, this
computing facility became an increasingly important resource for the
department. In 1982 a DEC VAX 11/780 replaced the Burrough's machine, and an
early nation-wide network connection (CSNET) was established. Subsequently a
sizable equipment donation by Apple Computer Corp. helped with the expansion of
the workstation network.
In 1984, I began the first of two terms as department chair. The prolonged
frantic activity associated with the undergraduate program had extracted a
heavy toll on the department. The faculty configuration was badly out of
balance with the department's responsibilities. Faculty productivity in
research was lagging, and it had become important at that point to reinvigorate
the faculty's scholarly activities and to re-establish the balance between the
department's graduate and undergraduate programs. The easing of undergraduate
enrollment combined with very strong graduate applications at this time to
facilitate this re-orientation.
In the course of its second decade, the department had gone from a brand new
undergraduate CS degree with 110 majors in 1975, to a peak of over 800
majors (including pre-majors) in 1983, back to about 600 majors in
1985. In the meantime, the graduate enrollment had increased modestly from 80
or so to around 100. The regular faculty had increased from 10 in 1975 to 16 in
1985, plus several visiting faculty. Staffing changes had in no way kept pace
with enrollments, and the biggest effect of the undergraduate enrollment surge
on the departmental configuration was in the number of teaching assistants
which increased from 10 HTE (half-time equivalent) in 1975 to over 35 HTE in
1985. And in 1983 the last publicly accessible keypunch was removed from
campus.
As noted in the previous section, the turn-over of junior faculty had been
severe. In 1986 tenure decisions in the department arose for the first time in
ten years. However, the research productivity of these individuals had been
significantly impeded by the disruptive departmental environment described
previously, and despite the department's favorable recommendations, the
candidates were unsuccessful in securing tenure in most cases. This situation
had a very negative effect on department morale and further compounded the
imbalance in the configuration of the department's faculty -- at one point
early in this third decade only four of the department's 16 faculty were
tenured.
In the latter part of the 1980s, undergraduate enrollment continued a steady
decline, both locally and nationally. So while earlier student numbers made it
impossible for the department to provide a high quality educational experience
for undergraduates, the situation was gradually returning to reasonable levels
in the first half of this third decade. By 1990 the number of undergraduate
majors was around 250, and it has remained fairly stable at around this number
right up to the present. Graduate student enrollment (over which the department
has always had direct control) was kept at about 100-110 students throughout
this decade. So finally, some other issues could be confronted by the
department.
For quite a few years, the management of the near-by Rockwell Corp. facility in
Cedar Rapids had sought to have a computer science graduate program offered on
site. The department was unwilling to invest the additional effort in teaching
and travel time that this would entail, so despite several initiatives by
Rockwell, no resolution appeared possible. Finally, Rockwell made a substantial
donation to the university that included funding for the construction of a
closed-circuit television system. This comprised not only the audio/video
equipment and transmission facilities, but a broadcast studio on campus and a
televideo classroom at Rockwell in Cedar Rapids. The facility provided for
two-way audio and video transmission, and remote students had the ability to
interact in questions and discussion. The university's central administration
was persuaded by this to begin offerings of courses Rockwell desired, and
agreement by computer science was eventually reached. In the spring of 1986,
the department initiated the offering of most of the courses needed for an M.S.
degree in Computer Science via closed-circuit television. The remote delivery
is accomplished by adapting regular on-campus courses to the media requirements
necessary for simultaneous televideo transmission. Typically this is done for
three or four regular on-campus courses each academic year.
Early in my second term as department chair (in 1987), I determined that I
would not seek to serve further in this position when the term ended (in 1990).
As noted, the department had not had an adequate number of senior faculty and
as the time approached, there were no internal candidates for the position. The
Dean at the time refused to permit the department to conduct an external search
for a chair. He also found a temporary arrangement that the department proposed
to be unacceptable. Instead he insisted on identifying a senior faculty member
of his choosing from another department to serve a term as department chair.
The Dean selected Jonathan Simon from the Department of Mathematics (a
topologist) to serve as chair beginning in the fall of 1990. So for the first
time, and at a belated point in its history, the department came to be led by
someone with no involvement in its discipline.
With someone unfamiliar with the discipline exerting leadership, the objectives
of the department lost some coherence, and divisiveness began to develop.
During this period the discipline finally began producing new Ph.D.s in sizable
numbers (up to 1000 per year). As it developed, at the same time an economic
down-turn caused major layoffs in the computer industry and a simultaneous halt
to the expansion of academic departments. This resulted, for the first time in
the history of the discipline, in a glut of computer science Ph.D.s. Large
numbers of highly qualified faculty applicants were available and this made
recruiting a buyer's market. Jon Simon had definite ideas about faculty
recruiting and he chose to promote appointments in application areas for three
faculty openings which developed during his term.
In an effort to enhance its research productivity, the department sought to
involve its graduate students in research earlier in their program. To
facilitate this, the department-wide written examinations for the M.S. final
exam and the Ph.D. qualifying exam were replaced by project oriented
presentations evaluated by individual student committees. This approach
encourages students to become engaged in research more quickly, but at the cost
of less uniform assessment of preparation and ability. Faculty opinion on the
merits of this change was mixed, and so far it has had little impact on the
department's Ph.D. production (which continues to average about 3.5 per
year).
At the end of Jon Simon's term as chair in 1993, Joe Kearney (the most senior
member of the vision/robotics group) was selected to chair the department. By
this point the passage of time had helped to alleviate the faculty balance
problems that had been so prominent earlier. The accumulating maturity of the
faculty had been recognized through the promotion process, and only about a
third of the regular faculty were non-tenured at this juncture. Also, two
partial (joint) appointments at the full professor level had been added since
1990. This provided far better faculty balance and permitted the many
responsibilities for managing routine departmental matters to be given
increased attention.
The curriculum had also continued to evolve. A software engineering subtrack of
the M.S. degree was initiated in cooperation with the Electrical and Computer
Engineering department. In AI, computer vision and robotics, and automated
theorem proving were significantly expanded. And courses were augmented to
include functional, logic, object-oriented, and parallel programming. In
conjunction with the return to reasonable undergraduate enrollments, the
pre-computer science entry status into the major was terminated. As its third
decade drew to a close in the spring semester of 1995, the faculty voted to
commence its fourth decade in the fall semester of 1995 using C/C++ as the
language in its beginning undergraduate sequence for majors.
The department's physical facilities changed substantially over the course of
this decade. Phase II of the remodeling of MacLean Hall (after a 15 year
hiatus) was completed in 1991. This phase of the remodeling added faculty
office space, and significantly modernized and expanded laboratory space for
both instructional and research computing. However, this was at the cost of
moving all graduate assistant offices out the building. Through the successful
external funding efforts of several of the faculty, two substantial equipment
donations by the Hewlett-Packard Corp., and with added support from the
university, major additions were made to departmental computing facilities.
This has led to shifting much of the earlier reliance on the Computer Center
for instructional support over to internal departmental facilities.
Over its 30 year history, the department has awarded over 1200 bachelor's
degrees (not counting divisional degrees), 500 master's degrees, and 75
doctoral degrees. Collectively the department's faculty and its graduates have
contributed in many ways to the university and to the evolution of our
discipline.
Appendix
Donald Alton (Cornell Univ.) -- 1970/
Getting started -- 1965/1975
In 1964, Gerard P. (Gerry) Weeg came to the University of Iowa as the
Director of the Computer Center with a joint appointment in the Department of
Mathematics. In the span of one short year, he managed to obtain approval for
the creation of a new Department of Computer Science. The Computer Science
Department came into existence at the start of academic year 1965-66 as a
separate unit with the authority to offer masters and doctoral degrees. This
made it one of the early departments of computer science to be established as
an autonomous unit. The computing field was already past its infancy at this
point, but in computing terms this was a long time ago -- for example, the
Pascal programming language, the UNIX(a trademark of AT&T) operating
system, and the computer mouse had not yet been invented in 1965! Thirty years
is a "blink of the eye" in historical terms, but in computing a lot can happen
in the blink of an eye.
Surviving the boom -- 1975/1985
The department's second decade brought many sweeping changes. Gerry Weeg
died in 1977 after a prolonged illness. In 1978, in appreciation for his many
contributions, the University of Iowa renamed its computer center the Gerard P.
Weeg Computing Center. An associated memorial conference
brought numerous illustrious individuals from the field
of computing to campus. Also in 1977 John Dolch, a second founding faculty
member of the department, died. Then in 1978 Ted Sjoerdsma, who had been Gerry
Weeg's student (and who eventually completed his Ph.D. under the supervision of
Don Epley), became department chair. The department had definitely passed into
its "second generation".
Gradually maturing -- 1985/1995
By 1985 the department had gotten through its awkward teen-age years.
Unfortunately, that did not mean that the awkward years ended. The first half
of this decade proved to be one of the department's most difficult periods.
History of Faculty Appointments
Jack Anderson (Iowa State Univ.) -- 1968/69
Marc Armstrong (Univ. Illnois) -- 1984/91
Ted Baker (Cornell Univ.) -- 1979/82
Bruce Barnes (Michigan State Univ.) -- 1968/69
Robert Baron (Cornell Univ.) -- 1970/
Venkat Bhat (Univ. Hawaii) -- 1977/83
Maria-Paola Bonacina (State Univ. New York, Stony Brook) -- 1993/
Keith Brinck (Univ. Sydney) -- 1984/86
Steven Bruell (Purdue Univ.) -- 1985/
Jean Butler (Univ. Washington)-- 1976/77
James Calhoun (Oklahoma State Univ.) -- 1979/84
Robert Christiansen (Univ. Iowa) -- 1984/92
Andrzej Ciepielewski (Royal Inst. Tech., Stockholm) -- 1990/91
David Cohen (Univ. Michigan) -- 1985/89
Oliver Costich (Michigan State Univ.) -- 1970/73
James Cremer (Cornell Univ.) -- 1992/
Adrienne Critcher (Univ. Iowa) -- 1978/81
William Decker (Univ. Iowa) -- 1978/
Mahesh Dodani (Central Florida Univ.) -- 1988/95
John Dolch (Univ. Iowa) -- 1965/77
Denise Eckstein (Univ. Iowa) -- 1976/77
Donald Epley (Univ. Illinois) -- 1972/
H. (Jim) Farver (Univ. Iowa) -- 1966/67
Arthur Fleck (Michigan State Univ.) -- 1965/
Margaret Fleck (Massachusetts Inst. Tech.) -- 1991/
Ray Ford (Univ. Pittsburg) -- 1980/88
David Forsyth (Oxford Univ.) -- 1991/94
Sukumar Ghosh (Calcutta Univ.) -- 1984/
Hans Gyllstrom (Univ. Iowa) -- 1971/72
Robert Haymond (Univ. Oregon) -- 1966/67
Stephen Hedetniemi (Univ. Michigan) -- 1967/72
Ted Herman (Univ. Texas, Austin) -- 1991/
Michael Jipping (Univ. Iowa) -- 1986/87
Douglas Jones (Univ. Illinois) -- 1980/
Joseph Kearney (Univ. Minnesota) -- 1983/
Fredrick(Ron) Keller (Kansas State Univ.) -- 1976/80
Nabil Khabbaz (Univ. Iowa) -- 1980/84
Jeffery Kingston (Univ. Sydney) -- 1984/87
Hyeongseok Ko (Univ. Pennsylvania) -- 1994/95
Chen-ho Kung (Norwegian Inst. Tech.) -- 1986/89
Mamoru Maekawa (Univ. Minnesota) -- 1971/72
Christopher Marlin (Univ. Adelaide) -- 1977/81
Donald McClain (Iowa State Univ.) -- 1971/72
Jerrud Mead (Univ. Iowa) -- 1977/78
Amar Mukhopadhyay (Calcutta Univ.) -- 1969/77
Monagur Muralidharan (Indian Inst. Tech.) -- 1986/91
Gregg Oden (Univ. California, San Diego) -- 1990/
Hyung-sik Park (Northwestern Univ.) -- 1987/91
Sriram Pemmaraju (Virgina Tech.) -- 1993/
Florian Potra (Univ. Bucharest)-- 1992/
Larry Ragland (Univ. Texas, Austin) -- 1969/75
Morteza Rahimi (Univ. Iowa) -- 1967/68
Ann Reedy (Univ. California, San Diego) -- 1974/76
Teodor Rus (Romanian Acad.)-- 1983/
Roger Shultz (Iowa State Univ.) -- 1982/87
Ted Sjoerdsma (Univ. Iowa) -- 1976/84
Kenneth Slonneger (Univ. Illinois) -- 1982/
Edward Towster (Univ. Wisconsin) -- 1970/75
Stanley Walljasper (Univ. Iowa) -- 1965/69
Gerard Weeg (Iowa State Univ.) -- 1965/77
Dan Willard (Harvard Univ.) -- 1979/79
Chung-shin Yang (Cornell Univ.) -- 1974/78
Yao-Tin Yu (Univ. Texas, Austin) -- 1983/84
Hantao Zhang (Rensselaer Poly. Inst.) -- 1988/
This document is available in hardcopy as technical report 95-09.
A shortened version is to appear in
IEEE Annuals of the History of Computing.