TI3115TU - Software Engineering and Methods

Edition: 2019-2020

Teaching TeamContactScheduleGradingFAQ

The goal of this course is to make you a software engineer. A software engineer does way more than just coding. They think about requirements and how the software they are building improve the society, they think about the best architectural decisions for that particular software system, they develop high-quality code that will be easy to be maintained in the future, they make sure that their software works by means of rigorous testing, they continuously reflect and adapt their behavior so that they deliver better software every day.

In this course, you will:

  • Create your own development process based on agile methodologies
  • Explore and write different requirements for your software in form of use cases or user stories
  • Plan, implement, and review your software
  • Reflect and improve your process
  • Test your software as if there was no tomorrow
  • Improve and refactor your code
  • Continuously integrate and store your code in modern tools like Git and GitLab

Target audience: TU Delft Computer Science minor students.

Teaching team

Maurício Aniche
Responsible Teacher
Georgios Andreadis
Head TA
Bernd Kreynen
Noah Posner
Callum Holland
Leonard in 't Veen
Roald van der Heijden
Nick Zwaal


  • Personal questions: mail Georgios Andreadis (our head TA).
  • Exam or labwork related questions: during any lecture or labwork.
  • TA availability: all lab sessions.


Lecture 1. Introduction to Software Engineering 02/September, 3.45pm
Deadline: Team + Project proposal 5/September, 12pm
You should by now have a team and a project proposal posted in Brightspace.
Lecture 2. Software Development Processes 05/September, 1.45pm
Lecture 3. Requirements Engineering 09/September, 1.45pm
Lecture 4. Scrum 12/September, 1.45pm
Lecture 5. Christiaan van 't Hoft, Lead Developer at EY, Climate Change and Sustainability Services 16/September, 1.45pm
Christiaan van 't Hoft is a lead developer with over 20 years’ experience in software engineering. He’s passionate about working with Agile/Scrum , focusing on those features that add the most value to an application. During his career he has seen software engineering change, from a waterfall approach, with big designs up front to a more iterative way of working. In this guest lecture he will focus on the agile way of working. After this lecture you will know why being confident about your application means you spend to much time on it.
Lecture 6. Coding practices 19/September, 1.45pm
Lecture 7. Software Testing 23/September, 1.45pm
Lecture 8. Software Testing 26/September, 1.45pm
Lecture 9. Social Software Engineering, Ayushi Rastogi, Postdoc researcher at TU Delft 30/September, 1.45pm
Software engineering has also social challenges. In this lecture, we'll explore some of them.
Midterm 2/October, 9am - 12pm
Lecture 10. Software Architecture and Design 3/October, 1.45pm
Lecture 11. Software Refactoring 7/October, 1.45pm
Lecture 12. Software development at QDelft, Freek Reinders and Tim Kittel 10/October, 1.45pm
Freek Reinders and Tim Kittel will tell us about the software engineering practices at QDelft, a Netcompany company.
Lecture 13. Software Metrics, Marco Di Biase (PhD student, SIG) 14/October, 1.45pm
If you want to measure your weight, you just use a weighing scale. But what about measuring, for instance, software? Marco will introduce you to software metrics, why they're important, and why software engineers use these measurements to make their life easier when managing large codebases.
(This guest lecture is part of the exam)
Lecture 14. How Adyen builds their software, Joop Aué, Adyen 17/October, 1.45pm
    You will learn about "The Adyen way of work". Moreover, you will understand how Adyen scales their payment software to millions of customers every day! (Remember our software architecture lecture? That's all about it.)
Project deadline 21/October, 5pm
  • Deliver your project! Read the instructions on how to do it
Lecture 15. Presentations (part I) 22/October, 3.45pm
See the project page for the schedule.
Lecture 16. Presentations (part II) 24/October, 1.45pm
See the project page for the schedule.
Exam 4/November, 6.30pm
Resit 21/January, 6.30pm

The text book

The text book of this course is Beginning Software Engineering, by Rod Stephens. John Wiley and Sons Inc., edition of 2015. Chapters 1, 4, 5, 6, 7, 8, 12, 13, and 14 are compulsory reading.

We strongly recommend you to obtain a copy. You can buy the book here. BOL.com takes 5 to 7 days to deliver.


Your final grade is calculated as follows:

Grade = (P + 2 * max(M, E, R) + 2 * max(E, R)) / 5


Your grade in both exam/resit and project should be higher than 5.75. In case any of the two is smaller than the minimum required, your final grade will be calculated as follows: MIN(MAX(E, R, P), 4.0) (or, in other words, your best grade so far but limited to 4.0).


  • Are the reading compulsory? In a way, yes. All the compulsory activities and readings can appear in the midterm, exam, and resit. The activities listed as optional will definitely improve your knowledge, but they won’t appear in the exams.

  • I missed the exam. Can I re-do it? Yes, you can take the resit. Please, check the schedule.

  • I missed the exam and the resit. Is there any other way? No.

  • I failed the labwork. Is there a resit for it? No. We do not offer resits for the labwork.

  • Is the midterm compulsory? No, the midterm is optional. But it can increase your grade. Also, it is a good way to practice for the final exam.

  • I missed the deadline for the final deliverable. What can I do? Deadline is strict and delivering late is not allowed. Personal issues should go through the student advisor.

  • Can I use my devices in class? Educational research clearly shows that using devices on non-class related activities can harm your learning. Moreover, it can also harm your colleague’s learning. Therefore, you are not allowed to use any devices during the lecture. Exception: activities that require devices. I will help you by making announcements during the lecture about the times you should use your device.

  • How did you do this website? This website is done with Jekyll and some straightforward HTML. I was highly influenced by Amy Ko’s Cooperative Software Design website. The main picture was taken by Helloquence.

  • Can I use your material? Attribution-NonCommercial-ShareAlike CC BY-NC-SA This website as well as all the content created by me are licensed through Attribution-NonCommercial-ShareAlike CC BY-NC-SA. This license lets others remix, tweak, and build upon your work non-commercially, as long as they credit you and license their new creations under the identical terms. The content from others that I link are subject the own authors’ licenses.