The Computer Science Department


The science of computing extends far beyond hardware and software questions. Allegheny’s computer science majors understand the theories and concepts behind the technology, and there’s almost no limit to the ways in which this broad-based knowledge can be adapted.

Major and Minor Programs

The computer science major and minor programs are designed to provide a solid basis in the principles of the discipline combined with practical experience in software systems design, implementation and analysis.

The major and minor programs each begin with a breadth-first introduction to computing, including programming and data structures, accompanied by topics from various programming languages, operating systems, and analysis of algorithms. The introductory courses are followed by a set of courses specifically tailored to capture the fundamentals of the discipline. Students then select from available advanced courses and applications courses to design a program meeting their specific needs. The capstone of the major program is a junior year research and project methods course followed by a senior thesis or project.

  • Double and student-designed majors are available and encouraged


At least 52 semester hours in Computer Science, including: three introduction courses (Computational Expression, Data Abstraction, and Discrete Structures); four fundamentals courses (Computer Organization, Programming Languages, Algorithm Analysis, and Software Engineering); two applications courses from several focused areas of study; an advanced course in Operating Systems, Compiler Development, or Cloud Computing; the Innovation Seminar sequence; the Junior Seminar; and a Senior Project.


At least 20 semester hours in Computer Science, including two introduction courses and at least 12 hours with at least one course numbered 200 and above.

There are several suggested course sequences for Computer Science minors covering a variety of interests: Computer Languages; Computer Security; Computer Systems; Data Analysis; Data Management; Distributed Computing; Intelligent Systems; Robotic Systems; Software Development; and Web Design.