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.

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" 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 programme later.

For bachelor students from Applied Mathematics (BSc TW) the following applies:

Computer Science Minor (TI-Mi-200) course: The content equivalent for BSc TW students: To be replaced by:
TI3105TU Introduction to Python Programming AM1090 Introduction to Programming CSE1400 Computer Organisation
TI3111TU Algorithms & Data Structures TI1520AM Algorithms & Data Structures CSE2220 Signal Processing

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 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 TI3111TU, 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.

Frequently asked questions

Can I follow the CS minor?

If I am an MSc student?
No, the CS minor is only for BSc students.

If I am from University X?
No, only BSc students from Delft, Leiden or Erasmus can participate.

When does registration for the minor start? And what is the procedure?

What is the procedure to get selected for the minor?

More information