Sander van den Oever

Sander van den Oever
Computer Science student

Track: Software Technology
Interests: Software (Web) Engineering
Occupation: PHP Developer

Recent blogs


January 2019
« Feb    


Sander van den Oever

Master Student Computer Science – Software Technology track

Back to Work

Hi all!

So, yeah, summer break is over *sadface*. After seeing France and Mallorca we’re now stuck in the lecture halls again, which ain’t that bad considering the weather of the past few days. ūüėČ


So this quarter I will be following three courses;

  • Compiler Construction – the course I took last year but which I had to drop halfway because I did not invest enough time. This year it’s easier as I’ve seen all material already. So I can try to focus more on the lab assignments. The first part I do not have to hand in, as I completed it last year already. However the second part I failed last year, so I’ll have to re-do that one (and the third part which I did not even start). ūüôā So far so good, but it’ll get more difficult when the second/third parts will start.
  • Seminar Programming Languages – within this course we have to prepare papers which we will discuss during our meetings. Twice a week we gather with all students and the teacher (group of approx. 12 people) and we discuss the contents of the papers. I can tell you, some papers are really hard to follow/understand.
  • Mining Software Repositories – within this course we learn how to analyze repositories (such as Git/SVN repositories) or related data. This analysis can be used to find relations between (e.g.) the experience of a developer and the number of bugs (s)he introduces. This course requires a lot of time, assignments are big and are close to each other. So far we are doing a decent job however.

How to.. prepare for Delft?

When working on group assignments in Delft it is inevitable that you will work with other students (from different countries/bachelors). You really notice the differences when working together. In my experience newstudents often (definitely not always) have way more specific knowledge on subjects than students that followed the Bachelor Computer Science in Delft. Delft tends to provide a broad foundation of knowledge which enables you to learn specific stuff more easily. I do see some students (either new¬†or not) struggling with some stuff, so what stuff is useful to be familiar with when you want to follow this master? I’ve created a small list below;

  • Git – really learn how to git. A lot of courses use it, or assume you know git. Try some tutorials like this¬†Interactive JavaScript tutorial or this¬†GitHub Git tutorial. Being a student you can apply for the Student Discount pack at GitHub. Using the pack, you can create unlimited private repositories to experiment with git. If you need a nice graphical interface to git you might want to check out SourceTree.
  • Java / Python / … – it’s always good to know more languages. It’s best if you master at least one language. You can follow some of the courses/tutorials that are offered on many sites like e.g.¬†Codecademy.
  • LaTeX – some basic knowledge of LaTeX can be really useful. Many students prefer to use TeX to write their papers and reports. There are a couple of online TeX environments (like ShareLaTeX and Overleaf) so using those you won’t need to install anything on your local machine.

You can definitely learn all of this while studying here, but knowing some of this upfront can really help you and ease the courses for you! ūüôā

Summer Break

Well, that’s been quite a quarter. Apologies for the late blog, I’ve been very very busy with my courses and my TA jobs. The courses were awesome and supervising all my teams was also ¬†very pleasant¬†experience. I had to sacrifice a lot of my spare time, but in the end everything is finished. That means that it is finally time for the Summer Break. ūüėÄ

Multimedia Search and Recommendation

Within Multimedia Search and Recommendation (MMSR)¬†we learned the basics of Search and Recommendation techniques. This course was brand new but the teachers did an awesome job nonetheless. The course consisted of three weeks of common lectures where we would all gather the same foundation of knowledge. After that we had to pick one of the two offered specialisations. We could pick one from MMSR Analytics and MMSR Systems where Analytics is more about the theory and Systems more about the practical aspects. So that’s how we learned about compression techniques, fingerprinting of media, recommendation models, video streaming, etc. Next to the lectures there was a big project. I’ve worked on the celebrity contest by Microsoft. Together with my teammate, Shirley, I have build a Python application that firstly detects your face from a video stream (webcam) and secondly recognise that face. We had received a huge dataset of celebrities that we should be able to recognise. Because of the time limitations within the MMSR course we had to narrow this down to a subset of approximately 100-200 celebs. We trained some recognition models with this set. In the end we had an system where fellow students, teachers, friends, etc. could sit in front of the webcam and see which celeb was most similar to them (according to our system that is). Really fun experience which was awarded with a nice grade (9.5 / 10).

Sidenote; one of the teachers of MMSR (Cynthia Liem) was awarded the ‘Teacher of the Year 2016’ award for Computer Science (see also this post on Facebook).

Language Engineering Lab

The other course I took this quarter was the Language Engineering Lab. Within this course we had to define a chosen language within the Spoofax workbench¬†in teams of two students. I’ve worked on the ‘RaSDF’ project. The aim of this project was to allow for transformation of Rascal¬†(competitor of Spoofax) grammars into SDF3 grammars (the syntax formalism that is used by Spoofax). This was really tricky but also provided us with a lot of experience in the field of Language Engineering. Spoofax is also the tool that has been used in the Compiler Construction (CC) course for Q1. Next year CC¬†will be given by Eelco Visser (also the teacher of this lab) so things might change a bit, but I’m fairly certain that Spoofax won’t leave the course. If you plan on following this course I strongly recommend to follow¬†CC as it will help you to understand Spoofax properly before this project. Myself I had some struggles with some of the components that I had not studied enough yet during CC.

Presenting the RaSDF project together with Rob van Bekkum (photo by Eelco Visser)

Figure: Presenting the RaSDF project together with Rob van Bekkum (photo by Eelco Visser). PS: We do not present with our hands in our pockets, haha.


The project I’ve been supervising was the second-year bachelor course called Contextproject. This project tried to emulate real-world projects as much as possible, including the different stakeholders. As mentioned in my previous blog I was a teaching assistant (TA) for both the Computer Games and Virtual Humans contexts. Within Computer Games the teams had to build a game that supports the Oculus Rift (every team borrowed a Rift for the entire quarter actually!). Because there was a Java requirement they had to use jMonkeyEngine (remember the name?) for the development. Unfortunately the documentation of that engine went down in the first or second week of the project until the very last week of the project. Although Rift support for jMonkeyEngine is not as trivial as we had hoped initially, we were really pleased with the games that resulted from the project. One of them was a virtual ‘Escape the Maze’ game. This game even won the ‘Best project of Contextproject 2016’ award.

The other context was a bit chaotic, teams struggled with getting started and they had troubles with the existing codebase. Another challenge that the students had to face was that all teams in this context had a shared component which they all had to work on. Although it’s not the most exciting part of the TA job, it is very useful. You learn how to push your groups to work, you learn to detect¬†potential problems, etc. Useful experiences whenever you are to work in (or guide) a group project in future.

Viva la France! ūüėÄ

Friday, 1st of July were the final presentation of the Language Engineering Lab. After we presented the ‘RaSDF’ project I went home, packed my suitcase and left for a nice holiday in France. I could really use that free time at last! ūüôā

France - Noyer

Figure: France РNoyer

Enjoy the summer break, I might post some stuff during the break, but no promises. ūüėČ


Cool stuff!¬†Our chapter for the DESOSA book has just been published. The course staff merged¬†all different chapters into a single book. For this they have used¬†GitBook. You can see the current version of the book at¬† We got some really good grades for our chapter (on youtube-dl) so we were really pleased with the final result. Next to that I also had the final assessment for Software Re-engineering. We had to give a presentation about our refactorings and we were questioned by our professor. We scored an okay-ish grade, I hoped for a better result but since I could have spend more time on this course I don’t think that a higher grade would be fair.

Quarter 4

Yes, 4, already! That means a couple of things. First of all; new courses! This quarter I will be following the¬†Multimedia Search and Recommendation¬†(MSSR) course. It’s a core subject and also a brand new course. The lectures tend to be a bit chaotic as the teachers are still finding out what works best, but they are also really open to suggestions on how to improve. That’s actually another thing I like about TU Delft, you can just discuss basically anything with the teachers/professors. I’ve experienced that within other universities there is a more¬†hierarchical system, while in Delft we tend to work / communicate like everyone is equally ‘ranked’. Of course this depends on the university and even the specific teachers. Anyway, within MMSR we gain knowledge on different search and recommendation methodologies. After a common core we could choose one of the specializations; MMSR Analytics or MMSR Systems. I liked the description of the Systems track more, and I’ll try to give an update on that specific track soon. Next to MMSR I follow the¬†Language Engineering Lab. As I have followed the Compiler Construction course this was an easy pick. Within this project me and my teammate have to define a compiler that transforms Rascal grammars into the Spoofax grammars. Both Rascal and Spoofax allow you to design your own languages. In order to transform one of the grammars into the other you need to have a deep understanding of the different aspects of this language.

Teaching Assistant

The remainder of my time I will be using to assist several teams within the second year Contextproject. This project is a testdrive for the final Bachelorproject. The Contextproject, however, does offer more guidance than the Bachelorproject. I’m involved with two different projects, each of which have several teams participating. I assist Rafael Bidarra with his Computer Games context and I assist Alberto Bacchelli with the Virtual Humans for Serious Gaming project. For the Computer Games context I need to make sure that the students are able to finish the products, with enough features, while the deadline is still realistic. For the Virtual Humans context I am a Software Engineering TA. Rather than supervising the ‘context’ I need to ensure that the delivered products are of good quality, SCRUM is being applied properly, etc. It’s really fun to guide such projects and you can even learn a lot while doing so.

3,.. 2,.. 1,.. Summertime!

Back in the days, when you had holidays throughout the entire year,.. I honestly miss that, a lot. But since we are in Q4 that means that summer is only one quarter away now!

24H-Coding: #winnING

Hi everyone!

Last blog I concluded with a small part on the ING 24H-Coding hackathon. For those of you that do not know what the/a hackathon entails; together with your team you are supposed to deliver a product within a given timeframe. In our case we had 24 hours (non-stop) to build an omni-channel solution for ING.

ING 24H-Coding

Around 12:00 I gathered with 2 other team members at Delft central station. We took the train to The Hague where the latest member of our team joined us. From there we travelled to Amsterdam, via Gouda because of some disruptions. When we arrived at Amsterdam Bijlmer ArenA (train station) it was only a 2 minute walk to the event venue. At the entrance they scanned our tickets and we were provided with all necessities like a small towel, sanitary kit, t-shirt and some information + a map of the location. We basically went straight to the main hall (the concert hall) to check out our working space for the upcoming 24 hours. ING arranged a secondary display per team, a router with a fast internet connection and power outlets (pretty useful when coding 24 hours).

24H-Coding: Main hall

Figure: 24H-Coding: Main hall

When we had installed ourselves we went to check out the remainder of the location. In front of the main hall there was some kind of lounge where you could get some (hot) snacks. Around 18:00 dinner would be served here from various mobile food trucks. On the first floor ING placed some resting/entertainment facilities; table soccer, a mechanical bull, game consoles, air hockey, etc. There was a (limited) sleeping facility available at the second floor. ING did a awesome job with the organisation of the event, we had unlimited (free!) food and drinks, there was an oxygen bar, guidance for the student teams, you name it. We had a lot of fun at the event (played a lot of table soccer and air hockey).

24H-Coding: Game zone

Figure: 24H-Coding: Game zone

Despite all the fun and the lack¬†of¬†sleep (except one of us who tried to sleep for a few hours), we still had to fulfil one task; building the product. We submitted an idea where the current ING app would be extended; we would add the ability to create a payment ‘request’ by means of a QR code. These QR’s codes could be generated on a webshop, mobile phone or they could be printed on a poster for instance. Scanning the QR code then would open up the ING app where you’d only have to approve or decline the request to pay (hence the name of our project; ScannING). At the end of the 24 hours we had to pitch our results to (part of) the jury. They selected the best team in each category. Against our expectations we were chosen to be the winner in the student category. Of course there was a reward too; we will have a fancy dinner with two board members of ING in the near future.

24H-Coding: ScannING, winning student team

Figure: 24H-Coding: ScannING, winning student team

You can find all pictures at flickr. The aftermovie can be found on YouTube (our 2 seconds of fame are from 2:44 up to 2:46, playing table soccer, haha).

End of Q3

Apart from the hackathon I did do some other stuff as well in the past month. I finished most of my courses; my team and I have handed in our chapter for the DESOSA book (I’ll add a link when it has been¬†published) and we finished our refactoring of the jMonkeyEngine project. One of the benefits of living in Delft is it’s connection to The Hague and the beach at Scheveningen. Last week I went there to have some delicious ‘Kibbeling’ (fish) at Simonis. Concluding with a late walk on the beach it was an awesome start of the weekend. Whenever you are in Delft, don’t forget to go there. You can go to the famous ‘Pier’ (which re-opened recently) or just walk at the beach. From Delft to Scheveningen takes you approximately an hour by tram (or you can go partly by train, which will be a little faster I guess). Next quarter I will be assisting with the second-year bachelor course called Context project. I still have to decide which courses I will follow next to assisting, but those will probably be the Language Engineering project (by Eelco Visser) and Web Data Management. I’ll update on the courses later when I’ve made up my mind, for now: see ya!

Scheveningen Beach panorama

Figure: Scheveningen Beach panorama. Taken from ‘De Pier’.


New courses and ING 24H-Coding

Hi all,

The third quarter brought me some new courses and other activities. New courses I am following are¬†Software Architecture by Arie van Deursen and¬†Software Re-engineering by Andy Zaidman. I’m also participating in the ING hackathon next week, which I’ll talk about in a bit.

Software Re-engineering

Let’s start with discussing Software Re-engineering a bit. This course focuses on the way we look at existing software systems. How do we deal with a large system that has been developed over the course of several years? How can one efficiently enhance the structure of such a project, while assuring that everything still works as it is supposed to work? We have learned about the S.O.L.I.D.-principles (which some of you might be familiar with already) and how to refactor violations of these principles. We have learned about testing, how to develop tests to tests your hypotheses, refactor, and test again. Our knowledge was tested on a real-life example. Together with the other students we had to identify violations of several principles and following on that deliverable we had to actually refactor these violations. The system that was used this year is jMonkeyEngine. jMonkeyEngine is a 3D game engine written in Java. We have used several tools like inCode, CodeCity and other tools like code coverage tools to find all kinds of flaws and violations.

CodeCity visualisation of jMonkeyEngine

Figure 1 –¬†CodeCity visualisation of jMonkeyEngine

In the Figure 1 you can see a visual representation of jMonkeyEngine as build with CodeCity. CodeCity renders your code as a ‘city’ giving you a quick overview of the project. Packages are being transformed into¬†districts, classes are transformed into¬†buildings where the properties of a class determine the properties of these buildings. For instance, one can choose to use the¬†#Lines of Code (LOC) metric for the height of a building and the number of methods¬†metric for the width of the building. One can also use colours on the buildings, to indicate (for example)¬†the¬†number of external dependencies. Classes that have a lot of methods or classes that are being referenced a lot by other classes might be suffering from the God Class-violation. These classes would (if using the right metrics of course) be noticeable fairly easy (big skyscrapers).

Software Architecture

Software Architecture is a course taught by Arie van Deursen. He uses GitHub for all course material and Slack for communication and announcements. Within this course we had to pick an open-source, GitHub hosted, software system that has been active recently (e.g. approximately one pull-request per day minimum). We, my team and I, have decided to work on the youtube-dl project. Youtube-dl is a command-line tool that allows you to download video’s from over 700 (!) supported websites. Within this course we had to analyse this system (it’s internal structure) and write a report about our findings. Next to that, the fun part of this course in my opinion, we had to think of potential contributions to the project. The course actually required us to¬†make some contributions. We had to contact the development team and try to get our contributions merged into the project. In many cases this involved rather simple documentation fixes, but there have been contributions that add or fix actual functionality as well. The course staff wanted us students to use Slack for all communication. This way students are able to help each other efficiently and the staff was able to keep track of the group process. Read more about this course and its setup in the blogpost by Arie van Deursen, which can be found on his website:¬†

The reports of our findings we have to bundle within a chapter. From all teams (all delivering their chapters) a given number will be selected, bundled and published as the DESOSA 2016 book. An example of the previous edition of the course can be found at We are currently reviewing chapters written by other teams, while we are still trying to contribute to the youtube-dl project. Examples of (our) contributions are #8785,  #8682 and #8680. For our chapter we have created several architectural views, for example the one below, depicting the contextual view (stakeholders and other related tools/companies).

Context View

Figure 2 – Context View of youtube-dl.

ING 24H-Coding

Together with some friends I will participate in the ING 24H-Coding event in Amsterdam. Basically all kinds of teams participate here in building prototypes for their ideas and pitch them to ING. This years theme was about building¬†a¬†omnichannel software solution. Within that context we are free to think of anything we like. The event will be held in the Heineken Music Hall, where food and drinks are included, we only have to bring our laptops. There are not that many student teams participating so I’m really curious about the outcome of our team/idea.

Exam period and Firebase

First of all; happy new year! I hope you’ve enjoyed the holidays. Back to reality, sadly, exams have arrived. As mentioned before I have one exam, Compiler Construction. This is a tough course, but if you keep up with the lectures and assignments it should be doable.

I’ve mentioned my project for Functional Programming before but I’ll give a bit more detailed information. For this course (which is a MOOC basically) the participants at TU Delft have to carry out a project. Basically the assignment was a one-liner describing what has to be done. Our project description was;

Build an alternative for firebase from scratch (inspiration: search quora for alternatives)

You might know about Firebase. Firebase is a library which allows for live syncing to a database. The database in the backend is implemented using JSON, and through the Firebase library you can connect to this database. Each connected client will receive every change live (ignoring network latencies etc. of course). We were free to choose any language as long as we would be able to show where we applied the functional way of programming. We chose to use Scala, most of the members in my team already have experience with Scala, and it’s very similar to Java. From there the challenge started; none of us had too much experience with building such a system from scratch. So we started looking into available tools etc. We knew we had to find a way to push changes from the server/database to all connected clients. Quickly we found Akka Actors, but connecting this to a JavaScript library was a second challenge. After a lot of trial-and-error we came across ScalaJS. Basically ScalaJS allows you to write Scala code and compile it to JavaScript. We were able to implement a WebSocket connection and using that connection we can set up the communication between our clients and servers. Meanwhile other members of the team had worked on processing client requests on the server, the security of the connection, and so on. There’s really a lot to think about.

Project overview

Figure: Project overview. We had to implement the parts in red, gray shows possible extensions of the project (like a native iOS library).

There are some really useful things I’ve learned during this project;

  • If you use some external libraries: use a dependency manager, it’ll save you so much time in the end.
  • Automate whatever you can, whenever it is useful. If you run a compile command every time you save your code for instance, you might want to set up a watcher that automatically compiles the code on change.
  • Use a decent editor, get to know it; it saves you a lot of time to know to the shortcuts and to actually use them. For instance I use editors by JetBrains (IntelliJ, PhpStorm) where you can quickly navigate through your entire project using the double-Shift shortcut amongst various other features.
  • Talk before you start implementing; we worked separately in the beginning. When we had to connect our different components it turned out that basically all of us used a slightly different version of the JSON format (used for internal processing). We had to adapt to make it fit again. If we had agreed on this upfront this wouldn’t have been an issue (necessarily).

Of course IntelliJ is not the only editor, alternatives like Eclipse, Sublime Text or any other editor can be just as fine, it’s all a matter of preference and setting up the editor to your preferences.

IntelliJ editor with the project

Figure: IntelliJ editor with the project. In the lower section the terminal is visible (integrated in the editor), it is keeping track of file changes while I code. In the upper section you see the Quick Switcher in IntelliJ (double-Shift). It searches all partial filenames/paths and contents for whatever you are looking for.

You learn best by doing, projects like this one prove this over and over. ūüôā

Christmas time

Hi all,

So Christmas is almost here. The first semester has almost passed, studying for the exams starts, but first we can enjoy our well-deserved holidays. One thing I really miss from high school; holidays. Where you had several back in high school, we only have two (well, three) holidays at the university. And if you are behind, potentially even less. From the end of the summer break straight to the Christmas-break (2 weeks) is a long period, but it’s finally here.

That also means I had to do some shopping. Delft is really accessible, which in this case is ideal. Through Delft central station¬†you can go to anywhere like¬†Rotterdam, The Hague (Den Haag)¬†or¬†Amsterdam within no time. Myself I took the tram to the centre of The Hague, where you can find a¬†lot of stores. During the weeks before Christmas it’s insanely crowded in most of the shops. I’ve been able to take another look on the Apple Watch at the Apple Store, I’ve seen several cosmetic shops (where the waiting lines continue outside!), places to eat and a lot more.

How about the courses? Most of them ended, more or less. There are some wrap-up lectures for some Q&A, but other than that I won’t have too many lectures anymore until the exams. I only have one exam, Compiler Construction. I failed one of the labs so I had to arrange something like an extra assignment, but the professor was really nice and offered me the possibility to pass the course this year, but I have to pass the exam first. So, I’ll be studying a lot for this course the upcoming weeks. Next to that the Functional Programming MOOC has ended officially. Only for TU students there’s the project that remains. During mid January we have to deliver the results and present them to our fellow students. We have a lot of work left, so we need to spend some time in our precious Christmas break.

Happy holidays, and all the best for 2016,


First courses

Hi all,

The year is passing by fast already. The exams of the second quarter are coming near, and the winter break is in sight too. In my previous blog I’ve promised to tell a bit more about the courses I’m following. At this moment I’m still following Compiler Construction, Web Science and Engineering¬†and Functional Programming. I was not able to complete Advanced Algorithms. This course, known to be tough, was too much together with my courses. I’m not sure whether I’ll retry next year or whether I’ll replace it entirely with another algorithmic course.

Advanced Algorithms

Within this course you learn to design and analyse algorithms for (un)solvable problems. Sometimes a problem might not be solvable in every case, but it might be sufficient to solve only a part of the problem to get to your answer. On the other hand, sometimes an estimation algorithm is good enough for it’s application. Reasoning and proving is one of the things we look at in this course. During the homework we had to prove several theorems. The homework is though, but with (or without) support from the Teaching Assistants (TAs) you should be able to complete them. Next to homework there are some practical assignments. These assignments can be done in pairs, and challenge you to apply the knowledge obtained form the lectures and homework. The assignments and homework can be really time-consuming, make sure to plan properly, otherwise you won’t be able to keep up (like me unfortunately).

Compiler Construction

Compiler construction is a course taught by Guido Wachsmuth. In this course we learn to specify a language in a declarative way. This course uses Spoofax for that purpose, a Language Engineering Workbench developed at TU Delft. As soon as we have specified our languages (we used the MiniJava language for our lab assignments) we learned how to construct a compiler from our definition. Assignments were to be submitted through Github, where they would be graded automatically. Wachsmuth encourages students to start on the assignments early, which is why we could get some early feedback. Handing in our assignments early resulted in a sneak-peak on the resulting grade and some details about tests that were still failing.

Web Science and Engineering

Web Science and Engineering is a course on several aspects of the Web like hypertext, semantic web, social web, etc. We had lectures about several topics, including some guest-lectures by PhD students or others about their research. The course also includes a homework part where we have to dive into the literature. I underestimated the amount of literature research that was required for this course, but I like it nonetheless. In the end we have to write a paper about a subject of our choosing (within the field of WSE of course), this also determines our final grade together with the grade for the homework assignments.

Functional Programming

Functional Programming is actually a MOOC (Massive Open¬†Online Course) taught by Erik Meijer. Within this course we learn the basic principles of functional programming. The course uses Haskell to show us several aspects. For students taking the course for credits there is an accompanying project. Within this project we have to implement a system using the functional style we learned in the MOOC. In my case I’ve to build a alternative to FireBase written in Scala. These projects are performed in groups of 2 to 4 students. For Computer Science students the courses starts at a really low level, but as the course progresses they level of the assignments is gradually increasing.

Lichtjesavond in the City centre of Delft

Lichtjesavond in the City centre of Delft

Lichtjesavond 2015

Of course, next to studying there’s a lot to do in Delft. Last week there was the annual ‘Lichtjesavond’. During this night the entire city centre is lit in pretty colors, and the Christmas tree on the Market is being lit in front of a massive crowd of people. There a lot of stands where you can buy random thingies or something to drink/eat. If you haven’t been there yet, I can really recommend it to see it at least once.

For now it’s time to wrap up, I still have some assignments that I need to finish. See ya!

System.out.println(“Hello world!”);


Hi all,

Since this is my first blog post, I’ll start by introducing myself. My name is Sander van den Oever, 22 years old and a student at TU Delft. I’m following the Software Technology track of the Computer Science master program. I’m living in a student¬†building¬†in Delft, near the university. Next to studying I work at a start-up in Schiedam called rentomato, where I’m working as a PHP Developer. I’ve chosen to follow the Computer Science program in Delft. Why? It felt like a logical step after finishing my Bachelors in Delft. I like Delft for it’s (international)¬†reputation, the city,¬†it’s location and the career prospects.

As I said I’ve completed my Bachelor here in Delft, which means by now I’m quite familiar with Delft and the university. I’ve started in 2011, with the Bachelor of Electrical Engineering. I soon discovered that I was more interested in just the domain of Computer Science, which is why I switched during¬†my first year. I’ve completed my Bachelor Computer Science in nominal time (three years) and now I’m in my first year of the Master program. I was not entirely sure about which track to choose for this master. There are two tracks; Software Technology and Data Science and Technology. The difference is mostly in¬†the courses taught¬†in the core of the tracks. For both tracks you have to choose a number of courses from a given list, although the lists overlap as well, they differ in some places. I checked which courses from the cores I wanted to follow and after that I had a look which track matched best with that list. So that’s how I got to Software Technology.

Now, the real challenge was to compose my so called ‘IEP’ (Individual Exam Programme, also referred to as ‘ISP’, Individual Study Plan). Next to the core courses you have to pick a number of courses out of a list with ‘free electives’ as well. Finding courses that are interesting is not too hard, making them fit together in your schedule is a whole other story. For now I’ve decided to follow to following courses;¬†Web Science and Engineering (WSE),¬†Compiler Construction (CC) and¬†Functional Programming (FP). Initially I also followed¬†Advanced Algorithms but this course took me too much time and therefore I decided to stop following the course (I’ll replace it or retry¬†next year). That’s the good thing about your IEP, it’s not necessarily binding. If you feel the need, and you can¬†convince your Master coordinator about the need to change your IEP, you can make changes along the road.

Let me get back to the courses; the first one will not be too much of a surprise probably. Web engineering definitely is a really interesting topic (otherwise I wouldn’t be working as a Web developer) so the WSE course was an easy pick. Next to that I’m really interested in how different program languages work, how they can be used, etc. I liked the Concepts of Programming Languages course in the Bachelor, Compiler Construction seems like the ‘next step’ there. Furthermore there’s the Functional Programming course. It offers you know-how on an entirely different way of programming, which sounds really cool to me. Functional Programming is actually a MOOC (Massive online open course). I’ll explain what the courses are about in the next blog.

In the future blogs I’ll try to give you an impression of what it’s like to study (Computer Science) in Delft and what makes Delft an awesome place to be.

See you next time!

¬© 2011 TU Delft