Computer Science Course Paths

Explore Course PathsComputer Science Course Sequence chart

(The same information as the above graphic can also be accessed in table format further down the page.)

Our Curriculum

Our computer science curriculum is organized into foundation courses, core courses, electives, and a capstone.

The foundation courses include a two-semester introduction to programming and a course in proof-based discrete mathematics. Among these three courses, students are introduced to both functional and object-oriented programming using the languages Java, C, and Python.

The core level courses constitute the second year of the major program. They ground students in the various branches of computer science, ranging from theory to practice. In the software development course, students work on a semester-long group project, after which they are well-prepared for an internship.

During the last two years of the major program, students choose at least three courses among the electives, which are taught on a two-year rotation. Students can tailor their course selection based on their career interests, whether information security, software development, artificial intelligence, or other direction in which to apply computation.

In the capstone course, which students take in one of their last semesters on campus, we reflect on the ethical, social, and professional issues in the field of computer science from the perspective of biblically-informed Christian faith.

Course Sequence

Course Course Name Category Prerequisites

Foundation Courses

CSCI 243 Discrete Math and Functional Programming Abstraction and Theory None
CSCI 235 Programming I: Problem Solving Programming None
CSCI 245 Programming II: Object-Oriented Design (All Categories) CSCI 235

Core Courses

CSCI 345 Data Structures and Algorithms Abstraction and Theory CSCI 243, CSCI 245
CSCI 335 Software Development Applications CSCI 243, CSCI 245
CSCI 351 Introduction to Computer Systems Systems CSCI 245

Electives 

CSCI 357  Networking  Systems  CSCI 351 
CSCI 359 Information Security Systems CSCI 351
CSCI 381  Machine Learning  Applications   CSCI 345 
CSCI 371 Databases Applications CSCI 335, CSCI 345
CSCI 373 Platform-Specific Development Applications CSCI 335
CSCI 384 Computational Linguistics Applications CSCI 345
CSCI 394 Seminar (Topics Vary) Various  
CSCI 445 Analysis of Algorithms Abstraction and Theory CSCI 345
CSCI 455 Operating Systems Systems CSCI 335, CSCI 351

Capstone Course 

CSCI 494  Social and Ethical Issues  Professional Issues