Introductory Chemistry Course –
- Subject
- CS
- Credits (min)
- 6
- Credits (max)
- 6
- Credit unit
- credits
- Type
- course
- Edition
- 2025-2026
- Source
- cdn.carleton.edu
35 courses with the subject CS, 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.
Introductory Chemistry Course –
Think back to your favorite assignment from Introduction to Computer Science. Did you ever get the feeling that “there has to be a better/smarter way to do this problem”? The Data Structures course is all about how to store information intelligently and access it efficiently. How can Google take your query, compare it to billions of web pages, and return the answer in less than one second? How can one store information so as to balance the competing needs for fast data retrieval and fast data modification? To help us answer questions like these, we will analyze and implement stacks, queues, trees, linked lists, graphs, and hash tables. This version of Data Structures includes extra class time to support students’ problem solving by meeting five days per week, and is encouraged for students who may have struggled in CS111 or otherwise believe they would benefit from extra support. This course fulfills all requirements of CS 201, and students should take only one of CS 200 or CS 201. Sophomore Priority section is available Offered: Winter 2026 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning QRE, Quantitative Reasoning better or a score of 4 or better on the Computer Science A AP exam or received a score of 111 on the Carleton Computer Science Requisite Equivalency exam. Not open to students that have taken CS 201. Tags: CL: 200 level Faculty: Anna Rafferty
This course introduces some of the formal tools of computer science, using a variety of applications as a vehicle. You’ll learn how to encode data so that when you scratch the back of a DVD, it still plays just fine; how to distribute “shares” of your floor’s PIN so that any five of you can withdraw money from the floor bank account (but no four of you can); how to play chess; and more. Topics that we’ll explore along the way include: logic and proofs, number theory, elementary complexity theory and recurrence relations, basic probability, counting techniques, and graphs. Offered: Fall 2025, Winter 2026, Spring 2026 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning better or received a score of 4 or better on the AP Computer Science exam or received a score of 111 or better on the Carleton Computer Science Requisite Equivalency exam AND MATH 101 or MATH 111 or greater with a grade of C- or better or greater or received a score of 4 or better on the Calculus AB AP exam or received a score of 4 or better on the Calculus BC AP exam or received a score of 5 or better on the Mathematics IB exam or received a score greater than or equal to 111 on the Carleton MATH Requisite Equivalency exam. Tags: CL: 200 level CS Required for Major LING Related Field Faculty: Eric Alexander · Sneha Narayan
Are you curious what’s really going on when a computer runs your code? In this course we will demystify the machine and the tools that we use to program it. Our broad survey of how computer systems execute programs, store information, and communicate will focus on the hardware/software
In this hands-on course, taught (in an art studio) by a sculpture professor and computer science professor, we'll explore and create interactive three dimensional art. Using basic construction techniques, microprocessors, and programming, this class brings together sculpture, engineering, computer science, and aesthetic design. Students will engage the nuts and bolts of fabrication, learn to program microcontrollers, and study the design of interactive constructions. Collaborative labs and individual projects will culminate in a campus-wide exhibition. No prior building experience is required. Not open to students who have taken previous offering of Art, Interactivity and Robotics. Not offered in 2025-26 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning better or a score of 4 or better on the Computer Science A AP exam or received a score of 111 on the Carleton Computer Science Requisite Equivalency exam. Not open to students who have taken CS 220* (*=Jr Sem). Tags: ARTS 3-D Emphasis CL: 200 level CS Major Electives ARTS Pertinent DGAH Cross Disciplinary Collaboration
What makes a programming language like “Python” or like “Java”? This course will look past superficial properties (like indentation) and into the soul of programming languages. We will explore a variety of topics in programming language construction and design: syntax and semantics, mechanisms for parameter passing, typing, scoping, and control structures. Students will expand their programming experience to include other programming paradigms, including functional languages like Scheme and ML. Offered: Fall 2025, Winter 2026, Spring 2026 Credits: 6 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning grade of C- or better or received a score of 201 or better on the Carleton Computer Science Requisite Equivalency exam. Tags: CL: 200 level CS Required for Major Faculty: Anna Meyer · Tanya Amert
A course on techniques used in the design and analysis of efficient algorithms. We will cover several major algorithmic design paradigms (greedy algorithms, dynamic programming, divide and conquer, and network flow). Along the way, we will explore the application of these techniques to a variety of domains (natural language processing, economics, computational biology, and data mining, for example). As time permits, we will include supplementary topics like randomized algorithms, advanced data structures, and amortized analysis. Offered: Fall 2025, Winter 2026, Spring 2026 Credits: 6 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning better or CS 201 with a grade of C- or better or received a score of 200 or better on the Carleton Computer Science Requisite Equivalency exam AND CS 202 with a grade of C- or better or received a score of 202 on the Carleton Computer Science Requisite Equivalency exam or MATH 236 with a grade of C- or better or received a score of 236 on the Carleton Math Requisite Equivalency exam. MATH 236 will be accepted in lieu of CS 202. Tags: CL: 200 level CS Required for Major MATH Discrete Structures MATH Electives SDSC CS Elective Faculty: Sneha Narayan · Chelsey Edge · Eric Alexander
An introduction to the theory of computation. What problems can and cannot be solved efficiently by computers? What problems cannot be solved by computers, period? Topics include formal models of computation, including finite-state automata, pushdown automata, and Turing machines; formal languages, including regular expressions and context-free grammars; computability and uncomputability; and computational complexity, particularly NP-completeness. Offered: Fall 2025, Winter 2026, Spring 2026 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning better or CS 201 with a grade of C- or better or received a score of 200 or better on the Carleton Computer Science Requisite Equivalency exam AND CS 202 with a grade of C- or better or received a score of 202 on the Carleton Computer Science Requisite Equivalency exam or MATH 236 with a grade of C- or better or received a score of 236 on the Carleton Math Requisite Equivalency exam. MATH 236 will be accepted in lieu of CS 202. Tags: CGSC Elective CL: 200 level CS Required for Major LING Pertinent LING Related Field MATH Discrete Structures MATH Electives NEUR Elective Faculty: Chelsey Edge · Josh Davis · Anna Rafferty
It’s easy to write a mediocre computer program, and lots of people do it. Good programs are quite a bit harder to write, and are correspondingly less common. In this course, we will study techniques, tools, and habits that will improve your chances of writing good software. While working on several medium-sized programming projects, we will investigate code construction techniques, debugging and profiling tools, testing methodologies, UML, principles of object-oriented design, design patterns, and user interface design. Offered: Fall 2025, Winter 2026, Spring 2026 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning grade of C- or better or received a score of 201 or better on the Carleton Computer Science Requisite Equivalency exam. Tags: CL: 200 level CS Required for Major SDSC CS Elective Faculty: Jean Salac · Anya Vostinar · Amy Csizmar Dalal
Students work on a research project related to a faculty member's research interests, and directed by that faculty member. Student activities vary according to the field and stage of the project. The long-run goal of these projects normally includes dissemination to a scholarly community beyond Carleton. The faculty member will meet regularly with the student and actively direct the work of the student, who will submit an end-of-term product, typically a paper or presentation.
In the mid-1800s, Charles Babbage’s analytical engine, inspired by programmable looms, was the first conception of an automated programmable computing device. A century later, British researchers built some of the first physical computers—particularly WWII-era code-breaking work, and programmable machines developed immediately after the war. We will explore those two eras, through historical writings (including Babbage and Ada Lovelace, who wrote programs for the analytical engine, and Alan Turing) and visits to relevant museums and archives. We will also study some of the more recent history of computing, particularly the major advances in the 1960s and 1970s. Offered: Fall 2025 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning Tags: CL: 300 level CS Major Electives CGSC Elective Faculty: David Liben-Nowell
What makes computers computers? Are computers defined by their existing functionalities, future capabilities, individual components, or something else? Are there inherent risks to the technologies we surround ourselves with, and are there ways we can mitigate those risks to live happier lives? How do we arrive at a ‘true’ interpretation of data, and does its presentation and visualization matter? By peering into the black-box of everyday technologies alongside the philosophical discussions they engender, we will investigate the fundamental questions computing technologies and its mind-bending pace of advancement are posing in our lives, communities, and society. Technical communication is emphasized through student-led discussions, project pages for written and visual communication, and presentations. Offered: Winter 2026 Credits: 6 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning grade of C- or better or received a score of 201 or better on the Carleton Computer Science Requisite Equivalency exam. Tags: CL: 300 level CS Junior Seminar Elective CS Major Electives Faculty: Jean Salac
Though the wealth of data surrounding us can be overwhelming, we have evolved incredible tools for finding patterns in large amounts of information: our eyes! Data visualization is concerned with turning information into pictures to better communicate patterns or discover new insights, drawing from computer graphics, human-computer interaction, design, and perceptual psychology. In this junior seminar, we will learn different ways in which data can be expressed visually and which methods work best for which tasks, with a particular focus on technical communication. Using this knowledge, we will critique existing visualizations as well as design and build new ones. Offered: Spring 2026 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning QRE, Quantitative Reasoning grade of C- or better or equivalent. Not open to students who have taken CS 314. Tags: CGSC Elective CL: 300 level CS Junior Seminar Elective CS Major Electives SDSC CS Elective STAT Elective DGAH Critical Ethical Reflection Faculty: Eric Alexander
What does it mean for a machine to learn? Much of modern machine learning focuses on identifying patterns in large datasets and using these patterns to make predictions about the future. Machine learning has impacted a diverse array of applications and fields, from scientific discovery to healthcare to education. In this artificial intelligence-related course, we’ll both explore a variety of machine learning algorithms in different application areas, taking both theoretical and practical perspectives, and discuss impacts and ethical implications of machine learning more broadly. Topics may vary, but typically focus on regression and classification algorithms, including neural networks. Offered: Winter 2026 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning better or CS 201 with a grade of C- or better or received a score of 200 or better on the Carleton Computer Science Requisite Equivalency exam AND CS 202 with a grade of C- or better or received a score of 202 on the Carleton Computer Science Requisite Equivalency exam or MATH 236 with a grade of C- or better or received a score of 236 on the Carleton Math Requisite Equivalency exam. MATH 236 will be accepted in lieu of CS 202. Tags: CGSC Elective CL: 300 level CS Major Electives SDSC CS Elective STAT
Advances like deep learning and large language models have led to computer programs that seem to converse intelligently with people. But how do these programs work, and do they really understand language? In this course, we’ll explore techniques that aim to enable computers to interpret and respond appropriately to ideas expressed using natural languages (such as Chinese or English) as opposed to formal languages (such as Python or C). Topics may include classical and modern approaches, and varying applications, such as machine translation, semantic analysis, and question answering. Offered: Fall 2025 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning QRE, Quantitative Reasoning better or CS 201 with a grade of C- or better or received a score of 200 or better on the Carleton Computer Science Requisite Equivalency exam AND CS 202 with a grade of C- or better or received a score of 202 on the Carleton Computer Science Requisite Equivalency exam or MATH 236 with a grade of C- or better or received a score of 236 on the Carleton Math Requisite Equivalency exam. MATH 236 will be accepted in lieu of CS 202. Tags: CGSC Elective CL: 300 level CS Major Electives LING Pertinent LING Related Field SDSC CS Elective DGAH Critical Ethical Reflection Faculty: Anna Rafferty
Have you ever wondered how a robotic vacuum is able to navigate back to its charger after cleaning? In this course we will explore concepts of robotic systems including: kinematics, sensors and perception, path planning, and control. In addition to learning the theory behind these topics, students will have the opportunity to design, program, and deploy behaviors for a mobile robot. This course emphasizes technical communication, including both writing and speaking components. Offered: Spring 2026 Credits: 6 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning grade of C- or better or received a score of 201 or better on the Carleton Computer Science Requisite Equivalency exam AND MATH 134 or MATH 232 with a grade of C- or better or received a score of 232 on the Carleton Math Requisite Equivalency exam AND CS 202 (MATH 236 will be accepted in lieu of CS 202) with a grade of C- or better or received a score of 202 on the Carleton Computer Science Requisite Equivalency exam. Tags: CL: 300 level CS Junior Seminar Elective CS Major Electives Faculty: Chelsey Edge
The Internet is composed of a large number of heterogeneous, independently-operating computer networks that work together to transport data all over the world. The fact that it does this so well given its complexity is a minor miracle. We’ll study the structure of these individual networks, of smaller-scale local networks, and of the Internet, and learn how this “magic” takes place. Topics include protocols, routing, security, network architecture, and performance measurement along with economic, ethical, and privacy issues. Students will develop technical communication skills in writing and oral presentations through several network analysis projects. Offered: Fall 2025 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning QRE, Quantitative Reasoning grade of C- or better or received a score of 201 or better on the Carleton Computer Science Requisite Equivalency exam. Not open to students who have previously taken CS 331. Tags: CL: 300 level CS Junior Seminar Elective CS Major Electives Faculty: Amy Csizmar Dalal
Database systems are used in almost every aspect of computing, including managing data for websites and apps, but also large-scale data science archives. Why, and how? This course takes a multi-pronged approach. From a systems perspective, we will look at the low-level details of how a database system works internally, studying data storage, indexing, and query optimization. From a theory perspective, we will examine ideas such as normal forms and relational algebra. From a utilization perspective, we will look at how query languages such as SQL interface with the database system, and understand how SQL queries really work. Offered: Spring 2026 Credits: 6 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning grade of C- or better or received a score of 201 or better on the Carleton Computer Science Requisite Equivalency exam. Tags: CL: 300 level CS Major Electives SDSC CS Elective Faculty: David Musicant
When hackers can disable gas pipelines, national hospital systems, and electrical grids, and data brokers can create a largely unregulated world-wide surveillance system, there’s a clear need for people who understand the mechanisms of computer security and insecurity. Towards that end, in this course we will study technical and social aspects of computer and network security. Topics will include threat modeling, cryptography, secure network protocols, web security, ethical hacking and penetration testing, authentication, authorization, historical hacking incidents, usability, privacy, and security-related law. Offered: Fall 2025 Credits: 6 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning grade of C- or better or received a score of 201 or better on the Carleton Computer Science Requisite Equivalency exam. Tags: CL: 300 level CS Major Electives Faculty: Jeff Ondich
Modern cryptographic systems allow parties to communicate in a secure way, even if they don’t trust the channels over which they are communicating (or maybe even each other). Cryptography is at the heart of a huge range of applications: online banking and shopping, password-protected computer accounts, and secure wireless networks, to name just a few. In this course, we will introduce and explore some fundamental cryptographic primitives. Topics will include public-key encryption, digital signatures, code- breaking techniques (like those used at Bletchley Park during WWII to break the Enigma machine’s cryptosystem), pseudorandom number generation, and other cryptographic applications. Offered: Fall 2025 Credits: 6 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning QRE, Quantitative Reasoning Tags: CL: 300 level CS Major Electives Faculty: David Liben-Nowell
The field of human-computer interaction addresses two fundamental questions: how do people interact with technology, and how can technology enhance the human experience? In this course, we will explore technology through the lens of the end user: how can we design effective, aesthetically pleasing technology, particularly user interfaces, to satisfy user needs and improve the human condition? How do people react to technology and learn to use technology? What are the social, societal, health, and ethical implications of technology? The course will focus on design methodologies, techniques, and processes for developing, testing, and deploying user interfaces. Offered: Winter 2026 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning QRE, Quantitative Reasoning grade of C- or better or received a score of 201 or better on the Carleton Computer Science Requisite Equivalency exam. Tags: ACE Applied CGSC Elective CL: 300 level CS Major Electives SDSC CS Elective DGAH Critical Ethical Reflection Faculty: Sneha Narayan
Recent advances in high-throughput experimental techniques have revolutionized how biologists measure DNA, RNA and protein. The size and complexity of the resulting datasets have led to a new era where computational methods are essential to answering important biological questions. This course focuses on the process of transforming biological problems into well formed computational questions and the algorithms to solve them. Topics include approaches to sequence comparison and alignment; molecular evolution and phylogenetics; DNA/RNA sequencing and assembly; and specific disease applications including cancer genomics. Offered: Spring 2026 Credits: 6 Liberal Arts Requirements: FSR, Formal or Statistical Reasoning QRE, Quantitative Reasoning better or CS 201 with a grade of C- or better or received a score of 200 or better on the Carleton Computer Science Requisite Equivalency exam AND CS 202 with a grade of C- or better or received a score of 202 on the Carleton Computer Science Requisite Equivalency exam or MATH 236 with a grade of C- or better or received a score of 236 on the Carleton Math Requisite Equivalency exam. MATH 236 will be accepted in lieu of CS 202. Tags: CL: 300 level CS Major Electives SDSC CS Elective STAT Elective Faculty: Layla Oesper
As part of their senior capstone experience, majors will work together in small teams on faculty-specified topics to design and implement the first stage of a project. Required of all senior majors. Students are strongly encouraged to complete CS 252 and CS 257 before starting CS 399. Offered: Fall 2025, First Five Weeks, Fall 2025, First Five Weeks, Winter 2026 Credits: 3 Liberal Arts Requirements: No Exploration Tags: ACE Applied Faculty: Jean Salac · Layla Oesper · Amy Csizmar Dalal · Chelsey Edge · Jeff Ondich
Beginning with the prototypes developed in the Senior Seminar (CS 399), project teams will complete their project and present it to the department. Required of all senior majors. Each CS 400 is paired with a particular section of CS 399, and the prerequisite for CS 400 must be filled by satisfactory completion of that CS 399. Offered: Second Five Weeks, Fall 2025, Winter 2026, Second Five Weeks, Winter 2026 Grading: S/NC Credits: 3 Tags: ACE Applied Faculty: Jean Salac · Layla Oesper · Amy Csizmar Dalal · Chelsey Edge · Jeff Ondich
Source: Carleton College's catalog, linked per course · table learning_unit · CourseShelf publish 61