Teaching

Vision

The gap is growing between the abstract machine models used by programmers and the hardware machine models where accurate performance predictions are still tractable. This gap is growing due to unsolved divergences between technology developments in computer architecture, on the one hand, and on the other hand the growing demand for productivity in software engineering.

This gap also implies that it is becoming increasingly difficult to predict software performance, as well as other extra-functional behaviors of software (eg. latency, contention, etc.). This problem leads to measurable defects in the computing industry: excessive development costs, unscalable infrastructures, unjustified (and dangerous) lack of guarantees on mission-critical technology, etc. The growing diversity of hardware and software decreases the probability that a single theoretical breakthrough will bridge this gap; solutions will be developed iteratively, distributed across the field.

Unfortunately, our current computer science education does not reveal this situation, whereby IT experts and computer scientists spend years in their career to first discover then understand this gap.

My proposal: stimulate and prepare the next generation IT experts and computer scientists to bridge this gap. This preparation must occur during their early studies, so that they can carry out the necessary innovation during their “creative” years (20-30 years old).

Student supervision

I am habilitated to supervise graduation projects for BSc and MSc level students in computer science.

Looking for a graduation project? See here for a list of available project topics.

Are you registered as student in the Netherlands and interested in carrying out a MSc or BSc project in Amsterdam related to the following topics?

  • programming language design and implementation,
  • resource-aware functional programming,
  • compilers and operating systems for embedded systems,
  • computer architecture,
  • static meta-programming,
  • extra-functional coordination,

then feel welcome to contact me! I can propose project topics, or act as supervisor if you come with your own topic.

Past Courses

  • 2017:
  • 2014-2017:
    • Operating systems, BSc Informatics, Universiteit van Amsterdam.
    • Data structures, BSc Informatics, Universiteit van Amsterdam.
  • 2012-2013, 2013-2014, 2015-2016: Computer Architecture, BSc Informatics, Universiteit Leiden.
  • 2014-2015:
  • 2011-2012: Advances in Computer Architecture, MSc Grid Computing, Universiteit van Amsterdam. In replacement of Chris Jesshope.

Ongoing and completed student projects

Other teaching activities

  • Virtual machines (BSc, guest lecturer 2014) The primary lecturer for this course is Dick van Albada.
  • Extrinsically adaptable systems (MSc, guest lecturer 2013) The primary lecturer for this course are Jaap van Ginkel and Arno Bakker.
  • Data Structures (BSc, guest lecturer 2012, 2014). The primary lecturer for this course is José Lagerberg.
  • Compilers and Operating systems (MSc, guest lecturer 2010, 2011, BSc 2014). The primary lecturer for this course is Clemens Grelck.
  • Concurrent Systems (MSc, guest lecturer 2010, 2011) The primary lecturer for this course is Chris Jesshope.
  • Guest lecturer at the ACS3 Parallel Programming summer school (2012)
  • Co-organizer and guest lecturer in the Multi-Moore summer school (Getting Moore from multi-cores, 2011)
  • Teaching assistant in Functionele Talen (2010, 2011), Concurrent Programming (2009, 2010), Compilers and Operating Systems (2009).

Raphael's academic home page © Raphael ‘kena’ Poss. Powered by Pelican and Twitter Bootstrap. Icons by Font Awesome.