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 visualisation. In addition, you will finish the minor with a final project.

Eligibility criteria

This minor is available for bachelor students from the TU Delft, Erasmus University of Rotterdam, and Leiden University. Students from other universities are unfortunately not eligible to follow this minor. If you are a student from Erasmus or Leiden, please check the "thematic minor overview" spreadsheet to see whether you can apply for this minor (based on which faculty you study at).

All TU Delft bachelor students can apply for this minor, except for 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 Computer Science master’s 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

  • 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 EC
    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). By 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 EC
    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. By 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 EC
    This course will teach you how to apply best practices in software development. You will learn about software development methodologies, requirements engineering, code quality, and software testing. By 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 EC
    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 EC
    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 EC
    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.

Frequently asked questions

Can I follow the Computer Science minor if I am from a university outside Delft, Leiden or Erasmus? Or if I am an MSc student?

No, only BSc students from the TU Delft, Erasmus University of Rotterdam or Leiden University can participate.

When does registration for the minor start, and what is the procedure?

See the information here:

Can I follow individual courses from this minor programme, for instance in a “free minor”?

No, these courses are only accessible to students who have registered for the Computer Science minor programme (via the regular registration procedure).

What if I get accepted for the minor, but then do not pass all courses?

You are already enrolled then, so you do not need to register for the minor programme again. You can retake the courses that you were not able to finish on the first try. As usual, be sure to enrol on Brightspace and register for the exams on Osiris for the courses you still need to finish.

More information

If you need more information, you can send an e-mail to the coordinators at Please make sure you have read the available information on this page and the central TU Delft minor information pages before sending us an e-mail.