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
TA
Noah Posner
TA
Callum Holland
TA
Leonard in 't Veen
TA
Roald van der Heijden
TA
Nick Zwaal
TA

Contact

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

Schedule

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 3/October, 1.45pm
Lecture 11. Software Design 7/October, 1.45pm
Lecture 12. TBD 10/October, 1.45pm
TBD
Lecture 13. 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.
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!
Lecture 15. Presentations (part I) 22/October, 3.45pm
Schedule yet to be defined.
Lecture 16. Presentations (part II) 24/October, 1.45pm
Schedule yet to be defined.
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.

Grading

Your final grade is calculated as follows:

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

where:

The formula for the project is:

P = (2 * product + 3 * report + 3 * implementation + 2 * presentation) / 10

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).

FAQ

  • 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 Andy 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.