The Bachelor of Science in Computer Science is a four-year degree program intended to prepare students for either a career requiring a thorough background in the field or for graduate school. It is modeled to some extent on the curricular recommendations of the Association for Computing Machinery (ACM) and provides both considerable breadth and depth.

Requirements for the major

Requirements for the degree of Bachelor of Science with a major in Computer Science are as follows:

I. Departmental requirements: 45 credit hours (48 with Senior Thesis Capstone) including:

A. Core Principles:

Course ID Course Title
CSCI-1320 Principles of Computer Science I
CSCI-1321 Principles of Computer Science II
CSCI-1323 Discrete Structures
CSCI-2320 Principles of Data Abstraction
CSCI-2321 Principles of Computer Design
CSCI-2322 Principles of Functional Languages
CSCI-3320 Principles of Theoretical Computer Science
CSCI-3321 Principles of Software Engineering
CSCI-3322 Principles of Algorithms

B. Departmental Colloquium: Four semesters of CSCI-2094 Computer Science Colloquium.

C. Curricular Groups: At least three hours from each of the following groups:

1. Applications Group

Course ID Course Title
CSCI-3311 Information Assurance and Security
CSCI-3342 Computer Networks
CSCI-3343 Database Systems
CSCI-3344 Artificial Intelligence
CSCI-3353 Graphics
CSCI-3353 Big Data and Machine Learning
CSCI-3366 Parallel and Distributed Programming
CSCI-3195, CSCI-3295, CSCI-3395 Special Topics in Applications

2. Systems Group:

Course ID Course Title
CSCI-3323 Principles of Operating Systems
CSCI-3334 Compiler Construction
CSCI-3196, CSCI-3296, CSCI-3396 Special Topics in Systems

3. Design Group:

Course ID Course Title
CSCI-3312 Introduction to Game Development
CSCI-3345 Web Application Design
CSCI-3362 Effective Programming Techniques
CSCI-3197, CSCI-3297, CSCI-3397 Special Topics in Design

D. Capstone: One of the following options: 

  1. Senior Software Project: CSCI-4385 Senior Software Project I and CSCI-4386 Senior Software Project II. 
  2. Senior Thesis: CSCI-3398 Thesis Reading, CSCI-4398 Thesis I, and CSCI-4399 Thesis II, plus additional requirements listed in the section "Senior Thesis" below. 

E. Electives: 3 additional upper-division computer science hours, or COMM-3325 Special Topics in Communication Media: Computational Propaganda and the Assault on Democracy.

II. Mathematics requirement: 

Six hours from the following:

A. Any MATH course except MATH-1301 Pre-Calculus, MATH-1305 Mathematics for Business and Economics,  MATH-3194 Junior Writing Workshop, or MATH-3195 Junior Technology Workshop.

B. CSCI-2324 Numerical Calculus

C. PHIL-3340 Symbolic Logic II

D. PHIL-3343 Nonclassical Logics

III. University requirements: 

Completion of all other required elements of the Pathways curriculum and at least 120 hours. 

Senior Thesis 


I. Overall grade point average of 3.0 or better at the time the thesis option is selected.

II. Grade point average in computer science of 3.0 or better at the time the thesis option is selected.

III. Successful completion of CSCI-3398 Thesis Reading, CSCI-4398 Thesis I, and CSCI-4399 Thesis II. Normally taken in consecutive semesters beginning in the Spring semester of the junior year.

IV. Selection of a faculty committee consisting of a thesis chair chosen from the computer science faculty and two additional faculty members during the semester in which CSCI-3398 is taken.

V. A public formal presentation and defense of the thesis during the semester in which CSCI-4399 is taken. 


To be eligible for the distinction of graduation with Honors in Computer Science the requirements are:

  1. Completion of the requirements for the Bachelor of Science in Computer Science.
  2. Completion of the requirements for the Senior Thesis described above.
  3. Grade point average of at least 3.33 or better in all courses prior to the semester of graduation.
  4. Grade point average of 3.33 or better in all computer science courses prior to the semester of graduation.
  5. A written request for honors consideration, submitted to the department chair in the semester prior to the semester of graduation. 

The decision of whether or not to confer the honors designation will be made by the departmental faculty and will be determined by departmental vote. The criteria include quality of the written thesis, quality of the oral presentation, and contribution to the field.

When a thesis receives the honors designation, this designation is so noted on the student’s transcript and announced at graduation.

Students who successfully complete CSCI-4399 with a grade of C or better, but fail to achieve honors status or fail to meet the deadline for submitting a thesis for departmental honors will be considered to have met the capstone requirement for the Bachelor of Science in Computer Science provided that they submit a completed thesis by the end of the semester. 

Contact Us

 Department website

 Yu Zhang, Ph.D. (Chair)


Discover More

From the Department of Computer Science.



We're here to help!

Our team of expert academic advisers are ready to provide guidance and support.

Visit the Advising Office