Kies de Nederlandse taal
Course module: 201700139
Pearls of Computer Science
Course infoSchedule
Course module201700139
Credits (ECTS)15
Course typeModule
Language of instructionEnglish
Contact persondr. D. Bucur
PreviousNext 5
Lecturer P.T. de Boer
Contactperson for the course
dr. D. Bucur
dr. D. Bucur
dr. T.S. Craig
Lecturer G. Englebienne
Academic year2019
Starting block
Application procedureYou apply via OSIRIS Student
Registration using OSIRISYes
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 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 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 symmetric-key encryption: block ciphers and their modes of operation, stream ciphers, and the one-time-pad. He/She knows basic design techniques of such ciphers, such as Feistel networks.
• The student understands asymmetric-key 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 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 —Machine Learning
• The student knows the basic concepts of artificial intelligence and can design a simple rule-based 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 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.
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 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

•        Direct proof
•        Proof by contradiction
•        Proof by cases
•        Counterexample
•        Mathematical induction

•        Inclusion-exclusion principle
•        Factorials, permutations and combinations
•        Newton's binomial theorem
•        Cardinality and countability

Mathematics / Calculus 1A
•        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
•        Double-angle and half-angle formulas
•        Exponential functions and their rules
•        Inverse functions, one-to-one
•        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)
•        One-sided limits (right-hand and left-hand 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
•        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 higher-order 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 Rn , n = 2, 3
•        Closed regions, open regions and bounded regions in Rn , 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.
Participating study
Required materials
Recommended materials
Course material
Materials will be provided electronically.
Instructional modes
Presence dutyYes

Presence dutyYes

Presence dutyYes

Presence dutyYes

Project supervised
Presence dutyYes

Presence dutyYes

Zelfstudie geen begeleiding

Pearls of Computer Science

Project Pearls of Computer Science

Introduction to Math. + Calculus 1A

Additional Requirements

Kies de Nederlandse taal