skip to main content
Department of Computer Science University of Colorado Boulder
cu: home | engineering | mycuinfo | about | cu a-z | search cu | contact cu cs: about | calendar | directory | catalog | schedules | mobile | contact cs
home · undergraduate program · bs degree · degree requirements · 

BS Degree Requirements - 2006-2007


The requirements shown below are in effect for students admitted to the Department of Computer Science during the 2006-2007 academic year. All students are bound by the requirements in effect at the time the student is admitted to the Department; however, a student may elect to follow newer requirements in their entirety if they wish. There were no significant changes in degree requirements from the previous year.

Requirements for the BS in Computer Science degree relate to the following areas:

Each of these requirements is described under the appropriate heading. Please note that all the specific course requirements can be satisfied with substantially fewer than the 128 hours required for graduation. This allows (and requires) our students to choose further courses to round out their degree program. Those choices are subject to very minor restrictions.

To get a quick overall impression of the BS degree program and how you might schedule courses to satisfy these degree requirements, see

Course Requirements

Required courses must be taken in four major areas:

Note that while a particular course may possibly be used to satisfy any one of a number of these course requirements, a single course can be used to satisfy only one such requirement.

Computer Science

All students must complete the Computer Science Foundation courses, a selection of courses from the Computer Science Core, and a Computer Science Capstone, as well as Computer Science Electives. All CSCI prerequisites are enforced.

  • Computer Science Foundation

    All of the following courses are required:

  • Computer Science Core

    Five courses chosen from the following are required:

  • Computer Science Capstone

    One of the following options is required:

    • CSCI 4308-4 and CSCI 4318-4, Software Engineering Project 1 and Software Engineering Project 2.

      This sequence must be taken contiguously and may not be taken before the senior year. Prerequisites for Senior Project are the successful completion, meeting all grade requirements, of both the Computer Science Foundation and the Computer Science Core. See Senior Project for more information.

    • CSCI 4950-8, Senior Thesis.

      Senior Thesis may not be taken before the senior year. Prerequisites for Senior Thesis are the successful completion, meeting all grade requirements, of both the Computer Science Foundation and the Computer Science Core. See Senior Thesis for more information.

  • Computer Science Electives
    • Additional approved upper division Computer Science (CSCI) courses to bring the total number of all credit hours taken to satisfy the Computer Science Foundation, Core, Capstone and Electives to 57 or more. Approved courses include


Courses in the following categories are required:

  • Calculus, both of the following courses
    • APPM 1350-4, Calculus 1 for Engineers.
    • APPM 1360-4, Calculus 2 for Engineers.

      Transfer students may substitute non-engineering Calculus 1 and 2 taken before the student's transfer into the College of Engineering and Applied Science for APPM 1350 and 1360. The number of credit hours that count towards the graduation requirements is limited to 4 for each semester of calculus.

  • Linear Algebra, one of the following courses
    • CSCI 2830-3, Special Topics in Computer Science: Linear Algebra with Computer Science Applications, or
    • MATH 3130-3, Introduction to Linear Algebra, or
    • APPM 3310-3, Matrix Methods and Applications.
  • Probability or Statistics, one of the following courses
    • MATH 3510-3, Introduction to Probability and Statistics.
    • MATH 4510-3, Introduction to Probability Theory.
    • MATH 4520-3, Introduction to Mathematical Statistics.
    • Any probability or statistics course with a prerequisite of Calculus 1 and 2, if approved by an undergraduate advisor.
  • One additional approved advanced math course.

    Advanced math courses are roughly defined to be mathematical courses with Calculus 1 and 2 as prerequisites. The following is a list of approved courses. This list is not meant to be exhaustive. Students may petition to satisfy the advanced math requirement by taking any course of sufficient mathematical rigor.

Natural Science

  • A total of at least 17 hours of acceptable coursework in the Natural Sciences. All courses under the following headings in the University of Colorado Boulder Catalog are generally acceptable, except for those labeled "for non-science majors" and except for courses in writing for or history of the sciences. Most of these exceptions are indicated below.

  • This coursework must include one of the following options:

    1. Physics Sequence:

      Students who are admitted into the Computer Science major after having taken either the CHEN 1211, CHEM 1221, CHEM 1131 sequence, the CHEM 1111, CHEM 1131 sequence, or their equivalent may petition to use that sequence in place of the physics sequence.

    2. Alternate Science Sequence:

      A student may petition to replace the physics sequence in Option 1 with a coherent sequence of four acceptable courses in the natural sciences, including at least one course at the 3000 level or higher. The petition must identify the four courses and must explain the student's interest in those courses. While laboratory courses are strongly encouraged, laboratory courses worth fewer than three credit hours may not be counted among the four courses.

      See example science sequences for a list of possible science sequences that may be substituted for the physics sequence. This list is not meant to be exhaustive but rather to illustrate a few possible courses of study. When preparing your petition, pay close attention to course prerequisites.

      The sequences shown all satisfy the full 17 hour Natural Sciences requirement with a single coherent sequence. A program of this type is appropriate for students with a specific scientific interest. Note, however, that the science sequence need only constitute four courses, and students are free to choose any acceptable science courses to fill the 17 hour requirement beyond the four course sequence.

Humanities and Social Sciences

  • A total of at least 24 hours of coursework in the Humanities and Social Sciences. A list of acceptable courses, along with advising information on the Humanities and Social Science electives is available from the Dean's office.

  • These 24 hours need to include WRTG 3030-3 Writing on Science and Society or HUEN 3100-3 Humanities for Engineers 1.

  • At least six of these 24 hours must be at the upper-division undergraduate level or above, i.e. numbered 3000 or above.

Credit Hours

Satisfying all the other course requirements as described above typically adds up to a minimum of 115 credit hours, the exact number depending on specific courses selected and/or transfer credit. This typically leaves around 13 hours for "free electives". Students may take

  • any acceptable courses, bringing the total credit hours up to 128 or more.

All courses are considered "acceptable" except as noted in the following list:

  • Remedial courses (e.g. CSCI 4830 "The Internet for Everyone," pre-calculus math modules) are not acceptable.

  • Co-op work experience does not count towards these 128 hours, nor does any other work experience.

  • The final 45 hours must be taken after admission to the College of Engineering and Applied Science on the Boulder campus, and certain Computer Science courses must be taken on the Boulder campus.


You need to have the following grade point averages:

  • A cumulative GPA of 2.00 (C) or better in all CSCI and CSCI/ECEN courses taken at CU.
  • A cumulative GPA of 2.00 (C) or better in all courses attempted at CU.
  • A cumulative GPA of 2.00 (C) or better in all CU courses used to satisfy graduation requirements.

You need to have the following grades in individual courses:

  • A grade of C- or better is required in each Computer Science Foundation course, as well as in each of the five courses used to satisfy the Computer Science Core.

  • A grade of C- or better is needed in all prerequisite courses to take a subsequent course.

  • The minimum passing grade for a course that is considered a prerequisite for another required course is C-. If a grade of D+ or lower is received in a course which is prerequisite to another, the student is required to repeat the course until the minimum acceptable course grade has been earned. If a student takes the advanced course, it does not remove the obligation to repeat the prerequisite course, even if the grade earned in the advanced course is a C- or above.

  • In general, aside from the above restrictions, any passing grade, i.e., a D- or better, is good enough to fulfill a degree requirement.

  • A student is not permitted to enroll in a course offered by the College when that course has not been successfully completed in three prior attempts.

  • The Department allows courses counting as free electives to be taken Pass/Fail. Students must petition the Department to take a course Pass/Fail. The College of Engineering and Applied Science has further restrictions on taking a course Pass/Fail. These restrictions are outlined in the College's Grading Policies.


  • The last 45 credit hours must be earned on the Boulder campus after admission to the College of Engineering and Applied Science.

  • In addition, unless otherwise explicitly approved, these courses must be taken on the Boulder campus:

    • all Computer Science Foundation courses
    • all courses used to satisfy the Computer Science Core
    • the Computer Science Capstone

    Courses for which transfer credit has been explicitly approved are not required to meet the residency requirement.

Minimum Academic Preparation Standards (MAPS)

Students must take care of any MAPS (Minimum Academic Preparation Standards) deficiencies. Please see Undergraduate Admissions Minimum Academic Preparation Standards (MAPS) for further information.

Senior Exit Exam

Students may be required to participate in a "Senior Exit Exam" prior to graduation. The purpose of the exam is to provide a statistical evaluation of the knowledge and skills acquired in the degree program by the group of graduating seniors. Performance on the exam does not enter into a student's record and does not affect a student's graduation as long as the student does make a good faith effort on the exam. The exam is typically taken during the spring semester of Senior Project, independently of when a student actually plans to graduate.

Departmental Questionnaire

Students may be required to participate in a Departmental Questionnaire prior to graduation. The purpose of this questionnaire is for the department to collect feedback from its graduating students. The questionnaire is typically given at the same time as the Exit Exam.

Diploma Card

The College of Engineering and Applied Science requires the submission of a completed Diploma Card, available in the Dean's Office, early in the semester in which you intend to graduate. See the Dean's Office for details.


Students may at times have legitimate reasons to deviate from these degree requirements. A student may request changes to his or her degree requirements by submitting a completed College of Engineering and Applied Science College Petition to Undergraduate Program Advisor Lesley McDowell. The petition must have appropriate approval for the requested changes to take effect.

See also:
Department of Computer Science
College of Engineering and Applied Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
Send email to

Engineering Center Office Tower
ECOT 717
FAX +1-303-492-2844
XHTML 1.0/CSS2 ©2012 Regents of the University of Colorado
Privacy · Legal · Trademarks
May 5, 2012 (09:11)