There are three alternatives for the initial programming course, using a structured, object-oriented programming language (current or recent language in parentheses):
- CSC 121, Programing and Problem Solving (using Java) or
- CSC 200 = PHY 200, Computational Physics (using Java with EJS)
- CSC 209 = BIO 209, Bioinformatics Programming (using Python)
The heart of the curriculum consists of four courses:
- CSC 221, Data Structures,
- CSC 321, Analysis of Algorithms,
- CSC 322, Programming Languages, and
- CSC 324, Theory of Computation.
This is augmented by applied courses with special faculty expertise, such as
- CSC 315 = MAT 315, Numerical Analysis, and
- PHY 310, Electronics and Instrumentation (with a computer hardware component).
Seminars and Independent Studies are also an important part of the Computer Science curriculum. Recent seminars or independent studies have been titled:
- Clustering Algorithms
- Databases/Web Application
- Artificial Intelligence
- Automatic Differentiation
- Scientific Computing
- Advanced Software Development in Science
- Search Engine Theory
- Computer Graphics
- Neural Network Models
- Structure and Interpretation of Computer Programs
For CSC course descriptions, click on the title under Concentration Requirements.