University of Utah
Department of Computer Science


Next: Computer Science as a Minor
Up: Information for Undergraduates
Previous: Becoming a Major

Requirements for the B.S. Degree

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.

  1. Overall University Requirement: Students must complete a minimum of 183 quarter hours of course work. At least 60 of the 183 hours must be upper division classes (numbered 300 or above). At least 45 of the total credit hours and 30 of the last 45 hours must be taken at the University. At least one class must be taken at the University during the school year of graduation.

  2. Liberal Education Requirement: The Liberal Education requirements are described in the University of Utah General Catalog and in the Liberal Education Bulletin. The requirements for Computer Science and Computer Engineering majors are more specific. Students must take two core courses (one each from any two of Fine Arts, Humanities, and Social Science) and six distribution/core courses (two in each of three areas other than Science). The eight liberal education courses must comprise at least 28 credit hours, must include two upper-division courses numbered 300 or above, and must include at least two groups with at least two courses in each group that form a concentration approved by the Department. The second course in each concentration must further develop ideas or issues introduced in the first course. A list of sample concentrations and the Liberal Education Program form can be obtained from the Departmental office. Students must complete this form and receive approval for their programs.

  3. American Institutions Requirement: Economics 274, History 170, or Political Science 110.

  4. Writing Requirement: Writing 112 or 210--College Writing; Writing 301--Technical Writing. Writing 301 must be taken prior to taking the Senior Laboratory.

  5. Mathematics Requirement: Mathematics 111, 112, 113--Calculus; Mathematics 251--Ordinary Differential Equations; Mathematics 252--Matrices and Vector Analysis; Mathematics 507--Probability; the Computer Engineering Degree also includes Mathematics 353--Partial Differential Equations.

  6. Chemistry and Physics Requirements: Chemistry 121--General Chemistry; Physics 221, 222, 223--Physics for Scientists and Engineers; the Computer Engineering Degree also includes Physics 374--Modern Physics.

  7. Computer Science Degree Requirements: A minimum of 23 Computer Science courses must be completed, including the following:

    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

  8. Computer Engineering Degree Requirements: A minimum of 25 Computer Science and/or Electrical Engineering courses must be completed, including the following:

    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

  9. Duplication of Credit: No single course may be counted toward more than one of the requirements listed above for either major.

  10. Continuing Performance: In order to remain in good standing and to graduate, a student is required to maintain a cumulative grade point average of 2.25 or higher, and also to maintain a grade point average of 2.25 in Computer Science and Electrical Engineering classes. Each course taken to satisfy the departmental requirements listed above must be passed with a grade of C- or better. A student may repeat a course at the 300 level or above only one time. All CS and EE classes (other than CS 110) taken to satisfy the requirements for a Computer Science or Computer Engineering degree must be taken for a letter grade; they may not be taken CR/NC.

    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.

  11. Probation: Students whose grade point average 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 quarters, excluding summers. Students failing to meet their probationary conditions are dropped from department rolls. Reinstatement requires a petition to the Undergraduate Committee. Reinstated students proceed under the latest graduation requirements.


Next: Computer Science as a Minor
Up: Information for Undergraduates
Previous: Becoming a Major

Department of Computer Science Departmental Handbook

webmaster@cs.utah.edu