| PREVIOUS | UP | NEXT | CONTENTS |
The Computer Science degree can be completed in four full-time years of study if the student is capable of completing the year-long calculus and computer science sequences, along with English writing and physics, during the freshman year. Only strong training in high school will allow a student to begin at this level.
If a student must instead take preparatory classes as a freshman, more than four years may be required to earn a degree. In any event, it is important to take the required pre-major classes early to allow advancement to full major status as soon as possible.
In a concentration, the second course further develops ideas or issues introduced in the first course. A list of sample concentrations and the General Education Program form can be obtained from the Academic Counselor. Students must complete this form and receive approval for their programs.
Students must take three additional classes chosen from among Chemistry 1210 or 121, Biology 1000 or 101, or any math, science, or engineering class that has a full year of calculus as a prerequisite. Students should take the prerequisites of computer science electives into consideration when planning how to satisfy this requirement. (If any of the classes taken are of quarter length, an additional class is required.) At least two of the classes taken to fulfill this requirement must be math classes.
| CS 1010 or 110 | Introduction to Unix |
| CS 2010/2020 or 201/202 | Introduction to Computer Science |
| CS 2100 | Discrete Structures |
| CS 3100 | Models of Computation |
| CS 3500 | Software Practice |
| CS 3510 | Algorithms and Data Structures |
| CS 3810 | Computer Architecture |
| CS 3200 | Scientific Computation |
| CS 3520 | Programming Languages |
| CS 3700 | Digital Design |
| CS 5460 | Operating Systems |
| CS 5470 | Compilers |
| CS 4500 | Software Engineering Lab |
| CS 4970 | Bachelor's Thesis |
Students whose grade point average in either of these two categories falls below 2.25 are notified that they are on probation and will be given conditions for a return to good standing. Normally, these conditions must be satisfied during the next two semesters, excluding summers. Students failing to meet their probationary conditions are dropped from department rolls.
All students admitted as full majors are placed on probationary status. If a student's GPA in either of the above categories is below 2.25 at the end of the first academic year during which they take upper level CS classes, the student is dropped from the department rolls.
Students are expected to complete all requirements for their degree within four years of acceptance to full major status. Students not making satisfactory progress toward their degrees may be dropped from the department rolls and declared inactive. The determination that a student is not making satisfactory progress is made in one of two ways. Either (1) the student has not completed a CS course for a period of one year, or (2) there is no reasonable way in which the student can complete all degree requirements at the end of the required period of time.
In order to be reinstated from inactive status or from being dropped due to low GPA, students must petition the Computer Science Undergraduate Committee. Reinstated students proceed under the latest graduation requirements.
If personal circumstances prevent completion of all degree requirements within four years of acceptance as a full major, a student may request an extension of a specific duration and submit a revised schedule of completion.
Example Computer Science Degree Program
| Fall | Spring | |||
| Freshman | Math 1210 | (4) | Math 1220 | (4) |
| CS 1010 | (0.5) | Physics 2210 | (4) | |
| CS 2010 | (4) | CS 2020 | (4) | |
| Writing | (3) | Gen Ed | (3) | |
| Gen Ed | (3) | |||
| | | |||
| Sophomore | CS 2100 | (2) | CS 3100 | (3) |
| CS 3500 | (4) | CS 3510 | (3) | |
| CS 3810 | (4) | Math elective | (4) | |
| Physics 2220 | (4) | Writing 3400 | (3) | |
| Gen Ed | (3) | |||
| | | |||
| Junior | CS restricted elective | (3) | CS restricted elective | (3) |
| CS restricted elective | (3) | CS restricted elective | (3) | |
| Math elective | (4) | CS elective | (3) | |
| Gen Ed | (3) | Science elective | (4) | |
| Free elective | (3) | Free elective | (3) | |
| | | |||
| Senior | CS elective | (3) | CS capstone | (3) |
| CS elective | (3) | CS elective | (3) | |
| Gen Ed | (3) | Gen Ed | (3) | |
| Gen Ed | (3) | Free elective | (3) | |
| Free elective | (4) | Free elective | (3) | |
| | | |||
This table gives an eight-semester example program leading to a
B.S. in Computer Science. It is meant only as a guide, since the
scheduling of electives and General Education classes depends on which
ones are selected. This schedule assumes adequate high school
preparation in mathematics; it is not advisable to take Physics 2210
without some previous training in calculus. Note that Math 1210,
Writing, and Computer Science 2010 should all be taken during the fall
semester in order to complete the required pre-major classes during
the first year. (
Class required of pre-majors.)
Computer Science Prerequisites
This graph illustrates the order in which classes must be taken to
satisfy prerequisite and corequisite requirements in Computer Science.
Prerequisites are connected bottom-to-top; corequisites are connected
side-to-side. Four of the five courses contained in dashed boxes must
be taken. Where not otherwise indicated, courses are offered during
both semesters as well as the summer. (
CS 3200 has Math 2250
as a prerequisite.)
| PREVIOUS | UP | NEXT | CONTENTS |