Deep programming

Alles over de principes achter het programmeren en het aansturen van processen.

Deep Programming

The minor Deep Programming elaborates on important principles, different paradigms and modern developments in computer programming. 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. This minor aims to turn students into highly skilled programmers and is an excellent preparation for entering a Master program in Computer Science.

Secure Programming
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.

Systems Programming
The course is a combination of lectures and lab assignments.
During the course, the student is taught how to program in C, use POSIX APIs for process control and networking, understand memory management, use low-level debugging and verification tools, and use performance
profiling tools.

Compiler Construction
T.B.A.

Concurrency & Multithreading
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 datastructures; multicore programming. 

Systems Programming
During the course, the student is taught how to program in C, use POSIX APIs for process control and networking, understand memory management, use low-level debugging and verification tools, and use performance profiling tools.

Equational Programming
To obtain basic knowledge of functional programming (using Haskell) and its foundations via lambda-calculus and equational reasoning. 

Voor meer informatie over de vakken, bezoek onze studiegids.

Deze minor is toegankelijk voor bachelorstudenten Computer Science, Informatie, multimedia en management, Lifestyle Informatics.
VU-studenten vinden informatie over het volgen van een minor op VUnet (inloggen met je VUnet-ID). Meer informatie over het volgen van een minor aan de VU voor niet VU-studenten vind je hier.
Voor meer informatie over de opleiding zelf kun je terecht bij de studieadviseur. De minor wordt gecoördineerd door W.J. Fokkink, contact kan opgenomen worden via de mail w.j.fokkink@vu.nl of telefonisch via: +31205987735.

Samenvatting Deep Programming

Taal

Nederlands

Duur

1 semester (30 EC)

Startdatum

1 September

Interessegebied

Informatica, Wiskunde en Bedrijf

Faculteit

Bètawetenschappen