Both the Computer Science and Computer Engineering degrees may be completed in four full-time years of study if the student is capable of taking Mathematics 111 (first quarter calculus) in the autumn quarter and Physics 221 (engineering physics with calculus) in the winter quarter of 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 the normal four years may be required for earning 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.

To satisfy the elective requirement, a minimum of five different elective classes must be taken with a total of at least fourteen credit hours. Any Computer Science course at the 300 level or above may be used, with the exception of CS 501, 502, 503, 545, and seminars. Also, CS 431 and CS 651 may not both be counted. One elective may be a class from another department with faculty advisor approval. This class must be in a field closely related to computer science and must be technically advanced. One of the following courses may be used without approval: Math 304, BE 502.
The elective requirement must also include a concentration of three classes in closely related subject areas of computer science. Examples are graphics (CS 431, 432, 433), computational engineering and science (three of CS 520, 521, 522, 523), VLSI (CS 542, 543, 544), computer architecture (CS 561, 562, 568), languages (CS 509, 511, 513), artificial intelligence (CS 533, 534, 573), and vision/robotics (CS 531, 533, 537).
The chart below gives an example four-year degree program leading to a Bachelor's Degree in Computer Science. The graph that follows summarizes the prerequisites for computer science courses.
Figure: Example Computer Science Degree Program
Figure: Computer Science Prerequisites

The elective requirement may be satisfied by any CS or EE course at the 300 level or above, with the exception of CS 501, 502, 503, 545, and seminars and EE 390, 490, and 491. Also, CS 431 and CS 651 may not both be counted. One elective may be from another department with faculty advisor approval. This class must be in a field closely related to computer engineering and must be technically advanced. One of the following courses may be used without approval: Math 354; Math 361, 560, or 561 (if not counting CS 376); BE 501, 502; and Physics 375.
The chart below gives an example four-year degree program leading to a Bachelor's Degree in Computer Engineering. The succeeding graph summarizes the prerequisites for computer science courses.
Figure: Example Computer Engineering Degree Program
Figure: Computer Engineering Prerequisites
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 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 or EE 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, 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 in the department, a student may request an extension of a specific duration and submit a revised schedule of completion.