Login |

High-Performance Systems and Networks (Winter 2016/17)

→ Lecture in LSF

Lecture Slides

The lecture slides can be found linked below. You will need to log in using your university account to access them.

Starting with 40: Fast Servers, the primary source of information is the book Network Algorithmics. It is available in a hardcover version in the library, and as an online resource that can be read from the university network. The performance evaluation book, Performance evaluation of computer and communication systems, is available for free from the publisher, EPFL Press.

Exercise Sheets

The exercise sheets will be published below shortly after the tutorial in which they will be introduced. They are usually due on the Sunday following their release at 23:59. Note that you will need to log in using your university account to access them.

You can find the code for the practical exercises in your group's personal repository.

If you have any questions, please do not hesitate to contact me, preferably by coming to the office (Z809 – actually located where you think it should be, unlike G230).


  • Exercise sheets have to be handed in by checking them into Git on or before Sunday, 23:59. Don't forget to push!
  • For theoretical questions, the file format has to be PDF, plain text or markdown.
  • You have to get ≥50% of the total points to be admitted to the exam.
  • The tutorial is strongly recommended, but not compulsory.
  • Please try to avoid generating compiler warnings in the practical exercises. These are almost always indicative of bad programming practices.
  • Please back up your answers with evidence or derivations. This is not repeated in every question because it should be obvious.

Getting Started with C

There is an online C course that you can complete from the convenience of your browser. For the first exercise sheet, you should not have to go any further than the Pointers chapter, and maybe the Strings chapter is enough already. During the course of the exercises, we will need the constructs up to Dynamic allocation, and the Pointer Arithmetics chapter might be useful as well.

For an overview of the concepts themselves, Wikipedia has good articles on the Null-Terminated String concept used by C, as well as pointers in general. The article about C itself isn't very useful as far as learning C is concerned, but has one of the oldest Hello World programs ever written. If you need information on a particular aspect of C, it's also worth asking the search engine of your choice first. C has been around for >40 year; there is a lot of information about it out there.

For Git usage, please see the GitLab service description. This documentation contains the most important bits of information on Git, as well as pointers to a lot more information, including another online course. The service description, but not the materials linked there, is also available in German.

The following books have been recommended by students:

  • C: Programmieren von Anfang an
    Taschenbuch – 1. Dezember 1999
    von Helmut Erlenkötter
    Taschenbuch: 320 Seiten
    Verlag: rororo; Auflage: 22 (1. Dezember 1999)
    Sprache: Deutsch
    ISBN-10: 3499600749
    ISBN-13: 978-3499600746

If you know any other good books or materials for getting started with C, please let me know. These books are neither required reading nor are they known to be particularly good or bad. I do not generally read them before linking them here.