Plan of Study

Know the requirements and plan your major.

Curriculum Requirements


Major

  • MATH 180 Calculus A
  • MATH 195 Math Toolkit
  • CS 128 Programming and Problem Solving
  • CS 256 Data Structures
  • CS 310 Algorithms 
  • CS 320 Principles of Computer Organization
  • CS 380 Theory of Computation
  • CS 388 Methods for Research & Dissemination
  • CS 488 Senior Capstone Experience
  • Four additional CS courses, 300 and above excluding CS481,CS383/483, CS484, CS485 and CS486.
  • In exceptional cases, the department may waive the exclusion of CS484, CS485 or CS486.

Minor

  • MATH 195 Math Toolkit
  • CS 128 Programming and Problem Solving
  • CS 256 Data Structures
  • CS 310 Algorithms
  • Three additional CS courses, 300 and above excluding CS481, CS383/483, CS484, CS485 and CS486.
    In exceptional cases, the department may waive the exclusion of CS484, CS485 or CS486.

Advice for Degree Completion

  1. The latest a Computer Science major may be started is in the Fall of your sophomore year (unless you have already taken a couple of the math requirements and have some background in Computer Science).
  2. Students who have an exceptional level of preparation in Computer Science, especially in Python programming, should consider taking CS256 as their first computer science course. Students who are unsure about whether they are prepared for CS256 should contact the CS department faculty to discuss it.
  3. The core of the curriculum is CS128, CS256, CS310, CS320, CS380, CS388, and CS488.
  4. CS128, CS256, CS388, and CS488 are offered every term. CS310, CS320, and CS380 are offered every year.
  5. The rest of the standard curriculum is offered every other year.
  6. The two required math courses can be taken in any order, but Math Toolkit is a co-requisite for CS256, and students should try to have them all complete before they take CS310.
  7. The prerequisite structure (see Courses and Prerequisites) requires CS128, CS256, CS310 and CS320 to be taken in that order. CS380 (Theory of Comp.) should normally be taken as early in the program as possible, usually in the second Spring.
  8. CS388 can be taken any time your junior or senior year. CS488 must be taken your senior year, after you have completed CS388. We recommend that students try to schedule these courses back-to-back, but we recognize that study abroad and athletics can make this difficult, so putting one term between them is acceptable.
  9. Students should try to complete CS128, CS256, and CS310 as early as possible, as these are prerequisites for many other courses, some of which are required. Students should also try to complete CS320 as soon as they can, as this is a prerequisite for several upper-level courses.
  10. We recognize that students who start the major after their first term, who are double majors, or who plan to study abroad can sometimes find it challenging to fit all of the requirements in. If this is you, please get in touch with us as soon as possible so we can help you make a plan that will allow you to finish the requirements.
  11. For the General Education requirements of Earlham College, see here.