##### Undergraduate Requirements:

**Total Requirements** - 48 courses

**Mathematics** - 4 courses

Math 214-1,2,3 Calculus

One more course from the Computer Science Mathematics List

**Engineering Analysis and Computer Proficiency** - 4 courses

General Engineering 205-1,2,3; CS 111

**Basic Sciences** - 4 courses

**Design and communications** - 3 courses

**Basic Engineering** - 5 courses, including

Computer Science: 211

One course from the Probability, Statistics, and Quality Control List

3 other courses from the basic engineering list, excluding computer science courses

**Social Sciences/Humanities** - 7 courses

**Unrestricted Electives** - 5 courses

**Major Program** - 16 courses

- Required courses - 8 courses

CS 311 Data Structures

Seven courses drawn from CS 200-level and above (except CS 317)
- Technical Electives - 8 courses

Four courses from the Advanced Computer Science List

Two courses from any of the three lists below

Two courses are unrestricted, all 200 level and higher classes are
acceptable, all other courses are subject to the approval of the
student's department advisor
- Project Work

The courses above must be chosen to include a two-quarter project,
resulting in the construction and demonstration of a solution
that addresses some organization's problem. Projects must be approved by a CS faculty
advisor beforehand.

**Notes:**

- 400-level courses are primarily for graduate students, but may
be open to advanced undergraduate students with permission.
- CS 110 may be used as a technical elective if taken before CS 111.
- Technical electives may not satisfy other requirements.
- Typically project work will occur in independent
study projects (399's) or in project-oriented courses (i.e., many 395's).
- CS 317 is only open to IE/MFE students, it does not count towards the CS major.
- Majors may not count more than 4 units of CS 338 toward the 48 units needed for the degree.

**Probability, Statistics, and Quality Control List:**

BME 220, ChE 312, CE 306, ECE 302, IEMS 201, 303, ME 359

Note that some of the above listed courses may have advanced prerequisites.

**Advanced Computer Science List:**

CS 310-399

**Computer Science Mathematics List:**

CS 310; General Engineering 205-4; Math 215, 221, 304, 308, 310, 320, 335-1,2, 337-1,2,3, 375, 376; ESAM 253

**Computer Science External Technical Elective List:**

**Stat 320-1,2;** Math 313; IEMS 303, 304, 310, 313, 315, 317, 381, 390-1,2;
ESAM 311-1,2,3; ECE 313, 328, 357, 358, 361, 362, RTF 379