Computer Science Program
Department of Mathematics,
Statistics, and Computer Science
Old Music Hall
St. Olaf College
Northfield, MN 55057-1098
(507) 646-3113
(507) 646-3116 FAX
cs@stolaf.edu
Richard Brown, Director
cs-director@stolaf.edu
Donna Brakke,
Academic Administrative Assistant
brakke@stolaf.edu
|
|
|
Overview of CS Courses
Curriculum diagram and index key
The following diagram summarizes the structure of St. Olaf's course
offerings in CS, and also the requirements for a CS major. Each circled
code represents a course: the key for these codes
serves as an index for accessing course descriptions.

Key
| CS1 |
CS 121, Principles of Computer Science
(former CS 172)
[ brief | detailed ]
|
| CS1+ |
CS 225, Accelerated Principles of Computer Science
[ brief | detailed ]
|
| MFC |
CS 231, Mathematical Foundations of Computing
[ brief | detailed ]
|
| HD |
CS 241, Hardware Design
(former CS 274)
[ brief | detailed ]
|
| SD |
CS 251, Software Design and Implementation
(former CS 272)
[ brief | detailed ]
|
| ADS |
CS 253, Algorithms and Data Structures
(former CS 372)
[ brief | detailed ]
|
| ESD |
CS 263, Ethical Issues in Software Design
[ brief | detailed ]
|
| OS |
CS 273, Operating Systems
(former CS (378))
[ brief | detailed ]
|
| PL |
CS 276, Programming Languages
(former CS 376)
[ brief | detailed ]
|
| CSA |
CS 284, Client-Server Applications
[ brief | detailed ]
|
| TOP |
CS 300, Topics in Computer Science
(former CS 378)
[ brief | detailed ]
|
| BI |
CS 315, Bioinformatics
[ brief | detailed ]
|
| TC |
CS 333, Theory of Computation
[ brief | detailed ]
|
| LP |
CS 336, Logic Programming
[ brief | detailed ]
|
| ATP |
CS 350, Advanced Team Project
[ brief | detailed ]
|
| CAP |
CS 390, Senior Capstone Seminar
[ brief | detailed ]
|
|
Foundation courses -- Introductory
Notes:
Course numbers are changing effective Spring 2004.
So, both old and new
numbers are listed below for existing courses. We will refer to
courses by their abbreviations (e.g., CS1 or
SD)
rather than their numbers.
Some new CS courses are offered in 2003-04 under the CS Seminar
number CS 378. CS 378 can be taken repeatedly
for credit, as long as the topics are different.
The list below organizes courses according to their roles in
the CS Major. See the summary of the CS
Major for a list of requirements, or look at the curriculum diagram below.
See the Planned Offerings of CS
Courses for current plans about which courses will be offered in
which term. The course-offering plan is subject to change. See Dick Brown
(rab@stolaf.edu) for
the latest information.
For more complete descriptions of these courses, see
detailed descriptions of CS courses, or click
on the links below labelled
[More...]
CS1,
Principles of Computer Science
(CS 121; Old number CS 172)
Brief description: Introduction to the discipline, focusing
on recurring concepts that are relevant to all forms of computing, and
developing good analytical thinking skills. Taught through daily
"hands-on" exercises involving the Scheme programming language.
[More...]
Prerequisites: None
Note: Satisfies [MAR].
CS1+,
Accelerated Principles of Computer Science
(CS 225; First offering Fall 2003 as CS 172B)
Brief description: Accelerated version covering the material
of both CS1 and
SD, for persons with
substantial prior programming experience in C++, Java, or a similar language.
[More...]
Prerequisites: Equivalent of high school Advanced Placement credit in Computer Science,
or consent of instructor
Note: Satisfies [MAR]; proposed for [WRI].
Foundation courses -- Intermediate
SD,
Software Design and Implementation
(CS 251; Old number CS 272)
Brief description: A study of software design practices that
also develops solid programming skills in C++ language (introduced in
this course). Includes substantial daily homework; weekly
lab meetings; and a structured team project using typical software
development methodology.
[More...]
Prerequisites: CS1, or consent of instructor
Note: Proposed for [WRI].
HD,
Hardware Design
(CS 241; Old number CS 274, "Computer Organization")
Brief description: Exploration of the internal design of
computer hardware, including circuit design at the "digital logic"
level, CPU design, comparison of Pentium and
other CPUs, assembly language, brief introduction to computer networks.
[More...]
Prerequisites: CS1 or CS1+, or consent of instructor
MFC,
Mathematical Foundations of Computing
(CS 231; First offering Spring 2005)
Brief description: Mathematical topics and skills development
required for core and advanced courses in CS, building on the
analytical abilities developed in CS1.
[More...]
Prerequisites: CS1 or CS1+, or consent of instructor
Core courses
ADS,
Algorithms and Data Structures
(CS 253; Old number CS 372)
Brief description: Standard algorithms and strategies for
organizing data, as used in general software development.
[More...]
Prerequisites: SD, or consent of instructor
ESD,
Ethical Issues in Software Design
(CS 263; First offering Spring 2004)
Brief description: Ethical and social considerations inherent
in computing systems, focusing on actual extended case studies and
practical models for ethical analysis. Builds on an "insider's"
understanding of how software is developed (from SD).
[More...]
Prerequisites: SD, or consent of instructor
Note: Proposed for [EIN] and [ORC]
PL,
Programming Languages
(CS 276; Old number CS 376)
Brief description: A study of typical features of computer
programming languages, together with an ongoing project in which
students build a programming language of their own that implements
those features.
[More...]
Prerequisites: SD and HD, or consent of instructor
CSA,
Client-Server Applications
(CS 284; First offering Fall 2003 as CS 378)
Brief description: A study of the principles of modern
client-server systems, including GUIs (graphics user interfaces),
programming with networks, databases, and design of client and server
programs, accompanied by a sizable team project that applies those
principles. Languages: Java and SQL.
[More...]
Prerequisites: SD, or consent of instructor
OS,
Operating Systems
(CS 273; Previously offered under CS 378)
Brief description: Design of computer operating systems,
including process management, file systems, input/output, and memory
management. Examines the Linux operating system in detail, including
source code, as well as design of Windows; projects
include modifications of the Linux kernel.
[More...]
Prerequisites: SD and HD, or consent of instructor
TC,
Theory of Computation
(CS 333; First offering to be announced)
Brief description: Examination of the theoretical foundations
and limitations of computing, applicable to encryption and program
design. Finite state automata, complexity, regular expressions, etc.
[More...]
Prerequisites: MFC, or consent of instructor
Note: Counts as an elective in the Mathematics major.
Advanced courses
CAP,
Senior Capstone Seminar
(CS 390; First offering Interim 2005)
Brief description: "Capstone" integrative experience,
including an interdisciplinary team project.
[More...]
Prerequisites: Senior CS major
Note: Proposed for [WRI].
BI,
Bioinformatics
(CS 315; First offering Interim 2004 as CS 378)
Brief description: First offering of a team-taught
interdisciplinary course in Bioinformatics; one of the profs is an
expert from France. Offered in collaboration with Biology and with
Biomedical Studies. See also Bioinformatics information
page.
[More...]
Prerequisites: CS1 and
either SD or Biology 125, or consent of instructor.
Different people
will be bringing different training, interests, and abilities to this
interdisciplinary course---we hope for a balance of CS and non-CS students.
Note: This course also counts towards Biology Major,
Mathematics Major (applied course), CS Major, CS Concentration, and
Molecular Biology Concentration. (!)
LP,
Logic Programming
(CS 336; First offering S05)
Brief description: Exploring a type of programming that is
heavily used in Artificial Intelligence.
[More...]
Prerequisites: ADS or PL, or consent of instructor
DB,
Database Systems
(CS 385; First offering to be announced)
Brief description: How to design databases, and how database management system work.
[More...]
Prerequisites: ADS, or consent of instructor
ATP,
Advanced Team Project
(CS 350; Old number CS 378 or CS 398)
Brief description: Team projects, usually with an interdisciplinary emphasis.
[More...]
Prerequisites: SD and other courses, depending on project.
TOP,
Topics in Computer Science
(CS 300; Old number CS 378)
Brief description: Seminar in various topics in CS.
[More...]
Prerequisites: Depends on topic.
|
|
Feedback
|
We'd love to hear from you: inquiries,
corrections, broken links, comments, suggestions---whatever! Send
e-mail to cs@stolaf.edu. |
|
|
|