Dietrich School of Arts and Sciences
MAJOR AND MINOR DESCRIPTIONS BY DEPARTMENT
COMPUTER SCIENCE
The Department of Computer Science (CS) of the University of Pittsburgh was established in 1966, which makes it one of the oldest such departments in the country. The Bachelor of Science degree program was begun 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; and to prepare students for graduate study in computer science.
The curriculum for the BS degree program is dependent on a set of required core courses followed by elective advanced courses. Five core courses provide an introduction to the fundamental areas and to the 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 to solve a variety of computational problems. In addition, the computer science major is required to complete eight upper-level courses, three of which are required. The remaining five courses are selected by the student from major areas such as theory, programming, languages, systems programming, artificial intelligence, and software engineering. Finally, three courses in mathematics are required; these courses provide a level of mathematical maturity that is essential to the study of computer science. In addition to the required coursework Computer Science majors must complete a capstone experience, consisting of an internship, directed study, co-op, or designated project course. For more information on the major or the Department of Computer Science, see www.cs.pitt.edu.
The department also offers the scientific computing major jointly with the Department of Mathematics (see Department of Mathematics listing for information on this major) the Bioinformatics major jointly with the Department of Biological Sciences, and the computer engineering major jointly with the Swanson School of Engineerings Department of Electrical Engineering (see Swanson School of Engineering section for more information on this major).
Major Requirements
The computer science major requires 40 credits in computer science courses and an additional 1112 credits in mathematics and/or statistics as detailed below:
- A minimum of 16 credits must be satisfactorily completed in the following five core courses:
- CS 0401 Introduction to Computer Science
- CS 0441 Discrete Structures for Computer Science
- CS 0445 Introduction to Information Structures
- CS 0447 Computer Organization and Assembly Language Programming
- CS 0449 Introduction to Systems software
- Nine credits in these three upper-level required courses:
- CS 1501 Algorithm Implementation
- CS 1502 Formal Methods in Computer Science
- CS 1550 Introduction to Operating Systems
- Fifteen additional credits in upper-level courses (numbered 1000) must also be completed. Internships, directed studies, CS 1680, CS 1590 and co-op courses (see below) may not be used to satisfy this requirement.
- A minimum of 12 credits in mathematics must be completed as follows:
- MATH 0220 and 0230 Analytic Geometry and Calculus 1 and 2
- STAT 1000 Applied Statistical Methods, STAT 1100 Statistics and Probability for Business Management or STAT 1151 Introduction to Probability
- A grade of C or better in all computer science and mathematics, and statistics courses is required for graduation. All computer science courses for the major must be taken for a letter grade, while required mathematics courses may be taken with the S/NC option.
- Some computer science courses that fulfill the departmental writing (W course) requirement will be offered each term.
- A 12-credit related area may be completed in approved mathematics and/or statistics courses. Other options include economics, business, chemistry, physics, psychology, or philosophy.
- To graduate with honors, a computer science major must complete one additional upper-level course and have a GPA of at least 3.50 in major courses, as well as an overall GPA of at least 3.25.
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 be sufficient. It is also possible to take one of the departments service courses, such as CS 0007 Introduction to Computer Programming, as preparation.
Students should complete their required mathematics courses early. Typically, MATH 0220 would be completed in the freshman year. Strong students may elect also to take MATH 1180 Linear Algebra 1.
Additional rules and requirements for the major in computer science are as follows:
Minor Requirements
The requirements for the minor are CS 0401, CS 0445, CS 1501, and any two of the three courses: CS 0447, CS 0449, and CS 0441. The total number of credits is 16. CS 0401 requires programming experience as a prerequisite. A student without any programming background would be advised to take the three credit course CS 0007 as preparation for CS 401. The minor is essentially five of the six courses that are considered the "core" of the CS major. This is a rigorous minor. This minor is not intended for casual students interested in computer literacy.
BS/MS Five Year Degree
The BS degree in computer science requires 120 credits of course work, including 40 credits in computer science and 11 or 12 credits in mathematics and statistics. Typically, a student completes this degree in four academic years. Well-prepared students may apply for admission to the combined bachelor's/masters degree program. This accelerated program allows students to begin taking graduate courses in their senior year and complete the combined BS/MS degree in five years. Please contact the Department of Computer Science for additional information.
Co-op Program
Through the assistance of the Swanson School of Engineering’s Office of Cooperative Education, formal arrangements are established with industry that permit students to rotate four-month terms between the workplace and the classroom. At the University of Pittsburgh, this rotation begins after the completion of the sophomore year and extends into the senior year, with the co-op student completing at least two four-month work periods. These employment sessions, which are typically with the same employer, allow job duties to increase as the knowledge and skills of the student progress. During the co-op sessions, students earn competitive salaries, thus making this program financially rewarding. The co-op credit does not count toward the 40 computer science credits needed for the completion of the computer science program. It does, however, satisfy the capstone graduation requirement.