-->

Computer Science Advising Guidelines

  1. 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.)
  2. 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.)
  3. The full ACM/IEEE-CS curriculum is covered by CS128, CS256, CS310, CS320, CS380, CS488, along with CS330, CS345, CS360, CS370, CS410, CS420, CS430, and CS440. The major requires only the first six of these (plus four other upper-division courses other than Independent Study or Research) but those intending to pursue graduate studies should take as many of them as their schedule permits.
  4. The core of the curriculum, CS128, CS256, CS310, CS320, CS380 and CS488 are normally offered every year. The rest of the standard curriculum is offered every other year. Some courses, such as Symbolic Logic and Robotics, are offered occasionally. Electronics and Instrumentation is staffed by the Physics Department, at their convenience. 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 occasional courses and then, finally, the topics courses.
  5. 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.
  6. Two of the upper-division courses (CS430 Databases and CS440 Programming Languages) require CS310 only as a corequisite and can be taken 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 3 each Fall.
  7. 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
  8. It is preferred that advanced programming (CS256) and math toolkit (MA195) are taken at the same time (currently Spring semester.)
  9. The math requirements should generally be completed before the end of the sophomore year. These are all either pre- or corequisites for Algorithms and Data Structures (C310).
  10. Calculus A (MA180) can be taken anytime during the first three semesters. It is currently offered both Fall and Spring semesters.
  11. The major requires completion of CS488, 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. (CS300+ refers to any of the CS courses labeled 300 or above.)

Starting the major your first year:
First Second Third Fourth
Fall Spring Fall Spring Fall Spring Fall Spring
CS128 CS256 CS310 CS320 CS300+ CS300+ CS488 CS300+
MA180 MA195 MA190 CS380 CS300+ CS300+ CS300+ CS300+
This four-year schedule allows for up to seven CS-300+ courses while still only taking two CS courses per semester. Only four are actually required for the major.
Starting the major your second year:
First Second Third Fourth
Fall Spring Fall Spring Fall Spring Fall Spring
CS128 CS256 CS310 CS320 CS488 CS300+
MA180 CS/MA195 MA190 CS380 CS300+ CS300+
(At least two: CS300+ CS300+ CS300+ CS300+)

You need four CS300+ courses, in addition to the core courses, for a CS major. This means that those starting in their second year will need to take three CS courses in at least one semester. This could be in any one of the last three semesters.

See the major and minor requirements for more information.

Since all of the core courses are offered each year, it is relatively easy to design a curriculum that includes off-campus study. 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.


Valid
            CSS! Valid XHTML 1.0!