Examination Areas for the Admissions Test
The following subject areas from our Bachelor's program in Computer Science form important foundations for our Master's programs in Computer Science and Media Informatics. These foundations will be tested in a multiple-choice procedure in person. The non-binding literature references are provided for your orientation.
All areas are equally important.
Technical Foundations of Informatics
- Integer arithmetic
- Boolean algebra
- CMOS technology
- Logic gates
- Memory and Storage technologies
- Caching
- Scalar and superscalar computer architectures
- Basics of quantum computing
Literature: John L. Hennessy, David A. Patterson: Computer Architecture: A Quantitative Approach. Elsevier.
Theoretical Computer Science
- Propositional logic: Syntax: variables, logical connectives, formulas, conjunctive and disjunctive normal forms. Semantic: truth table, satisfiability of a formula, consistency of a set of formulas, tautology, logical implication (logical consequence). Proof of consistency of a set of formulas. Proof of correctness of logical consequence.
- First order predicate logic: Syntax: function and predicate symbols, terms, atomic formulas, free and bound variables, formulas, prenex normal form. Semantic: structures, models, satisfiability and validity of a first order formula.
- Formal grammars: regular grammar, context-free grammar, context-sensitive grammar, unrestricted grammar.
- Automata theory: finite-state automaton, pushdown automaton, Turing machine, deterministic and nondeterministic automata.
- Chomsky hierarchy: relationship languages/grammars/automata.
- Computability theory. Computable functions, decidable sets and problems. Undecidable problems. Halting problem.
- Complexity theory. Complexity classes P and NP. SAT problem.
Literature: John E. Hopcroft, Rajeev Motwani, Jeffrey Ullman: Introduction to Automata Theory, Languages and Computation. Addison-Wesley.
Mathematical Foundations
- Power set, operations with sets, cartesian product of sets, proof by mathematical induction
- N-ary, equivalence, and partial order relations
- Mappings and functions: injective, surjective, bijective
- Groups and rings as algebraic structures and their properties
- Vectors and matrices: basic operations, unit matrix, inverse matrix, rank
- Linear independence of vectors, basis and dimension of a vector space, coordinates in a vector space
- Linear systems of equations, Gauss algorithm and various uses of it
- Determinants, eigenvalues/vectors, characteristic polynomial of a matrix, similar matrices
- Scalar product, orthogonal vectors, orthogonal matrices, vector norms
- Graphs: directed, undirected, complete, planar, adjacency matrix, degree of a node, paths in graphs
- Trees and their characterization, properties of (regular) binary trees, Huffman codes
- Fundamentals: complex numbers, fundamental theorem of algebra, linear factors, Euler's formula, properties of different types of functions, exponential function incl. complex exponential
- Differentiation: limits, derivative, sign of derivative, critical points, implicit differentiation, logarithmic differentiation
- Integration: fundamental theorem of calculus, antiderivative, Riemann integral, integration by substitution incl. trigonometric substitution, integration by parts, improper integrals
- Sequences of Functions: uniform convergence, power series, Taylor series, Taylor series in several variables
- Differentiation in Higher Dimensions: vector-valued functions, Frenet–Serret formulas, partial derivative, tangent planes, directional derivative, total derivative, Jacobian, gradient, divergence, curl, Hessian matrix, definite quadratic forms, critical points
- Integration in Higher Dimensions: multiple integral, substitution for multiple variables, Jacobian determinant, polar coordinate system, cylindrical coordinate system, spherical coordinate system
Literature: Kenneth L Kuttler: Calculus of One and Many Variables https://klkuttler.com/
Programming
- Programming Language Paradigms
- Imperative Programming, Variables, Assignment, Selection, Iteration, Sequence
- Algorithm Definition (Unambiguous, Effective, Deterministic, Finite, Complete, Correct)
- Recursion
- Object Oriented Programming, Data Hiding, Polymorphism, Inheritance
- Generic Programming, Templates (C++), Generics (Java)
- Lambda Expressions
- STL, Container, Algorithms (C++), Collections (Java)
Literature: Bjarne Stroustrup: Programming Principles and Practice Using C++, Addison-Wesley.
Database Systems
- Relational Model (Definition of Relation, Key, Superkey, Data Definition Language of SQL)
- Normal Forms (Functional and Multivalued Dependencies, 1.-4. Normal Form, Boyce-Codd-Normal Form, Decomposition- and Synthesis Algorithm)
- Relational Algebra (select, project, cartesian product, union, difference, intersection, division, join including inner, outer, equi-, and natural join)
- Tuple and Domain Calculus (formulas and expressions, quantors)
- SQL (select, from, where, set operations, aggregation, grouping, ordering, views)
- Transactions, (Concurrency and Recovery including schedules, locking, logging)
- Index Structures (B-trees and hashing methods)
- Relational Query Optimization (push projection, push selection, cost estimation)
Literature: Ramez Elmasri, Shamkant B. Navathe: Fundamentals of Database Systems. Pearson.
Algorithms and Data Structures
- Algorithm Paradigms, Greedy, Divide and Conquer, Dynamic Programming
- Asymptotic Computational Complexity (O, Omega, Theta, o, omega, ~)
- Data Structures (List, Trees, Graphs)
- Sorting Algorithm Properties (Insitu, Exsitu, Stable, Unstable, O(n ln n) Limit for Comparison Sort)
- Sorting Algorithms (Selection Sort, Insertion Sort, Bubble Sort, Quicksort, Mergesort, Heapsort)
- Linear Time Sorting Algorithms (Counting Sort, Radix Sort, Bucket Sort)
- Hashing Principles (Hash Function, Static, Dynamic, Collision Resolution)
- Hashing Methods (Double Hashing, Separate Chaining, Linear Hashing, Extendible Hashing, BISEH, Coalesced Hashing, Cuckoo Hashing)
- Search Trees (BST, Multiway Trees, B+ Tree)
- Graphs (Internal Representation, Traversal, Shortest Paths Algorithms)
Literature: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest: Introduction to Algorithms. MIT Press and McGraw-Hill.
Software Engineering
- Software Requirements Specification
- Software Verification and Validation
- Software Rollout and Maintenance
- Software Quality and Code Quality
- Software Design and Architecture
- Design Patterns
Literature: Ian Sommerville: Software Engineering. Pearson.
Modelling
- UML: Unified Modelling Language (UseCase, Class, Object, Activitiy, State, Sequence, Package, Component, and Deployment Diagrams)
- Entity Relationship Model
- BPMN: Business Process Model and Notation
- DMN: Decision Model and Notation
- Petri Nets
- Event-driven process Chain (EPC)
Literature: Martin Fowler: UML Distilled: A Brief Guide to the Standard Object Modelling Language. Addison Wesley.
Computer Networks
- Physical Layer: Guided Transmission Media, Wireless Transmission, Spectra and Waveforms
- Data Link Layer: Framing, Error Control, Flow Control, Media Access Control, Ethernet, WLAN
- Network Layer: Internet Protocol, Routing Algorithms and Protocols, Traffic Management and Quality of Service
- Transport Layer: UDP and TCP
- Application Layer: Domain Name System, Electronic Mail, World Wide Web
- Fundamentals of Network Security: Attacks, Symmetric-Key and Public-Key Cryptography, Digital Signatures
Literature: James F. Kurose, Keith W. Ross: Computer Networking. A Top-Down Approach. Pearson.
Human Computer Interaction
- Human-Centered Design (User research)
- Usability and User Experience
- Interaction Design Principles
- Accessibility and Inclusive Design
- Emerging Technologies in HCI (GenAI)
- Perception and Cognition
- Prototyping
Literature: Alan Dix, Janet Finlay, Gregory Abowd, Russell Beale: Human-Computer Interaction. Prentice Hall.