Kies de Nederlandse taal
Course module: 202001022
Pearls of Computer Science Core
Course info
Course module202001022
Credits (ECTS)11
Course typeStudy Unit
Language of instructionEnglish
Contact persondr. F. Ahmed
PreviousNext 5
dr. F. Ahmed
Contactperson for the course
dr. F. Ahmed
dr. F. Ahmed
Examiner P.T. de Boer
N. Bouali
Academic year2023
Starting block
RemarksM1 TCS students register in Osiris; others contact Minor students: register for the minor!
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 understand, analyze, and 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 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.

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 use basic concepts and syntax of the chosen functional language, such as numbers, lists, and recursion.
  • The student can implement specifications and execute systematic tests using quickcheck. 
  • The student can use induction to prove basic properties of small functions.
  • The student can implement 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).
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 tasks of an operating system.
  • The student understands the working and layered architecture of packet-switched computer networks and can reason about the delays occurring in them.
  • The student knows the basic working of the Internet and Internet applications, and protocols like TCP, IP, and HTTP.

Pearl 110 Yellow pearl —Machine Learning
  • The student knows the basic concepts of artificial intelligence and intelligent interaction, and can discuss the use of intelligent systems and their ethical implications.
  • The student understands the basic principles of machine learning, and can design a simple classifier using probability and discriminant functions.
  • The student can evaluate and compare the performance of classifiers.

Pearl 111 White pearl — Requirements Engineering
After absorbing the pearl “Requirements Engineering”
  • The student can explain the importance of controlled and predictable realization 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/hardware artefact.

Academic Skills
After absorbing and carrying out the assignments of Academic Skills:
  • The student understands the concepts of fraud and plagiarism and knows how to behave responsibly as a professional concerning these aspects. They will learn what they can and can not do, what the consequences are, and who to consult in case of doubts about doing the right thing.
  • The student understands how to effectively give and receive both positive and developmental feedback. They will learn the fundamentals of how to deal with feedback since this is the main tool for improvement.
  • The student understands the importance of awareness about diversity while they are working in teams and learn about the difficulties in teamwork considering different backgrounds and skills.
  • The student identifies which issues they might encounter working in an intercultural environment and propose ways of dealing with these issues.
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.

B-TCS students register in Osiris. Others can contact .
Minor students: please register in Osiris for the minor!

Assumed previous knowledge
(additional) requirement(s) for minorstudents: VWO level Math B 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.
Module 1
Participating study
Bachelor Technical Computer Science
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

Self study without assistance

Presence dutyYes

Pearls of Computer Science

Kies de Nederlandse taal