ENROLL Course Search

NOTE: There are some inconsistencies in the course listing data - ITS is looking into the cause.

Alternatives: For requirement lists, please refer to the current catalog. For up-to-the-minute enrollment information, use the "Search for Classes" option in The Hub. If you have any other questions, please email registrar@carleton.edu.

Saved Courses (0)

Your search for courses for 22/WI and with code: CSREQUIRED found 12 courses.

Revise Your Search New Search

CS 111.01 Introduction to Computer Science 6 credits

Open: Size: 34, Registered: 32, Waitlist: 0

Olin 310

MTWTHF
1:50pm3:00pm1:50pm3:00pm2:20pm3:20pm
Synonym: 60490

Anya Vostinar

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. Students who have received credit for Computer Science 201 or above are not eligible to enroll in Computer Science 111.

CS 111.02 Introduction to Computer Science 6 credits

Open: Size: 34, Registered: 32, Waitlist: 0

Leighton 305

MTWTHF
9:50am11:00am9:50am11:00am9:40am10:40am
Synonym: 60491

David Liben-Nowell

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. Students who have received credit for Computer Science 201 or above are not eligible to enroll in Computer Science 111.

Sophomore Priority

CS 111.03 Introduction to Computer Science 6 credits

Closed: Size: 34, Registered: 34, Waitlist: 0

Leighton 305

MTWTHF
11:10am12:20pm11:10am12:20pm12:00pm1:00pm
Synonym: 60492

David Liben-Nowell

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. Students who have received credit for Computer Science 201 or above are not eligible to enroll in Computer Science 111.

Sophomore Priority

CS 201.01 Data Structures 6 credits

Closed: Size: 34, Registered: 28, Waitlist: 0

CMC 306

MTWTHF
9:50am11:00am9:50am11:00am9:40am10:40am

Other Tags:

Synonym: 60495

Layla Oesper

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.

Prerequisite: Computer Science 111 or instructor permission

Sophomore Priority

CS 201.02 Data Structures 6 credits

Closed: Size: 34, Registered: 34, Waitlist: 0

Anderson Hall 036

MTWTHF
3:10pm4:20pm3:10pm4:20pm3:30pm4:30pm

Other Tags:

Synonym: 60496

Aaron W Bauer

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.

Prerequisite: Computer Science 111 or instructor permission

CS 202.00 Mathematics of Computer Science 6 credits

Closed: Size: 34, Registered: 34, Waitlist: 0

Anderson Hall 121

MTWTHF
12:30pm1:40pm12:30pm1:40pm1:10pm2:10pm
Synonym: 61930

Eric Alexander

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.

Prerequisite: Computer Science 111 and Mathematics 111 or instructor permission

CS 208.00 Introduction to Computer Systems 6 credits

Closed: Size: 34, Registered: 34, Waitlist: 0

Olin 310

MTWTHF
8:30am9:40am8:30am9:40am8:30am9:30am

Other Tags:

Synonym: 60498

Jeff Ondich

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.

Prerequisite: Computer Science 201 or instructor permission

CS 251.00 Programming Languages: Design and Implementation 6 credits

Closed: Size: 34, Registered: 31, Waitlist: 0

Olin 310

MTWTHF
9:50am11:00am9:50am11:00am9:40am10:40am

Other Tags:

Synonym: 61983

James O Ryan

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.

Prerequisite: Computer Science 201 or instructor permission

CS 252.00 Algorithms 6 credits

Closed: Size: 34, Registered: 32, Waitlist: 0

Anderson Hall 329

MTWTHF
12:30pm1:40pm12:30pm1:40pm1:10pm2:10pm
Synonym: 60499

Layla Oesper

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.

Prerequisite: Computer Science 201 and Computer Science 202 (Mathematics 236 will be accepted in lieu of Computer Science 202)

CS 254.00 Computability and Complexity 6 credits

Closed: Size: 34, Registered: 34, Waitlist: 0

Olin 310

MTWTHF
11:10am12:20pm11:10am12:20pm12:00pm1:00pm
Synonym: 60500

James O Ryan

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.

Prerequisite: Computer Science 201 and Computer Science 202 (Mathematics 236 will be accepted in lieu of Computer Science 202)

CS 257.00 Software Design 6 credits

Closed: Size: 34, Registered: 35, Waitlist: 0

Weitz Center 235

MTWTHF
1:50pm3:00pm1:50pm3:00pm2:20pm3:20pm

Other Tags:

Synonym: 60501

Amy Csizmar Dalal

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.

Prerequisite: Computer Science 201 or instructor permission

MATH 111.01 Introduction to Calculus 6 credits

Closed: Size: 30, Registered: 30, Waitlist: 0

CMC 304

MTWTHF
12:30pm1:40pm12:30pm1:40pm1:10pm2:10pm
Synonym: 61601

Owen D Biesel

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

Prerequisite: Requires placement via the Calculus Placement Exam 1, see Mathematics web page. Not open to students who have received credit for Mathematics 101.

Search for Courses

This data updates hourly. For up-to-the-minute enrollment information, use the Search for Classes option in The Hub

Instructional Mode
Class Period
Courses or labs meeting at non-standard times may not appear when searching by class period.
Requirements
You must take 6 credits of each of these.
Overlays
You must take 6 credits of each of these,
except Quantitative Reasoning, which requires 3 courses.
Special Interests