Bachelor of Science Curriculum

The Bulletin carries the definitive requirements for all students, and is updated to reflect and archive the requirements for each entering class.  This page gives a snapshot of common requirements designed to help you understand the program, but may not reflect the rules that apply to you based on your year of entry into the program. 

In the table below, P(...)=Prerequisite-courses; Co(...)=Corequisite-courses. The number of credits is in parentheses following the course number. Note: the program below is effective for students entering in or after Fall 2019. Students enrolled before Fall 2013 please use this curriculum page. Students enrolled between Fall 2013 and before Fall 2019 please use this curriculum page.

 

SEM
Course Course Course Course Course
Total Credit
126

1

Humanities/Social Science electives options for students entering before Fall 2015

 
CSCI 1111 (3)
Intro to Software Development (in Java)

Co(CSCI 1010)

Not listed as co-req in bulletin

CSCI 1010 (1)
Computer Science Orientation

(Entering SEAS freshmen also take SEAS 1001 (1))

Math Reqt 1 (3) UW 1020 (4)
University Writing

15

2

 
 
CSCI 1112 (3)
Algorithms and Data Structures (in Java)

P(CSCI 1111 with a grade of C or higher, Math 1220/1231)

CSCI 1311 (3)
Discrete Structures I

P(Math 1220/1231)

Math Reqt 2 (3) Science Reqt 1 (4)

16

3

 
 
CSCI 2113 (3)
Software Engineering I
(Java+C)
P(CSCI 1112 with a grade of C or higher; Math 1231)
CSCI 2312 (3)
Discrete Structures II P(CSCI 1311 with a grade of C or higher; Math 1231)
CSCI 2461 (3)
Computer Architecture I
P(CSCI 1112 with a grade of C or higher, CSCI 1311)
Science Reqt 2 (4)

16

4

CSCI 3313 (3)

Foundations of Computing

P(CSCI 1311CSCI 2113, and CSCI 2461)

 

CSCI 2541W  (3)
Database Systems and Team Projects

P(CSCI 1311)

Co(CSCI 2113)

CSCI 2501 DE Ethical Issues in Computing (1)

CSCI 3410 Systems Programming (3)

P(CSCI 2461, 2113)

Statistics or Linear Algebra Requirement (3) Science Reqt 3 (4)

17

5

 
 
CSCI 3212 (4)
Algorithms

P(CSCI 1311, CSCI 2113)

CS Technical Track Elective CSCI 3411 (4)
Operating Systems

P(CSCI 2461, CSCI 2113)

 

14

6

 
 
Unrestricted Elective (3) CS Track Reqt 1 (3) Non-tech Track Elective 1 (3) Statistics or linear algebra requirement (3)

15

7

 
 
CSCI 4243W (4)
Capstone Senior Design Project I

P(CSCI 3212 and CSCI 3411)


CS Track Reqt 2 (3)
Non-tech Track Elective 2 (3) Unrestricted Elective (3)

16

8

Unrestricted Elective (3) CSCI 4244 (4)
Capstone Senior Design Project II

P(CSCI 4243)

CS Track Reqt 3 (3) Non-tech Track Elective 3 (3) Unrestricted Elective (3)

16

(*) Any CS course numbered 3000 or above can be a CS elective. Also, with approval of your advisor, you may substitute for this course another technical elective from other departments. This can be useful for technical breadth or for meeting the requirements of a minor/secondary field.