Selecting Courses

Students who are interested in a major or minor in computer science should start with CS 101. Computer Science 101 teaches problem-solving techniques through the development of games and animations written in Flash. A student with prior programming experience should consider beginning with CS 201. Please consult the department to help with decide between 101 and 201.  A student who scored 4 or 5 on the CS AP test should begin with 201.  101 and 201 are offered both semesters.

Students who are interested in exploring computer science but want a less intense introduction should take Computer Science 100. We also occasionally offer Computer Science 103 and 106 which introduce students to computing through the study of networks and scientific applications respectively.

The department offers courses at the 200 and 300 levels in programming, theory, algorithms, operating systems, software design, and other topics. See the Computer Science chapter of the catalog for descriptions and prerequisites.

Course plans

A student who plans to graduate with a major in computer science should follow the plan described below as "Computer Science Major" or "Computer Science Major (alternative)". The key is to complete the introductory sequence, 101, 201, 211 in a timely manner. The rest of the curriculum offers more flexibility. Note that Intro to Computer Systems and Data Structures can be taken in either order.

First Year 101 and 201 Object-Oriented Programming Calculus I or Discrete Math Second Year 211 Data Structures 221 Intro to Computer Systems 312 Algorithms Calculus I, II Third Year 322 Operating Systems 200 or 300-level electives Fourth Year 300-level electives

CS major

First Year

  • 101 and 201 Object-Oriented Programming
  • Calculus I or Discrete Math

Second Year

  • 211 Data Structures
  • 221 Intro to Computer Systems
  • 312 Algorithms
  • Calculus I, II

Third Year

  • 322 Operating Systems
  • 200 or 300-level electives

Fourth Year

  • 300-level electives

Alternative Spring Start

First Year

  • 101 Object-Oriented Programming
  • Calculus I or Discrete Math

Second Year

  • 201 Advanced Object-Oriented Programming
  • 221 Intro to Computer Systems
  • Calculus I or Discrete Math

Third Year

  • 211 Data Structures
  • 312 Algorithms
  • 200 or 300-level electives

Fourth Year

  • 322 Operating Systems
  • 300-level electives

Alternative Sophmore start

Second Year

  • 101 and 201 Object-Oriented Programming
  • Calculus I or Discrete Math

Third Year

  • 211 Data Structures
  • 221 Intro to Computer Systems
  • 312 Algorithms
  • 311 Theory of Computation

Fourth Year

  • 322 Operating Systems
  • 300-level electives

Students planning to graduate with honor should consider a more accelerated and ambitious plan. It includes courses that are important to the Graduate Record Examinations, should she choose to apply to graduate school, and prepares her with the necessary basics for an honors project.

CS major with Honors

Read more about Honors in Computer Science...

First Year

  • 101 and 201 Object-Oriented Programming
  • Calculus I, II or Discrete Math

Second Year

  • 211 Data Structures
  • 221 Intro to Computer Systems
  • 312 Algorithms
  • Calculus I, II

Third Year

  • 322 Operating Systems
  • 334 Artificial Intelligence and/or
  • 311 Theory of Computation
  • 300 level elective
  • Independent Study (4 credits of CS-395 for preparation for honors.)
  • Complete honors proposal and have it approved 

Fourth Year

  • 300 level electives
  • Independent Study (8 credits of CS-395 for honors work and thesis)