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 21/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: 21, Waitlist: 0

Location To Be Announced

MTWTHF
10:00am11:10am10:00am11:10am9:50am10:50am
Synonym: 58540

Layla Oesper

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.02 Introduction to Computer Science 6 credits

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

Location To Be Announced

MTWTHF
11:30am12:40pm11:30am12:40pm11:10am12:10pm
Synonym: 58541

Sneha Narayan

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

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

Location To Be Announced

MTWTHF
7:00pm8:10pm7:00pm8:10pm7:00pm8:00pm
Synonym: 58542

David Musicant

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.04 Introduction to Computer Science 6 credits

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

Location To Be Announced

MTWTHF
2:30pm3:40pm2:30pm3:40pm3:10pm4:10pm
Synonym: 59563

James O Ryan

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 201.01 Data Structures 6 credits

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

Location To Be Announced

MTWTHF
2:30pm3:40pm2:30pm3:40pm3:10pm4:10pm

Other Tags:

Synonym: 58545

Anya Vostinar

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

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

Location To Be Announced

MTWTHF
1:00pm2:10pm1:00pm2:10pm1:50pm2:50pm

Other Tags:

Synonym: 58546

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: 31, Waitlist: 0

Location To Be Announced

MTWTHF
10:00am11:10am10:00am11:10am9:50am10:50am
Synonym: 58563

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 251.00 Programming Languages: Design and Implementation 6 credits

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

Location To Be Announced

MTWTHF
11:30am12:40pm11:30am12:40pm11:10am12:10pm

Other Tags:

Synonym: 58564

Anna Rafferty

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

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

Location To Be Announced

MTWTHF
1:00pm2:10pm1:00pm2:10pm1:50pm2:50pm
Synonym: 58548

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

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

Location To Be Announced

MTWTHF
11:30am12:40pm11:30am12:40pm11:10am12:10pm
Synonym: 58549

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: 32, Waitlist: 0

Location To Be Announced

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

Other Tags:

Synonym: 58550

Jeff Ondich

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

Open: Size: 30, Registered: 28, Waitlist: 0

Location To Be Announced

MTWTHF
2:30pm3:40pm2:30pm3:40pm3:10pm4:10pm
Synonym: 58652

Kate Meyer

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