Javascript is currently not supported, or is disabled by this browser. Please enable Javascript for full functionality.

Skip to Main Content
University of Pittsburgh    
2020-2021 Undergraduate Catalog 
    
 
  May 19, 2022
 
2020-2021 Undergraduate Catalog [Archived Catalog]

Computer Science, BS


Return to Academic Programs Return to: Academic Programs

Note: The requirements outlined in this section represent minimum degree satisfaction. Please consult the School of Computing and Information’s website for detailed policies, procedures, forms, and advising resources.

The department-level rules set forth in the following document apply to students who declared their CS major during or after the 2019-2020 Academic Year. Students who declared prior to this academic year should refer to the Archived Catalogs for departmental-level rules.

Students who declared the CS major PRIOR to the 2017-2018 Academic Year will find the department-level rules to which they are bound by going to the Archived Catalogs for Arts & Sciences.

Eligibility for Major


To be considered for admission to the CS undergraduate program, students must complete the following CS core courses with a grade of C or better in each course:

  • CMPINF 0401  - INTERMEDIATE PROGRAMMING*
  • CS 0441  - DISCRETE STRUCTURES FOR CS
  • CS 0445   - DATA STRUCTURES
  • CS 0447   -COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE

*Students should have some programming experience (usually acquired in high school) before taking CMPINF 0401 . Any high school course that includes the writing of several Python, C++, or Java programs would be sufficient. It is also possible to take one of the department’s service courses, such as CS 0007 , as preparation. Preparatory classes of this nature do not count toward the student’s major requirements.

Grade Policies for CS Majors


Satisfactory/No-Credit (S/NC) Grade Options


Students should check with their academic advisors before deciding to take a course S/NC (formerly the S/N option). Beyond the School’s Regulations for students enrolling in courses with the S/NC grade option, the Department of Computer Science imposes the following rules:

  • All computer science courses for the major (core and upper-level courses) must be taken for a letter grade.
  • Required mathematics courses may be taken with the S/NC option.

Students should be sure, before deciding on the grading system for a course, that their decision will not have an adverse effect on their plans for a major. They must discuss this decision with their advisor PRIOR to enrolling and selecting the S/NC grade option.

Individual Course Grades


All computer science courses for the major (core and upper-level courses) must be completed with a C grade or better to count for the CS major. ANY course taken to satisfy a major requirement, including MATH courses required by the major (MATH 0220 , MATH 0230 , and either STAT 1000 , STAT 1100  or STAT 1151 ), for which only a C- grade or lower is received, must be repeated. If a grade of C- or lower is earned in a prerequisite course, the course must be repeated before the higher-level course may be taken.

Departmental Honors


Students may graduate with honors if they have also:

  • Completed a sixth upper-level elective CS course
  • Have a CS GPA of at least 3.5
  • Have an overall GPA of at least 3.25

Major Requirements


The computer science major requires 40 credits in computer science courses, an additional 11-12 credits in mathematics and/or statistics, and a capstone experience as detailed below:

Core Courses


A minimum of 16 credits must be satisfactorily completed in the following five core courses:

  • CMPINF 0401  - INTERMEDIATE PROGRAMMING*
  • CS 0441  - DISCRETE STRUCTURES FOR CS
  • CS 0445  - DATA STRUCTURES
  • CS 0447  - COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE
  • CS 0449  - INTRODUCTION TO SYSTEMS SOFTWARE

*Students should have some programming experience (usually acquired in high school) before taking CMPINF 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 department’s service courses, such as CS 0007 , as preparation. Preparatory classes of this nature do not count toward the student’s major requirements.

Required Upper-Level Elective Courses


Nine credits in these three upper-level courses:

  • CS 1501  - ALGORITHM IMPLEMENTATION
  • CS 1502  - FORMAL METHODS IN COMPUTER SCIENCE
  • CS 1550  - INTRODUCTION TO OPERATING SYSTEMS

Upper-Level Elective Courses


Fifteen additional credits in upper-level elective courses (numbered 1500 or higher) must also be completed.

Internships, directed studies, capstone courses and co-op courses may not be used to satisfy this requirement (see below).

Required Mathematics Courses


A minimum of 11-12 credits in mathematics must be completed as follows:

  • MATH 0220  - ANALYTIC GEOMETRY AND CALCULUS 1
  • MATH 0230  - ANALYTIC GEOMETRY AND CALCULUS 2

-Or -

  • STAT 1100  - STATISTICS AND PROBABILITY FOR BUSINESS MANAGEMENT

-Or -

Note: 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.

Capstone Experience


All Computer Science majors must complete a capstone experience prior to graduation. This experience may be satisfied in several ways including:

  • Completion of an approved 3-credit academic internship (CS 1900  )
  • Completion of an approved 3-credit directed research project (CS 1950  )
  • Completion of a capstone designated course (ex: CS 1980  )
  • Completion of at least 2 rotations of an approved co-op (ENGR 1093  )

Students are allowed to complete more than one capstone experience but a capstone course may NOT be used in place of a CS Upper-Level Elective course

Sample Plan of Study


Below is a sample plan for students in the Computer Science Major in the School of Computing and Information. Note that there are many paths through the Computer Science major and any student’s path may differ from the one shown. Generally, our advisors will help each student to customize his / her career plan.

Prior to Admission, this plan assumes that a student has:

  • An Intro. to Programming course
  • Workshop in Composition (ENGCMP 0150 ) satisfied by SAT score
  • Sufficient Math background to take Calculus 1
  Fall Spring
Year 1

CMPINF 0401   (4 cr)

MATH 0220   (4 cr)

CMPINF 0001   (1 cr)

CMPINF 0010    (4 cr)

ENGCMP 0200  (3 cr)

TOTAL: 16 credits

CS 0445   (3 cr)

MATH 0230  (4 cr)

GER (3 cr)

STAT 1000   (4 cr)

 

TOTAL: 14 credits

Year 2

CS 0441  (3 cr)

CS 0447  (3 cr)

GER (3 cr)

GER (3 cr)

Elective (3 cr)

TOTAL: 15 credits

CS 0449  (3 cr)

CS 1501  (3 cr)

GER (3 cr)

GER (3 cr)

Elective (3 cr)

TOTAL: 15 credits

Year 3

CS 1502  (3 cr)

CS 1550  (3 cr)

GER (3 cr)

GER (3 cr)

Elective (3 cr)

TOTAL: 15 credits

CS UL 1 (3 cr)

CS UL 2 (3 cr)

GER (3 cr)

GER (3 cr)

Elective (3 cr)

TOTAL: 15 credits

Year 4

CS UL 3 (3 cr)

CS UL 4 (3 cr)

CS 1900  (Capstone) (3 cr)

GER (3 cr)

Elective (3 cr)

TOTAL: 15 credits

CS UL 5 (3 cr)

CS UL 6 or Elective (3 cr)

GER (3 cr)

Elective (3 cr)

Elective (3 cr)

TOTAL: 15 credits

Note 1: GER = General Education Requirement, UL = Upper-level

Note 2: Electives may be used for the SCI requirement of a secondary field of study (ex: minor, certificate, etc).

Note 3: One course must satisfy the Diversity Requirement.

Note 4: CS UL 6 may be used for CS Department Honors. See the Departmental Honors section of this Catalog for details and requirements.

Return to Academic Programs Return to: Academic Programs



Catalog Navigation