Software Engineering Program Overview

Software Engineering Program Overview

Program Overview

This software engineering major aims to prepare students for a career in software engineering by teaching them the complete process and methodologies for software engineering including business requirement elicitation, software architecture design and analysis, software development, software testing and project management. The curriculum is designed to provide lifelong learning covering essential knowledge for algorithm and problem solving and system design and analysis. Using project-based learning, students will gain industry-level experience in the early years of the program through collaborative teamwork and the use of the latest industry tools and technologies. This hands-on approach helps students to develop essential skills such as communication, problem-solving, and teamwork that are essential in the workplace. In addition to the hand-on approach in the university, the one-year industry placement program will provide students with an opportunity to gain hands-on experience in a real-world work environment, helping them acquire practical knowledge and skills that can prepare them for a successful career. Graduates of this program will have the knowledge and skills necessary to pursue various software engineering roles, including but not limited to, software developer, full-stack developer, front-end or back-end developer, DevOps engineer, software architect, database administrator, quality assurance and more. Potential employment opportunities are diverse, ranging from healthcare and finance to technology and government sectors.

Program Learning Outcomes

  • Learn foundation knowledge of industry tools/technologies and software engineering principle and practice (knowledge)
  • Analyse business requirement as well as tools and technologies used to solve real case project effectively (cognitive Skills)
  • Apply Software Engineering principle and practice to develop high quality software application (Cognitive Skills)
  • Develop software applications using suitable tools and technologies to solve a given problem (Cognitive Skill, Information Technology, and Numerical Skills)
  • Learn and adapt to new technologies that emerge in the rapidly changing field of software engineering with professional ethic (Interpersonal Skill and Responsibility)
  • Apply project management process and methodology to ensure effective teamwork and communication (Communication, Psychomotor Skills)

Program Structure

The 4-year Bachelor’s Degree program contains 156 credits combining from 106 credits of coursework, 48 credits of internship and 2 credits of Industrial Placement Report. The courses are divided into three categories, including Common Courses, Specialized Courses, and Elective Courses.

Common courses 

ENG101: Core English

ENG102: Core English

ENG103: Academic Writing Skills 

RES101: Research Methods

PRO101: Computer Fundamentals

CHN101: Chinese

CHN102: Chinese

STA101: Statistics and Probability

SDE101: Social and Digital Entrepreneurship

PHI101: Philosophy and Anthropology of Technology


9 internships (3 internships per term)

Specialised courses

MAT101: Applied Math

PHY101: Physics 

P001: Algorithms  

ISP201:Introduction to Software Engineering 

DSA202: Data Structure and Algorithms 

CA203: Computer Architecture 

DB204: Database

OOC205: Object Oriented Concept

AI206: Introduction to AI 

OSCN207: Operating System and Computer Network

SDS208: Software Design and Security

ICPS209: Introduction to Cyber-Physical Systems 

SE311: Software Engineering 

DBM312: Database Management 

ADA313: Algorithm Design & Analysis

EE314: Engineering Ethics 

PM315: Project Management 

SMD316: Software Modeling and Design  

DO317: DevOps Engineer

EA328: Enterprise Applications 

AI319: AI and Its Applications

Elective courses

HUM101: Introduction to Humanities

GLO101: Global Studies 

ENV101: Environment and Geography 

PRO102: Object-Oriented Programming 

MAT101: Applied Math

ATR101: Fine Arts 

ARC101: Computer-Aided Design

PHY101: Physics

RES101: Research Methods

COM101: Computer Fundamentals

(other 6 elective courses from other faculties) 

Job Prospects

  • Software Developer (Mobile/Web/Backend)
  • Quality Assurance and Tester
  • Business Analyst
  • System Architect 
  • Team Lead  Project Manager
  • Head of Product
  • Chief Technology Officer