EMDC Courses
Introduction
On the summer of 2011 after graduating from METU Computer Engineering, I have been accepted to European Masters in Distributed Computing (EMDC) joint Erasmus Mundus programme between KTH Royal Institute of Technology (KTH) in Sweden, Instituto Superior Técnico in Portugal (IST) and Universitat Politècnica de Catalunya (UPC) in Spain. It is a two-year Master’s programme including compulsory mobility for the students.
I have been accepted to IST - KTH track, which means I will be studying in the Instituto Superior Técnico for two semesters and another semester in KTH Royal Institute of Technology and for final semester will be doing my thesis in Institute Superior Técnico again.
After long efforts and procedures of getting visa, I have managed to get to the Lisbon and adapt to the beautiful city, to the university and meet with great friends.
This semester (Fall 2011) at IST I have taken four master’s courses,
- Parallel and Distributed Computing
- Peer-to-Peer Systems and Overlay Networks
- Cloud Computing
- Network and Computer Security
All of these courses were challenging and interesting, I have learned whole new technologies, concepts and had hands on practice doing projects.
Parallel and Distributed Computing
This course was most familiar for me since I had Parallel computing course while studying my Bachelor’s degree. Nevertheless I have learned new things about distributed computing; distributed architecture, OpenMP, MPI, designing and implementing distributed and parallel algorithms and analyzing them using several metrics.
Course project was to implement network slack computation both using OpenMP (shared memory) and MPI (distributed memory).
Peer-to-Peer Systems and Overlay Networks
This was one of the interesting courses. Starting from BitTorrent, eMule and then learning about unstructured p2p systems, Gnutella; then structures ones, Chord, Pastry, Kademia and Can. After that were a little bit challenging, we have studied Gossip, One-hop protocols, distance estimation (Vivaldi algorithm), content distribution (Akamai), load balancing in p2p systems, etc.
Course project was to design Http p2p proxy.
Cloud Computing
This course was also very interesting. Starting from clusters, grids and eventually about cloud technologies. Implementing mini MapReduce using Hadoop, cloud technologies Amazon AWS, Google App Engine and MS Azure.
Course project was to design and implement mini web indexing system that will be using all cloud systems. We, project team, had implemented page-rank algorithm on Amazon EC2, stored data on MS Azure database and implemented web front-end on Google App Engine communicating with Azure database. Trying and learning these was very interesting.
Network and Computer Security
This course was my least interesting. We have learned lots of protocols and key encryption algorithms, both symmetrical and asymmetrical. Moreover, about the network certification organizations.
Since semester is over and we had first round of exams (hope we pass them) we can concentrate to the next learning adventures.