Modules 5, 6 and 7 in your second year are part of the core of our Bachelor’s programme in Technical Computer Science. Module 8 is an elective. It makes a lot of sense to take it as it fits seamlessly into this programme, but you are also free to choose a module from another programme at the University of Twente, or even at another Dutch university or abroad.
In this module you will learn how to realize digital circuits using Boolean algebra. With the help of these digital circuits you can develop the basic building blocks for a computer, such as adders and multipliers. You will learn about building standard processors according to the Von Neumann principle and also about Instruction Set Architecture (ISA), which allows you to programme these processes using a programming language. In this module you will programme ‘close to the hardware’. You will also learn how operating systems are built and how they work.
This module is about designing, realizing and evaluating interaction between people and technical systems. In your project, you will work in a multidisciplinary team with members from our Technical Computer Science, Business & IT and Creative Technology programmes. Your goal as a team will be to design an interactive – and possibly intelligent – system and to evaluate it with potential users. In addition to the team project, this muddle includes lectures, instructions and self-study. You will learn about statistics and get familiar with methods for conducting user studies. Quantitative and qualitative methods for analysing the resulting data are also on the menu. In the artificial intelligence part of the module, you will learn and apply various techniques for modelling intelligent system behaviour. Learning to reflect on scientific research in relation to the design and development of technology is also a part of the programme.
In this module you will grow familiar with mathematical structures, such as graphs, networks and languages, as well as basic algebraic structures, such as groups and fields. The focus will be on algorithmic questions connected to these discrete structures. This means data structures, formal languages and models for computation will be on the menu, too.
Why does this module matter? Because discrete structures and efficient algorithms are the silent actors behind the scenes of many of our everyday activities, be it Internet banking – think of safe encryption algorithms – or using a navigation system – think of rapid shortest path computations. In the team project that is part of this module, you will use your knowledge to implement your own algorithm for solving the notorious graph isomorphism problem. Who knows, you may win the programming competition.
The standard style of programming follows the imperative paradigm: you tell the computer what it has to do step-by-step. But there are also some surprising alternatives to this, like the functional and logical paradigm. These are stronger and better suited for certain purposes. In this module, you will not only learn about these alternatives, you will also get a broader view and understanding of other programming language concepts, such as typification and semantics.
Take a look at the third year study programme.