English Nederlands

Menu

Master Computing Science

Mandatory courses

    Cryptography

    In this course we treated some cryptograhic protocols, such as DES and RSA. We also studied different techniques such as Zero Knowledge Proofs, Stream Ciphers and Group Computing.

    Teached by
    • dr. G. Tel
    Grade
    8.5
    Level
    4
    ECTS
    7.5
    Database-architectures

    In this course we studied modern database systems more closely, with an emphasis on query-processing. We also looked at the database Monet.

    Teached by
    • drs. H. Philippi
    Grade
    9
    Level
    4
    ECTS
    7.5
    Probabilistic reasoning

    During this course we discussed probabilistic networks. The algorithm of Pearl for inferencing in those networks was treated and also an introduction to sensitivity analysis and the problems in constructing those netwokrs were treated.

    Teached by
    • dr. S. Renooij
    Grade
    7.5
    Level
    4
    ECTS
    7.5
    Scheduling and timetabling

    In this course we studied techniques to automatically compute schedules that fulfill preset conditions. We used primarily the technique of lineair programming.

    Teached by
    • dr. J.A. Hoogeveen
    Grade
    8
    Level
    4
    ECTS
    7.5
    Simulation

    In this course we learned techniques that can be used to create a computer model from a current process, so that we can analyze the strengths and weaknesses of this process.

    Teached by
    • dr. ir. J.M. van den Akker
    Grade
    7.5
    Level
    4
    ECTS
    7.5

Elective subjects

    Compilerconstruction

    In this course different techniques were treated which are necessary to build a compiler or interpreter, not only for programming languages but also for domain-specific languages.

    Teached by
    • drs. S. Holdermans
    Grade
    7.5
    Level
    4
    ECTS
    7.5
    Financial management

    This course gave an introduction to the financial world, so that student can speak the same language as financial experts.

    Teached by
    • drs. S. Holdermans
    Grade
    8.5
    Level
    4
    ECTS
    7.5
    Game programming in C++

    In this course the programming language C++ was explained, and techniques to use it efficiently for game programming. Also we learned language-independent concepts that are used to create complex games.

    Teached by
    • dr. ir. Egges
    Grade
    8
    Level
    4
    ECTS
    7.5
    Program verification

    During this course we treated several specification and test methods. Our focus lay on methods for distributed software.

    Teached by
    • dr. S.W.B. Prasetya
    Grade
    7.5
    Level
    4
    ECTS
    7.5

Minor Software Engineering

Extra courses

    Algorithms and networks

    In this course we studied the field of graph-algorithms. The emphasis was on efficient algorithms for problems as flow, shortest path, etc.

    Teached by
    • dr. S.W.B. Prasetya
    Grade
    7
    Level
    4
    ECTS
    7.5
    ICT Entrepreneurship

    During this course we had the opportunity to start a virtual company, which gave us the chance to learn what you need in order to start your own company.

    Teached by
    • prof. dr. S. Brinkkemper
    • dr. S. Jansen
    Grade
    7
    Level
    4
    ECTS
    7.5
    Softwarespecification

    This course treated techniques to specify software in such a way, that when later on problems arise, the specification can tell which of the parties made an error. This is particularly handy when drafting a contract in complex IT projects.

    Teached by
    • prof. L.G.L.T. Meertens
    Grade
    7
    Level
    4
    ECTS
    7.5
    Virtual worlds

    In this course we treated techniques that are used to create virtual worlds. Among others we studied the design of such worlds, the simulation of physics and the network technologies needed to create the experience of a real world.

    Teached by
    • drs. A. Kamphuis
    Grade
    6.5
    Level
    4
    ECTS
    7.5

Bachelor Computer Science

Mandatory courses

    Communicating computer science research

    In this course, we learned how to convey general and technical topics orally through presentations and in writing through papers. We also learned how to write a newspaper article on a technical subject and to evaluate each other critically.

    Teached by
    • dr. ir. P.R. de Waal
    Grade
    9
    Level
    2
    ECTS
    7.5
    Computer networks

    This course covered general concepts of operating systems as well as topics related to networking, such as the OSI layer model, Ethernet technology, and wireless communication.

    Teached by
    • dr. R.W. van Oostrum
    Grade
    8.5
    Level
    2
    ECTS
    7.5
    Databases

    In this course, relational databases were covered. Topics included ER modeling, Relational Algebra and SQL, normalization, and transaction processing. Additional short topics included web databases and databases with XML functionality.

    Teached by
    • drs. L. Herlaar
    Grade
    9
    Level
    2
    ECTS
    7.5
    Datastructures

    In this course, several data structures were covered, such as linked lists, search trees, AVL trees, heaps, and multiway search trees. In addition, sorting algorithms such as quicksort, mergesort, and heapsort were discussed.

    Teached by
    • dr. M. Veldhorst
    Grade
    8.5
    Level
    2
    ECTS
    7.5
    Functional programming

    In this course, the functional programming paradigm was introduced using the Haskell language.

    Teached by
    • prof. dr. S.D. Swierstra
    Grade
    8.5
    Level
    2
    ECTS
    7.5
    Graphics

    This course covered the basics of computer graphics, including ray tracing and the graphics pipeline. Various methods were discussed, such as texture mapping, hidden surface elimination, and lighting/shading. Supporting algorithms and data structures such as BSP trees and Z-buffers were also treated.

    Teached by
    • dr. R.W. van Oostrum
    Grade
    8
    Level
    2
    ECTS
    7.5
    Imperative programming

    This course explained object-oriented programming using the Java language.

    Teached by
    • drs. J.D. Fokker
    Grade
    8
    Level
    1
    ECTS
    7.5
    Logic and set theory

    This course covered both propositional and predicate logic, as well as the basics of set theory. Various proof techniques were also discussed, such as natural deduction and sequent calculus.

    Teached by
    • dr. M. Veldhorst
    • dr. G.A.W. Vreeswijk
    Grade
    8.5
    Level
    1
    ECTS
    7.5
    Mathematics for computer science

    This course covered various mathematical techniques useful for computer scientists.

    Teached by
    • dr. Yu.A. Kuznetsov
    Grade
    8
    Level
    1
    ECTS
    7.5
    Modeling and system development

    This course covered a wide range of topics, including object-oriented programming, modeling techniques in UML, and writing tests in JUnit.

    Teached by
    • dr. A. Bijlsma
    Grade
    8.5
    Level
    2
    ECTS
    7.5
    Software project

    For this project, I worked in a team of nine students to build Spectre, a program that visualizes and analyzes data from mass spectrometers, used by biologists to study the presence and quantity of specific proteins. The project involved programming, client communication, and project management. Besides programming, I also helped lead the team, serving as chair during meetings.

    Teached by
    • dr. ir. D. Thierens
    Grade
    8.5
    Level
    3
    ECTS
    15

Elective subjects

    Algorithms

    This course covered several algorithmic techniques, including dynamic programming and greedy algorithms. Graph algorithms and NP-completeness were also discussed.

    Teached by
    • dr. H.L. Bodlaender
    Grade
    8
    Level
    3
    ECTS
    7.5
    Distributed programming

    This course covered classical synchronization techniques for multithreaded software such as busy-waiting, semaphores, and monitors. Message passing algorithms were also discussed, as well as wait-free synchronization techniques.

    Teached by
    • dr. G. Tel
    Grade
    8
    Level
    3
    ECTS
    7.5
    Grammars and parsing

    This course covered grammars and their properties (including LL grammars) and techniques for parser construction, both using ANTLR and parser combinators in Haskell.

    Teached by
    • dr. B.J. Heeren
    Grade
    9
    Level
    3
    ECTS
    7.5
    Introduction to image processing

    This course introduced various operations on images and techniques for recognizing structures within images.

    Teached by
    • dr. ir. J.B.A. Maintz
    Grade
    7.5
    Level
    3
    ECTS
    7.5
    Law and computer science

    This course covered contracts and general terms, intellectual property protection, and privacy law, as well as computer crime and how ICT can support legal practice and government.

    Teached by
    • prof. dr. mr. H. Prakken
    Grade
    8.5
    Level
    2
    ECTS
    7.5
    Optimisation and complexity

    This course covered linear programming, including the simplex algorithm and its extensions. It also discussed how to formulate real-world problems as linear programming problems.

    Teached by
    • dr. J.A. Hoogeveen
    Grade
    7
    Level
    3
    ECTS
    7.5
    Programming and correctness

    This course discussed how to prove program correctness using logic. First, Hoare logic for procedural programs was introduced, followed by extensions for object-oriented programs.

    Teached by
    • dr. S.W.B. Prasetya
    Grade
    7.5
    Level
    3
    ECTS
    7.5
    Search algorithms

    This course covered various search algorithms. Uninformed search algorithms such as breadth-first and depth-first search were discussed first, followed by heuristic algorithms such as best-first and A*. Local search algorithms like hill climbing, simulated annealing, and tabu search were also covered, as well as algorithms for adversarial search and constraint satisfaction.

    Teached by
    • prof. dr. ir. L.C. van der Gaag
    • dr. M. Veldhorst
    Grade
    7
    Level
    2
    ECTS
    7.5

Minor Software Engineering

    Internet programming

    This course thoroughly covered (X)HTML, CSS, JavaScript, PHP, Java Servlets, and XML, with major practical assignments. Later, AJAX, frameworks, and related topics were briefly discussed.

    Teached by
    • drs. L. Herlaar
    Grade
    8.5
    Level
    2
    ECTS
    7.5
    Project management

    This course discussed various software project management methods such as PRINCE2 in combination with XP, RUP, or DSDM. PMBOK was briefly covered, and cultural differences in international teams were discussed.

    Teached by
    • dr. J.H. Verpoorten
    Grade
    7
    Level
    2
    ECTS
    7.5
    Software architecture

    This course covered methods for translating customer requirements into an architectural design. The emphasis was on identifying key quality requirements early and ensuring them through established patterns and principles.

    Teached by
    • dr. A. Dijkstra
    Grade
    8
    Level
    3
    ECTS
    7.5
    Software engineering

    This course covered a wide variety of topics, including the Z specification language and aspect-oriented programming. Version control and build tools such as ANT, Make, SVN, and DARCS were also discussed.

    Teached by
    • dr. J. Hage
    Grade
    8
    Level
    3
    ECTS
    7.5

Extra courses

    Datamining

    This course covered techniques that enable a program to recognize patterns in training data and make predictions for unseen cases based on those patterns.

    Teached by
    • dr. A.J. Feelders
    Grade
    7.5
    Level
    3
    ECTS
    7.5
    Expert systems

    This course covered various methods for building so-called expert systems—systems that assist professionals in their tasks or make them partially redundant. Techniques for handling natural language and uncertainty were discussed, as well as the limitations of rule-based systems. Because these systems are now considered mature, this course was offered for the last time.

    Teached by
    • dr. G. Tel
    Grade
    7
    Level
    3
    ECTS
    7.5
    Human Computer Interaction

    This course covered User-Centered Development, that is, designing software with continuous user involvement. Techniques for making interfaces user-friendly were also discussed.

    Teached by
    • dr. J.H. Verpoorten
    • dr. H.J.M. Tabachneck-Schijf
    Grade
    7.5
    Level
    1
    ECTS
    7.5
    Introduction to computational intelligence

    This course covered several artificial intelligence algorithms, including k-nearest neighbors, neural networks, and the minimax search algorithm.

    Teached by
    • dr. ir. D. Thierens
    Grade
    8.5
    Level
    2
    ECTS
    7.5
    Statistics

    This course covered various techniques used to compute probabilities and make data-based predictions. Various probability distributions and estimators were discussed.

    Teached by
    • dr. ir. P.R. de Waal
    Grade
    7.5
    Level
    2
    ECTS
    7.5