Software Engineering

The mission of the Master Program in Software Engineering (MScSE) is to provide a quality education in software engineering, to prepare students, in Palestine, to become professional software engineers, entrepreneurs and leaders that are able to develop competitive solutions that are innovative yet reliable so that they may contribute to developing the software industry in the country and/or pursue a more advanced research degree by providing them with advanced concepts, knowledge, skills including global virtual teamwork skills, best practices, and the ability to continue to advance professionally in the global software engineering discipline.


  1. To train students with current and advanced relevant software engineering skills and practices, that enable them to compete effectively at a global level.
  2. To instil among students the professional ability to analyze, assess and understand software engineering codes of conduct, legal and ethical values.
  3. To improve students’ ability to work and function productively and effectively in teams including interdisciplinary teams, and demonstrate effective leadership skills.
  4. To prepare students for doctoral programs in software engineering by developing the ability to carry out and evaluate theoretical and applied research in software engineering.
  5. To develop technical leadership capabilities and project management skills to enable students pursue entrepreneurship and productive careers in software engineering.
  6. To enrich students with applied technical communication skills to demonstrate the ability to effectively communicate ideas and outcomes, both orally and in writing, in a logical manner.   
  7. To develop self and independent study in students to demonstrate the ability and inclination to maintain professional currency in the rapidly changing field of software engineering.
  8. To apply appropriate software engineering fundamentals and practices in software development that demonstrate technically applied capabilities and current knowledge and practices.
  9. To train students with research skills and abilities to create new opportunities for postgraduate research in Software Engineering, addressing both local and international challenges.
  10. To collaborate with industry to develop ICT products, systems and services that address key needs.
  • Possesses a thorough understanding of the theoretical foundations that formed the software engineering discipline.
  • Possesses a thorough understanding of the software development including requirements, design, validation and evolution.
  • Possesses a thorough understanding of the theoretical concepts and methods for Software Engineering Management.
  • Analyze the concepts of modern software engineering and their implementation during the study and then professionally.
  • Assess the human role in software development, and the importance of collaboration between various stakeholders in order to develop a successful solution.
  • Know the importance of the engineering approach in software development
  • Apply appropriate software engineering theory and practice to the development of software artefacts at all phases of software development
  • Apply software engineering management techniques to software development projects, such as team formulation, task allocation and project planning.
  • Apply appropriate methods to design the architecture of large and complex software systems
  • Ability to communicate technical issues in an effective manner, both in written format and orally
  • Possesses effective project and time management, with commitment to the deadlines.
  • Apply problem solving skills within software engineering context

Graduate Expected Career

  • Follow-up on academic achievement and pursue a PhD degree in software engineering or related fields.
  • Researcher in academic or public institutions or research centers that address research challenges in computing in general or software engineering in particular.
  • Professional ICT expert with specific expertise in software engineering
  • Architect, analysts and/or software engineer.
  • Software/system quality auditor
  • Project Manager of software projects and/or as a software development team leader

Program Requirements

A student should successfully finish 36 credit hours credit hours to fulfil the requirements for the degree of Master in Software Engineering. The program structure is divided into three categories: 18 credit hours of Compulsory courses, 12 credit hours of elective courses, in addition to either 6 credit hours for thesis or two seminars 3 credit hours each, depending on the chosen path. Path A is the thesis path while Path B is the seminar path.


Compulsory Courses: (18 credit hours)

Course No.

Course Title



Software Construction 



Research Methods in Software Engineering



Software Requirements Engineering



Software Design and Architecture



Software Engineering Management



Software Testing and Quality Assurance



Elective Courses: (12 credit hours)

Course No.

Course Title



Global Software Engineering Team



Service-Oriented Software Engineering



Software Engineering of Internet-based Application



Secure Software Development



Software Engineering for Distributed Systems



Human Computer Interaction (HCI)



Software Maintenance and Evolution



Software Engineering in Mobile Computing



Data Mining and Knowledge Discovery



Knowledge Engineering



Advanced Research Topics in Software Engineering



Software Engineering Team Project



Special topics

Program Committee Approval


Independent Study

Program Committee Approval


Path A or B: 6 credit hours: either Thesis or two Seminars


Course Title


Track A


As instructed by the academic regulations for Graduate Studies in force in the university

Track B


As instructed by the academic regulations for Graduate Studies in force in the university

Track B


As instructed by the academic regulations for Graduate Studies in force in the university


Remedial courses:The student to take a maximum of 9 hours from the following courses

Course No.

Course Title


Introduction to Statistic 


Advanced Programming


Data Structure


Database Management Systems


Conditions continue in the program
Fulfill the continuation conditions as stated by the university academic regulations

Applicants should have BSc in one of the following areas computer science, computer engineering, electrical engineering or related fields. Also BSc degrees in other areas with related working experience might be considered.

Applicants should have background in the following topics: data structure, object-oriented programming, database (first university course), statistical (first university course). Applicants that lack knowledge in any of background topics have to take undergraduate courses as pre-requisite courses. 

In addition to the general requirements of the university.