Skip Navigation
CarletonHome Menu
  • Academics
  • Campus Life
  • Admissions
  • For…
    • Students
    • Faculty & Staff
    • Parents & Families
    • Alumni
    • Prospective Students
Directory
Search
What Should We Search?
Campus Directory
Close
  • Registrar’s Office
  • Carleton Academics
Jump to navigation menu
Academic Catalog 2024-25

Course Search

Modify Your Search

Search Results

Your search for · CS · during 24FA, 25WI, 25SP · returned 27 results (and 4 Related Courses results)

  • CS 111 Introduction to Computer Science 6 credits

    This course will introduce you to computer programming and the design of algorithms. By writing programs to solve problems in areas such as image processing, text processing, and simple games, you will learn about recursive and iterative algorithms, complexity analysis, graphics, data representation, software engineering, and object-oriented design. No previous programming experience is necessary.

    • Fall 2024, Winter 2025, Spring 2025
    • FSR, Formal or Statistical Reasoning QRE, Quantitative Reasoning
    • NOT open to students who have completed any of the following course(s): CS 201 or greater with a grade of C- or better.

    • CGSC Core CL: 100 level CS Required for Major DGAH Skill Building No Prerequisites PHYS Addl Recommended STAT Supporting
  • CS 200 Data Structures with Problem Solving 6 credits

    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.

    Not open to students who have taken CS 201. This course meets 5 days a week

    • Winter 2025
    • FSR, Formal or Statistical Reasoning QRE, Quantitative Reasoning
    • Student has completed any of the following course(s): CS 111 with a grade of C- or better or a score of 4 or better on the Computer Science A AP exam or equivalent. Not open to students that have taken CS 201.

    • CL: 200 level
  • CS 201 Data Structures 6 credits

    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. Students who have received credit for a course for which Computer Science 201 is a prerequisite are not eligible to enroll in Computer Science 201.

    • Fall 2024, Winter 2025, Spring 2025
    • FSR, Formal or Statistical Reasoning QRE, Quantitative Reasoning
    • Student has completed any of the following course(s): CS 111 with a grade of C- or better or a score of 4 or better on the Computer Science A AP exam or equivalent. Not open to students that have taken CS 200.

    • CL: 200 level CS Required for Major
  • CS 202 Mathematics of Computer Science 6 credits

    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.

    • Fall 2024, Winter 2025, Spring 2025
    • FSR, Formal or Statistical Reasoning
    • Student has completed any of the following course(s): CS 111 with a grade of C- or better or received a score of 4 or better on the AP Computer Science 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 equivalent.

    • CL: 200 level CS Required for Major LING Related Field
  • CS 208 Introduction to Computer Systems 6 credits

    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 interface, including data representation, instruction set architecture, the C programming language, memory management, and the operating system process model.

    • Fall 2024, Winter 2025, Spring 2025
    • FSR, Formal or Statistical Reasoning
    • Student has completed any of the following course(s): CS 200 or CS 201 with a grade of C- or better or equivalent.

    • CL: 200 level CS Required for Major
  • CS 251 Programming Languages: Design and Implementation 6 credits

    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.

    • Fall 2024, Winter 2025, Spring 2025
    • FSR, Formal or Statistical Reasoning
    • Student has completed any of the following course(s): CS 200 or CS 201 with a grade of C- or better or equivalent.

    • CL: 200 level CS Required for Major
  • CS 252 Algorithms 6 credits

    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.

    • Fall 2024, Winter 2025, Spring 2025
    • FSR, Formal or Statistical Reasoning
    • Student has completed any of the following course(s): CS 200 or CS 201 AND CS 202 or MATH 236 with a grade of C- or better or equivalent. MATH 236 will be accepted in lieu of CS 202.

    • CL: 200 level CS Required for Major MATH Discrete Structures MATH Electives SDSC CS Elective
  • CS 254 Computability and Complexity 6 credits

    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.

    • Fall 2024, Winter 2025, Spring 2025
    • FSR, Formal or Statistical Reasoning
    • Student has completed any of the following course(s): CS 200 or CS 201 AND CS 202 or MATH 236 with a grade of C- or better or equivalent. MATH 236 will be accepted in lieu of CS 202.

    • CGSC Elective CL: 200 level CS Required for Major LING Pertinent LING Related Field MATH Discrete Structures MATH Electives NEUR Elective
  • CS 257 Software Design 6 credits

    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.

    • Fall 2024, Winter 2025, Spring 2025
    • FSR, Formal or Statistical Reasoning
    • Student has completed any of the following course(s): CS 200 or CS 201 with a grade of C- or better or equivalent.

    • CL: 200 level CS Required for Major SDSC CS Elective
  • CS 294 Directed Research in Computer Science 1 – 6 credits

    Students will begin the first steps of building an Autonomous Underwater Vehicle (AUV). Using an open-source project as a guide, students will explore and apply various skills needed to create an AUV from the ground up. This work will prepare students for a summer research project in which they will continue building and adding functionality to the AUV. Students will meet weekly with the faculty supervisor and submit weekly summaries of material read and work completed. By the end of the term, they will have acquired both Engineering and Computer Science skills needed to begin their summer work.

    Register for this course by submitting the Directed Research form which requires approval from the project faculty supervisor and your adviser.

    • Fall 2024, Winter 2025, Spring 2025
    • No Exploration
    • CL: Faculty Research
  • CS 298 Reading and Analysis Associated with External Computing Experience 1 credits

    An independent study course intended for students who require Curricular Practical Training (CPT) or Optional Practical Training (OPT) to go with an external activity related to computer science (for example, an internship or an externship). The student will choose and read academic material relating to a practical experience (e.g., internship), and write a paper describing what the student learned from the reading, and how it related to the practical experience.

    This requires an independent study form.

    • Fall 2024, Winter 2025, Spring 2025
    • No Exploration
    • CL: Independent Study
  • CS 304 Social Computing 6 credits

    The last decade has seen a vast increase in the number of applications that connect people with one another. This course presents an interdisciplinary introduction to social computing, a field of study that explores how computational techniques and artifacts are used to support and understand social interactions. We will examine a number of socio-technical systems (such as wikis, social media platforms, and citizen science projects), discuss the design principles used to build them, and analyze how they help people mobilize and collaborate with one another. Assignments will involve investigating datasets from online platforms and exploring current research in the field.

    • Spring 2025
    • FSR, Formal or Statistical Reasoning QRE, Quantitative Reasoning
    • Student has completed any of the following course(s): CS 200 or CS 201 with a grade of C- or better or equivalent.

    • CL: 300 level CS Major Electives
  • CS 311 Computer Graphics 6 credits

    Scientific simulations, movies, and video games often incorporate computer-generated images of fictitious worlds. How are these worlds represented inside a computer? How are they “photographed” to produce the images that we see? What performance constraints and design trade-offs come into play? In this course we learn the basic theory and methodology of three-dimensional computer graphics, including both triangle rasterization and ray tracing. Familiarity with vectors and matrices is recommended but not required.

    • Spring 2025
    • FSR, Formal or Statistical Reasoning QRE, Quantitative Reasoning
    • Student has completed any of the following course(s): CS 208 with grade of C- or better.

    • CL: 300 level CS Major Electives
  • CS 314 Data Visualization 6 credits

    Understanding the wealth of data that surrounds us can be challenging. Luckily, we have evolved incredible tools for finding patterns in large amounts of information: our eyes! Data visualization is concerned with taking information and turning it into pictures to better communicate patterns or discover new insights. It combines aspects of computer graphics, human-computer interaction, design, and perceptual psychology. In this course, we will learn the different ways in which data can be expressed visually and which methods work best for which tasks. Using this knowledge, we will critique existing visualizations as well as design and build new ones.

    • Winter 2025
    • FSR, Formal or Statistical Reasoning QRE, Quantitative Reasoning
    • Student has completed any of the following course(s): CS 200 or CS 201 with a grade of C- or better or equivalent.

    • CGSC Elective CL: 300 level CS Major Electives SDSC CS Elective STAT Elective DGAH Critical Ethical Reflection
  • CS 320 Machine Learning 6 credits

    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.

    • Spring 2025
    • FSR, Formal or Statistical Reasoning
    • Student has completed any of the following course(s): CS 200 or CS 201 AND CS 202 or MATH 236 with a grade of C- or better or equivalent. MATH 236 will be accepted in lieu of CS 202.

    • CGSC Elective CL: 300 level CS Major Electives SDSC CS Elective STAT Elective
  • CS 321 Making Decisions with Artificial Intelligence 6 credits

    There are many situations where computer systems must make intelligent choices, from selecting actions in a game, to suggesting ways to distribute scarce resources for monitoring endangered species, to a search-and-rescue robot learning to interact with its environment. Artificial intelligence offers multiple frameworks for solving these problems. While popular media attention has often emphasized supervised machine learning, this course instead engages with a variety of other approaches in artificial intelligence, both established and cutting edge. These include intelligent search strategies, game playing approaches, constrained decision making, reinforcement learning from experience, and more. Coursework includes problem solving and programming.

    • Winter 2025
    • FSR, Formal or Statistical Reasoning
    • Student has completed any of the following course(s): CS 200 or CS 201 AND CS 202 or MATH 236 with a grade of C- or better or equivalent. MATH 236 will be accepted in lieu of CS 202.

    • CGSC Elective CL: 300 level CS Major Electives NEUR Elective SDSC CS Elective
  • CS 322 Natural Language Processing 6 credits

    Computers are poor conversationalists, despite decades of attempts to change that fact. This course will provide an overview of the computational techniques developed in the attempt to enable computers to interpret and respond appropriately to ideas expressed using natural languages (such as English or French) as opposed to formal languages (such as C++ or Lisp). Topics in this course will include parsing, semantic analysis, machine translation, dialogue systems, and statistical methods in speech recognition.

    • Fall 2024
    • FSR, Formal or Statistical Reasoning QRE, Quantitative Reasoning
    • Student has completed any of the following course(s): CS 200 or CS 201 AND CS 202 or MATH 236 with a grade of C- or better or equivalent. MATH 236 will be accepted in lieu of CS 202.

    • CGSC Elective CL: 300 level CS Major Electives LING Pertinent LING Related Field SDSC CS Elective DGAH Critical Ethical Reflection
  • CS 330 Introduction to Real-Time Systems 6 credits

    How can we prove that dynamic cruise control will brake quickly enough if traffic suddenly stops? How must a system coordinate processes to detect pedestrians and other vehicles to ensure fair sharing of computing resources? In real-time systems, we explore scheduling questions like these, which require provable guarantees of timing constraints for applications including autonomous vehicles. This course will start by considering such questions for uniprocessor machines, both when programs have static priorities and when priorities can change over time. We will then explore challenges introduced by modern computers with multiple processors. We will consider both theoretical and practical perspectives.

    • Winter 2025
    • FSR, Formal or Statistical Reasoning
    • Student has completed any of the following course(s): CS 200 or CS 201 AND CS 202 or MATH 236 with a grade of C- or better or equivalent. MATH 236 will be accepted in lieu of CS 202.

    • CL: 300 level CS Major Electives
  • CS 338 Computer Security 6 credits

    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.

    • Fall 2024
    • FSR, Formal or Statistical Reasoning
    • Student has completed any of the following course(s): CS 200 or CS 201 with a grade of C- or better or equivalent.

    • CL: 300 level CS Major Electives
  • CS 344 Human-Computer Interaction 6 credits

    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.

    • Winter 2025
    • FSR, Formal or Statistical Reasoning QRE, Quantitative Reasoning
    • Student has completed any of the following course(s): CS 200 or CS 201 with a grade of C- or better or equivalent.

    • ACE Applied CGSC Elective CL: 300 level CS Major Electives SDSC CS Elective DGAH Critical Ethical Reflection
  • CS 347 Advanced Software Design 6 credits

    This course helps students to strengthen their ability to design modular, extensible and maintainable software. The focus of the course is on the design of modern cloud applications. Students will learn how to decompose complex applications into a set of back-end services, develop and debug these services, and deploy them in the cloud. This class is structured around a large project that will be extended over the course of the term.

    • Spring 2025
    • FSR, Formal or Statistical Reasoning
    • Student has completed any of the following course(s): CS – 257 with a grade of C- or better or equivalent.

    • CL: 300 level CS Major Electives
  • CS 348 Parallel and Distributed Computing 6 credits

    As multi-core machines become more prevalent, different programming paradigms have emerged for harnessing extra processors for better performance. This course explores parallel computation for both shared memory and distributed parallel programming paradigms. In particular, we will explore how these paradigms affect the code we write, the libraries we use, and the advantages and disadvantages of each. Topics will include synchronization primitives across these models for parallel execution, debugging concurrent programs, fork/join parallelism, example parallel algorithms, computational complexity and performance considerations, computer architecture as it relates to parallel computation, and related theory topics.

    • Spring 2025
    • FSR, Formal or Statistical Reasoning
    • Student has completed any of the following course(s): CS 200 or CS 201 with a grade of C- or better or equivalent.

    • CL: 300 level CS Major Electives SDSC CS Elective
  • CS 361 Artificial Life and Digital Evolution 6 credits

    The field of artificial life seeks to understand the dynamics of life by separating them from the substrate of DNA. In this course, we will explore how we can implement the dynamics of life in software to test and generate biological hypotheses, with a particular focus on evolution. Topics will include the basic principles of biological evolution, transferring experimental evolution techniques to computational systems, cellular automata, computational modeling, and digital evolution. All students will be expected to complete and present a term research project recreating and extending recent work in the field of artificial life.

    • Spring 2025
    • FSR, Formal or Statistical Reasoning
    • Student has completed any of the following course(s): CS 200 or CS 201 with a grade of C- or better or equivalent.

    • CGSC Elective CL: 300 level CS Major Electives
  • CS 364 Computational Modeling and Simulation of Natural Systems 6 credits

    Computational models have become a fundamental part of how we make sense of the world, doing everything from economic forecasting to simulating the birth of the universe. But we need to understand how to use models effectively. In this class we’ll explore computational models used across many disciplines, including: agent-based models to prevent forest fires, compartmental models to protect endangered species, N-body models to track the spread of germs from a sneeze, and more. We’ll learn about what problems are (and are not) suited for computational modeling and engage with extensive datasets to evaluate and refine models for practical use.

    • Fall 2024
    • FSR, Formal or Statistical Reasoning QRE, Quantitative Reasoning
    • Student has completed any of the following course(s): CS 200 or CS 201 with a grade of C- or better or equivalent.

    • CL: 300 level CS Major Electives
  • CS 394 Directed Research in Computer Science 1 – 6 credits

    We are building a tool to facilitate the visual comparison of clonal trees (which represent the evolutionary history of a tumor). This term, I'll be giving a short talk at GLBIO. I will also be mainly working on documentation and preparing our code base to be able to be passed on.

    Register for this course by submitting the Directed Research form which requires approval from the project faculty supervisor and your adviser.

    • Fall 2024, Winter 2025, Spring 2025
    • No Exploration
    • CL: Faculty Research
  • CS 399 Senior Seminar 3 credits

    As part of their senior capstone experience, majors will work together in teams (typically four to seven students per team) 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.

    • Fall 2024, Winter 2025
    • No Exploration
    • Student is a Computer Science major and has senior priority.

  • CS 400 Integrative Exercise 3 credits

    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.

    • Fall 2024, Winter 2025, Winter 2025
    • Student is a Computer Science major and has senior priority.

Modify Your Search

Related Courses

We found 4 courses in other departments that may fulfill CS requirements or are otherwise related to CS.

  • DGAH 220 Creative Coding and Generative AI 6 credits

    Generative AI tools such as ChatGPT and GitHub CoPilot are fundamentally reshaping programming practices and workflows, raising questions about the future of code and so-called "prompt engineering," or writing for the machine. This class will situate this moment of potential transformation in the history of literate programming and "natural language" coding using Inform 7, as well as current tools such as ml5.js, an accessible machine learning library. Students will engage this history and future of computational creativity through writing and re-writing code, both with and without generative AI interventions, for conversational bots, interactive fiction, and experimental games.

    • Winter 2025
    • FSR, Formal or Statistical Reasoning
    • Student has completed any of the following course(s): CS 111 with a grade of C- or better or a score of 4 or better on the Computer Science A AP exam or equivalent.

    • CL: 200 level CS Major Electives CS Pertinent DGAH Cross Disciplinary Collaboration
  • ECON 285 Computational Economics 6 credits

    This course is an introduction to the use of computational methods for the analysis of economic models. After becoming familiar with the programming environment, we will explore the application of computational methods to constrained optimization, econometric estimation, and calibrating, solving, and simulating static and dynamic economic models.

    Previous elective courses involving mathematical modeling in economics recommended.

    • Fall 2024
    • QRE, Quantitative Reasoning SI, Social Inquiry
    • Student has completed any of the following course(s): ECON 110 with a grade of C- or better or received a score of 5 on the Macroeconomics AP exam AND ECON 111 with a grade of C- or better or received a score of 5 on the Microeconomics AP exam OR has received a score of 6 or better on the Economics IB exam.

    • CL: 200 level CS Major Electives ECON Elective SDSC XDept Elective
  • MATH 111 Introduction to Calculus 6 credits

    An introduction to the differential and integral calculus. Derivatives, antiderivatives, the definite integral, applications, and the fundamental theorem of calculus.

    Not open to students who have received credit for MATH 101

    • Fall 2024, Winter 2025, Spring 2025
    • FSR, Formal or Statistical Reasoning
    • Student has received a score of 111 on the Carleton Math Placement exam. Not open to students who have received credit for Mathematics 101 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 Calculus IB exam. For more information, see the Mathematics' web page.

    • CL: 100 level CS Required for Major MATH Required Core Course PHYS Mathematics Course STAT Supporting
  • MATH 271 Optimization 6 credits

    Optimization is all about selecting the "best" thing. Finding the most likely strategy to win a game, the route that gets you there the fastest, or the curve that most closely fits given data are all examples of optimization problems. In this course we study linear optimization (also known as linear programming), the simplex method, and duality from both a theoretical and a computational perspective. Applications will be selected from statistics, economics, computer science, and more. Additional topics in nonlinear and convex optimization will be covered as time permits.

    • Spring 2025
    • FSR, Formal or Statistical Reasoning
    • Student must have completed any of the following course(s): MATH 134 or MATH 232 AND MATH 120 or MATH 211 with a grade of C- or better or equivalents.

    • CL: 200 level CS Major Electives MATH Applied MATH Electives SDSC Math Stats Elective STAT Elective

Search for Courses


  • Begin typing to look up faculty/instructor

Liberal Arts Requirements

You must take 6 credits of each of these.

Other Course Tags

 
Clear Search Options
  • 2024-25 Academic Catalog
    • Academic Requirements
    • Course Search
    • Departments & Programs
    • Transfer Credits and Credit by Examination
    • Off-Campus Study
    • Admissions
    • Fees
    • Financial Aid
    • Previous Catalogs

2024–25 Academic Catalog

Find us on the Campus Map
Registrar: Theresa Rodriguez
Email: registrar@carleton.edu
Phone: 507-222-4094
Academic Catalog 2024-25 pages maintained by Stacy Coyle
This page was last updated on 12 May 2025
Carleton

One North College StNorthfield, MN 55057USA

507-222-4000

  • Facebook
  • Instagram
  • YouTube
  • Twitter
  • TikTok
  • LinkedIn
  • Admissions
  • Academics
  • Athletics
  • About Carleton
  • Employment
  • Giving
  • Directory
  • Map
  • Photos
  • Campus Calendar
  • News
  • Title IX
  • for Alumni
  • for Students
  • for Faculty/Staff
  • for Families
  • Privacy
  • Accessibility
  • Terms of Use

Sign In