Computer Science
The development of computer science in the mathematics department divides more or less clearly into four periods:
- Beginnings (1962 - 1971): The first computer science course was taught in 1962 by adjunct professor A.R. Brown who was also working at a local air force base. There were no computers on campus and no terminals. The course was taught periodically by various instructors until it settled permanently into the curriculum in the late 1960's. The college signed on to General Electric's Time Sharing service in 1967 and a few years later acquired its first computer. During this time, Professor Bill Gateley from the department took the lead in pushing for a college computer, and once the computer was installed, he was chosen as the first director of computing.
- Faculty Involvement (1972 - 1979): Richard Paine, a member of the department since 1961, agreed in 1969 to participate in an NSF program that led to basic training in computer science. Paine supplemented the program with additional computer science courses, and once the new college computer system (Hewlett Packard 2000) arrived in 1972, he became the expert. Soon he was teaching both introductory programming (in BASIC) and an advanced course covering other languages (assembly and an overview of ALGOL, SNOBOL). The advanced course met late at night when all administrative tasks could be halted on the new computer.
Various faculty in the department pitched in to cover the introductory programming course where students used teletypes (housed at one point in Palmer 131) to communicate with the Hewlett Packard computer (referred to as 'Smedley') and saved programs on punched paper tape. When Steven Janke joined the department in 1975 to replace Gateley, his exposure to the programming course struck deeper interests. By 1979, Paine had moved to the computer center as a systems analyst, and Janke had taken over the second level computer science course changing the emphasis from assembly language programming and computer architecture to the study of algorithms and data structures. There was also a new course at the upper level, Theory of Computation, covering the algebraic structure of abstract computing machines. The department was playing to their strength, the more mathematical side of computer science.
- Developing a Program (1980 - 1986): The early 1980's witnessed the growing struggle between administrative and academic uses of the newest mainframe on campus (Burroughs 6805). Then PC's became a viable choice and after demonstrations from all the major manufacturers, the college chose Texas Instruments PC's. A lab of PC's in Palmer 232 served most of the computer science oriented courses. After five years or so, the TI computers were eventually replaced by IBM PC's (and clones) as the college set up new computer labs in the new Barnes Science Building.
It became clear that the department was meeting two separate demands for computer science on campus. Some students wanted an introduction to what computers could do, and some wanted an in-depth experience leading to a solid understanding of computer science. By 1981, the department had introduced Computer Science I and II more or less following the guidelines of the Association of Computing Machinery - a first course introducing a programming language and a second course covering data structures and algorithm design in more detail. In 1986, the lower level course, Introduction to Digital Computing, was listed not in the mathematics department, but rather in Studies in Natural Science.
During this period, the mathematics curriculum was growing to incorporate more discrete mathematics - exactly the topics germaine to computer science. With more and more interest from students, the department decided in 1986 that it was time to offer a mathematics degree with emphasis in computer science. Students opting for this path had to complete the following courses:
- Calculus (three blocks)
- Number Theory
- Graph Theory or Combinatorics
- Computer Science I and II
- Probability, Linear Algebra, and Abstract Algebra
- Two more courses selected from Theory of Computation, Analysis of Algorithms, and Numerical Analysis.
The option was obviously heavily mathematical - the department did not have the expertise to offer a more practically oriented computer science program.
Janke was instrumental in developing the computer science curriculum during this period, but Dave Roeder's interest was piqued by Institute for Retraining In Computer Science. He had been teaching computer science courses regularly, but in the summer of 1986, he joined the IFRICS program at Clarkson University and deepened his knowledge of computer science. Roeder later took a special interest in the Theory of Computation course.
- Enhancing the Program (1987 - 1999): Course development continued as Janke introduced a graphics course and improved the analysis of algorithms making it finally a senior level course. A course in artificial intelligence introduced by a Val Veirs from the Physics department remained in the catalog under Studies in Natural Science and was revived in 1998 by Janke. Several visitors to the department had computer science expertise and offered courses outside the regular curriculum: Todd Feil (compiler design), Terry Lay (programming languages), Dave Luebke (additional graphics topics). Equipment in the labs became more and more state-of-the-art as the college acquired an IBM RS6000 and an SGI Indigo machine. Janke got a small grant to set up a computer graphics lab with equipment for producing computer animation.
In 1993, SUN Microsystems showed an interest in offering internships to students with some skills in the SUN operating system. So a new course developed focused on the UNIX operating system and staffed by both college faculty and employees of SUN. Several students took the course (an extended format covering four blocks), and then went on to spend a block of time working on special projects at SUN. The course developed over time to become more of a standard operating system course with an emphasis on the UNIX operating system.
About half of the mathematics majors during this period chose the computer science emphasis. Several students continued into graduate school earning MA's or Ph.D.'s. Near the end of the century, it became clearer that the department was facing the dilemma of most small liberal arts colleges. How can a small mathematics department offer a full computer science program? The lucrative commercial positions make it difficult for small academic departments to attract computer scientists.