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 knowlege 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 department currently offers two major programs and a number of minors. Each begins 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 “core courses” specifically tailored to capture the essence of the discipline as it relates to the emphasis of the particular major or minor program. Students then select from available advanced courses and applications courses to design a program meeting their specific needs.
The capstone of the major programs 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
Major in Computer Science
At least 44 semester hours in computer science, including: three basic courses (Introduction to Computer Science I and II and Discrete Mathematics); four core courses (Computer Organization; Programming Languages: Theory of Computation; and Analysis of Algorithms); an advanced course in Computer Architecture, Compiler Design or Operating Systems; two additional advanced or applications courses; the Junior Seminar (Research Methods in Computer Science); and a Senior Project. The major also includes a mathematics component.
Major in Applied Computing
48 semester hours in computer science including: three basic courses (Introduction to Computer Science I and II and Discrete Mathematics); four core courses (Computer Organization, Programming Languages, Analysis of Algorithms, and Software Design); one advanced course in Computer Architecture, Compiler Design, or Operating Systems; one applications course in Human-Computer Interaction, Databases, Networks, or Artificial Intelligence; an Internship Seminar and Internship; and an economics and a mathematics unit.
At least 20 semester hours (five courses) in computer science, including at least 12 hours from courses numbered 200 and above.
There are eight distinct computer science minors available: Theory of Computing; Computer Architecture; Computer Systems; Computer Languages; Artificial Intelligence; Computers, Data Bases, and Data Transmission; Computers and Mathematics; and Computer Applications.