Master of Science in Software Engineering

The Master of Science in Software Engineering offered by the College of Information Technology is designed to develop technical and managerial expertise in software engineering. The program focuses on meeting the growing needs for software engineers. Students acquire solid foundations in theory and practice in software engineering, with in-depth exposure to the state-of-the-art in software development processes, methodologies, and tools. The program is designed to impart knowledge and develop the skills needed to meet current and future information technology needs of government and corporate organizations, as well as to prepare students for Ph.D. degree programs in IT and related areas. Teamwork is emphasized throughout the curriculum to provide students with essential skills to be successful software engineering professionals. The program is intended for highly motivated groups of working professionals and recent Bachelor's degree graduates.

Program Objectives

  • Assume leadership roles to promote professional and organizational goals that address the needs of the community;
  • Uphold and apply the principles of professional and ethical responsibilities to the design, development, and deployment of computing artifacts;
  • Maintain professional competency in light of the advancements in the related disciplines, and develop professionally through continuing training and advanced education in response to changes in roles and responsibilities;
  • Contribute to the body of novel software products, services, and knowledge;
  • Collaborate professionally within or outside of their disciplines at national and international levels.

Program Learning Outcomes

Upon successful completion of this program, students will be able to:

  • Apply software engineering knowledge to build robust, reliable, and maintainable software.
  • Design complex systems based on efficiency, cost and data availability.
  • Evaluate in depth the relative merits of software systems and artifacts at different levels of system architecture.
  • Analyze Critically emerging software models, techniques, and technologies.
  • Execute ethically project work or research that contribute significantly to Software Engineering discipline.
  • Demonstrate advanced oral and writing communication skills individually and collectively

Degree Requirements

Required Credit Hours : minimum 30 hours

College of Information Technology

Required Courses (9.00 hours)

Credit Hours
ITCO601Current Emerging Trends in Information Technology3.000
ITCO602Management and Leadership in Information Technology3.000
ITCO603System Analysis, Modeling & Design3.000


Software Engineering

Required Courses (12.00 hours)

Credit Hours
SWEB651Software Construction3.000
SWEB652Requirements Engineering3.000
SWEB653Software Quality Assurance and Testing3.000
SWEB654HCI and Usability3.000

Elective Courses - 3CH for Thesis option and 6CH for Non-Thesis option (6.00 hours)

Credit Hours
SWEB655Web Applications3.000
SWEB656Special Topics in Software Engineering3.000
SWEB657Embedded Software3.000
ITPG698Special Topics in Information Technology3.000


Project or Thesis

Required Course (6.00 hours)

Credit Hours
ITPG690Practicum Project  13.000
1 : Required for Non-Thesis