In IEEE Annals of the History of Computing, Vol. 18, No. 1, 1996, pages 70-76 The History of Computing Science at the University of Alberta Keith Smillie recounts personal recollections of how computing science found a place in the traditional structure of a university The 1950s-Origins Computing began at the University of Alberta long before the first electronic digital computer was introduced. In 1929 Professor J.W. Campbell of the Department of Mathematics published a small book of mathematical tables, some of which he had himself prepared on a hand calculator. In the 1940s there were only one or two electric desk calculators in the whole department, although students taking elementary statistics had access to small Monroe calculators that were cranked by hand. By 1962 many of the old calculators were almost om out, and some newer types of hand calculators, probably Odhners, were purchased. A little later some electro-mechanical calculators and a few electronic models were purchased. The first use of an electronic computer was probably in the Department of Physics, which in May 1957 established a link with the Ferranti Computer, known as FERUT, in the Department of Physics at the University of Toronto. It used World War I1 vacuum tubes and occupied a large room. Input and output was by five-hole punched paper teletype tape. The machine had the capacity of one of today’s programmable pocket calculators but was much less reliable. Although a crew of eight engineers was required for maintenance, it could not be depended upon to run without failure for more than half an hour or so. The Edmonton terminal was a teletype machine in a closet in the basement of the Arts Building. The National Research Council paid for the computer time. It was used one evening a week throughout the summer of 1957 by several faculty members in the Department of Physics and their graduate students. In the same month that the link was established with FERUT, the president of the university, Dr. Andrew Stewart, appointed a “Committee on Electronic Equipment” to make an assessment of computing needs at the University. In July the Committee recommended the purchase of an LGP-30 at a price of $40,000 dollars. The computer was installed in October making the University of Alberta the third university in Canada to acquire a computer, after the University of Toronto and the University of British Columbia. The LGP-30 was installed in the basement of the Arts Building but was moved later to the Arts Building Annex. The Computing Centre started as an open shop with the users doing their own programming. Technical assistance to users was furnished by students who gave full-time support during the summer months and part-time support during the academic year. One of these students was Ursula Bielenstein-now Ursula Maydell-who became the first full-time employee of the Computing Centre. In January and February of 1960 Bill Adams, another supporting student, gave one of the first programming courses at the university consisting of 12 evening lectures for the Department of Extension on programming the LGP-30. (Ursula and Bill joined the academic staff of the department after completing their MSc degrees. Bill retired in 1992 while Ursula is still a member of the Department. The 1960s-Formation The LGP-30 was managed by the Committee on Electronic Equipment until November 1960 when Donald B. Scott, professor of physics, was appointed director of the Computing Centre with a mandate to offer computing services to the university. By the fall of 1960 the computer was being used 24 hours a day, seven days a week. The university was unable to raise the $240,000 needed to purchase a used IBM 704 computer from IBM. The Committee on Electronic Equipment then recommended the rental of the much smaller IBM 1620 Data Processing System at a cost of $3,126 a month. The IBM 1620 arrived in May 1961. It was intended primarily for research while the LGP-30 was to be kept for teaching. The LGP-30 remained in use until the middle of 1963. After the arrival of the 1620 the Centre continued to be operated on an open-shop basis. However, as the demand increased a change was begun to a closed-shop operation with Computing Centre staff operating the equipment. In April 1963 a completely closed-shop operation was implemented. The 1620 was replaced during the summer of 1964 by an LBM 7040/1401, and in the summer of 1967 this system was replaced by an IBM 360/67, which remained in use until the mid-1970s. The first courses given and degrees granted were through the Department of Mathematics. In 1959/60, Mathematics 460: Numerical Analysis was given. It covered a number of topics in interpolation, finite differences, linear algebra, and differential equations. The following year a graduate course, Mathematics 640: Advanced Numerical Analysis was added. The first course devoted to computers was Mathematics 641 : Automatic Digital Computers and Programming, which appeared for the first time in the 1961/62 calendar. It covered a variety of topics in number systems, logic, computer design and organization, and programming. A prerequisite was some knowledge of elementary coding, and during the course students were required to solve several problems on the computer. These three courses were given by John McNamee of the Department of Mathematics. By the 1963/64 academic year in addition to these courses the staff of the Computing Centre gave a total of five courses to students in Mathematics, Commerce and Engineering as well as a number of non-credit courses for university staff and for the Department of Extension. Also by 1964, eight graduate students studying in the Computing Centre had been awarded MSc degrees in Numerical Analysis through the Department of Mathematics. During the 1963/64 academic year the members of the Computing Centre finally convinced a sometimes doubting Faculty of Science that a separate department was needed, and the Department of Computing Science came into existence on April 1, 1964 with Don Scott being appointed department head. The choice of the name “computing science” instead of the more common “computer science” was intended to indicate that computing rather than computers was to be the foundation of the discipline. Initially there were five faculty members in the department. In addition to the courses mentioned previously, there was Computing Science 300, a Fortran programming course for engineers, and Statistics 256, an elementary introduction to probability, statistics and numerical analysis. The first introductory programming course for computing science students, Computing Science 3 10: Elements of Programming, appeared in the 1965/66 Calendar. The following year the BSc degree with Honors in Computing Science was listed in the calendar along with course descriptions of eight courses. The first MSc degree granted by the department was conferred in 1964. The first BSc in Honors Computing Science was awarded in 1968, the same year that the department’s PhD program was approved. The first PhD degrees were awarded in 1973. During these years several new faculty members were recruited, some of the original members left, and by the end of the decade the faculty had increased to 18. During the late 1960s the role of computing began to change at the university. The Computing Centre had been formed to provide a service to the university while the Department of Computing Science was an academic department in the Faculty of Science and offered its own courses and degrees. The 1970s-Consolidation In 1970 the Computing Centre became a separate organization under a director reporting to the academic vice-president. The Department of Computing Science became a user of the computing facilities as was any other department in the university. The separation of the Department of Computing Science from the Computing Centre was intended to make clear to the university the distinct functions of each organization and to improve the administration of each. Unfortunately, all of the equipment and most of the support staff were assigned to the Computing Centre. Thus one of the most urgent tasks for the Department in the 1970s was the acquisition of computing equipment to handle the teaching and research, which could not be done on the computer now administered by the Computing Centre. Don Scott was succeeded as chairman in 1971 by John Penny who served as acting chairman for one year. In the summer of 1972 Arthur Wouk, a numerical analyst from Northwestern University, became chairman. In 1976 John Tartar was appointed acting chairman for one year then became chairman for a five-year term. Very few new faculty were recruited in the 1970s. In the 1979/80 academic year there were only 16 faculty consisting of five assistant professors, nine associate professors and two professors. The number of courses increased during the same period from 51 in the 1971/72 academic year to 71 in the 1979/80 year with most of the increase being in senior undergraduate and graduate courses. In addition, throughout this period there was a dramatic increase in the number of students taking not only undergraduate and graduate courses leading to degrees in the department but also service courses intended for students in other departments and faculties. During the 1970s the department continued to use the computing equipment in the Computing Centre for teaching and research while at the same time acquiring a number of minicomputers of its own. By the end of the decade the department was operating over a dozen computers ranging from very small machines such as the PDP-8 to the PDP-11/45 and the Nanodata QM-1. Also a Minicomputer Laboratory with a microprogrammable computer was established to introduce students to different computer architectures. The Minicomputer Laboratory was discontinued in the early 1980s when microcomputers became available and there was much less need to study differences in computer architecture. Total enrollments in all computing science courses increased from 2,348 in the 1977/78 academic year to 4,590 in 1981/82. AU requests for the additional resources obviously required to meet this increasing demand for courses and for the supervision of graduate students were unanswered, and in June 1981 John Tartar resigned with one year left in his term as Chairman, feeling that it was futile to continue. Wayne Jackson was appointed acting chairman for a one-year term, taking over a thoroughly dispirited department, the staff of which could find little solace in the realization that many other computer science departments in Canadian and US. universities were faring similarly. During the summer Wayne prepared a report summarizing the department’s position and the resources that would he required for the department to meet its commitments. One graph showed that total weekly student hours per term per faculty member for the years from 1970 to 1981 had increased almost exponentially for Computing Science over the last part of the range, whereas the hours for the Faculty of Science and the University declined over parts of the period except for a slight increase in the last year. The situation in the department continued to worsen, and at the end of the 1981/82 academic year all four faculty who had joined the department in 1980 left. Lee White intensified the vigorous recruiting program begun by the two previous acting chairmen. Soon new faculty were being attracted to the department, with four coming in 1983, five in 1984, three in 1985, and seven in 1986. By 1989 there were 16 assistant professors, seven associate professors and eight professors in the department. By the late 1980s the department was occupying all of the sixth floor of the General Services Building, most of the third floor of Assiniboia Hall, and a dozen or so offices on the fourth floor of the Central Academic Building. In addition, a few graduate students were accommodated in the Printing Services Building. This dispersal of staff created serious problems in communication and morale, which were alleviated somewhat by the increased use of electronic mail. During the 1980s enrollment in courses in the department continued to grow. Computer Science became increasing popular as a discipline, and the development of the personal computer in the early 1980s made computer literacy the current educational fad. In 1984 the number of students entering the second year of the Honors and Specialization programs was limited to 110 a year. In 1988/89 limits had to be placed also on the enrollments in service courses. Two new academic programs were introduced in 1992. The first was the Industrial Internship Program, which allowed students at the end of their third year to spend 16 months in private industry before entering their final undergraduate year. It differed from other cooperative programs m providing an uninterrupted 16 month period of employment. The second new program was the Master of Science (non-thesis), which differed from the MSc program in that there was more course work and an essay rather than a thesis. It is intended for persons wishing more specialized training after a first degree before entering the work force. In the 1990s the department has tried to publicize its activities to former and prospective students. Among the publications are two intended to attract students to the undergraduate program-a small brochure entitled Department of Computing Science and a booklet Computing Science Undergraduate Program, which describes the undergraduate program in detail-and an 88 page booklet for prospective graduate students, Computing Science at the University of Alberta, which summarizes current research in the department. The annual Direct Access is intended for alumni and reviews current work and gives profiles of present and previous faculty. Teaching and Research At the time the Department of Computing Science was formed in 1964 there were eight credit courses and a number of non-credit courses. The emphasis in teaching and research was, in addition to programming languages, in such areas as numerical analysis, optimization, statistical analysis and algorithms, and logical design Thus the undergraduate degree could be considered to be a major in mathematics with a minor in programing. The first seven MSc degrees of the early 1960s before the department was created were designated Master of Science in Numerical Analysis, and were awarded through the department of Mathematics Although the thesis topics for many of the first MSc degrees awarded by the department of Computing Science were in numerical analysis, an increasing number were on topics in the implementation and use of programrming languages, computer graphics, and operating systems. As more faculty were added to the department during the late 1960s and the 1970s, the range of topics became broader and the number of graduate degrees granted increased. The undergraduate curriculum changed very little during the 1970s; however, fundamental changes were made during the 1980s. Not only did the new faculty who came during this period introduce courses in their own specialties, but the curriculum committee was influenced by computer science programs in Canadian and U.S. universities and by the curricula developed by the the Institute of Electrical and Electronics Engineers and the Association for Computing Machinery. By the end of the decade, the curriculum covered analysis of algorithms, artificial intelligence, compiler construction, computer graphics, computer organization, data base management, data structures, discrete mathematics and logic, file management, image processing, introductory programming, logical design, numerical methods, programming languages, simulation, switching theory, systems programming, and telecommunications. For many years the Specialization Program consisted of four streams:
Specialization programs by the Canadian Information Processing Society suggested that these streams imposed too great a constraint on students’ programs. On the recommendation of the curriculum committee the department abolished the streams and relaxed some of the requirements to allow students more flexibility in the selection of courses. The Instructional Support Group was established in 1987 to provide and maintain adequate laboratory facilities for courses. This included the selection and training of teaching assistants, organization and supervision of laboratories, assistance with the preparation of assignments and laboratory materials, and assessment of future hardware and software requirements. This group continues to contribute significantly to the quality of instruction in the department. During the 1980s the department set up joint programs with other departments and faculties. In 1980 a Computer Engineering program was established jointly with the department of Electrical Engineering to provide students with a good background in software topics such as programming languages, data structures, and file management as well as hardware topics such as electronics, digital logic, and microprocessors. The program was accredited by the Canadian Council of Professional Engineers in 1983. A Specialization program in Geo- Information Processing and Mapping was set up jointly with the Department of Geography in 1985 to give students an expertise in the application of computer science to cartography together with the necessary background in mathematics, statistics and geography. This program was terminated during the 1988189 year. Although there was cooperation between faculty with similar research interests, there were few formal working arrangements and no visible signs in the department of the types of research being undertaken. During the 1980s a number of research groups were established to promote cooperation among faculty with similar research interests and to establish laboratories where they could work with their students. The following listing of the research groups at the beginning of the 1990s may give some indication of the research being undertaken in the department:
---------------------------------------------------------------------------------------------- One graph showed that total weekly student hours per term per faculty member for the years from 1970 to 1981 had increased almost exponentially for Computing Science over the last part of the range. ---------------------------------------------------------------------------------------------- The department has received international recognition for its work in computer chess and checkers. The World Computer Chess Championship, held in Edmonton during the 1989 National Conference of the Canadian Information Processing Society, was organized by Jonathan Schaeffer and Tony Marsland. Jonathan’s program Phoenix was in the top 10 programs competing. A checkers program, Chinook, developed by Jonathan Schaeffer assisted by Joe Culbertson, Duane Szafron and a number of students came second in the United States National Open tournament in 1990 and thus became eligible to compete for the World Checkers Championship. In this 40 game match held in London, England in August 1992, Chinook lost to the reigning world champion by only two points. The department worked for several years with the department of Computer and Information Science of the Harbin Shipbuilding Engineering Institute in the People’s Republic of China, and in 1987 the two departments signed a formal agreement to provide for better cooperation and for the exchange of information. In 1988 an agreement was reached between the University of Alberta and the All-Union Research Institute for Systems Studies of the USSR Academy of Sciences for a four-year cooperative program in artificial intelligence and data bases. The main areas of research were heuristic methods of search, hierarchical data bases, and knowledge representation. The department has always taken an active part in the Canadian Information Processing Society, which has established several awards to students in the department. These are the Donald B. Scott Memorial Prize, which has been awarded since 1976, and the Computing Science Award and the CIPS Scholarship, which have been given since 1988. Profits from local conferences have helped support these awards since 1986. Hardware The LGP-30, which was purchased in 1957 for $40,000, weighed 800 pounds, occupied 22 cubic feet and required a floor area of eight square feet. The original installation consisted of the computer with a Flexowriter, a photoelectric paper tape reader, a paper tape punch, and an additional Flexowriter for the preparation of program and data tapes. The computer contained 113 vacuum tubes and 1,350 diodes. The recommended air conditioning was 1 1/4 tons for the equipment, an operator and two observers. (It was not stated what the observers were supposed to be observing.) Storage consisted of a magnetic drum with a capacity of 4,096 thirty-two-bit words. The clock speed was 120 kilocycles giving addition and multiplication times, inclusive of storage access, of 8,750 and 24,000 microseconds, respectively. The internal operation was binary so that all data had to be converted from decimal to binary on input and all output from binary to decimal. The IBM 1620 Data Processing System purchased in 1961 had 20,000 characters, expandable to 60,000 characters, of core storage and a paper tape reader and punch, which allowed input and output at rates of 150 and 15 characters per second, respectively. It was replaced later in the year by a new 1620 with a card reader and punch with speeds of 250 and 150 cards a minute, respectively, which was upgraded the following July with three IBM 7330 magnetic tape units. Arithmetic was performed on binary-coded decimal numbers of variable length. Addition, subtraction and multiplication were done by table lookup while division was by either a subroutine or an “automatic divide” feature. The times of arithmetic operations depended on the lengths of the operands, and for addition and subtraction on their signs and relative values. The addition of two 10 digit numbers took from about 1,000 to 1,800 microseconds and their multiplication about 17,000 microseconds. The original IBM Fortran I1 compiler was soon replaced by the FORGO “load-and-go” compiler and other programs available through the SHARE library. In 1963 the University of Alberta 1620 Tape System, written by Peter Csontos, Ron Davis and Barry Mailloux, was introduced. This system included the GO monitor, which allowed for job-to-job transition without operator intervention. In order to meet the increasing demand for computing time an IBM 7040/1401 was installed during the summer of 1964 and the 1620 was phased out during a three-month period. The new system consisted of a central processing unit with 32,768 words of core memory, six magnetic tape drives augmented later by more tape drives including those from the 1620 when that system was no longer used. Additional peripheral equipment obtained included a 1401 central processing unit with 4,000 characters of core memory, a 1402 card reader and punch with reading and punching speeds of 800 and 250 cards per minute, respectively, and a 600-line-perminute 1403 printer. The 7040/1401 system was controlled by a supervisory program, which handled the scheduling of jobs and the generating of accounting information. The use of the 7040/1401 increased so rapidly that in the summer of 1967 an IBM 360/67, which allowed time sharing, was installed and upgraded several times during the next few years By November 1969, the system had a total of 768,000 bytes of core storage, a drum, two disk units each with eight discs, eight tape drives, a CDC GRID display for interactive graphcs, two printers, two card readers and punches, and 56 terminal ports Several different operating systems were available for the 360/67 including IBM OS, which was used together with the Houston Automatic Spooling System HASP, in whch input jobs were read onto a disk, then processed according to priority, and the output stored on a disk for subsequent printing Another important system was the student-oriented batch facility (SOBF) developed by the Computing Centre, which allowed students’ programs to be processed much more efficiently and quickly than was possible before Students were issued “SOB tickets,” each valid for one run. Those who used up their allotment of tickets could purchase “SOB balls,” each costing a nickel and equivalent to one ticket, made of translucent plastic and despensed by a gum-ball machine, which had been bought at an auction The SOB Facility was used very heavily with up to 100 persons out of the 2,700 possible users waiting to submit program decks or pick up output at any one time. On January 1, 1971 the Michigan Terminal System MTS was adopted as the principal operating system for both terminal and batch work, and on April 1 of the same year a charging system was introduced for all users of the MTS system. The IBM 360/67 continued to be upgraded with additional printers and tape drives and by the end of 1974 was operating at full capacity. A year later it was replaced with an Amdahl 470 V6, which itself was upgraded and then replaced with an Amdahl580 Changes in university computing facilities during the latter half of the 1970s, which had a significant influence on the department include the acquisition of better hardcopy terminals and of display terminals, the installation of an optcal mark reader and laser page printers, and the replacement during the 1979/80 academic year of the SOB Facility by terminals. The first computer acquired by the department of Computing Science itself as distinguished from the Computing Centre was a used Digital Equipment Corporation PDP-9, which was purchased in 1970 for $19,700 dollars This system had 8K of 18-bit memory, an Extended Arithmetic Element to speed up multiplication, division and shifting, a teletype console and oscilloscope display, a paper tape reader and punch, and a card reader The cycle time was one microsecond; addition required two cycles Two 256K fixedhead disks having an average access time of 17 milliseconds were added shortly, and a Sykes Compucorder 100 cassette tape drive was added in 1972. The PDP-9 was used for a large number of small projects as well as for research in image processing, which was moved to the PDP-11/60 in 1977. The hour meter, which registered 6,634 hours when the PDP-9 was purchased, was at 15,993 hours when it was sold in 1980. In January 1973 a PDP-lU45 costing $45,000, of which $18,000 represented all of Tony Marsland’s research grant, was installed. The system had a 16K core memory, a removable disk of 1 2M words, a card reader, and a Centromcs dot matnx printer Tony proposed replacing the DOS-11 operating system with the UNIX operating system developed by the Bell Laboratories One reason for obtaining UNIX was that it would enable hm to match the Belle chess program developed at the Bell Laboratories on the PDP-11/45 aganist h s own program Wita, whch ran under MTS on the IBM 360/67. The fourth edi- tion of UNIX was shipped to the university in October 1973; it is believed to be the first version of UNIX used outside of AT&T. The PDP-I1/45 was for some persons the most significant of the department’s computers. On January 14, 1986 at 253 p.m. it registered 100,000 hours of use, an event marked by an appropriate celebration, after which it was formally retired. The PDP-11/45 was kept in the department in recognition of its important role in teaching and research. In 1974 the department purchased at a cost of $250,000 dollars a Nanodata QM-1, which was developed at the University of Buffalo as a universal microprogrammable computer. The original intention was to use the computer to emulate each of several minicomputers so that programs developed on this computer could he run on minicomputers. The emulators were never developed however, and the QM-1 was used for research purposes, one of which did involve the emulation of the PDP- 11. The QM- 1 was retired in 1984, never having been used to its full capabilities, and still remains in the department. Late in 1975 Bill Adams and Keith Smillie took delivery of an IBM 5100 minicomputer for use in their research and teaching in APL. The 5100 was a small computer by the standards of the day, measuring 17.5” by 24” by 8” and weighing 48 pounds. The cost including a printer was $1 8,300. It had an attached keyboard, a small screen allowing 16 lines of 64 characters, a memory of 16K bytes expandable to 64K bytes, a tape unit for permanent storage, and a communications adapter, which allowed the output to be displayed on a television monitor. The system fit conveniently on the top shelf of an audio-visual trolley with the printer on the bottom shelf. This system was used effectively for several years both in the classroom for teaching and in the office for course preparation and research. (The IBM 5100 was followed by the IBM 5150 and IBM 5160, which were better known as the IBM PC and the IBM XT.) By 1980 the computers purchased from Digital Equipment Corporation-there were several in addition to the PDP- 11/45-were presenting serious problems due to limited storage capacities and sixteen-bit word length. They were replaced in the early 1980s by four VAX 11/780s, each with a speed of 1 million instructions per second, 10 megabytes of main storage and one gigabyte of disk storage. They were called Pembina, Cadomin, Cave11 and Jasper. In addition a VAX 11/730 was acquired, and named Miette. Other computers obtained by the department during the 1980s included two Sun-1 workstations which were the second and third workstations in Canada, and a MIPS MI1000 with a speed of about 10 million instructions per second, 32 megabytes of main storage and one gigabyte of disk storage. An Imagen laser printer, one of the first in Canada, was obtained in 1982. When some of the department moved to Assiniboia Hall, an AppleTalk network with an Apple Laserwriter was set up to accommodate the printing needs there. The introduction of the IBM Personal Computer in 1981 and the Macintosh in 1984 had a considerable impact on all aspects of the work of the department. Soon each faculty office was equipped with either a workstation or a microcomputer (usually a Macintosh), or both, which were used for programming, electronic mail and document preparation. Two AppleTalk networks were established for the Macintoshes, one in the General Services Building and the other in Assiniboia Hall, which were connected by a fibre optic Ethernet link. In addition to personal computers the department has also purchased a large number of Sun workstations, linked by an Ethernet. Software Programming for the LGP-30 was done in machine language using an order code of 16 one-address instructions, each with a one character operation code followed by a four-digit decimal address. Arithmetic was carried out with one operand in the accumulator ---------------------------------------------------------------------------------------------- The computer contained 113 vacuum tubes and 1,350 diodes. The recommended air conditioning was 1 1/4 tons for the equipment, an operator and two observers. (It was not stated what the observers were supposed to be observing.) Storage consisted of a magnetic drum with a capacity of 4,096 thirty-twobit words.The clock speed was 120 kilocycles giving addition and multiplication times, inclusive of storage access, of 8,750 and 24,000 microseconds, respectively. ---------------------------------------------------------------------------------------------- register and the other operand in the specified memory location. The introductory paragraph of the 56 page programming manual was entitled What is programming and contained such interesting statements as “Programming the Royal Precision LGP-30 is basically simple. Understanding certain problems requires certain knowledge, however programming for the LGP-30 does not.” (Many persons undoubtedly disputed these statements as they read further.) A description of the structure and programming of the LGP-30 was preceded by a discussion of organizing calculations on a hypothetical desk calculator. The remainder of the manual was approximately evenly divided into sections on the structure of the programming, number systems, input-output procedures, and a summary of the order code. There was a reference to an “LGP-30 Subroutine Manual,” which presumably contained programs for input and output, number conversion and trigonometric functions. Programming for the 1620 could be done in machine language, a symbolic programming system, SPS, or Fortran. There was also an IBM library of utility routines, which performed “most of the more standardized computations and routine tasks occurring in many computer problems.” Since the Fortran language was relatively new, it was introduced in the manual as follows: Fortran is the term applied to another IBM programming system that translates a problem, expressed as a series of algebraic statements, into a complete machine language program, generating the step-by-step instructions necessary to solve the problem. Some of the software packages used on the 7040/1401 system in the mid-1960s were MAP (machine assembly Program), Fortran II and Cobol compilers, an ALGOL compiler from the University of Grenoble, the LP I11 linear programming system, the BMD Biomedical Statistical Package, and the AGGIE student Fortran I1 compiler, which was soon replaced by WATFOR from the University of Waterloo. One system implemented at the University of Alberta was a simulator for the MENTOR and MENTORSAP languages which were used briefly to teach simplified machine language and assembly language programming. Basic played a minor role in the department until personal computers came into use in the mid 1980s. Neither the first Basic interpreter that was available in the 1960s nor Waterloo Basic, which replaced it in the early 1970s received much use. However, in the 1980s a subset of Basic emphasizing structured programming concepts began to be taught in some courses. The Fortran language has been in continuous use since it frst became available at the University of Alberta on the IBM 1620. Fortran II was soon replaced by various implementations of Fortran IV including WATFOR and WATFIV from the University of Waterloo and other versions more suitable for production work, and finally by Fortran 77 in the 1980s. Fortran was used for a number of years as the fmt conventional hgher-level language in all courses. Only in the past year has it been replaced by Pascal in ENCMP 100 Computer Programming for Engineers, which is taught jointly with the Faculty of Engineering. In about 1970 Algol W replaced Fortran as a first language for computing science students. It was used throughout the 1970s when it was then replaced by Pascal, ‘which was used as an introductory language until 1994 when it was replaced by Modula-2. Both Algol W and Pascal not only encouraged the use of structured programming techniques but also introduced the notion of a formal description of a programming language. TEXTFORM, an extremely large, complex and even cumbersome word processing and typesetting package implemented by the department of Computing Services was used in the late 1970s and early 1980s. Although primitive when judged by today’s standards for word processors, it was used by countless numbers of faculty, staff and students throughout the University and provided almost all of them with their first introduction to word processing. The introduction of the personal computer in the 1980s had a profound effect on the teaching and practice of programming. The implementation of a language became a programming environment consisting of a compiler or interpreter, or both, together with an editor, debugging tools, program library, online help and tutorial. Many students purchased or had access to computers and could do many of their assignments independently of the University’s computing facilities. Acknowledgements This paper is a condensed version of a monograph, Computing Science at the University of Alberta 1957-1993, which was prepared by the author in conjunction with celebrations held in the department of Computing Science in October 1993 to honor 25 years of the awarding of the Honors BSc in Computing Science. He would like to thank the many faculty, staff and students who assisted in the preparation of this publication. He would also like to thank Eric Weiss who prepared the first draft of the present paper. Keith Smillie Department.of Computing Science University of Alberta Edmonton, Alberta T6G 2A4 smillie@cs.ualberta.ca & |
Discussions > Published information >