M.S. in Computer Science

Program Features

Computer science is an enormously vibrant field. From its inception over half a century ago, computer science has become the defining technology of our age. Computers are integral to modern culture and are the primary engine behind much of the world’s economic growth. The field, moreover, continues to evolve at an astonishing pace. New technologies are introduced continually, and existing ones become obsolete in the space of a few years. 


Much of the change that affects computer science comes from advances in technology. Many of these advances are part of an ongoing evolutionary process that has continued for many years. Moore’s Law—the 1965 prediction by Intel founder Gordon Moore that microprocessor chip density would double every eighteen months—continues to hold true. As a result, we have seen exponential increases in available computing power that have made it possible to solve problems that would have been out of reach just a few short years ago. Other changes in the discipline, such as the rapid growth of networking after the appearance of the World Wide Web, are more dramatic, suggesting that change also occurs in revolutionary steps.

The evolutionary and revolutionary changes have had a profound effect on computer science discipline. These changes have also placed an increasing demand for highly qualified computer scientists in the Kingdom at both the undergraduate and graduate levels.

In light of the rapid growth, change, and high demand in the discipline of computing, the ICS department at KFUPM developed two master programs to cope with the advancements and the market needs: the Software Engineering Master Program and the Computer Security Master Program. Such developments coupled with the changes in the computer science discipline since 2003, the last time the MSCS Program was revised, require that the ICS department revise and enhance its MSCS Program to match not only these latest changes and developments of computing in the past decade, but also endure through the next decade. ​

The rapid growth and change in the discipline of computing had made it imperative on the department of Information and Computer Science (ICS) to revise the MSCS program. There has also been an increasing demand in the Kingdom of Saudi Arabia for Computer Scientists with the advanced knowledge and skills needed in this age of the information society. Any revision of the MSCS Program must ensure high quality, meet the job market demand in the Kingdom, and be in-line with current and most popular curriculum design and pedagogy adopted at reputable universities in North America. We strongly believe that the revised program meets these criteria.

 

Course and Admission Requirements

The revised MSCS program is designed with the objective of providing a well-balanced breadth and depth knowledge at the graduate level. The program is designed such that students graduate with adequate advanced breadth in the discipline, while simultaneously allowing for emphasis in a desired area of specialization.

All students enrolled in the revised MSCS program are required to complete 24-credit hours of coursework, 6-credit hours of thesis, and a seminar course. 

The full details of the MSCS program requirements can be found in Part II of this document.
The coursework requirements are broken down into core coursework requirements and elective coursework requirements. In order to determine the requirement for the core coursework, we reviewed a number of MSCS programs at reputable universities in North America. We found out that three different philosophies were adopted in regard to core coursework. Please refer to Section 5 and Table 7. The philosophies are as follows:
  • I No-Core Requirements. All courses are elective.
  • II Fixed-Core Requirements. The program has a certain number of fixed or compulsory core courses that must be taken by all students. These courses are considered as a must-have competence and would equip students to embark on a more in-depth study of a specific topic in the discipline.
  • III Selective-Core Requirements. Students must complete a breadth requirement by taking three or four courses from either a list of courses, or from courses within a set of subject areas.

Our revised MSCS program has adopted a combination of Philosophies II and III, with more weight on Philosophy III. It is to be noted that Philosophy III is the most common and is the current trend. Philosophy I is too loose, lacking depth, and does not guarantee breadth.

 

Admission Requirements

The admission process starts with an application to the Deanship of Graduate Studies. The applicant must fill all related forms which can be obtained from the Deanship of Graduate Studies office or website. The applicant must also submit the following:

  • A letter of intent
  • Graduation certificates
  • Transcripts
  • At least three reference letters
  • Official TOEFL scores report
  • General GRE scores report
An MS applicant must have a BS in engineering or science from an institution whose undergraduate programs are at least comparable to those of KFUPM in both content and quality. All applicants must have a cumulative GPA of at least 3.0 out of 4.​

Core Background Requirements

In order for an applicant to be admitted to the MSCS program, he must have a strong background in the following core areas of computer science: 

  • Data Structures
  • Computer Architecture
  • Algorithms
  • Programming Languages
  • Database Systems
  • Computer Networks
  • Operating Systems
Unsatisfactory background in any of these areas is considered a deficiency. Conditional admission may be granted to otherwise qualified students with some core background deficiencies. Students with deficiencies must take the corresponding

appropriate course(s) at KFUPM. Any deficiency must be completed with a grade of B or better before a change of status to regular is realized.

 

​Breadth Requirement

As recognized, the computer science discipline is diverse in nature. It is important to provide MS students with an advanced holistic view of the discipline of important and popular topics, with some degree of flexibility that matches the interest of the individual student. It is worth noting here though that the ICS department has started offering two specialized master programs in Software Engineering and Computer Security. This gives a room for the revised MSCS to be more focused and specialized. Accordingly, we undertook the following steps:  

  • ​i Classify courses into a number of subject areas
  • ii Identify subject areas which are core to computer science and popular
  • iii Identify the most important course or courses from each core subject area that would constitute the most adequate representation of the area. These courses were chosen to be the core courses.

It is to be noted that the identification of subject areas and core subject areas has been debated several times and voted on in the ICS departmental council meetings. However, the identification of core courses from each core subject area has been agreed upon by the experts in the area. As will be noted later in Section 5, our selection of core subject areas is very much in-line with reputable universities in North America.​

A​rea No.​Subject​Core Subject Area​​Core Course
Area A​Algorithms and Applications​Yes​​ICS 553
​Area BSystem and Languages​Yes​​ICS 535
​Area ​CSecurity and Net-centric Computing​​No (there is an MS program in Security and Information Assurance SIA)
​Area DSoftware Engineering​​No (there is an MS program in Software Engineering SWE)

Table 3 shows the core subject areas and their representative core courses. In addition to the above two courses, a third core course, ICS 500 (Research Methods and Experiment Design in Computing), must be taken by all students. The revised MSCS program includes some degree of flexibility in meeting the program’s breadth requirement through electives. In addition, there will be some degree of flexibility in offering a variety of courses from the same area, as opposed to having always fixed core courses that must be offered once per academic year.​

 

Overall Requirements

Table 4 below shows the overall course requirements:

Min. Requirements​​Notes
CS Core​2 Courses​ICS 553 and ICS 535
​Major Area Elective​2 Courses​​Must be taken from the student’s selected major area. (Either Area A or Area B)
​Research Methods1 Course (ICS 500)​“Research Methods and Experiment Design in Computing”​
​General Area Electives​​3 Courses
  • Can be taken from courses listed in Table 6.
  • Elective courses can also be taken from outside the list, for example, COE, EE, SE and MATH ... etc, subject to approval from the ICS Department.
  • At least one course should be from outside of Area A and Area B.
  • At least one course should be from Area C or Area D.
Seminar​ICS 599: Seminar
  • Zero credit hour (P/F)
  • Has ICS 500 as a Pre-requisite
Thesis​ICS 610: Master Thesis​6 credit hours

The revised MSCS program gives students the freedom to have adequate in-depth study of a certain major area by allowing them to possibly take four courses, including the core course, from one area. This option is attractive for students who conduct in-depth research of a certain topic. On the other hand, the program allows students to have a wide advanced knowledge of the discipline by having them take three elective courses from other subject areas or other departments. The second option is attractive for those who pursue research topics that are multidisciplinary in nature, and for those who would like to have advanced wide scope of computer science skills and topics, in order to meet job market demands in the Kingdom.

 

Program Objectives and Student Outcomes

The vision of the ICS department is to be a “regional leader that is recognized worldwide in education, research and professional development in the areas of Computer Science and Software Engineering.” The mission of the Department​ of Information and Computer Science is to:

  • Provide high quality undergraduate and graduate educational programs in the fields of Computer Science and Software Engineering.
  • Contribute significantly to the research and the discovery of new knowledge and methods in computing.
  • Offer expertise, resources, and services to the community.
  • Keep its faculty members current by providing opportunities for professional development.
In line of the vision and mission of the ICS Department, the objective of the Program is to:
  • Produce specialized computer science expertise through which advanced technologies and their applications can be enhanced, transferred, and utilized in the Kingdom and possibly elsewhere.
  • Produce researchers who can investigate problems in different application domains and creatively develop and evaluate computational solutions.
  • Equip graduates with a strong foundation for further research and discovery work.
  • Develop effective communication and collaboration skills as researchers who can document and publish their work in reputable journals and conferences.
Upon completing this degree program, as student outcomes, the graduate will:
  • Have a breadth of knowledge in different current and advanced computer science topics.
  • Use appropriate tools and variety of sources to evaluate multiple points of view for analyzing and integrating information to conduct critical reasoned arguments.
  • Be capable of self-learning and comprehending emerging scientific and engineering trends in order to be able to propose specific improvements.
  • Have the scientific and technical knowledge and skills necessary to allow identifying pertinent computing problems and formulate corresponding research plans to develop and evaluate computations techniques and models to solve problems in any related discipline.
  • Be able to apply subject matter knowledge in a range of contexts to solve problems and make decisions.
  • Be able to communicate and present research outcomes to a range of audience both orally and in writing.
  • Be able to choose ethical courses of action in research and practice.
 

 

Degree Plan

 
Course DescriptionCredit Hours ​
First Semester
ICS 553Algorithms and Complexity39
ICS xxxMajor Area Elective I

3

ICS 500 Research Methods and Experiment Design in Computing3
​​ ​ ​ ​
Second Semester
ICS 535Theory and Design of Programming Languages

3

  9
ICS xxxMajor Area Elective II3
XXX xxxGeneral Elective I

3

​​ ​ ​ ​
​Third Semester
ICS 599Seminar

0

​6
XXX xxx General Elective II

3

XXX xxx
General Elective II I

​​Thesis Proposal0
  ​ ​ ​
Fourth Semester​
ICS 610Master Thesis 6   6  ​