Skip navigation
Computer Science

Computer Science 2013-2014

Degree Requirements

Type:     Undergraduate + Graduate 
Degree:  BS/MS

The Department of Computer Science at the University of Denver offers a Dual Degree Bachelor of Science and Masters in Computer Science. The BS/MS in Computer Science encompasses the theory and techniques by which information is encoded, stored, communicated, transformed, and analyzed. It is concerned with the theory of algorithms (that is, effective procedures or programs), with the structure of languages for the expression of algorithms, and with the design of algorithms for the solution of practical problems. A central concern is the study of the computer systems (hardware and software) for the automatic execution of these algorithms prepares students for advancement in academic or industrial careers. The program is designed to provide students with a breadth of advanced knowledge in computer science, while permitting them to achieve depth in areas of current interest within the computing field, as well as the emerging technologies that will be gaining importance in the future.

The degree is strongly based in mathematics and, in fact, a student will automatically acquire sufficient credits for a minor in mathematics. One additional minor is required. The second minor may be in any discipline other than mathematics or computer science.

Total Credit Hours
183 (UG) + 36 (MS) qtr. hrs.

Required Courses
COMP 1671 Introduction to Computer Science I
COMP 1672 Introduction to Computer Science II
COMP 2300 Discrete Structures in Computer Science
COMP 2355 Introduction to Systems Programming
COMP 2370 Introduction to Algorithms and Data Structures
COMP 2673 Introduction to Computer Science III
COMP 2691 Introduction to Computer Organization
COMP 3351 Programming Languages
COMP 3361 Operating Systems I
COMP 3371 Advanced Data Structures and Algorithms
COMP 3200 Discrete Structures

Other Requirements
Students who intend to obtain a BS/MS in Computer Science must satisfy all the requirements of the Bachelor of Science degree as outlined in the University of Denver Undergraduate Bulletin. One of the two minor areas required in the B.S. program must be in mathematics. The other minor may be in any field.  Upon completion of the BS requirements, the student must satisfy the 36 hours of required coursework for the MS.

The eleven courses listed above total 44 quarter hours. An additional 28 hours of 3000-level computer science electives are required. COMP 2400 or COMP 2901, or COMP 2555 may be used to satisfy 8 credits of the required 3000-level elective credits, but COMP 3904 may not be used in this way.  In addition there are 3 COMP courses at the 4000-level (other than COMP 4991) are required of which at least one must be a designated "theory" class and one must be a designated "Advanced Programming" course and completion of three quarters of COMP4600 Seminar (0 credits).

Advanced Programming Requirement
Students must also choose and complete two courses from the following list of COMP courses that include an advanced programming component. Students must complete at least two of the courses listed below at the University of Denver. These courses must be approved by an advisor. The current pre-approved list includes:

COMP 4362 Operating Systems II
COMP 3352 Elements of Compiler Design
COMP 3353 Compiler Construction
COMP 3621 Computer Networking
COMP 3422 Database Organization & Management II
COMP 3801 Introduction to Computer Graphics
COMP 3802 Advanced Computer Graphics

Math Minor Requirement
Minimum of 20 quarter hours in MATH courses numbered 1951 or higher. Discrete Structures in Computer Science (COMP 2300) may be counted toward the math minor. Courses not covered by the foregoing two sentences must be approved in writing by a mathematics faculty advisor.

For students entering DU Fall 2010 or later: At least 50% of the required credit hours for minor must be completed at the University of Denver

All electives, especially the MATH and COMP electives, should be selected in close consultation with an academic advisor from the Computer Science Department. The courses for the non-mathematics minor (see Minor courses above) should be selected in consultation with an academic advisor from the department in which the minor is administered.

Sample Schedule
Year 1
COMP1671: Intro to CS 1
MATH1951: Calculus 1
FSEM
Foreign Language 1
COMP1672: Intro to CS2
MATH1952: Calculus 2
WRIT1122
Foreign Language 2
COMP2673: Intro to CS3
COMP2300: Discrete Structures
WRIT1133
Foreign Language 3
Year 2
COMP2370: Data Structures & Algorithms
MATH 2XXX/3XXX Elective
AI-Natural
SI-Natural
COMP2691:  Comp Organization
COMP2355: Systems Programming
AI Society
SI-Natural

COMP Elective
MATH1953:  Calculus 3
SI-Society
SI-Natural
Year 3
COMP Elective
COMP Elective
Minor Course 1
SI-Society
COMP3361: Operating Systems
ASEM
Minor Course 2
Elective
COMP Elective
Minor Course 3
Elective
Elective
Year 4
COMP3351:  Program. Lang
COMP Elective
Minor Course 4
Elective
COMP3200:  Adv Discrete Structures
Minor Course 5
Elective
Elective
COMP3371: Adv Data Structures & Algorithms
COMP Elective
Elective
Year 5
COMP3XXX/4XXX Elective
COMP 4XXX Theory
COMP4600:  Seminar
COMP3XXX/4XXX Adv Programming
COMP3XXX/4XXX Elective
COMP4600:  Seminar
COMP3XXX/4XXX Elective
COMP3XXX/4XXX Elective
COMP4600:  Seminar

Type:     Graduate  
Degree:  Master of Science

The MS program in computer science prepares students for advancement in academic or industrial careers. The program is designed to provide students with a breadth of advanced knowledge in computer science, while permitting them to achieve depth in areas of current interest within the computing field, as well as the emerging technologies that will be gaining importance in the future.

Degree Requirements
Requires 48 quarter hours of graduate-level course work including:
COMP 3351 Programming Languages
COMP 3361 Operating Systems
COMP 3371 Advanced Data Structures and Algorithms
COMP 3200 Discrete Structures

3 COMP courses at the 4000-level (other than COMP 4991) are required of which at least one must be a designated "theory" class.

Advanced Programming Requirement
Students must also choose and complete two courses from the following list of COMP courses that include an advanced programming component. Students must complete at least two of the courses listed below at the University of Denver. These courses must be approved by an advisor. The current pre-approved list includes:
COMP 4362 Operating Systems II
COMP 3352 Elements of Compiler Design
COMP 3353 Compiler Construction
COMP 3621 Computer Networking
COMP 3422 Database Organization & Management II
COMP 3801 Introduction to Computer Graphics
COMP 3802 Advanced Computer Graphics

Seminar Attendance Requirement
Students must complete three quarters of COMP4600 - Seminar (0 credits). A passing grade is required for successful completion.
Non-thesis option
A maximum of 12 quarter hours may be earned in Independent Study (COMP 4991), provided the student can find an advisor for such independent study.
No thesis is required.
Not eligible for support (GTA, GRA)

Thesis Option
A maximum of 12 credits may be earned for thesis credits (COMP 4995).
A thesis is required.

Students should also note the following:
A maximum of 8 quarter hours may be earned in approved courses outside the COMP designation, including transfer credits from another university. Such credit must be approved in writing by an advisor from the computer science faculty. A student receiving any support from the department (GTA, GRA) must complete the degree requirements as per the Thesis option.

Prerequisites
COMP 1671 Introduction to Computer Science I
COMP 1672 Introduction to Computer Science II
COMP 2370 Introduction to Data Structures and Algorithms
COMP 2673 Introduction to Computer Science III
COMP 2691 Introduction to Computer Organization
COMP 2300 Discrete Structures in Computer Science

Type:   Dual or Joint Degree Programs

Degree:  Master of Science in Computer Science and Engineering

The MS in computer science and engineering is a unique degree, combining curriculums from both computer science and engineering. The degree allows more of a hardware emphasis than exists in traditional computer science master's degrees and more of a software emphasis than existing engineering master's degrees. Detailed information regarding this program may be obtained from the department of engineering.

 Degree:  Juris Doctorate/Master of Science in Computer Science (JD/MS)

The JD/MS dual-degree combines curriculums from computer science and law. Detailed information about this program may be obtained from either the Sturm College of Law or the department of computer science.

Type:     Graduate 
Degree:  PhD

The department currently has faculty to support PhD students in the following areas:
* Artificial Intelligence
* Computational Geometry
* Humane Games
* Graphics
* Networks
* Parallel and Distributed Algorithms
* Security and Privacy
* Software Systems Engineering

Total Credit Hours: 
90 qrt. hrs.
      
Degree Requirements applicable to all PhD Students:
* A minimum of 90 quarter hours beyond BA or BS Degree.
* Completion of a written dissertation that makes a significant contribution to the research literature in computer sciences.
* Completion of a tool requirement.
* 3 quarters minimum of COMP4600 – Computer Science Seminar

Additional Degree Requirements applicable to PhD Students without a Master's Degree in Computer Science
* Must complete the requirements of the Computer Science Master's Degree with a thesis option within 3 years (9 quarters).

Additional Degree Requirements applicable to PhD Students with a 2 year Master's Degree in Computer Science or Related Field
* May take a proficiency test in the four required courses for Master's Degree. The test may be offered at a time other than the official final exam time of the term. A grade of B+ (B plus) or better must be obtained in the test.
* If the student chooses not to take the proficiency test, the student must register and attend classes for the four required courses. A grade of B+ (B plus) or better must be obtained in the courses.

Course selection
Of the 90 quarter hours, at least 36 must be at the 4000 level. Up to 24 credits may be taken in other relevant disciplines, as approved by the Computer Science Department Graduate Committee. Courses should be chosen in consultation with, and are subject to the approval of, the student's advisor.

Qualifying & Dissertation Examinations

Qualifying Exam
Every PhD student must pass the Qualifying Exam. It consists of two parts, the Breadth Requirement and the Written and Oral exam.

(a) Breadth Requirement:  To fulfill the Breadth Requirement the student must take 5 graded courses (20 Quarter Credits) at the 3000 and 4000 level (not including independent study, internship, or independent research). At most, two may be at the 3000 level. At least three must be at the 4000 level. The course work should cover at least three distinct areas. Five areas should include a sequence of 3000 and 4000 level courses. The GPA in these courses must be at least 3.7/4.0. No course with a grade below a B may be used to fulfill this requirement. Graduate computer science courses taken at another university and transferred for credit at DU may be applied to the Breadth requirement up to a maximum of 2 courses (8 quarter credits).

(b) Written and Oral Exam:  Before being admitted to this exam, the student must have fulfilled the Breadth Requirement.

The student selects an area of examination from the list of areas in Table 1. The Written part of the exam is a take home exam. It is a handed out on a Friday and is due the following Tuesday. The Oral Exam is held the following Friday. The take home exam consists of a set of research questions, a set of related papers and instructions. The student should prepare a written report of at least 10 but no more than 20 pages with answers to the questions. Study guides or other relevant material to prepare for the exam can be obtained from the chair of the examination committee. The oral portion of the exam is based on a student presentation in which the student explains and defends his/her answers. During the Oral Exam, questions in other areas of computer science may also be asked.

A failed exam may be retaken once (in the same or another area). Sufficiently prior to the exam date, the department chair will appoint an examination committee of three tenure-track faculty. One of the committee members must be in the area in which the examination will be held. The student's advisor is allowed to be on the committee. The committee creates the take home exam and grades it. After the Oral Exam, the committee makes a recommendation to the CS faculty on whether the student passes or fails. If the faculty agrees, the committee recommendation stands. If there is a disagreement, the faculty as a whole decides.

Preliminary Examination
Following successful completion of the Qualifying Examination, each student will prepare a dissertation proposal and take the Preliminary Examination.
Passing this examination admits the student to Ph.D. candidacy. The dissertation proposal should be prepared in close consultation with the student's advisor, and should be available to all committee members at least two weeks prior to the examination. It should reflect an extensive critical literature survey, and contain an accurate assessment of the state-of-the-art in the area of research, a precise statement of the problem to be solved, motivation for pursuing the research, and evidence to the effect that there is a good likelihood the problem is solvable with reasonable effort.

For full-time students, the Preliminary Examination must be taken within 5 quarters of passing the Qualifying Examination. Successful completion of the Preliminary Examination results in agreement between the student and the committee as to what will constitute successful completion of the dissertation research. The committee may choose to reconvene the examination to allow the student to further research the problem, complete additional course work, or revise the dissertation proposal document.

The examining committee consists of at least 3 Computer Science faculty members, including the advisor. The preliminary exam is a one hour oral closed exam.
If a student passed the preliminary exam, but subsequently switches advisor and hence topic, the preliminary exam must be repeated within one year to ensure capability of the student and feasibility of the project.

 Possible Thesis Proposal Outline
1. Intro
a. Problem
b. Research questions, scope
2. Background
a. Lit search
b. Open Problems
c. Analysis with respect to research questions
3. Approach
4. Preliminary results
5. Plan for completion of work including timeline
6. Risks and risk mitigation
7. References

Dissertation Defense
After the dissertation has been completed, the student must defend it in a final examination, as specified by the Office of Graduate Studies.

Tool requirement
It is strongly recommended that students satisfy their tool requirement by demonstrating proficiency in a modern computer typesetting system suitable for writing technical papers that include mathematical equations and graphics. The faculty advisor must approve the specific system used to satisfy this requirement. Other options include reading competency in two languages selected from French, German, and Russian; a series of outside courses in another discipline; or significant laboratory experience involving computer science.