Computer Science

In the minor Computer Science, you get an introduction on two of the hottest topics in the field: modern software development and data science. You will learn to program in Python, to apply algorithms and data structures on a variety of problems in domains such as data science, and to work in teams using modern development and collaboration tools.

The minor is composed of 6 courses:

  • In the first quarter, you will handle some core computer science topics. Specifically, you will learn how to program in Python, how to design and evaluate algorithms and data structures to handle general computation problems and how to create quality code using modern software engineering techniques.

  • In the second quarter, you will focus around data science topics. More specifically, you will dive on automated ways to do data analysis and visualization. In addition, you will finish the minor with a final project.

This minor is for all TU Delft undergraduate students except students of the bachelor in Computer Science and Engineering. Programming knowledge is not required. Knowledge of university-level mathematics (calculus, linear algebra, probability, and statistics) is recommended. This is a regular minor, and not a bridging minor that would allow students to join our CS masters programme later.

For bachelor students from Applied Mathematics who have previously completed TW1090 Introduction to Programming and/or TI1316TW Algorithms & Data Structures  the replacement courses are CSE1400 Computer Organization and/or CSE2220 Signal Processing. You can get approval for this change with the minor coordinator. 

Learning objectives

  • Eligibility criteria: Students from TU Delft, Erasmus University of Rotterdam, and Leiden University.
  • Develop sufficiently complex software programs, using Python.
  • Understand, apply, and adapt core computer science algorithms and data structures.
  • Understand and apply software engineering principles and techniques.
  • Develop data science applications using modern tools and visualization techniques.


1st Quarter

This first quarter offers you an introduction to Python programming, algorithms and data structures, and software engineering. The courses are aligned in a meaningful way such that the workload is spread evenly over the quarter.

Introduction to Python Programming TI3105TU, 5 ECTS
This is an introductory programming course. You will learn how to program in Python, the programming language behind many widely known systems (e.g. YouTube and DropBox). After the end of the course, you will be able to think about problems like a computer scientist and solve them like a hacker.

Algorithms and Data Structures TI3110TU, 5 ECTS
This course will teach you how organise data in in-memory data structures and how to apply basic CS algorithms to perform tasks such as sorting, searching, ranking and traversing data. After the end of the course, you will be able to solve problems such as finding shortest paths on graphs and searching through millions of items in milliseconds.

Software Engineering Methods TI3115TU, 5 ECTS
This course will teach you how to apply best practices in software development. You will learn about software development methodologies, requirements engineering, software testing, code quality, and software testing. After the end of the course, you will be able to understand the principles behind high-quality software, as well as to work in/with software engineering teams.

2nd Quarter

Data Analytics TI3130TU, 5 ECTS
This course will teach you how data-driven techniques can improve your ability to make decisions and predict trends.

You will walk away with an understanding of how to tackle real world problems, from raw data to conclusions, through data wrangling, solving simple statistical problems and (visually) communicating your findings.

Visual Data Processing TI3135TU, 5 ECTS
Visual data is a broad category, including images, videos, geometry and other data forms that contribute to visual content. This course will teach you the theory, methods, and also possibilities that such data sets offer. Several example applications will be implemented in the accompanying practical sessions.

Minor CS project EWI3615TU, 5 ECTS
In this course, you will apply the topics learned in previous courses on a group project. You will choose the topic of your project among a list of options we offer every year. This year, you will have two project topics to choose from: data science and computer games.

More information

Przemek Pawelczak

Neil Yorke-Smith

Frank Mulder