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. Last but not least, software engineers continuously reflect and adapt their behavior, so that they deliver better software every day.
In this course, you will:
Target audience: TU Delft Computer Science minor students.
This course works as follows:
Before class, you do the pre-lecture readings and activities. These activities are usually about reading, watching videos, and doing short exercises. The activities are due on the night before the lecture. For your own benefit, it is fundamental that you do them all.
After class, you work on after-lecture activities. They involve reading and working on their project. All after-class activities due exactly one week after the lecture.
Software Engineering at Adyen. Agile, Organizational Structure, Testing and Monitoring.
Ethics in Software Engineering. Ask-Me-Anything session.
Ever wondered, what it takes to be a ‘good’ software engineer? This interactive talk walks you through some of the roadblocks and opportunities in the journey to become a good software engineer. As we discuss the characteristics of a good software engineer, we also touch base research opportunities to improve developer productivity.
IT is still innovating at an extremely fast pace. Where 10 years ago it was normal to shop at different datacenters for placing your own hardware, today more and more software is deployed in "the Cloud". Also, instead of provisioning datacenter racks or servers, today more and more software is developed using "Serverless" technology. In this talk we'll go through these innovations and discuss how the Cloud and Serverless technology can increase the speed and efficiency of developing new software.
The social side of software engineering.
Your final grade is calculated as follows:
Grade = 0.5 * MAX(E,R) + 0.5 * P
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 pre- and post-activities compulsory? All activities are fundamental to your learning, and thus, we strongly suggest you to do them within the proposed deadlines. The deadlines we set (pre-lecture activities: one day before the lecture, post-lecture activities: one week after the lecture) are there to help you organize yourself. The pre-lecture activities will help you engage and deepen your knowledge during the lecture. The post-lecture activities are often focused on your final project and doing them within the proposed deadline will help you to be ready when the final deadline comes. The post-lecture readings may appear in the final exam. You might have noticed that these activities are not part of the grade. This means you are responsible for your own learning path throughout this course!
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 missed the deadline for the final deliverable. What can I do? Deadline is strict and delivering late is not allowed. Personal issues will be treated case by case. Please, e-mail us two days before the deadline.
Can I replace the report with something else? No. The report is irreplaceable, and you must have a passing grade in it.
Is delivering the draft compulsory? Yes. And please note that the deadline is strict, and we will not give feedback to delayed submissions.
What 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? 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.