The following requirements pertain to students who enrolled at the University of Pittsburgh in fall 2003 and afterward. If you are a student who enrolled prior to fall 2003, please view the previous requirements.
About the Degree
The Department of Computer Science of the University of Pittsburgh was established in 1966, making it one of the oldest such departments in the country. This degree program was initiated in 1974 with the following objectives:
- To provide an opportunity for students to focus their educational efforts on computer science as a discipline.
- To prepare students for employment and positions of responsibility in an increasingly computer-oriented world.
- To prepare students for graduate study in computer science.
The curriculum for the BS degree program consists of eight required courses (25 credits) and five elective courses (15 credits). This makes a total of 40 computer science credits. They include:
- A three-course programming sequence: CS 0401, CS 0445, and CS 1501 (10 credits).
- A three-course systems sequence: CS 0447, CS 0449, and CS 1550 (9 credits).
- A two-course sequence on discrete mathematics and theoretical computer science: CS 0441 and CS 1502.
The five elective courses required for the major can be any regular CS course numbered 1000 or higher (internships, directed studies, CS 1640, and CS capstone courses may NOT be used as elective major courses).
Students should have some programming experience (usually acquired in high school) before taking CS 0401. Any high school course that includes the writing of several Pascal, C++, or Java programs would suffice. It is also possible to take one of the department's programming service courses, such as CS 0007 or CS 0008, as preparation for CS 0401.
The five 0400 level classes constitute the "core courses." These provide an introduction to the fundamental areas and basic concepts of computer science. These courses include the study of modern languages such as Java. Also included is a careful investigation of fundamental problem-solving techniques used on an important variety of computational problems. Ideally, the department recommends that a student complete most or all of the core courses before starting 1000-level courses. A typical sequence that would complete the computer science core is:
The upper (1000+) level courses provide more detailed background in the various fields of computer science. Some of the areas covered include computer algorithms, architecture, artificial intelligence, databases, graphics, networks, operating systems, programming languages, software engineering and theory.
Please see the course descriptions page for course pre- and co-requisites.
All computer science courses must be completed with a grade of C or better.
Prior to graduation all CS majors must satisfy the Capstone Experience requirement through completion of one of the following options:
- Completion of a CS Directed Research (CS 1950)
- Completion of a CS Internship (CS 1900)
- Completion of a CS Capstone Project (CS 1980, CS 1981)
- Completion of at least two Co-op rotations (ENGR 1093)
In addition to the computer science requirements, three courses (11-12 credits) in mathematics are required. This includes a two-semester calculus sequence (MATH 0220 and MATH 0230), and a probability and statistics course (STAT 1000, STAT 1100 or STAT 1151), each completed with a grade of 'C' or better. These courses provide a level of mathematical maturity that is essential to the study of computer science.
Important Notes to the Computer Science Major
Majors (and students who have completed CS 0401) are not permitted to enroll in CS 0004, CS 0007, CS 0008 or CS 0009 or CS 0301. Computer science majors may enroll in the intermediate-level service courses (CS 0090, CS 0155, CS 0134, CS 0334 and CS 0699) and may take them for a letter grade. However, these courses will not count toward CS course or GPA requirements.
Grade Requirements for Courses in Major
In order to count toward the major, each computer science course must be passed with a grade of C or better.
Requirements For Honors Major in Computer Science
To graduate with honors, a computer science major must complete one additional upper-level course and have a GPA of at least 3.5 in major courses and an overall GPA of at least 3.25. The student may not use an independent study or internship to count as the additional upper-level course.
Students majoring in computer science have the option to complete a concentration of courses or even a second major in at least one other field.
Graduate Course Work
An undergraduate computer science major may enroll in a graduate CS class and receive credit for one of the five required upper-level courses. Permission of the instructor is required.
A student majoring in computer science can complete a related area in mathematics by taking 12 credits in mathematics. An algebra, trigonometry, or precalculus course may NOT be used as part of a related area. Students majoring in computer science also select their related areas from many other fields. Areas frequently selected include economics and business, chemistry, physics, psychology, and philosophy.
S/NC Grading Option
All CS courses for the major must be taken on a letter-grade basis. Mathematics courses required for the major may be taken on a Satisfactory/No Credit basis.
Credit by Exam
Credit for CS 0401 is given for scores on the Computer Science AP Test of 4 or 5. Credit by exam is not available for any other CS courses.
Advising and Registration
A student intending to major in computer science is advised by the CAS Advising Center until passing four CS core courses (typically, these are CS 0401, CS 0441, CS 0445 and CS 0447). Prior to completing the four courses, a student also may meet with the director of undergraduate programs. See the sample plan page for a sample four-year program.
Some computer science courses will be offered for W credit during some terms. Check the course description website to determine which courses are being offered for W credit.