
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.



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.
Enrolment
BTCS students register in Osiris. Others can contact modulesupporttcs@utwente.nl .
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. 
Bachelor Technical Computer Science 
  Required materialsRecommended materialsCourse materialMaterials will be provided electronically. 

 Instructional modesColstructionPresence duty   Yes 
 LecturePresence duty   Yes 
 PracticalPresence duty   Yes 
 Presentation(s)Presence duty   Yes 
 Project supervisedPresence duty   Yes 
 Self study without assistance
 TutorialPresence duty   Yes 

 TestsPearls of Computer Science


 