Undergraduate Program
The SOC offers a Bachelor of Science degree and a minor in
Computer Science. The Computer Engineering degree is offered
jointly with the Department of Electrical Engineering; its
description appears under its own heading elsewhere in this
section of the catalog.
Computer Science Degree. Computer science students
must meet special departmental admissions standards,
maintain specified performance levels, and complete course
requirements as outlined below. This program may be
completed in four years if the student is able to take CP
SC1410 (Introduction to Computer Science I) and MATH 1210
(Calculus I) during the fall semester of the freshman year.
Students not able to begin at this level may require more
than four years to earn the degree.
Admission. Students, including transfer students,
who do not meet departmental admission requirements are
placed in a pre-major category by the Registrar. Such
students are urged to visit the departmental undergraduate
counselor for additional information.
In order to register for upper-division courses
(3000-level or higher) in computer science, a student must
first be admitted to full major status in the school.
Applications for admission are reviewed at the end of Spring
and Summer semesters.
To be admitted to full major status, a student must
complete the following courses with an average grade of 2.8
and a minimum grade of C-: MATH 1210 and 1220; CP SC 1410
and 2420. In addition, the student must have received a
grade of CR in CP SC 1010 and have a cumulative GPA of 2.3
or higher.
All courses listed above must be taken for letter grades.
CR/NC grades are not acceptable except in CP SC 1010.
If credit is granted for any of the above courses based
on advanced-placement test scores, grades may be assigned
for use in the admissions process. Check with the SOC
undergraduate counselor for details.
Transfer Students. Students planning to transfer
to the University of Utah from another Utah college or
university can get information on course equivalences from
either their current institution or from the SOC.
Students transferring from out-of-state schools must fill
out the school’s course-equivalence forms and have them
signed by appropriate University of Utah faculty.
Degree Requirements. Students must complete a
minimum of 122 semester hours of course work including the
requirements listed below:
General Education: Although this requirement is
described in the Undergraduate Studies section of this
catalog, Computer Science majors must satisfy more stringent
requirements. The six classes taken to satisfy the
intellectual explorations requirement must include two
classes numbered 3000 or higher.
Writing: WRTG 3400 (Professional Writing) or WRTG
3200 (Writing in a Research University) is required.
Mathematics and Science: Required are MATH 1210
and 1220 (Calculus) and PHYS 2210 (Physics for Scientists
and Engineers). In addition, students must take four
additional math, science, and/or engineering courses each of
which must be at least three semester hours. Students may
choose BIOL 1210, CHEM 1210, PHYS 2220, or any math,
science, or engineering course with a prerequisite or
co-requisite of MATH 1220. Students typically choose courses
that are prerequisites for their computer science electives.
Computer Science:
The following 10 computer science courses are required:
CP SC 1010, Introduction to Unix
CP SC 1410, Introduction to Computer Science I
CP SC 2420, Introduction to Computer Science II
CP SC 2100, Discrete Structures
CP SC 4400, Computer Systems
CP SC 3500, Software Practice I
CP SC 3505, Software Practice II
CP SC 4100, Algorithms and Data Structures
CP SC 3810, Computer Organization
CP SC 4500, Software Engineering Lab
Theory restricted elective: Students must take one of
the following:
CP SC 3100, Models of Computation
CP SC 3200, Scientific Computation
Technical electives. In addition, seven elective
computer science courses, totaling at least 21 semester
hours, must be taken. Any computer science course at the
3000-level or above may be used, with the exception of CP SC
5010/20, and computer science seminars. Only one
introductory graphics class may be counted and only one
independent study class (with special permission) may be
counted.
Capstone Requirement.
One of the following must be completed:
CP SC 4500, Software Engineering Lab
CP SC 4970, Bachelors Thesis
Duplication of Credit: No single course may be
counted toward more than one of the requirements for the
major.
Continuing Performance. In order to remain in good
standing and graduate, students must maintain a cumulative
University of Utah GPA of 2.3 or higher, and a GPA of 2.3 or
higher in computer science courses taken at the University
of Utah. Each course taken to satisfy computer science
requirements listed above must be passed with a grade of C-
or better. A student may repeat upper-division courses
(3000-level or above) only once. All computer science
classes taken to satisfy degree requirements must be taken
for a letter grade; they may not be taken for CR/NC.
Students are expected to complete all degree requirements
within four years of acceptance to full major status.
Students not making satisfactory progress may be dropped
from the school and declared inactive. Unsatisfactory
progress is determined in one of two ways: (1) the student
does not complete a computer science course for one year, or
(2) there is no reasonable way the student can complete all
degree requirements within the required time.
If personal circumstances prevent adequate progress, the
student may request an extension of a specific duration and
submit a revised schedule of completion. To be reinstated
from inactive status, students must petition the Computer
Science Undergraduate Committee. Reinstated students proceed
under the latest graduation requirements.
Probation. Students whose cumulative GPA falls
below 2.3, or whose average grade in University of Utah
computer science classes falls below 2.3, are placed on
academic probation and given conditions for a return to good
standing. Normally, these conditions must be met during the
next two semesters, excluding summer. Students who fail to
meet probationary conditions are dropped from the full major
rolls.
All students admitted as full majors are automatically
given probationary status. If a student’s GPA in either of
the above categories is below 2.3 at the end of the first
year during which they take upper-level CS classes, the
student is dropped from the CS major rolls.
Reinstatement requires a petition to the Undergraduate
Committee. Reinstated students proceed under the latest
graduation requirements.
Scholarships. The School of Computing, in
cooperation with the College of Engineering, awards cash
scholarships and tuition waivers each spring to deserving
new and continuing computer science and computer engineering
majors. Contact the school office for details.
Model Program of Study (for students working 20
hours or less/week)
First Year
Fall Semester (14.5)
MATH 1210 Calculus I (4)
CP SC 1010 Introduction to Unix (0.5)
CP SC 1410 Computer Science I (4)
General Education (3)
WRTG 2010 Writing (3)
Spring Semester (14)
MATH 1220 Calculus II (4)
CP SC 2420 Computer Science II (4)
CP SC 2100 Discrete Structures (3)
General Education (3)
Second Year
Fall Semester (15)
CP SC 3500 Software Practice I (4)
CP SC 3810 Computer Architecture (4)
PHYS 2210 Physics I (4)
WRTG 3400 Professional Writing (3)
Spring Semester (16)
CP SC 4100 Algorithms/Data Structures (4)
CP SC 3505 Software Practice II (3)
Math/Science elective (3)
General Education (3)
Free elective (3)
Third Year
Fall Semester (16)
CS theory elective (3)
CP SC 4400 Computer Systems (4)
Math/science elective (3)
General Education (3)
Free elective (3)
Spring Semester (15)
CS elective (3)
CS elective (3)
CS elective (3)
Math/science elective (3)
General education (3)
Fourth Year
Fall Semester (15)
CS elective (3)
CS elective (3)
CS elective (3)
General Education (3)
Free Elective (3)
Spring Semester (16)
CP SC 4500 (3)
CS elective (3)
Math/Science elective (3)
General Education (3)
Free elective (4)
Grand Total Hours: 122.5
Computer Science Honors Degree
The School offers an Honors Bachelor’s Degree in
Computer Science. This program is intended primarily for
students thinking of a career in research, but any student
can apply. Students who wish to be admitted into the honors
track should apply after taking CP SC 2420. This
application should consist of a short statement of career
goals, along with any supplemental material the student
deems relevant. This supplemental material is strictly
optional.
Students admitted to the departmental honors track will
have probationary status until after the completion of CP SC
4005.
The degree requirements for the honors degree are
detailed below.
-CP SC 4005 is required
-Either Honors 2211 or Honors 3200 is required (and can be
counted in place of one of the required courses).
-At least one Computer Science course at the 6000-level or
above must be taken.
-In addition, at least four courses must be taken that
either have an honors designation or are Computer Science
classes numbered 6000 or above. At least three of these
courses should be offered through the University Honors
Curriculum (i.e., have course number HONOR-xxxxx).
-A Bachelor's honors thesis is required.
-The upper level CP SC classes taken to satisfy the above
requirements would be counted toward the Computer Science
elective requirement.
At graduation, the University requires that honors
students have a GPA of at least 3.5 in the major and at
least 3.4 overall.
Computer Science B.S./M.S. Degree
The School of Computing offers a combination Bachelor of
Science/Master of Science degree in Computer Science. This
program allows students to earn a BS and MS in approximately
five academic years. The BS/MS can combine a BS in either
Computer Science or Computer Engineering with an MS in
either Computer Science or Computing.
Degree requirements are the same as those for earning a
BS and MS separately, but there are two basic advantages:
a. Admissions decisions are made before senior year, so
student can plan with certainty.
b. The synchronization barrier between the degrees is
broken. Hence, students may take graduate classes during
their senior year, and undergrad classes during their fifth
year.
Students wishing to pursue the thesis option for their MS
degree must also choose the thesis option for their BS. The
Bachelor's Thesis will normally constitute a portion of the
Master's Thesis.
Applications for the BS/MS program are due on January
15th of the Junior year. Program details and application
materials are available in the BS/MS Handbook and on the
School of Computing web page.
Computer Science Minor
The SOC offers a minor for students who need a background
sufficient to use and program computers in another field.
Admission. In order to be admitted as a CS minor,
a student must have a declared major in another department
and be making progress in that major. The admission process
is similar to that for majors and is carried out at the same
time. Students are admitted to the minor if their average
grade in Math 1210, and CP SC 1410/2420 is 2.8 or higher.
Computer science minors are guaranteed admission into
only the 3000-level computer science courses that comprise
the minor.
Computer science minors who wish to apply for full major
status may do so by fulfilling the normal pre-major
requirements and following the admission procedures
described under Admission to Major Status above.
Requirements. The minor consists of a minimum of
18.5 semester hours of computer science classes.
The following 5 computer science courses are required:
CP SC 1010, Introduction to UNIX
CP SC 1410, Introduction to Computer Science I
CP SC 2420, Introduction to Computer Science II
CP SC 2100 Discrete Structures
CP SC 3500, Software Practice
In addition, students must complete one additional
3000-level computer science course.
Graduate Program
Degrees. M.S. and Ph.D. in Computer Science.
For detailed information about graduate degree
requirements, contact the department directly or see the
School of Computing graduate handbook available on the World
Wide Web at www.cs.utah.edu/ dept/handbooks. For additional
information, see also the Graduate Information section of
this catalog.
Admission. The application process is described on the
School of Computing web site at www.cs.utah.edu/admissions.
Factors considered in admission to the M.S. and Ph.D. degree
programs include the following: 1. School of Computing
application form
2. Three letters of recommendation. Letters of
recommendation should be filled out on the downloadable
forms and mailed to us by the recommenders.
3. Personal statement: a brief letter describing your
background, interests, and in particular your reasons for
wanting to pursue graduate studies in computer science at
the University of Utah.
4. Two official transcripts for each college or university
you have attended. 5. GRE General Examination
6. TOEFL scores are required for all international students.
7. ETS will send TOEFL scores directly to the Admissions
Office of the University.
Financial Aid. The School of Computing has
attracted a large amount of external research funding in
recent years, which means that most M.S. and Ph.D. students
in good standing who have desired support have received it
in the form of fellowships, research assistantships, and
teaching assistantships. The school does not, however,
guarantee support for all graduate students.
CP_SC Course Descriptions
|