Computer Science
TI-Mi-200
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 deepen your Python programming skills, apply algorithms and data structures on a variety of problems in domains such as data science, and work in teams using modern development and collaboration tools.
For whom?
This minor is available for bachelor’s students from the TU Delft, Leiden University, and Erasmus University of Rotterdam. Students from other universities are unfortunately not eligible to follow this minor. If you are a student from Leiden or Erasmus, 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’s students can apply for this minor, except for students of the bachelor’s in Computer Science and Engineering.
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’s students from Applied Mathematics (BSc TW) the following applies:
Computer Science Minor (TI-Mi-200) course | Considered equivalent for BSc TW students | To be replaced by | |||
TI3105TU | Intermediate Python Programming | AM1090 | Introduction to Programming | CSE1400 | Computer Organisation |
TI3111TU | Algorithms & Data Structures | TI1520AM | Algorithms & Data Structures | CSE2220 | Signal Processing |
Prerequisites
In order to be able to successfully start this minor, you need to have some basic programming skills. To help you figure out whether you are at the correct level, we have created a mini-course on Python Prerequisites. You can find our mini-course here: ipp.pages.ewi.tudelft.nl/python-prerequisites/. Please check it out before registering for this minor programme. If you have trouble doing the assignments, this minor programme might not be for you.
In addition to basic programming skills, knowledge of university-level mathematics (calculus, linear algebra, probability, and statistics) is recommended.
What will you learn
- 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.
Course overview
Quarter 1
This first quarter offers you courses on 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.
-
This course builds on top of your basic programming skills. The language used is 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.
-
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.
-
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.
Quarter 2
-
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 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.
-
In the final project, you will apply the topics you learned in previous courses while developing a software product with a group. You can choose between one of these projects:
Data Technologies project EWI3615TU, 5 ECTS
In the Data Technologies project, issues of web scraping, web-API programming, big data / machine learning and artificial intelligence come together. You learn how to set up live data mining from the web, pipeline processing of large amounts of data from different streams, and create a graphical presentation of results in real time charts, dashboards, hubs, and maps. Data from the web may include tweets from Twitter accounts, stock data, flight data, audio samples from Spotify, etc. Your team chooses its own topic, makes a work plan, and realizes results accordingly in a professional repository on Gitlab. Result presentation may include video platforms such as YouTube, map platforms such as OpenMaps, a Notebook Hub, or a live dashboard on the web. After this course, you know how to do live web programming, how to setup and use a software production platform using Git, and how to deploy live results on web platforms.Game Development project TI3715TU, 5 ECTS
This project course will teach you what it takes to design and implement you own computer game, integrating many techniques and skills acquired in this minor (e.g. algorithms, graphics, modeling, AI), while working as a small game studio. At the end of the course, you will be able to develop and integrate your own algorithms and assets within a game engine.
Education methods
The learning activities include lectures, practicals and projects. Check the detailed overview of each course at www.studiegids.tudelft.nl.
Frequently asked questions
-
No, the CS minor is only for BSc students.
-
No, only BSc students from TU Delft, and students from certain faculties of Leiden University and Erasmus University of Rotterdam can participate.
-
Some students have already done a course on Python in their bachelor’s programmes and wonder whether they can get a replacement for the Python course in this minor programme (TI3105TU).
We cannot offer a replacement for TI3105TU, unless you are a Mathematics student from the TU Delft (in which case you should follow the replacement table presented above).
Register for this minor
Participating institutions
Faculty of Electrical Engineering, Mathematics, and Computer Science.