This programme provides students with the knowledge and skills that go beyond programming to develop complex but reliable, safe and efficient software systems. The core curriculum builds on top of computer science fundamentals covering topics ranging from planning, designing, analysing, verifying, validating, implementing and deploying to maintaining that are essential to the successful engineering of a wide range of software systems. Graduates of the programme will have strong technical, process, communication and teamwork skills to be immediately productive in the industry.