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

CourseCourse NameCategoryPrerequisites

Foundation Courses

CSCI 243Discrete Math and Functional ProgrammingAbstraction and TheoryNone
CSCI 235Programming I: Problem SolvingProgrammingNone
CSCI 245Programming II: Object-Oriented Design(All Categories)CSCI 235

Core Courses

CSCI 345Data Structures and AlgorithmsAbstraction and TheoryCSCI 243, CSCI 245
CSCI 335Software DevelopmentApplicationsCSCI 243, CSCI 245
CSCI 351Introduction to Computer SystemsSystemsCSCI 245

Electives

CSCI 357 Networking Systems CSCI 351
CSCI 359Information SecuritySystemsCSCI 351
CSCI 381 Machine Learning Applications CSCI 345
CSCI 371DatabasesApplicationsCSCI 335, CSCI 345
CSCI 373Platform-Specific DevelopmentApplicationsCSCI 335
CSCI 384Computational LinguisticsApplicationsCSCI 345
CSCI 394Seminar (Topics Vary)Various
CSCI 445Analysis of AlgorithmsAbstraction and TheoryCSCI 345
CSCI 455Operating SystemsSystemsCSCI 335, CSCI 351

Capstone Course

CSCI 494 Social and Ethical Issues Professional Issues