# Computational Thinking (HS 2021)

Course catalogue Previous year

Computation is everywhere, but what is computation actually? In this lecture we will discuss the power and limitations of computation. Computational thinking is about understanding machine intelligence: What is computable, and how efficiently?

Understanding computation lies at the heart of many exciting scientific and social developments. Computational thinking is more than programming a computer -- rather it is thinking in abstractions. Consequently, computational thinking has become a fundamental skill for everyone, not just computer scientists. For example, designing an electronic circuit relates directly to computation. Mathematical functions which can easily be computed but not inverted are at the heart of understanding data security and privacy. Machine learning on the other hand has given us fascinating new tools to teach machines how to learn function parameters. Thanks to clever heuristics, machines now appear to be capable of solving complex cognitive tasks. In this class, we study all these and more problems together with the fundamental theory of computation.

The weekly lectures will be based on blackboard discussions and coding demos, supported by a script and coding examples. The course uses Python as a programming language. Python is popular and intuitive, a programming language that looks and feels a bit like human instructions. The lecture will feature weekly exercises, on paper and in Python.

- Course language: Written English, Spoken German
- Lecture by Roger Wattenhofer, Wednesday 8-10 in ETF C1. The lectures are recorded: Lecture Recordings
- Exercises organized by Lioba Heimbach and take place:
- Monday 12-13 in ETZ F91 by Amane Zürrer
- Monday 13-14 in ETZ F91 by Moritz Kuntze
- Tuesday 09-10 in HG E33.3 by Arman Raayatsanati

- The first exercise will take place on 24.09.2021.
- The exercises are recorded: Exercise Recordings

## News

- Tuesday, 21.12.2021: The final lecture will not be held in person. Instead, it is a test-run for a fipped version of the class. You can find the video that covers the remaining class contents here.
- Thursday, 1.12.2021: Exercise 11 is a competition. You will find the instructions in the notebook for Exercise 11. Please submit your results by December 14th 2021, 23:59. The authors of the three best-performing models get rewarded with some sweet surprise!
- Wednesday, 3.11.2021: The exercises on Friday will no longer take place.
- Chapter 3 was updated between week 5 and week 6 of the lecture. We mostly changed the order of some sections. The content stayed the same apart from cosmetic changes such as better formulations and nicer figures.
- Chapter 3 is substantially different from the 2020 version.
- Thursday, 07.10.2021: A small correction: in Exercise 2 PDF, Task 2, the second hint has been updated. It now defines (
*a*,_{1}*a*) as the normal vector in the opposite direction, in order to be consistent with the sample solution._{2} - Tuesday, 06.10.2021: The exercise recordings can be found here.
- Friday, 24.09.2021: The lecture recordings can be found here.
- Friday, 24.09.2021: The exercises start.
- Wednesday, 22.09.2021: The lectures start.

## Exam

- The exam questions are in English, answers can be in German, English, or a combination of both
- You are allowed to bring any written material you like (lecture notes, books, personal notes,...), but no electronic devices whatsoever (no calculator, phone, laptop, headphones,...).
- The exam will last
**2 hours**and consist of**120 points** - The following topics were
**not**covered in the lecture (=**not**in exam): Topic List - Here, we collected an overview of what you can expect in the exam: Exam Overview
- Old exam questions (with solutions): FS 2021, HS 2020