Bachelor of Science Curriculum

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 2013. Students enrolled before Fall 2013 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

CS Elective* (3)

 

CSci 2541 (3)
Database Systems and Team Projects

Co(CSci 2113)

CS 2501 DE Ethical Issues in Computing (1)

CSci 3410 Systems Programming (3)

P(CSci 2461, 2113)

Stat Reqt (3) Science Reqt 3 (4)

17

5

 
 
CSci 3212 (4)
Algorithms

P(CSci 1311, CSci 2113)

CSci 3313 (4)
Foundations of Computing

P(CSci 2461, CSci 2113)

CSci 3411 (4)
Operating Systems

P(CSci 2461, CSci 2113)

 

15

6

 
 
Unrestricted Elective (3) (3) CS Track Reqt 1 (3) Non-tech Track Elective 1 (3) Math or Science Elective (3)

15

7

 
 
CSci 4243 (4)
Capstone Senior Design Project I

P(CSci 3240)


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.