Study track: Software Engineering (SE)
The aim of the study track in Software Engineering (SE) is to prepare students for professional practice and research in an era of rapidly advancing information technology, which has the potential to transform current business models, work practices, and organizational forms.
Software Engineering is concerned with developing and maintaining software systems that behave reliably and efficiently, are affordable to develop and maintain, and satisfy the needs and requirements of customers and end-users. Software Engineering is a core subject of Computer Science. It is concerned with the systematic application of scientific and technological knowledge, methods, and experience to the design, implementation, testing, and maintenance/ evolution of software systems in a business or professional context.
The SE study track strives to link theory and practice, enabling students to apply theoretical principles to practical problems in software development. The track offers students ample opportunities for collaboration with business and industry, public institutions and non-profit organizations. The overall goal is to develop professional excellence, creativity, and integrity, as well as providing a foundation for continued professional and intellectual development.
Software Engineering goes beyond programming to include such activities as working closely together with users and other stakeholders to identify needs and requirements, analyzing business processes and data, designing and testing software, as well as planning organizational implementation and deployment of software systems. You will learn how to assess user needs and how to build and implement software solutions that are genuinely useful and usable and satisfies all the requirements defined for them. You will also learn how to manage a project, and develop skills in the areas of risk assessment, scheduling, budgeting, and coordination. This will involve a mixture of theoretical learning, hands on software development, team work and collaboration with external parties (e.g., private companies, public institutions, and non-profit organizations).
The SE study track encompasses all important aspects of software engineering, including: participatory design and user involvement; requirements engineering and prototyping; systems analysis and design; test, validation and implementation; project management; software architecture and evolution.
Computer Science graduates with a specialization in Software Engineering are in high demand by industry and often promoted quickly to senior positions. They typically work as applications developers, software engineers, software architects, project managers, product managers, or chief technology officers. They can find jobs in a variety of companies and organizations, including software houses, engineering companies, consultancies, banks, pharmaceutical companies, public institutions and government agencies.
The study track also provides an excellent basis for innovation and entrepreneurship, if you have an interest in starting your own business, or for pursuing a research career in Computer Science or Software Engineering, if that is your main interest.
A bachelor’s degree in Computer Science or Software Engineering.
Sample MSc theses
To give you an idea of possible thesis topics, here are some examples of thesis titles from the past few years:
The recommended courses in the SE study track are shown below. Keep in mind that, like for all the study tracks, none of these are actually mandatory, and you may replace them with relevant courses from other tracks, as you see fit. Also, please note that this table represents the academic year 2016/17. The full course schedule for 2017/18 is not yet finalized, and minor changes are still possible.
|Block 1||Block 2||Block 3||Block 4|
||Advanced Programming||Advanced Computer Systems||Software Engineering and Architecture|
|Advanced Algorithms and Data Structures||Machine Learning||Advanced Topics in HCC||Mobile Computing|
|Year 2||IT Innovation and Change||Project or elective course||Thesis|
|Project or elective course||Collaborative Computing|