The Arnold Bernhard Library. Copyright Notice: Rich Gilligan @Hello Artists photographed in Spring 2016 for the new branding materials and new EDU website. Usage terms are: Marketing Collateral in perpetuity - e.g.-student guides, annual reports, flyers, brochures, public affairs, web/social media - 3 years paid media.

BA or BS in Computer Science

Computer scientists safeguard government databases against hackers, redesign websites for major news organizations, develop apps for innovative companies and perform groundbreaking research that makes the next generation of computing a reality.

Program Overview

What do digital, mobile, big data, automotive and electronics companies all have in common? They all require the technical savvy and varied skillset of computer scientists. In fact, employers in virtually every field rely on them to solve complex network, database and function issues, keeping them connected, productive and safe from cyber threats.

Both the BA and BS in Computer Science blend programming expertise with problem-solving skills and a focus on collaborative, team-based projects. The BA and BS programs also share the same technical core, providing students with the time to explore both before committing to the one that aligns with their strengths, interests and career goals.

In the BS program, computers are not just the tools you use, but also the objects of your study. Your expertise extends beyond programming to include computer design, building and internal architecture. Course work covers a host of topics, from web design and data structure to cryptography, artificial intelligence and robotics. This knowledge paves the way to careers as app developers, systems analysts, network administrators and many others.

Rather than purchasing text books, students in Professor Jonathan Blake's robotics class order robots that they learn to program to complete desired tasks.

Programming futures

Rather than purchasing text books, students in Professor Jonathan Blake's robotics class order robots that they learn to program to complete desired tasks.


The BA track takes a more holistic, interdisciplinary approach to the application of computer science. You’ll learn the same essential tools and algorithms, but also how to apply them to other subject areas, such as business, biology, graphic design and game design. The BA track is ideal for those who are interested in double majoring. Its flexible elective structure also makes it easily combined with a plethora of minors. 

Under the guidance of dedicated faculty, you’ll learn which path is right for you, all the while becoming proficient with leading industry hardware and software systems. Our on-campus computer science labs feature state-of-the-art equipment, hosting four unique internal networks. Our machines run Windows and Linux virtually to acclimate you to different operating systems and working environments.

Curriculum and Requirements: Bachelor of Arts

BA in Computer Science Curriculum

Note: a minimum grade of C- is required for all computer science course prerequisites unless otherwise stated.

University Curriculum
Foundations of Inquiry:
FYS 101First Year Seminar3
EN 101Introduction to Academic Reading and Writing3
EN 102Academic Writing and Research3
Quantitative Literacy:
MA 205Introduction to Discrete Mathematics (CSC 205)3
Disciplinary Inquiry:
Take four UC courses from within Sciences (with lab), Humanities, Social Sciences, Fine Arts: 113
Personal Inquiry I:
Take three UC courses from within Sciences, Humanities, Social Sciences, Fine Arts 19-10
Personal Inquiry II:
Choose one of the following: 23
MA 141
Calculus of a Single Variable I
MA 229
Linear Algebra
Take additional UC credits (the mathematics elective below could count) 45-9
Additional Requirements:
MA elective 53
ENR 395Professional Development Seminar1
Directed Study
Complete minimum 18 credits of approved directed study outside Computer Science 618
Computer Science Core Requirements
CSC 110
& 110L
Programming and Problem Solving
and Programming and Problem Solving Lab
4
CSC 111
& 111L
Data Structures and Abstraction
and Data Structures & Abstraction Lab
4
SER 120
& 120L
Object-Oriented Design and Programming
and Object-Oriented Design and Programming Lab
4
CSC 210
& 210L
Computer Architecture and Organization
and Computer Architecture and Organization Lab
4
CSC 215Algorithm Design and Analysis3
CSC 225Introduction to Software Development (SER 225)3
CSC 493 Senior Thesis 11
CSC 494 Senior Thesis 23
CSC Electives (Take 9 credits of CSC elective courses) 39
Total Credits99-104
1

Courses must be from different areas.

2

Counts in this category only if MA 141 is taken.

3

Can be a software engineering elective (SER 210 or any 300-level or above SER course). 

4

Must meet a minimum of 18 credits in Personal Inquiry I & II.

5

Must be MA 140 or higher

6

A minor or second major will satisfy this requirement

Complete additional course work to reach 120 credits. This course work must include any missing UC credits from Personal Inquiry above.

Curriculum and Requirements: Bachelor of Science

BS in Computer Science Curriculum

Note: a minimum grade of C- is required for all computer science course prerequisites unless otherwise stated.

University Curriculum
Foundations of Inquiry:
FYS 101First Year Seminar3
EN 101Introduction to Academic Reading and Writing3
EN 102Academic Writing and Research3
Quantitative Literacy:
MA 205Introduction to Discrete Mathematics (CSC 205)3
Disciplinary Inquiry:
Take one of the following Natural Science courses: 14
BIO 101
& 101L
General Biology I
and General Biology I Lab
BIO 150
& 150L
General Biology for Majors
and General Biology for Majors Laboratory
PHY 121
University Physics
CHE 110
& 110L
General Chemistry I
and General Chemistry I Lab
Humanities, Social Sciences, Fine Arts: 29
Personal Inquiry I:
Take second semester of Natural Science course chosen above 14
Take two additional courses from within Humanities, Social Sciences, Fine Arts 26
Personal Inquiry II:
Choose one of the following:3-4
MA 141
Calculus of a Single Variable I
MA 151
Calculus I
Take an additional 4-5 UC credits (the mathematics elective below could count) 45
Additional Requirements:
MA 229Linear Algebra3
MA electives (take 5-6 additional credits) 55-6
Additional Math/Science courses 67
ENR 395Professional Development Seminar1
Computer Science Core Requirements
CSC 110
& 110L
Programming and Problem Solving
and Programming and Problem Solving Lab
4
CSC 111
& 111L
Data Structures and Abstraction
and Data Structures & Abstraction Lab
4
SER 120
& 120L
Object-Oriented Design and Programming
and Object-Oriented Design and Programming Lab
4
CSC 210
& 210L
Computer Architecture and Organization
and Computer Architecture and Organization Lab
4
CSC 215Algorithm Design and Analysis3
CSC 225Introduction to Software Development (SER 225)3
CSC 310Operating Systems and Systems Programming3
CSC 315Theory of Computation (MA 315)3
Take one of the following:3
CSC 325
Database Systems (SER 325)
CSC 340
Networking and Distributed Processing
CSC 491Senior Project 13
CSC 492Senior Project 23
CSC Electives (Take 9 credits of CSC elective courses) 39
Total Credits105-107
1

Must take the full-year sequence.

2

Courses must be from different areas.

3

Can be a software engineering elective (SER 210 or any 300-level or above SER course). 

4

Must meet a minimum of 18 credits in Personal Inquiry I & II.

5

Total math credits must equal a minimum of 15.

6

Total math/science credits must equal a minimum of 30.

Complete additional course work to reach 120 credits. This course work must include any missing UC credits from Personal Inquiry above.

Additional course details
Explore descriptions, schedule and instructor information using the Course Finder tool.