Sorry! De informatie die je zoekt, is enkel beschikbaar in het Engels.
This programme is saved in My Study Choice.
Something went wrong with processing the request.
Something went wrong with processing the request.

All about the principles behind programming and process control

The minor Deep Programming elaborates on important principles, different paradigms and modern developments in computer programming.

This minor elaborates on the theory and practice of programming to turn these students into highly skilled programmers and is an excellent preparation for entering a Master program in Computer Science. Systems Programming and Equational Programming are advanced courses on programming in the imperative language C and the functional language Haskell. Compiler Construction provides in-depth knowledge on building compilers for translating source code from a high-level to a lower-level programming language. Secure Programming focuses on cryptography in software development. Concurrency & Multithreading teaches foundations and programming principles for multicore computing. 

Related VU master’s programmes: 

Overview courses

  • Secure Programming (5 out of 6)

    Through a series of practical assignments the students are called to develop programs that incorporate useful features for security purposes. The students have the chance to become familiar with APIs (OpenSSL) for cryptographic operations, such as symmetric/asymmetric encryption, cryptographic hashing, cryptographic protocols, digital certificates, encrypted sockets, and SSL/TLS.

    Deep understanding of core cryptography is not needed. Basic concepts of cryptography are introduced and refreshed in the course. The focus is mostly on using cryptographic elements for software development.

  • Advanced Network Programming (5 out of 6)

    The course covers recent advancements in networking technologies in general-purpose computing. It focuses on two main themes:

    End-host networking and network infrastructure. For the practical assignment, students will have to design, implement, and benchmark a distributed key-value using RDMA networking technology on the DAS-5 cluster.

  • Compiler Construction (5 out of 6)

    This course gives an introduction to the internals of modern compilers and allows students to gather practical, hands-on experience on building compiler components.

  • Concurrency & Multithreading (5 out of 6)

    This course provides a comprehensive presentation of the foundations and programming principles for multicore computing devices. Learning objectives are: fundamental insight into multicore computing; algorithms for multicore computing; analyzing such algorithms; concurrent data structures; multicore programming. 

  • Equational Programming (5 out of 6)

    This course provides students with basic knowledge of functional programming (using Haskell) and its foundations via lambda-calculus and equational reasoning. 

  • Project Autonomous Driving* (5 out of 6)

    Project Autonomous Driving is a course that builds on the course Pervasive computing. Notice that Pervasive Computing is therefore a prerequisite for this course. The main goal is to build and program the agent for a microcontroller‐based autonomous car. At the end of the project, the students participate in an international competition organized yearly by NXP.

    *Only a maximum of 20 students can participate in this course.