nl en

Software Engineering


Admission requirements

Not applicable.


Software systems are typically built over a longer period of time with diverse teams (in terms of organizational roles and skill sets), as well as with constantly changing requirements. This results in various challenges with respect to engineering and project management. In addition, the wishes of a client are not always easy to translate to a set of functional requirements for a software system. And various non-functional requirements, such as, performance, maintenance costs, and reliability of the software system, only come into real focus once a system has been deployed in the real-world environment.

In the course “Software Engineering,” we study techniques for managing software development processes and for engineering high-quality software systems. These skills are honed in the context of the real-world corporate environment provided by LUdev, a software house fully ran by students. Students join LUdev in teams, which are tasked to complete a real-world software project for an actual client. Completing this project requires more than just programing skills, as the team is also in charge of project management, version management, client communication, collaborations within LUdev (involving students from other courses) and product deployment. LUdev facilitates these acivities with infrastructure, tutorials, manuals and technical support, so student teams can be as productive as possible (for previous results see the website

Study content:

  • Development processes and methodology

  • Software project management

  • Business processes

  • Requirement elicitation and analysis

  • System modeling using UML

  • Quality Assurance & Testing

Programming and algorithmic skills are required to participate in the course.

Course Objectives

  • Develop a software project for a real-world client by putting the scrum method into practice

  • Evaluate the quality of software by implementing test suite according to testing theory in their project

  • Create and iterate on a design to describe the client’s business processes and their envisioned software solution by using BPMN and UML modeling languages

  • Apply modern software development methods by using the latest tools for version control, static analysis, continuous integration/development in their project

  • Formulate individual learning goals by describing their own desired contributions to the project and reflect on the results

  • Reflect on the methods used in software design and choices made in their project by updating the project plan (a living document) and presenting adjustments made during project execution


You will find the timetables for all courses and degree programmes of Leiden University in the tool MyTimetable (login). Any teaching activities that you have sucessfully registered for in MyStudymap will automatically be displayed in MyTimetable. Any timetables that you add manually, will be saved and automatically displayed the next time you sign in.

MyTimetable allows you to integrate your timetable with your calendar apps such as Outlook, Google Calendar, Apple Calendar and other calendar apps on your smartphone. Any timetable changes will be automatically synced with your calendar. If you wish, you can also receive an email notification of the change. You can turn notifications on in ‘Settings’ (after login).

For more information, watch the video or go the the 'help-page' in MyTimetable. Pleas note: Joint Degree students Leiden/Delft have to merge their two different timetables into one. This video explains how to do this.

Mode of Instruction

  • Weekly lectures

  • Workshops on homework assignments

  • A project on a real-world software development project inside the virtual company LUdev

Assessment method

Due to the project-based nature of the course, presence during the first lecture and the evaluation meetings is mandatory. There are two evaluation meetings; one around the mid-term and one at the end of the course. Before each of these evaluation meetings the students submit a written assignment and during the meetings the students present their progress. The meeting schedule will be made available on Brightspace.

The final grade consists of the project grade, amended with points for individual team members, based on their participation in the project.

Reading list

  • Book (optional): H. van Vliet, Software Engineering: Principles and Practice, ISBN: 9780470031469

  • Sheets and practice materials are made available on Brightspace


From the academic year 2022-2023 on every student has to register for courses with the new enrollment tool MyStudymap. There are two registration periods per year: registration for the fall semester opens in July and registration for the spring semester opens in December. Please see this page for more information.

Please note that it is compulsory to register for every exam and retake. Not being registered for a course means that you are not allowed to participate in the final exam of the course.

Extensive FAQ on MyStudymap can be found here.


Education coordinator LIACS bachelors


Not applicable.