Computer Science (CS)

Aims and Scope

The Computer Science (CS) program educates students to become world-class researchers and thought leaders in the field of computer science. The program is designed to prepare students for a career in academia, industrial research or advanced positions in industry.

The program offers two degrees: the Doctor of Philosophy (Ph.D.) degree and the Master of Science (M.Sc.) degree. The M.Sc. degree can be obtained by taking courses only or by a combination of courses and writing a thesis. Students who are interested in a research career are encouraged to apply directly to the Ph.D. program. A master’s degree is not a pre-requisite to enroll in the Ph.D. program.

Students who complete the Ph.D. degree will have demonstrated original research that is published in world-class prestigious conferences, journals and other research forums. This degree is appropriate for those who want to pursue a career in research either in academia or industry. Students who complete the M.Sc. degree by taking courses and writing a thesis will have demonstrated ability to perform directed research and complete a research project. This degree is appropriate for students who wish to pursue a Ph.D. degree later.

Students who complete the M.Sc. degree by taking only courses will have demonstrated strong performance in graduate-level courses that prepares students for careers of advanced research and development in industry.

The scope of research in the computer science program at KAUST includes the following areas:

  • Artificial Intelligence and Machine Learning
  • Computational Biosciences
  • Computer Systems and Databases
  • High Performance Computing
  • Theoretical Computer Science
  • Visual Computing

More information can be found on the Computer Science website here

Definitions

To describe the course requirements, we use the following terms:

A 200-level course has a course number in the closed interval [200 – 299].

A 300-level course has a course number in the closed interval [300 – 399].

The course prefix is the abbreviation at the beginning of a course number used to describe the program that offers the course, e.g., CS for computer science courses and ECE for electrical and computer engineering courses.

A CS course is a course with CS prefix. A CEMSE course is a course with a CS, AMCS, EE, or STAT prefix. A BESE/CEMSE/PSE course is a course offered by any of the three divisions.

The term regular course excludes special courses such as:

  • CS 295 Internship, CS 297 Master Thesis Research, CS 299 Directed Research, or similar courses in other programs
  • CS 397 Doctoral Dissertation Research, CS 398 Graduate Seminar, CS 399 Doctoral Directed Research, or similar courses in other programs
  • Courses that CS students cannot take for credit, such as CS 207 Programming Methodology and Abstractions
  • Courses with a ESL, IED, WE prefix

Note that special courses such as CS 294 Contemporary Topics and CS 394 Contemporary Topics are included in the definition of a regular course.

Requirements for All CS Students

All students have to fulfill the following requirements in addition to the requirements listed below:

  • A minimum GPA of 3.0 must be achieved to graduate.
  • Individual courses require a minimum of a B- for course credit.
  • Graduate seminar 398 (non-credit) – all students are required to register and receive a satisfactory grade for the first two semesters at KAUST
  • Completion of one Winter Enrichment Program (WEP)

A rule for all CS students is that any course choice needs to be approved by the academic advisor. The academic advisor should check if a course has an appropriate difficulty level and if it fits the educational mission of the CS program. Most importantly, taking courses offered outside of the CS program, especially outside the CEMSE division, requires some justification. Students should take such courses mainly to support an interdisciplinary research project.