Computer Science Program
Overview of the Program
Computer Science at KAUST offers Master and PhD degrees. Both graduate degrees require course work. Each student has a faculty member as advisor/supervisor, who can provide advice on course selection and directions for research. Computer Science offers five tracks, each of which leads to a frontier of computing:
1. Theoretical Computer Science
2. Computer Systems
3. Artificial Intelligence
4. High Performance Computing
5. Visual Computing
For the Master degree, a student can chose one of the following directions:
1.) Master degree without thesis option: minimum of 30 credit hours of courses, or 2.) Master degree with thesis option: minimum of 30 credit hours of courses and a thesis. Thesis credit-hours range from 6 to 12.
A student must choose between the options before starting the second term of study. For the PhD degree, a student must:
1. Complete a minimum of 6 credit hours 300-level courses (after a Master’s degree), or additional 30 credit hours of course work for students bypassing the Master program.
2. Complete the PhD qualification and candidacy phases.
3. Present two seminars or lectures.
4. Submit an annual progress report.
5. Submit a thesis, which contains the candidate’s scholarly work. Thesis work must be publishable in well recognized journals and conferences.
6. Complete a thesis defense oral examination.
These basic requirements are explained in 4.
1.1 Advisors/Supervisors
Each Master student is assigned to a faculty member who is responsible for advising the student on the selection of courses and the options available. The advisor also signs the student’s forms. After the first term of registration, the student may select the same or a different faculty member (with the agreement of the faculty member) as research supervisor for the thesis option only.
A PhD student must have a research supervisor assigned prior the admission to the program. The research supervisor also serves as the advisor. Every student has the right to select co-supervisors from within the division. A maximum of 2 co-supervisors is permitted to supervise a graduate student. Each supervisor or co-supervisors must have an academic faculty-level appointment.
1.2 Program length
For the Master degree without thesis, a minimum of one year of full-time registration (4 courses, 12 credit hours) is normally required. Master degree with thesis option requires up-to four semesters.
The minimum period of registration for the PhD degree is five semesters after a Master’s degree (or seven semesters after a Bachelor’s). The actual length of the PhD program depends on the student’s preparation and choice of research topic.
1.3 Progress Reports
Progress reports are required of Master students under the thesis option and of PhD students. They are
intended to assist the student to focus on making timely progress through the program requirements.
Students are required to submit annual progress report to the supervisor. The student progress can be
discussed among the student advisory committee.
1.4 Courses
Graduate courses are classified into two levels: 200-level courses which are basic graduate courses, 300-
level courses which are research-oriented courses. The program offers the following course classified as
Core, Track, and Doctoral and Master level research courses.
Core courses:
1. (CS 221) Artificial Intelligence
2. (CS 240) Operating Systems and Systems Programming
3. (CS 242) Programming Languages
4. (CS 260) Design and Analysis of Algorithms
5. (CS 282) Computer Architecture and Organization
Immersion courses in each track:
Theoretical Computer Science
1. (CS 212) Linear and Nonlinear Optimization
2. (CS 229) Machine Learning
3. (CS 248) Computer Graphics
4. (CS 260) Design and Analysis of Algorithms
5. (CS 261) Algorithmic Paradigms
6. (CS 361) Combinatorial Machine Learning
Computer Systems
1. (CS 244) Computer Networks
2. (CS 245) Databases
3. (CS 248) Computer Graphics
4. (CS 282) Computer Architecture and Organization
5. (CS 341) Advanced Topics in Data Management
6. (CS 344) Advanced Topics in Computer Networks
7. (CS 346) Advanced Topics in Operating Systems
8. (CS 380) GPU and GPGPU Programming
Visual Computing
1. (CS 248) Computer Graphics
2. (CS 247) Scientific Visualization
3. (CS 272) Geometric Modeling
4. (CS 271) Applied Geometry
5. (CS 380) GPU and GPGPU Programming
Artificial Intelligence
1. (CS 212) Linear and Nonlinear Optimization
2. (CS 229) Machine Learning
3. (CS 245) Databases
4. (CS 340) Computational Methods in Data Mining
5. (CS 324) Advance Topics in Data Management
6. (CS 361) Combinatorial Machine Learning
High Performance Computing
1. (CS 282) Computer Architecture and Organization
2. (CS 291) Scientific Software Engineering
3. (CS 292) Parallel Programming Paradigms
4. (CS 311) High Performance Computing I
5. (CS 312) High Performance Computing II
6. (CS 380) GPU and GPGPU Programming
Master-level Research
1. (CS 298) Master Graduate Seminar
2. (CS 299) Master Directed Research
3. (CS 297) Master Dissertation Research
Doctoral-level Research
1. (CS 398) Doctoral Graduate Seminar
2. (CS 399) Doctoral Directed Research
3. (CS 397) Doctoral Dissertation Research
4. (CS 341) Advanced Topics in Data Management
5. (CS 344) Advanced Topics in Computer Networks
6. (CS 346) Advanced Topics in Operating Systems
7. (CS 380) GPU and GPGPU Programming
8. (CS 361) Combinatorial Machine Learning
2 Master Degree without Thesis Requirements
For the Master degree without thesis option, course requirements include four Core courses, minimum of
three Immersion courses, one course from the student field of research, one mathematics course, and one elective course. Detailed description of courses is available in Section 5.
3 Master Degree with Thesis Requirements
For the Master degree thesis option, course requirements include four Core courses, minimum of three
Immersion courses, one course from the student field of research, one mathematics course, and one elective course. An additional six to twelve thesis credit hours (CS 297 Dissertation Research) are required. By the end of the second semester, a student must have arranged a research supervisor and agreed on the general area of the proposed research. Before the end of the third semester, the student must have defined a thesis topic in consultation with the supervisor. Two readers for the thesis, in addition to the supervisor, must also be chosen. The mutual agreement of the student, supervisor, and readers must be reported in writing and kept at the division. The agreement must explicitly state the topic of the thesis, and the expected completion date of the thesis. The Master thesis student must present the results of the thesis research at an announced division-based seminar. The thesis must be approved by the supervisor and two readers.
4 PhD Degree Requirements
A research supervisor is assigned for each admitted PhD student.
4.1 PhD Course Work
PhD students are required to complete a minimum of 6 credit hours from 300- level courses (after a
Master’s degree). Courses are determined according to the research supervisor. An additional 30 credit
hours of course work are required for students bypassing the Master program. They must satisfy similar
degree requirements for Master degree without thesis program presented above.
4.2 PhD Qualification
PhD student must pass the qualification exam. The qualification exam consists of two phases. Phase one is the breadth requirements. Each student must demonstrate broad knowledge in the three main areas of
Computer Science: systems, theory, and applications. Each of these areas is further subdivided into areas
that represent Computer Science fields. Systems include software engineering, operating systems,
programming languages, hardware, and software systems. Theory includes algorithms and complexity.
Applications include databases, networks, artificial intelligence, and graphics. A PhD student should have
already taken a number of advanced courses during graduate and senior undergraduate levels in the above
mentioned broad range of categories with a minimum grade of B+ (or equivalent). The student supervisor
can determine the breadth course coverage. Based on results of the student transcript and presented course
syllabus, each PhD student is given a list of courses to satisfy. The table bellow summarizes the breadth
requirement according to the categories and area of courses.
High Performance Computing
282, 291, 292, 311, 312, 380
Systems Hardware and Software Systems
240, 340, 242, 244, 241, 248, 341, 344,
346, 380
Theory Algorithms and Complexity
212, 229, 248, 260, 261, 361
Artificial Intelligence
212, 229, 245, 340, 361, 324
Database
245, 341, 340
Network and Distributed Systems Applications
244, 344, 311, 312
Graphics and User Interfaces
248, 247, 380, 272, 271
The second phase is the qualifying exam. A seminar is required to examine the student knowledge and research skills in a selected topic. PhD student must complete the breadth requirements by the end of the first semester. Once completed, the student should be ready to start working on the PhD qualifying seminar by the end of the first year.
4.3 PhD Candidacy
The PhD Candidacy exam tests the student’s preparedness to pursue thesis research. It is an oral
presentation of a research proposal together with questioning by the advisory committee. The student
submits a written research proposal to the advisory committee two weeks prior to the exam. The advisory
committee consists of a minimum of two faculty-appointed personnel from within the division and the
supervisor. The candidate must convince the committee that the chosen research area is suitable and
demonstrate an appropriate breadth of knowledge in the chosen area. The committee should decide if there
is a thesis topic in the area and whether the candidate is capable of completing such a thesis. The
committee decision can be:
- Pass: Student passed and can proceed with the final thesis
- Conditional Pass: Student collects the committee feedback and attempt to complete the deficiencies. The committee can request another informal/individual oral exam. A Pass must be obtained by the end of the following semester.
- Fail: Student demonstrated unsatisfactory research abilities and is not capable of completing the degree.
The committee reports the results to the student and to the division in writing. Each PhD student must complete the candidacy exam by the end of their forth semester (i.e., second year). PhD students bypassing the Master degree, must complete the candidacy exam by the end of the sixed semester (i.e., third year).
4.4 PhD Seminar Requirement
Each PhD candidate must present at least two publicly announced seminars (or lectures, possibly in 200
level-courses) during the program. The purpose of this requirement is ensures that each student participates in the academic life of the university and to enhance their presentational skills. Each seminar must be attended by the supervisor and one faculty.
4.5 PhD Thesis
The PhD thesis which contains the candidate’s scholarly work. The work of the thesis must be publishable in well recognized journals and conferences.
4.6 PhD Oral Defense
Each student must arrange a two-hour oral defense. The supervisor, advisory committee, external to the
division (computer science) examiner, external to the university examiner, and session moderator must be
present. The student presents his or her results and answers questions from the examiners. The PhD oral
defense result is either Pass or Fail.
The Specialty courses in the CS program are specified by individual faculty members and may vary from year to year.


