All applicants and admitted students must demonstrate an appropriate level of mathematics and computer science proficiency. Applicants must have completed the following coursework with a B- or better.
- Calculus I*
- Calculus II*
- Linear Algebra*
- Object-Oriented Programming*
- Data Structures* - stacks, queues, lists, hash tables, trees, heaps, and graphs; sorting and searching; design, analysis, and comparison of algorithms.
- Computer Architecture - logic design, digital computer operations; arithmetic processing, memory, control and input/output units, instruction pipelining, SIMD; multiprocessor systems.
- Automata and Computability (Theory of Computation) - finite-state automata, push-down automata, Turing machines; formal systems; Church-Turing thesis.
- Operating Systems - sequential processes, concurrent processes, deadlock, mutual exclusion, semaphores; memory management, processor management, peripheral device management.
*Courses with an asterisks (*) are minimally required to be reviewed for admissions.
While it is possible to be admitted if you are missing one or two of the requisites, the majority of those admitted to the program have completed all 8 courses. If you are admitted but lack one or two of the prerequisites, you must pass the corresponding placement exam within the first 5 course days of your first semester. If you fail the placement exam (or decide not to complete the placement exam), you must complete the equivalent course within your first two semesters. Please refer to the official catalog policy below for additional details.
Prerequisite evaluation - we typically do not pre-evaluate prerequisite for prospective students (applicants) unless they are able to meet in-person with the Director of Graduate Studies. An appointment must be scheduled with the Director of Graduate Studies to meet (no walk-ins).
Non-Computing Background Applicants: if you are an applicant without a computing background, it is HIGHLY recommended that you complete ALL 8 courses rather than the minimum. Visit the Computer Science Post-Baccalaureate page for additional details.
The following policy is taken from the UH Graduate Catalog
Students admitted to the graduate program of the Computer Science department must have taken Calculus I, Calculus II and Linear Algebra before being admitted to the program. In addition they are required to demonstrate an appropriate level of proficiency in computer science. Level of proficiency is defined to mean either (a) having successfully passed an equivalent course*, as determined by the Director of Graduate Studies, for each subject listed below, (b) complete the corresponding course* with a grade of “B-” or better at the University of Houston, or (c) successfully pass a department placement exam in each of the required subjects.
- Equivalent Coursework - evaluation of equivalent coursework* for each subject listed below will be determined by the Director of Graduate Studies at the time of initial advising.
- Completion After Admission – upon entering the graduate program, students may remedy deficiencies by taking courses* from the list below and securing at least a B- grade. Any course in which a grade of “B-” or better is not made must be repeated the following semester. Each course can be taken a maximum of two times to obtain the required grade of “B-” or better.
- Department Placement Exam - A student must submit to the Director of Graduate Studies a request to take department placement exams(s) at least one (1) month prior to the start of the student's first term. If approved by the Director of Graduate Studies, the exam(s) may be administered within the two (2) weeks prior to the start of the term. The result of the department placement exam(s) will be reported by the first day of the term and included in the student’s academic file.
Courses taken to remedy deficiencies will not be counted in the total number of credit hours required for the graduate degree.
Remediation of deficiencies must be completed (a) within the first two long semesters and (b) before a student will be allowed to register for the courses which are counted towards their degree. The only exception is the semester in which the student will complete the deficiencies. In this situation, a student can enroll in courses required to remedy deficiencies concurrent with enrollment in graduate courses that will be applied towards the degree.
*Courses that may be taken to remedy deficiencies in Computer Science:
- COSC 6305 Intro. Comp. Sci. II: Object-oriented programming; C++. Undergraduate equivalent is COSC 1437/1430.
- COSC 6306 Data Structures: stacks, queues, lists, hash tables, trees, heaps, and graphs; sorting and searching; design, analysis, and comparison of algorithms. Undergraduate equivalent is COSC 2436/2430.
- COSC 6308 Computer Architecture: logic design, digital computer operations; arithmetic processing, memory, control and input/output units, instruction pipelining, SIMD; multiprocessor systems. Undergraduate equivalent is COSC 2425/2440.
- COSC 6309 Intro. Automata & Computability: finite-state automata, push-down automata, Turing machines; formal systems; Church-Turing thesis. Undergraduate equivalent is COSC 3340.
- COSC 6310 Fund. Operating Systems: sequential processes, concurrent processes, deadlock, mutual exclusion, semaphores; memory management, processor management, peripheral device management. Undergraduate equivalent is COSC 3360.