A list of regularly offered courses follows. The indication of when a course will be offered is based on the best projection of the department and can be subject to change.
Please note the key for the following abbreviations: (A) Arts; (H) Humanities; (S) Social Sciences; (N) Natural Sciences with Laboratory; (LS) Language Studies requirement; (NSP) Natural Science in Perspective; (NW) Non-Western Cultures requirement.
Introduces basic concepts in computer science and computational problem solving through the design of algorithms and computational processes, modularization, and abstraction. Also introduces the processes of programming and software development as a means to put solutions into practice. Has a required lab, but does not satisfy the “Natural Science with Laboratory “ requirement. Hu, Talvitie
A second course in computer science and computational thinking, focusing on data structures and advanced programming. Topics include implementation and applications of data structures such as stacks, queues, linked lists, trees and graphs. Also introduces performance analysis of algorithms. Has a required lab, but does not satisfy the “Natural Science with Laboratory” requirement. Prerequisite: CPS 111 (formerly CPS 170 or 150) or permission of the instructor. Hu
A half-credit, project-primary course that provides an environment for working on a programming project of the student’s choosing. Project must be chosen in consultation with instructor before registering. All of the programming will be independent and outside class; class meetings will be spent on discussing the projects, interesting language features, and programming challenges the students are facing. Regular student presentations through the semester, and a final project presentation. Course may be repeated for credit. Permission of the instructor required.
Basic set theory, basic proof techniques, combinatorics (the theory of counting), and graph theory with related algorithms. Prerequisite: MAT 109. Same as MAT 237. Hu
Trees, graphs and networks; further analysis of algorithms and their efficiency. Prerequisite: CPS 112 (formerly CPS 270 or 260). Staff
Intermediate level courses.
Reading directed by the Computer Science staff. Permission of chairperson.
Numerical analysis as implemented on computers. Polynomial and rational approximations, numerical differentiation and integration, systems of linear equations, matrix inversion, eigenvalues, first and second order differential equations. Prerequisites: CPS 111, MAT 229. Same as MAT 338. Weaver
Study of specialized areas of Computer Science.
Independent study directed by Computer Science staff. Permission of chairperson.
Reading directed by the Computer Science staff. Permission of chairperson.
Independent study directed by Computer Science staff. Permission of chairperson.
Reading directed by the Computer Science staff. Permission of chairperson.
Advanced Data Structures.
Introduction to Bioinformatics.
Theoretical Foundations of Computer Science.
Artificial Intelligence.