KSAWorks
KSAWorks
Knowledge • Skills • Abilities
St Olaf College · Courses

CSCI

25 courses with the subject CSCI, each shown exactly as we captured it from the college's catalog, with every element we hold. Where the wording looks broken, that is our reading of the catalog, not the college's text.

CSCI 121Introduction to Computer Science

This course introduces students to computer science and its applications. Students explore fundamental concepts, including common data structures, conditionals, iteration, functions, recursion, and introductory object-oriented software design. Students apply these concepts using the Python programming language in hands-on projects relevant to fields such as the arts, humanities, social sciences, and natural sciences. No prior programming experience is expected or required. Offered each semester. Either CSCI 121 or CSCI 251 counts toward applied linguistics concentration. OLE Core Requirement: Quantitative and Computational Reasoning.

Subject
CSCI
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 200Topics in Computer Science

Students explore special topics in computer science. Topics may vary from year-to-year. May be repeated if topics are different. Offered periodically. Prerequisite: permission of instructor.

Subject
CSCI
Type
course
Repeatable
May be repeated if topics are different.
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 201Topics in Computer Science0.50

Students explore special topics in computer science. Topics may vary from year-to-year. The workload in this course is commensurate with a 0.50-credit course. May be repeated if topics are different. Offered periodically.

Subject
CSCI
Credits (min)
0.5
Credits (max)
0.5
Type
course
Repeatable
May be repeated if topics are different.
Edition
2025-2026
Source
catalog.stolaf.edu
Prerequisite
permission of instructor.
CSCI 202Topics in Computer Science0.25

Students explore special topics in computer science. Topics may vary from year-to-year. The workload in this course is commensurate with a 0.25-credit course. May be repeated if topics are different. Offered periodically. St. Olaf Catalog 2025-2026 97

Subject
CSCI
Credits (min)
0.25
Credits (max)
0.25
Type
course
Repeatable
May be repeated if topics are different.
Edition
2025-2026
Source
catalog.stolaf.edu
Prerequisite
permission of instructor.
CSCI 221Introduction to Data Structures in C++

This course introduces students to the C++ programming language and common data structures. Students develop their understanding of how machines store and operate on data, down to the individual bits. Students learn about storage space and run-time requirements of common data structures, including stacks, queues, linked lists, and trees. Combined with their deeper understanding of how the computer processes data, students analyze programs for efficiency and to apply the right data structure for specific scenarios. Offered each semester. Prerequisite: CSCI 121 or CSCI 125 or PHYS 130 or permission of instructor.

Subject
CSCI
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 241Hardware Design

This course explores computer hardware and how the code we write uses it, taught through in-class labs and daily assignments. Topics include an introduction to computer systems, computer organization and architecture, the component-level design of computer hardware, forms of parallelism, machine-level implementation of programming language features, memory organization, logic circuits, data representation, assembly programming, and a brief introduction to networking and cloud computing. Offered each semester. Prerequisite: CSCI 221 or permission of instructor.

Subject
CSCI
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 251Software Design and Implementation

This course provides an introduction to the structure and creation of computer software, using the C++ programming language and emphasizing object-oriented programming and structured collaborative software-development methodology. Concepts and skills are applied in a substantial multi-week team project. Topics include object-oriented programming, specification, programmed memory management, indirect addressing, tools including team software process, software design strategies, and elementary ethical analysis of software systems. Offered each semester. Prerequisite: CSCI 221 or permission of instructor.

Subject
CSCI
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 263Ethical Issues in Software Design

The software we design has real effects in people's lives. This course explores the ethical and social considerations inherent in computer-based systems, develops skills in thinking about those considerations and in collecting data to determine their effects, and expands students' abilities to integrate these issues and skills into software development procedures. Coursework uses case studies and surveys topics such as professional and ethical responsibilities, risk, liability, intellectual property, privacy, computer crime, and AI ethics. Offered each semester. Prerequisite: CSCI 251 or permission of instructor. OLE Core Requirement: Ethical Reasoning in Context; OLE Experience in Practice.

Subject
CSCI
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 273Operating Systems

This course examines the features of modern operating systems, including detailed consideration of Linux and other example systems. Projects range from system-level programming and multithreaded network programming to kernel modifications. Topics include operating system principles, implementation as system calls, process scheduling and dispatch, concurrency, inter-process communication, programming with threads and sockets, low-level memory management, device management, file systems, security and protection mechanisms, virtual machines, and kernel programming. Offered periodically. Prerequisites: completion of or concurrent enrollment in CSCI 241 and CSCI 251, or permission of instructor.

Subject
CSCI
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 276Programming Languages

The course begins with a survey of several popular programming languages, learning to write some code in each of them. We then consider important language features that have been used to describe entire categories of languages. Topics include programming language semantics, programming language translation, parsing, memory structures, abstraction mechanisms, and language translation systems and types. Also counts toward applied linguistics concentration. Prerequisites: CSCI 251 or permission of instructor.

Subject
CSCI
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 279Introduction to Machine Learning

Machine learning algorithms are used to make decisions in a wide variety of applications, including recommendation systems, criminal justice, healthcare, and more. This course explores several common machine learning algorithms: how they work, their strengths and limitations, their applications to real-world datasets, their implementation via Python frameworks, and the ethical and societal consequences of their use. A background in statistics or data science is recommended but not required. Offered annually. Prerequisites: CSCI 221 or permission of instructor.

Subject
CSCI
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 284Mobile Computing Applications

Mobile devices are actually sophisticated and powerful computers. This course explores mobile computing technology by creating applications for the Android platform, including a final team project. The course introduces Java language and provides exposure to graphics user interfaces (GUIs), event-driven programming, APIs, databases, SQL query language, and agile team programming methodologies. Offered periodically.

Subject
CSCI
Type
course
Edition
2025-2026
Source
catalog.stolaf.edu
Prerequisite
CSCI 251 or permission of instructor.
CSCI 294Academic Internship

This is an intermediate-level version of CSCI 394. OLE Core Requirement: OLE Experience in Practice.

Subject
CSCI
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 298Independent Study

Independent work is guided by a faculty member. Students need to have the necessary background, including appropriate coursework, before an independent project is approved. A student may not substitute an IS/IR course for a course regularly offered in a department or program. IS/IR culminates in at least one product (a paper, laboratory report, work of art, etc.). Normally, the student and faculty instructor are expected to meet at least once a week. See catalog for more information under registration and course enrollment. Prerequisites: at least second-year standing; at least 2 relevant courses for 298 (IS); approval from the faculty instructor, the academic advisor, and the department chair or program director.

Subject
CSCI
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 300Topics in Computer Science

Recent and planned topics include parallel and distributed computing, mobile computer graphics, and relational database systems. May be repeated if topic is different. Offered periodically.

Subject
CSCI
Type
course
Repeatable
May be repeated if topic is different.
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 301Advanced Topics in Computer Science0.50

Students explore special topics in computer science at a level commensurate with other Level III courses in Computer Science, and with appropriate prior experience in Computer Science topics. The workload in this course is commensurate with a 0.50-credit course. Topics may vary from year-to-year. May be repeated if topics are different. Offered periodically.

Subject
CSCI
Credits (min)
0.5
Credits (max)
0.5
Type
course
Repeatable
May be repeated if topics are different.
Edition
2025-2026
Source
catalog.stolaf.edu
Prerequisite
permission of instructor.
CSCI 333Theory of Computation

Students learn about formal languages, automata, and other topics concerned with the theoretical basis and limitations of computation. The course covers automata theory including regular languages and context-free languages, computability theory, complexity theory including classes P and NP, and cryptographic algorithms. Offered periodically. Prerequisite: a proof writing course (such as MATH 234, MATH 244, or MATH 252) and computer science major or permission of instructor.

Subject
CSCI
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 353Analysis of Algorithms

This course surveys standard topics in the study of algorithms, with an emphasis on complexity analysis and implementation experience. Topics include asymptotic analysis, searching and sorting, divide and conquer, basic graph algorithms, greedy algorithms, dynamic programming, and NP-complete problems. Offered each semester. Prerequisites: MATH 234 and CSCI 251, or consent of the instructor.

Subject
CSCI
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 356Parallel and Distributed
Subject
CSCI
Type
course
Edition
2025-2026
Source
catalog.stolaf.edu
CSCI 379Foundations of Artificial Intelligence

Artificial intelligence is an extremely broad field in which the overarching goal is the creation of an autonomous agent with human-level capabilities. Students study the fundamental algorithms and techniques used to create agents with varying degrees of autonomy and function, including search algorithms, first-order logic, Bayesian networks and simple neural networks. Students learn how to represent problems for specific techniques, and how to select the best technique for a given problem. Offered annually. Prerequisites: CSCI 251 and MATH 234, or permission of instructor.

Subject
CSCI
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 390Senior Capstone Seminar

Class members participate in undergraduate research, including readings from the research literature, team development of project software, ethical analysis of their project applying CSCI 263 principles, documentation practices, and writing a research paper for public presentation. Offered annually. Prerequisites: major in computer science with senior status, and completion of or concurrent enrollment in computer science core courses, ordinarily including CSCI 353 and CSCI 263, or permission of instructor.

Subject
CSCI
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 391Ghana International Capstone (study abroad)

Class members participate in a team research project abroad. The central activity of the project teams is to implement an applied research project in collaboration with a host community in West Africa. This research project drives the other elements of the course, which include readings from the research literature, ethical analysis of their project applying CSCI 263 principles, documentation practices, and writing a research paper for public presentation. Offered periodically during January Term. Apply through the Smith Center for Global Engagement. Prerequisites: computer science major with junior or senior status and completion of computer science core courses, ordinarily including CSCI 353 and CSCI 263, or permission of instructor. OLE Core Requirement: OLE Experience in Practice.

Subject
CSCI
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 394Academic Internship

Students gain experience in computer-industry positions. Recent projects have included contributions to team programming, documentation, business applications of computing, modifications of large proprietary code bases using industry-standard software frameworks, test-driven development, creating mobile-computing interfaces for existing software systems, and improving security of company websites. Internship experiences (whether for credit or not) are strongly encouraged for anyone considering a career in computing. OLE Core Requirement: OLE Experience in Practice.

Subject
CSCI
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 396Directed Undergraduate Research

This course provides a comprehensive research opportunity, including an introduction to relevant background material, technical instruction, identification of a meaningful project, and data collection. The topic is determined by the faculty member in charge of the course and may relate to their research interests. Offered based on department decision. May be offered as a 1.00 credit course or .50 credit course. Prerequisite: determined by individual instructor.

Subject
CSCI
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu
CSCI 398Independent Research

Recent projects, usually executed by individuals, but occasionally in small groups, and coordinated with ongoing undergraduate research projects, include cluster-assisted computer vision for robots, parallel computing in computer science education, and middleware for interdisciplinary web applications.

Subject
CSCI
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.stolaf.edu

Source: St Olaf College's catalog, linked per course · table learning_unit · CourseShelf publish 61