Software Engineering (M.S.)

The M.S. in Software Engineering program is a two-year graduate degree, which provides students with the advanced knowledge and research experience in areas mostly related to software engineering and data science.

Course Schedule


The M.S. in Software Engineering program is a two-year graduate degree, which provides students with the advanced knowledge and research experience in areas mostly related to software engineering and data science. Students interested in conducting original research in these areas can take the research-based path in this program and work on a research thesis in addition to their courses. Other students can focus on the course-based path in order to develop their knowledge and expertise in their areas of interest for the purpose of professional advancement.


The Department of Computer Engineering educates world-class graduates who are prepared for life-long engagement in the rapidly changing fields of computer engineering. The department is building upon its reputation for a high value education, and striving for increased international recognition by practicing excellence in all its education and research endeavors.


The mission of Computer Engineering Department is to:

  • prepare graduate students for rewarding professional careers in computer related fields and for a lifetime of creative thinking and adaptive learning as productive citizens
  • prepare graduate students for continuing professional development and career advancement
  • provide working professionals with the skills needed to apply current advances in computer technology to their fields
  • promote excellence in technical education by revising the curriculum to include new computing technologies

Goals and Objectives

At the end of this program, students can expect to have achieved one or more of the following objectives and outcomes based on the path they have followed in the program:

  • developed skills and experience in conducting original and independent research in computer science and engineering
  • prepared to continue graduate education and academic research in PhD programs offered in accredited universities around the world
  • obtained advanced knowledge and skills for professional advancement in areas related to software engineering and/or data science
  • prepared to undertake management and leadership positions in technology and computing companies
  • acquired the fundamental knowledge required to capitalize on opportunities for technology entrepreneurship
  • developed scientific knowledge and teaching skills for serving as instructor and teaching assistant in undergraduate courses at BIHE and other universities

Admission Requirements

The program is open to those with a bachelor's degree in computer science or engineering from a regionally accredited institution. An official transcript from the attended university is required.

Applicants apply online using an application form that collects personal data as well as a 500-word essay in English that outlines why the candidate would like to pursue this program and summarizes personal background that is relevant to their application in a 500 word essay. All applicants should provide two letters of recommendation from referees who are not family members or friends and who have worked closely with the applicant in the academic or work environments, ideally with some research component. The referees should be familiar with the applicant’s work habits, motivation, and ability to work creatively and independently.

The applicants are required to present proof of English proficiency at the level of the "International English Language Testing System" (IELTS) 5.5 in each of writing, reading, comprehension & expression. This can be assessed by an IELTS, the "Test of English as a Foreign Language" (TOEFL) or equivalent.

The entire application package of each applicant is evaluated for deciding the admitted students, including the statement of purpose and the recommendations.

All requested materials must be submitted by the established deadline

At present, the program can admit a maximum number of 15 students.


This program can be completed by passing 33 credits of graduate courses with a minimum course grade and GPA of B- or 2.7 out of 4.0. The minimum program duration is four semesters, and the program should be finished at most in eight semesters. In the first three terms of the program, the students are required to complete 12 credits of main required courses mostly in software engineering, in addition to another 12 credits of elective specialized courses. Students on the research-based path should take a course on research methodologies, and then work on their independent research thesis for the final nine credits, which includes working with a supervisor on a research topic chosen by the student and approved by the Graduate Program Committee. Other students who pursue the course-based path can take nine more credits of elective specialized courses to finish their program. These students can also choose at most one final-year undergraduate course approved by the Graduate Program Committee and the student’s advisor.

Main Courses:

  • COM5119: Advanced Software Architecture (3 Credit Hours)
  • COM5107: Software Project Management (3 Credit Hours)
  • COM5120: Application Software Security (3 Credit Hours)
  • COM5118: Advanced Requirements Engineering (3 Credit Hours)

Elective Courses:

  • COM5109: Data Mining (3 Credit Hours)
  • COM5149: Deep Learning (3 Credit Hours)
  • COM5126: Engineering Entrepreneurship (3 Credit Hours)
  • COM5105: Decision Support Systems (3 Credit Hours)
  • COM5121: Big Data Computing (3 Credit Hours)
  • COM5144: Emerging Topics I (3 Credit Hours)
  • COM5145: Emerging Topics II (3 Credit Hours)

Research and Thesis:

  • COM5130: Research Methodology (3 Credit Hours)
  • THS5108: Master’s Thesis (6 Credit Hours)

Curriculum/Course Schedule

Course Code
Course Name
Credit Hours
COM5119 Advanced Software Architecture 3
COM5107 Software Project Management 3
COM5120 Application Software Security 3
COM5118 Advanced Requirements Engineering 3