Schedule of Courses

Please see the CS Course Guide for the structure of the major, the recent schedule of our course offerings, and for advising notes about our courses.  (Click through on the courses of interest.)

Courses to Take Before Majoring

You don’t need to have previous computing experience to major in computer science at Carleton. However, it is best to be well underway by the end of your sophomore year. In particular, if you complete Intro to CS (CS 111), the math prerequisite (Math 111), and at least one of Data Structures (CS 200 or CS 201) and Math of CS (CS 202) by the end of your sophomore year, you will be in good position to complete the CS major without scheduling difficulties.

Also make sure to take a look at our Information for First-Year Students (even if you’re not a first-year student) for more about getting started in the department.

Choosing Electives

There are many different CS electives offered. Which ones should you take? Most importantly, take those that interest you. The following areas of interest might help as well.

Software and Systems

  • Computer Networks (CS 331)
  • Operating Systems (CS 332)
  • Database Systems (CS 334)
  • Computer Security (CS 338)
  • Advanced Software Design (CS 347)
  • Parallel and Distributed Computing (CS 348)

Visualization and Interfaces

  • Computer Graphics (CS 311)
  • Data Visualization (CS 314)
  • Natural Language Processing (CS 322)
  • Human-Computer Interaction (CS 344)

Cognitive Science

  • Machine Learning (CS 320)
  • Making Decisions with AI (CS 321)
  • Natural Language Processing (CS 322)
  • Computational Models of Cognition (CS 328)

Computational Biology

  • Making Decisions with AI (CS 321)
  • Database Systems (CS 334)
  • Evolutionary Computing and Artificial Life (CS 361)
  • Computational Biology (CS362)

Humans and Computers

  • Social Computing (CS 304)
  • Human-Computer Interaction (CS 344)

Theory

  • Cryptography (CS 341)
  • Advanced Algorithms (CS 352)