Faculty Screening
This page provides an overview of the scientific background requirements and screening topics for the following programmes at Vrije Universiteit Brussel (VUB):
- Master of Applied Sciences and Engineering: Computer Science
- Master of Applied Informatics: Artificial Intelligence & Data Science
Admission Process
The admission process for enrolling with a foreign diploma is outlined here. After an initial completeness check of the documents required for your application (see Required Documents + GRE section below), your application moves into the Faculty Screening phase.
In this phase the faculty reviews your application w.r.t. the specific academic background requirements for this programme. As part of this phase, you will receive an e-mail invitation to complete an online screening form specific to this programme. You have a maximum of 3 weeks from the date of invitation to complete this form.
If the form is not completed within this period, your application will be marked as incomplete and denied.
GRE Quantitative Reasoning Test (non-EEA degrees)
If you obtained the bachelor's or master's degree that qualifies you for admission to this programme in a country OUTSIDE the European Economic Area (EEA), Switzerland, or the United Kingdom, it is mandatory to submit the result of the Quantitative Reasoning component of the GRE General Test.
Without this, applications will not be assessed/evaluated and as such, admission will be denied. However, the result of the test is not binding towards being granted admission or not. Your application is evaluated as a whole.
Make sure have the test results ready BEFORE starting the application process!
As part of the application process, you must do BOTH of the following:
- Have ETS send your official score directly to VUB, using recipient institution code 6345 – "Vrije Universiteit Brussel – Department of Computer Science".
- Upload your result as a PDF in the online screening form, referred to above.
Applications for which the required GRE result has not been submitted in time, via both steps above, will be marked as incomplete and denied.
More information on the GRE General Test and how to register is available on the official ETS/GRE website.
Academic Background Requirements
To be eligible for these programmes, you should have a strong academic background. An indicative body of knowledge that we expect students to master is outlined below (whatever your choice of major). This body of knowledge is composed as an equivalent of the competencies of a local bachelor student.
- Basics: types, values, operators, expressions
- Conditional and iterative control structures
- Procedural/functional abstraction, parameters, parameter passing mechanisms
- Data abstraction, modular design, information hiding
- Scoping mechanisms
- Higher-order functions
- Recursion, tree-recursion, recursive data structures
- OO concepts: inheritance, overloading, overriding, polymorphism
- Input and Output, files
- Exception and error handling
- Low-level programming: pointers, addresses and data-objects, memory allocation, memory leaks
- System programming: registers, bit-shifts, masks
- Execution models for high-level languages: stack frames, implementing static and dynamic scope, implementing structured control flow
- Function pointers and higher-order functions, relation to nested scopes, jump tables
- Garbage collection, garbage collection algorithms: stop and copy collection, mark-and-sweep collection
- The software engineering process: requirements analysis, design, implementation, testing, post-delivery maintenance
- Traditional and agile process models
- Object Oriented modelling, UML: Use Case diagram, Class diagram, State diagram, Sequence diagram, Activity diagram
- OO design patterns: Strategy, State, Decorator, Proxy, Template Method, Factory Method, Composite, Observer, Visitor, Abstract Factory
- Software configuration management: distributed version control, branching and merging strategies, issue and artifact repositories
- Software release management: continuous integration, continuous delivery
- Software testing: unit tests, integration tests, functional tests
- Software test metrics: coverage-based metrics (block, branch, edge, loop, path, definition-use pairs) and fault-seeding metrics
- Estimating performance of algorithms (worst, average, best case, amortized analysis)
- String matching: brute force, Knuth-Morris-Prat
- Linear abstract data types: stacks, queues, priority queues, heaps
- Simple sorting algorithms: bubble sort, insertion sort, selection sort
- Advanced sorting algorithms: quicksort, mergesort, heapsort
- Linear sorting algorithms: radix sort, bucket sort, counting sort
- Trees: depth-first traversal, breadth-first traversal, binary search trees, self-balancing trees
- Hashing: collision resolution strategies, hash functions
- External sorting: balanced multiway merge sort, polyphase sort
- Memory hierarchy, files, caching, index files, B+ trees
- Undirected graph algorithms: connectivity, edge connectivity, biconnectivity, bipartiteness, minimum spanning forests
- Directed graph algorithms: topological sorting of directed acyclic graphs, strong connectivity of directed graphs, path existence
- Greedy algorithms, Dynamic Programming
- Parallel computing, different forms of parallelism, concurrency vs parallelism, parallel architectures
- Shared-memory model, fork-join parallelism, multithreading
- Distributed memory and message passing
- Basic principles of networking, connecting distributed processes
- Basic distributed architectures: client-server and peer-to-peer systems
- Basic principles of cryptography, secure communication over an open network
- Clock synchronization in distributed systems, physical vs logical clocks
- Fundamental issue of agreement in distributed systems and some practical algorithms to solve this issue
- Processes and threads
- Interprocess communication
- Scheduling
- Interprocess communication problems
- Virtual memory, page replacement algorithms
- File-system implementation, management and optimization
- IO devices: block devices, character devices, memory-mapped IO
- Security models in operating systems
- Binary representation of data in computers
- Translation of assembly language and high-level programming languages to machine language, compilers and interpreters
- Machine instructions and addressing in a sequential computer
- The stack machine
- The register machine
- Essential electronic building blocks of a computer and processing of machine instructions in hardware (micro-architecture)
- Memory hierarchy and caching, peripheral memory
- Input-output interfaces: polling, interrupts, DMA
- Memory management, file management, process management
- AI: What is AI?, Foundations of AI, History of AI, State of the Art
- Intelligent Agents: Agents and Environments, Rationality, Nature of Environments, Structure of Agents
- Problem Solving Agents, Searching for Solutions, Uninformed Search Strategies, Informed Search Strategies, Heuristic Functions
- Beyond Classical Search: Local Search Algorithms and Optimization Problems,
- Adversarial Search: Games, Optimal Decisions in Games, Evaluation Functions
- Constraint Satisfaction Problems: Definition, Constraint Propagation, Backtracking for CSPs, Structure of Problems
- Logical Agents: Knowledge-Based Agents, Grid World problems, Propositional Theorem Proving
- Inference in First-Order Logic: Propositional vs First-Order Inference, Forward Chaining, Backward Chaining, Resolution
- Quantifying Uncertainty: Acting under Uncertainty, Inference using Full Joint Distribution, Bayes’ Rule, Grid Worlds Revisted
- Relation model and relational algebra
- Database design: Entity-Relationship modeling or Object Role Modeling
- SQL
- DBMS architectures
- Storage management
- Query processing and optimization
- Transaction management
- Basic proof techniques: by contraposition, by contradiction, per induction
- Propositional logic: syntax, semantics, truth tables
- Propositional logic: (semantic) tableaux, logical consequence, natural deduction (inference rules)
- First-order (predicate) logic: syntac, semantics
- First-order (predicate) logic: analytic (semantic) tableaux, logical consequence, natural deduction (inference rules)
- First-order (predicate) logic: soundness, completeness
- Finite automata: deterministic and nondeterministic
- Regular languages and regular grammar, connection regular expressions and regular languages
- Context free languages, simplification of context-free grammars and normal forms
- Parsing and ambiguity
- Pushdown automata and connection with context-free languages
- Pumping lemmas for context-free languages
- Turing machines
- Computability and decidability, examples of undecidable problems, Church’s thesis
- Limits and asymptotes
- Continuity
- Derivatives: derivative rules, higher order derivatives, chain rule, Newton’s method for finding roots
- Integrals: indefinite and definite integral, integration rules, area under a curve
- Differential equations
- Sequences: convergence, power series, Taylor series, Maclaurin series
- Systems of linear equations
- Matrices and determinants, row echelon form for matrices
- Euclidean vectors, perpendicularity
- Vector spaces, basis and dimension, linear maps and matrices
- Eigenvalues and eigenvectors, matrix diagonalization
- Descriptive statistic: sampling, graphs, summarizing data
- Probability theory: probability, Bayes rule, stochastic variables, density curves
- Probability distributions: uniform, normal, binomial, geometric, hypergeometric, Poisson, chi-squared, t-distribution, F-distribution
- Central limit theorem
- Statistical inference: confidence interval, parameter estimation, chi-squared test, t-test, F-test, contingency tables
- Linear regression and method of least squares
- Error analysis, computer arithmetic, machine precision
- Numerical methods for linear equation systems: exact solution, LU-factorization, iterative methods, Cholesky decomposition, matrix inverse
- QR decomposition, Gram-Schmidt process, eigenvectors and eigenvalues, least squares, conjugate gradient method
- Root-finding for nonlinear equations: e.g. Banach fixed-point iteration, bisection, Steffensen’s, Newton’s and Newton-Raphson methods
- Polynomial interpolation
- (Integer) Linear Programming
- Monte Carlo simulation
- Dynamic Programming
- Basic principles of counting: pigeonhole principle, permutations and combinations, binomial coefficients
- Mathematical induction
- Divisibility, greatest common divisors
- Primes, prime factorization, modular arithmetic
- Solving linear recurrence relations, generating functions
- Theory on graphs and trees