Computer Science is about computers and computation; the essence of the discipline is the study of algorithms—the design, development, and characterization of algorithms, their realization as computer programs, the analysis of the correctness and efficiency of algorithms, and the limitations of the algorithmic method as an approach to problem solving.  The department’s offering include an introduction to the discipline including programming, data structures, and discrete mathematics; core courses in theoretical computer science, computer languages, computer organization, algorithm analysis and software systems design; advanced courses in compiler design, operating systems and distributed systems; and a variety of applications and electives.  The human dimensions of computing—social, professional and ethical implications—are treated throughout the department’s courses.

The Computer Science programs have an integral laboratory component—nearly all of the courses include a weekly formal laboratory session to provide for practice and experimentation utilizing the principles learned in the classroom and from the course texts.  The laboratory component affords the opportunity for hands-on experience with several computing and network systems.  The Department has laboratories adjacent to faculty offices and classrooms in Alden Hall including an advanced-technology computer science classroom, facilitating interactive learning; a software development laboratory designed for group work on large software systems; and a laboratory for advanced coursework and research.The study of computer science leads to and requires the ability to analyze ideas, to think logically, and to communicate ideas clearly and concisely.  In this way, study of computer science contributes to the foundation of an excellent liberal arts education.

Distinctions

  • One of the first computer science programs offered at a small liberal arts college.
  • Two distinct major programs: computer science and applied computing.
  • Emphasis on disciplinary breadth, as opposed to a narrow focus on programming skills.
  • Intellectual inquiry and research encouraged through faculty-student interaction and the supervised Senior Project.
  • The Department has been a pioneer in undergraduate computer science education, playing a key role in the development of “A Model Curriculum for a Liberal Arts Degree in Computer Science” and “A Revised Model Curriculum for a Liberal Arts Degree in Computer Science” published in CACM, 1986, 1996.
  • Team-taught Junior Seminar emphasizing research methods in computer science.
  • Integrated laboratory component: the Department was among the first to implement labs in introductory, core, and advanced courses.
  • Small classes, individual attention, and close student-faculty working relationships.
  • Consistently one of the most active student chapters of the Association for Computing Machinery (ACM), the professional association in computing.

Endorsements

  • A consistently high percentage of Allegheny computer science students continue their studies at the graduate level.
  • “The Chronicle of Higher Education calls the productivity of Allegheny’s computer programs ‘staggering’ given the institution’s size.” – Fiske’s Guide to Colleges