
Pearl 000 Black pearl — Computer Architecture
After absorbing the pearl “Computer Architecture”
• The student can work with binary and hexadecimal number representations, binary logic and boolean algebra.
• The student knows the basic architecture of a computer and its concepts register, memory, address, ALU, clock, program, program counter, instruction and mnemonic.
• The student can write simple programs for a microcomputer in machine language using arithmetic, I/O, and (conditional) jump instructions.
Pearl 001 Blue pearl — Algorithmics
After absorbing the pearl “ Algorithmics”
• The student can explain the importance of searching and sorting algorithms.
• The student can explain the principle of and differences between linear and binary search methods, as well as between bubble sort and merge sort.
• The student understands the complexity arguments behind the aforementioned algorithms and can analyse which is the best solution in what context.
• The student can apply simple imperative programming concepts: if/then, while, integer variables and arrays.
• The student can program the above algorithms in Python.
Pearl 010 Green pearl — Databases
After absorbing the pearl “Databases”
• The student knows the basic concepts of databases.
• The student can design a database schema for a simple case using ERmodeling.
• The student can realize such a design in a relational DBMS using SQL.
• The student can query and update a relational DBMS with SQL.
Pearl 011 Cyan pearl — Functional Programming
After absorbing the pearl “Functional Programming”
• The student can apply basic concepts and syntax of the chosen functional language.
• The student is able to use the concept of function application to define simple functions.
• The student can create simple recursive functions that operate on lists and numbers.
• The student can use list comprehension to solve small problems.
• The student can use induction to prove basic properties of small functions.
• The student is able to express simple algorithms in the chosen functional language.
Pearl 100 Red pearl — Cryptography
After absorbing the pearl “Cryptography”
• The student understands symmetrickey encryption: block ciphers and their modes of operation, stream ciphers, and the onetimepad. He/She knows basic design techniques of such ciphers, such as Feistel networks.
• The student understands asymmetrickey encryption: the RSA cryptosystem and the RSA signature scheme. He/she knows how to use it for key exchange (hybrid encryption).
• The student has learned some necessary background knowledge of elementary number theory (modular arithmetic, Euclidean algorithm) and basic probability theory, for a proper understanding of the above mentioned cryptosystems.
Pearl 101 Magenta pearl — Computer Networks and Operating Systems
After absorbing the pearl “Computer Networks and Operating Systems”
• The student can identify and explain the most important responsibilities of an operating system.
• The student understands the working and layered construction of packetswitched computer networks, and can reason about the therein occurring delays.
• The student knows the basic working of the internet and internet applications as well as the protocols like TCP, IP, and HTTP.
Pearl 110 Yellow pearl —Machine Learning
• The student knows the basic concepts of artificial intelligence and can design a simple rulebased intelligent system.
• The student knows the basic principles of machine learning and can design and execute a classification task with a (blackbox) classifier.
Pearl 111 White pearl — Requirements Engineering
After absorbing the pearl “Requirements Engineering”
• The student can explain the importance of controlled and predictable realisation of software and project artifacts.
• The student knows a few techniques for project management.
• The student can derive and formulate requirements as well as acceptance criteria for them.
• Besides reaching these learning goals, it is an explicit additional goal of this pearl to formulate requirements and set up a structure for the execution of the project of this module.
Project
After carrying out the project
• The student can coherently apply and integrate knowledge and skills in a team and for a project that is based on realworld aspects.
• The student has experienced going through all phases of realizing a software artefact.
Academic Skills
After absorbing and carrying out the exercises of Academic Skills
• The student is able to analyse their own culture using the theories described in the book Intercultural Sensitivity.
• The student is able to analyse a culture clash case using the theories described in the book Intercultural Sensitivity.
• The student is able to identify which issues they might encounter working in an intercultural environment and propose ways of dealing with these issues.
• The student understands the concepts of fraud and plagiarism, and knows how to behave responsibly as a professional concerning these aspects.
Mathematics / Introduction to Mathematics
The student is able to work with:
Sets and Logic:
• Notations of sets
• Operations on sets
• Special subsets of real numbers
• Logical statements, connectives
• Truth tables
• Predicates and quantifiers
• Logical reasoning
Proofs:
• Direct proof
• Proof by contradiction
• Proof by cases
• Counterexample
• Mathematical induction
Combinatorics:
• Inclusionexclusion principle
• Factorials, permutations and combinations
• Newton's binomial theorem
• Cardinality and countability
Mathematics / Calculus 1A
Functions:
• Functions and their graphs
• Domain, range, even, odd, increasing, decreasing
• Power functions, polynomials, rational functions
• Combining functions, shifting and scaling graphs
• Composite functions
• Trigonometric functions sin, cos, tan
• Doubleangle and halfangle formulas
• Exponential functions and their rules
• Inverse functions, onetoone
• Logarithmic functions and their rules
Limits and Continuity:
• Rates of change and tangents to curves
• Limit of a function and limit laws
• The Sandwich Theorem (or Squeeze Theorem)
• Onesided limits (righthand and lefthand limit)
• Continuity at a point and on an interval
• Rules for continuity
• The Intermediate Value Theorem, consequences
• Several forms of discontinuity
• Limits at infinity, horizontal asymptotes
• Infinite limits, vertical asymptotes
Differentation:
• Difference quotient, average rates of change
• Derivative at a point, (instantaneous) rate of change, slope of the tangent line
• The derivative as a function, notations
• Cases in which the derivative does not exist at a point
• Differentation rules (sum rule, product rule, quotient rule)
• Second and higherorder derivatives, notations
• Applications of derivatives
• Derivatives of the trigonometric functions sin, cos, tan
• Derivative of a composite function, the chain rule
• Derivatives of inverse functions
• Derivative of tan^{1}
• Linearization (standard linear approximation)
• Differentials, estimated changes
Applications of Derivatives:
• Absolute (global) extreme values and lokal (relative) extreme values
• The Extreme Value Theorem
• Critical point
• Absolute extreme values on a finite closed interval
• Limits of indeterminate forms and l’Hopital’s rule
Vectors and the Geometry of Space:
• Coordinate Systems
• Vectors, vector operations, parallelogram law
• Length of a vector, (standard) unit vector(s)
• Dot product, angle between two vectors, orthogonal
• Cross product, torque vector
• Lines and planes in space
Partial Derivatives:
• Domain, range, graph, level curves, and contours of functions of two variables
• Interior point and boundary point of a region in R^{n} , n = 2, 3
• Closed regions, open regions and bounded regions in R^{n} , n = 2, 3
• Limits and continuity of functions of two variables
• Polar coordinates
• Partial derivatives (of first, second and higher order), notations
• Geometric interpretation of first order partial derivatives
• Relations between partial derivatives, continuity and differentiability (for functions of two variables)
• Smooth surface (the graph of a differentiable function)
• Tangent plane to the graph of a differentiable function
• Linearization (standard linear approximation)



In this module, the student receives an introduction to eight ‘pearls’ of computer science covering the breadth of the discipline. One gets acquainted with computer architecture, programming of algorithms, encryption, software development, the internet as computer network, functional programming, artificial intelligence, and databases. Besides this, students work together on a project that either realizes a system that automatically and in an intelligent manner analyses and visualizes Twitter messages, or realizes a security system based on secure passes.



 Assumed previous knowledge(additional) requirement(s) for minorstudents: Maths A level or equivalent
Beware! This module contains Mathematics A + B1, if this was already part of your program, you need to take a replacement course. Contact your program coordinator for more information. 
  Required materialsRecommended materialsCourse materialMaterials will be provided electronically. 

 Instructional modesColstructiePresence duty   Yes 
 LecturePresence duty   Yes 
 PracticalPresence duty   Yes 
 Presentation(s)Presence duty   Yes 
 Project supervisedPresence duty   Yes 
 TutorialPresence duty   Yes 
 Zelfstudie geen begeleiding

 TestsPearls of Computer Science
 Project Pearls of Computer Science
 Introduction to Math. + Calculus 1A
 Additional Requirements


 