Explore Course Paths
(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 |