Lecture Highlights of Theoretical Computer Science (Summer 2024)
Type: |
Lecture with Exercises |
Programs: |
BSc & MSc CS, ITS, AI, Mathematics |
Lecturers: |
Vladimir Lysikov,
Michael Walter,
Thomas Zeume
|
Teaching Assistant: |
Marko Schmellenkamp
|
Time and Place: |
Lectures: Tue 10-12 and Thu 10-12 (MC 1.54) Exercises: Tue 14-16 (MC 1.54)
|
First meeting: |
April 9 |
Credits: |
9-10 CP |
Contact time: |
4+2 SWS |
Language: |
English |
Course number: |
211057 |
Links: |
Moodle,
VVZ
|
Interested in this course? If you plan on participating, please kindly sign up on Moodle so that we know how many people to expect.
Course Description & Syllabus
TLDR: 🙌 If you enjoyed your first course in theoretical computer science in the Bachelor’s and would like to deepen your knowledge by getting an overview of the fascinating theory of computing, then this course will be exactly right for you! 🙌
The insights of modern theoretical computer science are key for advances in all areas of computer science.
In this course, we will discuss some highlights and the techniques that underpin them.
Possible topics that we might cover:
- Computational models (is there life beyond Turing machines?)
- Kolmogorov complexity (what is the shortest program that produces some output?)
- Communication complexity (how many bits must Alice and Bob exchange to jointly solve a problem?)
- Fine-grained complexity (are some easy problems easier than others? and why?)
- Fast multiplication of numbers and matrices (can you beat the high-school method?)
- Randomness (does it really help to compute faster?)
- Circuit lower bounds (why is it so hard to prove that problems are hard?)
- Convex optimization (how to maximize profit if all you can ask are yes/no questions)
- Hardness of approximation (how easy is it to find near-optimal solutions?)
- Cryptography and computation (from assumptions to zero knowledge)
Prerequisites
Successful completion of an introductory course on theoretical computer science (covering formal languages, basics of complexity theory including NP-completeness and reductions, basics of computability theory). Interest and motivation to learn about theoretical concepts.
Literature
There is no single textbook for the course. Two good starting points are:
Learning Outcomes
You will know some of the most important results and insights of modern theoretical computer science. You will learn approaches and techniques that go well beyond a first course. You will be able to recognize when these can be used and how to adapt them to new situations. You will be able to independently acquire new knowledge in this area.
← Back