 Learning goals
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 001Blue 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 knows the basic concepts of the chosen functional language,
• The student is able to explain the concept of function application,
• The student understands the principles of recursion and their relationship with induction,
• The student is able to express simple algorithms in the chosen functional language.
Pearl 100 Red pearl — Intelligent Interaction
After absorbing the pearl “Intelligent Interaction”
• The student knows the basic concepts of artificial intelligence and can design a simple rulebased socially intelligent system.
• The student knows the basic principles of machine learning and can design and execute a classification task with a (blackbox) classifier.
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 — Cryptography
After absorbing the pearl “Cryptography”
• The student understands symmetrickey encryption: block ciphers and their modes of operation, stream ciphers, and the onetimepad. They know some basic design techniques of such ciphers, such as linear feedback shift registers and Feistel networks. Also, they know about the existence of DES and AES.
• The student understands asymmetrickey encryption: the RSA cryptosystem and the RSA signature scheme. They know how to use it for key exchange (hybrid encryption).
• The student has 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 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 artifact
Academic Skills
After absorbing and carrying out the exercises of Academic Skills
• The student can explain the importance of working together in a team
• The student can effectively give an receive feedback
• The student understands and can apply the core quality quadrant model of Daniel Ofman
• The student understands and can apply the Belbin team role model
• The student can effectively resolve team conflicts
• The student can evaluate a project
• The student understands the concepts of fraud and plagiarism, and knows how to behave responsibly as a professional concerning these aspects
Mathematics A
The student is able to:
Work with elementary properties of sets and logic:
• Notations of sets
• Operations on sets
• Special subsets of real numbers
• Logical statements, connectives
• Truth tables
• Predicates and quantifiers
• Logical reasoning
Construct elementary proofs:
• Direct proof
• Proof by contradiction
• Proof by cases
• Counterexample
• Mathematical induction
Work with elementary properties of functions and combinatorics:
• Onto, onetoone
• Bijections, inverse, compositions
• Inclusionexclusion principle
• Factorials, permutations and combinations
• Newton's binomial theorem
• Cardinality and countability
Mathematics B1
Work with vectors and elementary properties of functions, especially with the rules of differentiability:
• apply elementary vector operations
• calculate dot product and cross product
• apply elementary properties of functions
• calculate derivatives using differentiation rules and the derivatives of elementary functions
Solve constantcoefficient linear differential equations and work with complex numbers:
• solve homogeneous equations using the characteristic equation
• solve first and second order equations using the method of undetermined coefficients
• solve initial / boundary value problems
• plot (sets of) complex numbers in the plane
• calculate absolute value and argument of a complex number to express the complex number in polar form
• apply the complex arithmetic operations
• find roots of a complex number and solve binomial equations
 Content
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. 
Bachelor Computer Science & Engineering 
  Required materialsRecommended materialsBookRob van Tulder, "Skill Sheets", second edition. ISBN 9789043023139. Pearson. 
 Course materialOther materials 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
 Mathematics A + B1
 Additional Requirements


 