request information apply now

BS in Computer Science

Pervasive and ever-changing computing technology provides the infrastructure for our globally connected world. Computer scientists are among the professionals who conceive, design, build and deploy critical devices and applications to support and advance this infrastructure. The computer science program in the Department of Mathematics and Computer Science prepares computer scientists who are able to contribute immediately and effectively to this project. Computer science graduates possess a solid grounding in core knowledge that they can apply to solve new and emerging problems with innovative solutions. Since new computing knowledge is regularly generated, computer science graduates are able to independently identify, learn and apply new concepts. Pervasive applications emerge in virtually any domain; computer science graduates adapt to any domain and effectively communicate and work with domain-specific users. 

Curriculum + Requirements

The computer science major offers a foundation of study in computer science within the framework of a traditional liberal arts education. The major requires students to complete a core of 10 courses (29 credits) and four upper-division electives in computer science and mathematics. Note: a C- or better is required for all departmental prerequisites.

The core requirements are:

Course Title Credits
CSC 110 Programming & Problem Solving 4
CSC 111 Data Structures & Abstraction 4
CSC 205 Introduction to Discrete Mathematics 3
or MA 305 Discrete Mathematics
CSC 210 Computer Architecture & Organization 4
CSC 215 Algorithm Design & Analysis 3
CSC 225 Introduction to Software Development 3
CSC 310 Operating Systems & Systems Programming 3
CSC 491 Senior Project 1 1
CSC 492 Senior Project 2 1
MA 141 Calculus of a Single Variable I (UC) 3
or MA 151 Calculus I (UC)
or MA 229 Linear Algebra

The electives are chosen from the following list:

Course Title Credits
CSC 315 Theory of Computation 3
CSC 318 Cryptography 3
CSC 320 Compilers 3
CSC 325 Database Systems 3
CSC 340 Networking & Distributed Processing 3
CSC 345 Computer Graphics 3
CSC 350 Intelligent Systems 3
CSC 355 Programming Language Concepts 3
CSC 361 Numerical Analysis 3
CSC 375* Advanced Topics in Computer Science 3

*Note CSC 375 may be repeated for credit if topics are different.

Facilities

Our computer science program has several dedicated labs on campus-making state-of-the-art equipment available to students for both course work and independent study.

The computer science program has a dedicated space that serves as a development lab for students. This lab is designed to host up to four distinct internal networks for experimentation, and has stations with machines running Linux, Windows and OS X. In addition, this space serves as a lab for embedded systems and robotics development.

Minor in Computer Science

To complete a minor in computer science, a student is required to take a total of six courses (20 or 21 credits), including CSC 110, CSC 111, either CSC 205 or MA 305, and three additional courses in computer science at the 200 level or above, to be approved by the chair of the Department of Mathematics and Computer Science. These additional courses must include either CSC 210 or CSC 215 (or both), and at least one computer science course at the 300 level.

The following computer science courses are applicable toward the minor:

Course Title Credits

CSC 110

Programming & Problem Solving 4
CSC 111 Data Structures & Abstraction 4
CSC 205 Introduction to Discrete Mathematics 3
or MA 305 Discrete Mathematics
CSC 210 Computer Architecture & Organization 4
CSC 215 Algorithm Design & Analysis 3
CSC 225 Introduction to Software Development 3
CSC 310 Operating Systems & Systems Programming 3
CSC 315 Theory of Computation 3
CSC 318 Cryptography 3
CSC 320 Compilers 3
CSC 325 Database Systems 3
CSC 340 Networking & Distributed Processing 3
CSC 345 Computer Graphics 3
CSC 350 Intelligent Systems 3
CSC 361 Numerical Analysis 3
CSC 375 Advanced Topics in Computer Science 3