Computer Science Advising Guidelines
- Courses
- Sample Schedules
- Off-Campus Study
- To Do
- The latest a CS major may be started is in the Fall of the your
sophomore year (unless you have already taken a couple of the math
requirements and have some background in CS.)
- You may petition the department for a waiver of programming and
problem solving (CS128) if you have previously covered the equivalent
material. Note that this includes having a working knowledge of the C++
programming language. Generally wavers are handled by the person
teaching advanced programming (CS256.)
- The full ACM/IEEE-CS curriculum is covered by CS128, CS256, CS310,
CS320, CS380, CS480, along with CS345, CS360, CS3?0 (AI), CS410, CS420,
CS430, and CS440. The major requires only the first six of these (plus
four other upper-division courses) but
those intending to pursue graduate studies should take as many of them
as their schedule permits.
- The core of the curriculum, CS128, CS256, CS310, CS320, CS380 and
CS480 are normally offered every year. A second set of courses, CS420,
CS430 and CS430 are normally offered every other year. These are next
in importance to the curriculum. Three courses, CS345, CS360, and
CS3?0 are normally offered in a three year rotation. These are
somewhat less central to the curriculum. Finally, a topics course is
normally offered each year. This generally covers topics which are
current but not critical to the major. When choosing between courses,
preference should usually be given to the core courses, the biennial
courses, the triennial courses and then, finally, the topics courses.
- The prerequisite structure 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.
- Two of the upper-division courses (CS430 Databases and CS440
Programming Languages) require CS310 only as a corequisite and can be
take as early as the second Fall. Two others (CS410 and CS420) require
CS320 as a prerequisite and cannot normally be take before the third
Fall. The normal schedule has one of each of these pairs scheduled
each Fall.
- The three math courses can be taken in any order. The math
component is designed to generally develop mathematical maturity and to
teach you specific skills:
- Arithmetic
- Base manipulation
- Approximation
- Algebra
- Recursion and recurrences
- Series (arithmetic and geometric)
- Complex numbers
- Proof and notation (formal verification techniques generally)
- Sets
- Logic
- Graph theory
- Matrix manipulation
- Discrete probability
- Combinatorics
- Binomial coefficients
- It is preferred that advanced programming (CS256) and math toolkit
(MA195) are taken at the same time (currently Spring semester.)
- At least discrete and the toolkit should be completed before the end
of the sophomore year. Both are either pre- or corequisites for
algorithms and data structures (C310.)
- Calculus A (MA180) can be taken anytime during the first two years.
It is currently offered both Fall and Spring semesters.
- The major requires completion of CS480, Senior Seminar, normally in
the Fall of the Senior year. The Seminar, in turn, requires completion
of a capstone project. The project must produce either a substantial
application or original research (often both). It is not possible to
complete the requirements of the major without satisfactorily
completing this capstone project.
Here are a couple of sample course
schedules. Both of these allow for off-campus study although starting on
a CS major during your first year gives you considerably more choices
about when, and consequently where, you go.
| Starting the major your first year: |
| First |
Second |
Third |
Fourth |
| Fall |
Spring |
Fall |
Spring |
Fall |
Spring |
Fall |
Spring |
| CS128 |
CS256 |
CS310 |
CS320 |
CS300+ |
CS300+ |
CS480 |
CS300+ |
| MA180 |
MA195 |
MA190 |
CS380 |
CS300+ |
CS300+ |
CS300+ |
CS300+ |
| Starting the major your second year: |
| First |
Second |
Third |
Fourth |
| Fall |
Spring |
Fall |
Spring |
Fall |
Spring |
Fall |
Spring |
|
|
CS128 |
CS256 |
CS310 |
CS320 |
CS480 |
CS300+ |
|
|
MA180 |
MA195 |
MA190 |
CS380 |
CS300+ |
CS300+ |
Where CS300+ is any of the CS courses labeled 300 or above.
You need four such courses, in addition to the core courses, for a CS
major. (This means you will need to take three CS courses in at least
one semester if you start in your second year.) See the
major and
minor requirements
for more information.
Off-campus study is easier now since all of the core courses are offered
each year. Possible opportunities include Oak Ridge National Lab (home
of PVM), Scotland, other national labs, other countries. You don't have
to go on a CS focused program, or even take CS courses while off-campus,
although some students choose to.
Starting the major during your first year makes going
off-campus possible during the Fall or Spring of your Junior year or during
the Spring semester of your Senior year. Waiting until your second year to
start on the major limits your off-campus window to Spring semester of your
senior year.
If you wish to go abroad, but have not yet decided which semester, you
may want to look at the
future course schedule
Logical systems Additional math that may be useful Summer REU
REU homepage
Applied CS track. Work with one of the applied groups on campus: CS admins,
DBA, HIP, etc. Off-campus study opportunities Scotland National Labs
Looking for something that's not here? Contact Jim Rogers:
| CS Home |
Earlham College |
WebDB |
Earlham Mail |
Earlham Libraries |
Word Online |
Copyright 1996-2005 by Earlham College Computer Science Department.
If you're curious about why we copyright, see
Peter Suber's
'Why Copyright Web Documents?'
Looking for something which is not here? Contact:
Last updated: Saturday, 19-Nov-2005 19:51:27 EST