B.S. Degree Requirements

2015/2016 Course Requirements 

Required courses must be taken in four major areas:

Additional requirements:

*Please refer to the Curricula Guides for Prior academic year degree plans.  Current students can also refer to degree audits found by going to the student portal or consult with the undergraduate advisor.

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 B. S.

Students must complete the Foundation, Core, Capstone as well as Computer Science electives to make the 58 required hours. All CSCI course prerequisites are enforced; see the course catalog for details. Computer Science B.S. degree requirements flow chart and 4 year curricula plan can be found at:


All of the following courses are required:

  • CSCI 1000-1, Computer Science as a Field of Work and Study.
  • CSCI 1300-4, Computer Science 1: Starting Computing
  • CSCI 2270-4, Computer Science 2: Data Structures.
  • CSCI 2400-4, Computer Systems.
  • CSCI 3104-4, Algorithms.
  • CSCI 3155-4, Principles of Programming Languages.
  • CSCI 3308-3, Software Development Methods and Tools.

Return to top of page.


6 of the following courses are required:

  • CSCI 3002-3, Human-Centered Computing Foundations/User-Centered Design & Development.
  • CSCI 3112-1, Human-Centered Computing Professional Development.
  • CSCI 3202-3, Introduction to Artificial Intelligence.
  • CSCI 3287-3, Database and Information Systems.
  • CSCI 3302-3, Introduction to Robotics
  • CSCI 3434-3, Theory of Computation.
  • CSCI 3656-3, Numerical Computation.
  • CSCI 3702-3, Cognitive Science.
  • CSCI 3753-4, Operating Systems.
  • CSCI 4229-3, Computer Graphics.
  • CSCI 4239-3, Advanced Computer Graphics.
  • CSCI 4273-3, Network Systems.
  • CSCI 4302-3, Advanced Robotics.
  • CSCI 4446-3, Chaotic Dynamics.
  • CSCI 4448-3, Object-Oriented Analysis and Design.
  • CSCI 4502-3, Data Mining.
  • CSCI 4555-3, Compiler Construction.
  • CSCI 4576-4, High-Performance Scientific Computing 1.
  • CSCI 4586-4, High-Performance Scientific Computing 2.
  • CSCI 4593-3, Computer Organization.
  • CSCI 4753-3, Computer Performance Modeling.
  • CSCI 4809-3, Computer Animation.
  • ECEN 2350-3, Digital Logic.
  • ECEN 4613-3, Embedded System Design.
  • TLEN 5833-3, Spec Tpcs: UNIX System Administration.

Computer Science Electives

Additional courses from the above list to bring the total number of computer science credit hours to 58 or more. Other approved electives include:

  • CSCI 4830-3, Special Topics in Computer Science.
  • CSCI 4900-3, Upper Division, Undergraduate level Independent Study.
  • APPM 4120-3, Introduction to Operations Research.

Return to top of page.

Senior Capstone Option

One of the following options is required:

Senior Project (two semesters, beginning fall, ending spring)

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

This sequence must be taken contiguously and may not be taken before the senior year. Prerequisites for Senior Project include the successful completion of a minimum of 36 credit hours of Computer Science Foundation, Core and Computer Science Electives.  

Senior Thesis (two semesters)

  • CSCI 4950-4, Senior Thesis.
  • CSCI 4950-4, Senior Thesis.

Senior Thesis may not be taken before the senior year. Prerequisites for Senior Thesis include the successful completion of a minimum of 36 credit hours of Computer Science Foundation, Core and Computer Science Electives. See Senior Thesis for more information.

Networked Devices and Systems Capstone for the NDS plan (two semesters)

  • TLEN 5460-3, Telecomm Sys Lab
  • TLEN 5540-3, Network Security Lab
  • TLEN 5210-3, Prin Telecomm Policy 

Suggested Plans of Study

The following suggested plans of study help students focus their coursework and interests on coherent areas of specialization.

Return to top of page.


Courses in the following 4 categories are required:

Calculus, both of the following courses:

  • APPM 1350-4, Calculus 1 for Engineers or MATH 1300-5, Calculus 1.
  • APPM 1360-4, Calculus 2 for Engineers or MATH 2300-5, Caclulus 2.

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 APPM 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:

Course Prerequisites:  Calc I, II:

  • CSCI 2820-3, Linear Algebra with CS Applications
  • MATH 3130-3, Intro to Linear Algebra.

Course Prerequisites:  Calc I, II and III:

  • APPM 3310-3, Matrix Methods and Applications.

Probability or Statistics, one of the following courses:

Course Prerequisites:  Calc I, II:

  • APPM 4570-3, Statistical Methods.
  • Any probability or statistics course with a prerequisite of Calculus 1 and 2, if approved by an undergraduate advisor.

Course Prerequisites:  Calc I, II as well as additional math prereqs (check course catalog for prereqs):

  • APPM 3570-3, Applied Probability.
  • APPM 4520-3, Introduction to Mathematical Statistics.
  • CVEN 3227-3, Probability, Statistics and Decision.
  • MATH 3510-3, Introduction to Probability and Statistics.
  • MATH 4510-3, Introduction to Probability Theory.
  • ECEN 3810-3, Introduction to Probability Theory.
  • ECON 3818-3, Introduction to Statistics w/Computer Applications.
  • MCEN 4120-3, Engineering Statistics.

Discrete Mathematics, one of the following courses:

Course Prerequisites:  Calc I, II:

  • CSCI 2824-3, Discrete Structures.
  • ECEN 2703-3, Discrete Mathematics for Computer Engineers.
Course Prerequisites:  Calc I, II as well as additional prereqs (check course catalog for prereqs):
  • APPM 3170-3, Discrete Applied Mathematics.

Natural Science

A total of at least 17 credit hours of Natural Science is required which must include*:

  • Complete one of the following sequences:
    • General Physics - 9 hours
      • PHYS 1110-4 General Physics 1.
      • PHYS 1120-4, General Physics 2.
      • PHYS 1140-1, Experimental Physics 1.
    • Physical Science - 9 hours
      • CHEN 1211-4, General Chemistry for Engineers and CHEM 1221-1, Engineering General Chemistry lab. or
      • CHEM 1113-4, General Chemisty 1 and CHEM 1114-1, Laboratory in General Chemistry 1.
      • PHYS 1110-4, General Physics 1.
  • Complete at least 8 additional hours of acceptable Natural Science courses to make the required 17 hours.
    • Approved Natural Science courses would state, "Approved for arts and sciences core curriculum: natural science" in the course description and should not state "for non-majors".

*You should have knowledge of calculus before enrolling in PHYS 1110 (calculus-based physics 1).  CHEN 1211 and CHEM 1113 require either high school chemistry or completion of CHEM 1021 (with minimum grade of C-).

Humanities and Social Sciences and Writing

 A total of at least 24 credit hours of approved coursework in the Humanities and Social Sciences is required:

  • All courses must meet the following criteria:
  • Courses must include one of the following:
    • WRTG 3030-3, Writing on Science and Society.
    • WRTG 3035-3, Technical Communication and Design.
    • HUEN 1010-3, Introduction to the Humanities.
      ... only if taken during Fall 2011 or later by students matriculating at CU-Boulder in Fall 2011 or later.
    • HUEN 3100-3, Humanities for Engineers 1.
    • PHYS 3050-3, Writing in Physics: Problem-Solving and Rhetoric.
    • other writing courses as approved by the Undergraduate Education Council.
  • At least six of the remaining 21 credit hours must be at the upper-division undergraduate level or above, i.e. numbered 3000 or above. Upper-division writing does not count towards this 6 credits of upper division coursework.

Credit Hours and Free Elective Credit

Satisfying all the other course requirements as described above typically adds up to a minimum of 116 credit hours, the exact number depending on specific courses selected and/or transfer credit. This typically leaves around 12 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:

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

Minimum Grades

Students need to have the following grade point averages:

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

Students 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 course 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 Capstone

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

Return to top of page.

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.

Return to top of page.

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 the student's Capstone, 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 Senior Exit Exam.

Applying for Graduation

The College of Engineering and Applied Science requires that students apply for graduation by going to the student portal the semester ahead of the semester you plan to graduate. See the undergraduate advisor to see if you have completed the degree requirements.

Return to top of page.


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 advisor. The petition must have appropriate approval for the requested changes to take effect.

Return to top of page.