Choosing Courses

Schedule of Courses

Please see the CS Course Guide (linked in the Related Documents section of this page) 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 CS 111, the math prerequisite (Math 111), and at least one of CS 201 and 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 Security (CS 231)
    • Computer Networks (CS 331)
    • Operating Systems (CS 332)
    • Database Systems (CS 334)
    • Mobile Application Development (CS 342)
    • Parallel and Distributed Computing (CS 348)
  • Visualization and Interfaces
    • Computer Graphics (CS 311)
    • Audio Programming (CS 312)
    • Data Visualization (CS 314)
    • Natural Language Processing (CS 322)
    • Human-Computer Interaction (CS 341)
  • Cognitive Science
    • Artificial Intelligence (CS 321)
    • Natural Language Processing (CS 322)
    • Computational Models of Cognition (CS 328)
  • Computational Biology
    • Artificial Intelligence (CS 321)
    • Data Mining (CS 324)
    • Database Systems (CS 334)
    • Evolutionary Computing and Artificial Life (CS 361)
    • Computational Biology (CS362)
  • Theory
    • Cryptography (CS 341)
    • Advanced Algorithms (CS 352)