Computer Science

Ellen Haberoth, Regents Math 307
507-786-3113

wp.stolaf.edu/cs

(Mathematics, Statistics, and Computer Science)

Computer science (CS) is the academic discipline that focuses on creative computing-related problem solving. St. Olaf’s CS program employs “hands-on” personal experience to build up invaluable technical and analytical skills while learning powerful computing concepts in a liberal arts context. Beginning with the introductory courses, the program’s curriculum draws connections with applications in other disciplines ranging from the natural sciences to the humanities. The program offers an authentic and satisfying education in the concepts and practices of computer science; the courses below represent national expectations for an undergraduate computer science curriculum. Undergraduate research appears throughout the program, from foundation courses that develop valuable project skills to advanced courses such as the senior capstone seminar. St. Olaf is a national leader in incorporating instruction in parallel and distributed computing throughout the CS curriculum. The program also incorporates a distinct liberal arts perspective, including emphasis on teamwork and communication skills, examination of ethical and social issues in computing, and collaboration in upper-level interdisciplinary projects.

Although CS differs from other areas of computing, such as Information Systems (IS), the study of computer science serves as excellent preparation for careers in any computing-related field, because the concepts of computer science provide insights into all types of computation. While specific computing systems come and go, the principles of CS endure for the long term, and people with awareness of those principles can perceive them in all forms of computing. The increasing effectiveness of computing in nearly all endeavors makes CS concepts relevant in almost every setting. The CS program emphasizes development of creative problem-solving and analytical thinking abilities, interpersonal skills, ethical analysis and awareness, and realistic applications.  Development of these skills enhance any career, whether one becomes a computing professional or an occasional user.

Overview of the Major

The CS program emphasizes the concepts and practices of computer science, as well as applications to other disciplines. The major begins with foundation courses that present the nature of CS through hands-on experience. The foundation and subsequent core courses together span the national expectations for an undergraduate computer science major curriculum, and advanced courses and electives provide options for depth. Several themes appear throughout the major: breadth-first introductory courses; team collaboration (often interdisciplinary) and project-based learning; development of communication skills; thoughtful, structured analysis of ethical and social issues in computing; and undergraduate research, beginning with project-building skills in early courses and continuing through advanced experiences such as CSCI 390 Senior Capstone Seminar.

Other Fields

Certain courses in computer science (as shown below) can count toward other majors and concentrations.

Majors

Mathematics
CSCI 333Theory of Computation1.00
CSCI 353Analysis of Algorithms1.00

Concentrations

Linguistics
CSCI 121Principles of Computer Science1.00
CSCI 125Computer Science for Scientists and Mathematicians1.00
CSCI 251Software Design and Implementation1.00
CSCI 276Programming Languages1.00
CSCI 333Theory of Computation1.00
Mathematical Biology
CSCI 125Computer Science for Scientists and Mathematicians1.00
CSCI 251Software Design and Implementation1.00
Neuroscience
CSCI 333Theory of Computation1.00
CSCI 353Analysis of Algorithms1.00
Statistics
CSCI 125Computer Science for Scientists and Mathematicians1.00

Check with the relevant programs for limitations and details.

Also, certain courses in other programs/departments are required or can count toward a computer science major:

MATH 220Elementary Linear Algebra1.00
MATH 234Discrete Mathematical Reasoning1.00
MATH 282Topics in Mathematics (when topic is Computational Geometry)1.00
MSCS 341Algorithms for Decision Making1.00
PHYS 130Analytical Physics I 1.00
PHYS 246Electronics1.00

Check with the computer science program for limitations and details

The computer science program offers many opportunities to participate in undergraduate research, often integrated within courses, or through extracurricular activities such as summer research. Ongoing efforts in high-performance cluster and parallel computing, graphics, 3D computer vision, interdisciplinary web applications, and declarative approaches to language design provide a foundation for many student projects.

Collaborative interdisciplinary projects apply computer science to many fields across campus, including environmental studies, archaeology, business and management studies, music, physics, applied linguistics, and history.

Recommendations for Graduate Study

Students considering graduate study in computer science should pursue opportunities that add both breadth and depth in their majors. Graduate-school-bound students are strongly encouraged to pursue undergraduate research involving computer science, and to take courses beyond the minimal major requirements.