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 — Algoritmics
After absorbing the pearl “Algoritmics”
• 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 databaseschema for a simple case using ER-modeling.
• 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 rule-based socially intelligent system.
• The student knows the basic principles of machine learning and can design and execute a classification task with a (black-box) 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 packet-switched 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 symmetric-key encryption: block ciphers and their modes of operation, stream ciphers, and the one-time-pad. 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 asymmetric-key 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 real-world aspects.
• The student has experienced going through all phases of realizing a software artifact
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
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
• Mathematical induction
Work with elementary properties of functions and combinatorics:
• Onto, one-to-one
• Bijections, inverse, compositions
• Inclusion-exclusion principle
• Factorials, permutations and combinations
• Newton's binomial theorem
• Cardinality and countability
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 constant-coefficient 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
Assumed previous knowledge
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.
||Required materials-Recommended materials|
|Rob van Tulder, "Skill Sheets", second edition. ISBN 978-90-430-2313-9. Pearson.|
|Other materials will be provided electronically.|
|Zelfstudie geen begeleiding|
|Pearls of Computer Science|
|Project Pearls of Computer Science|
|Mathematics A + B1|