Computational Thinking (HS 2022)
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 course uses Python as a programming language. Python is popular and intuitive, a programming language that looks and feels a bit like human instructions.
This course follows the flipped classroom paradigm. Students will self-study all important concepts by
- reading a chapter in the script, and by
- watching a few short video clips.
The lecture will also feature weekly paper exercise sessions to learn all the important concepts, with questions on the level of exam questions.
- weekly paper exercises are managed by Lioba Heimbach
- the first exercise will be on 23.09.2022
- you can choose any session below, no registration needed
- Friday 10-11 in ETZ G91 and on Zoom by Arman Raayatsanati
- Friday 11-12 in ETZ G91 by Arman Raayatsanati
- Monday 12-13 in ETZ F91 by Judith Beestermöller and Benjamin Estermann
- Monday 13-14 in ETZ F91 by Judith Beestermöller and Benjamin Estermann
- Tuesday 9-10 in HG E 33.3 by Judith Beestermöller and Benjamin Estermann
The whole class meets every two weeks. In each meeting,
- we will answer of your questions (please submit questions in eduapp or moodle)
- we are going to have a quiz on the subject, and
- we will (sometimes) discuss a programming challenge.
- these general meetings are happening in semester weeks 1, 3, 5, 7, etc., organized by Roger Wattenhofer, Thursday 12-2 in ETF E1 (Recordings)
Students can win a 1/4 bonus grade for the exam, by
- being in the top 3 in a single quiz,
- or by being part of the winning team (up to 3 students) of a single programming challenge,
- or by having actively participated in at least half the quizzes and programming challenges throughout the semester,
- or by having actively participated in Moodle discussion forum throughout the semester.
- Here you can see whether you will get the bonus.
- If you did not get the bonus, but you have a good excuse why you should get it (e.g., doctor's note, military service), send an email to Quentin Kniep.
- Tuesday, 17.01.2023: Please all come to room HIL F 41 for the exam.
- Monday, 09.01.2023: You can find the quiz questions (without answers) here and the corresponding slides here.
- Friday, 06.01.2023: We have uploaded a compact version of the script. In case you would like to have a printed copy of the script from us for the exam, please contact us 20 January. We will reuse these for future exams.
- Thursday, 22.12.2022: The exercise session on Friday will not take place.
- Monday, 19.12.2022: We have uploaded the remaining video for Chapter 7.
- Thursday, 15.12.2022: You have until today evening to upload submissions to the Kaggle challenge. You have time until tomorrow evening to inform us of your team name and composition.
- Thursday, 08.12.2022: We have uploaded the remaining videos for Chapter 6. Note that Chapter 6.7 will not be exam material this year.
- Wednesday, 16.11.2022: You can check how close you are to getting the bonus here.
- Tuesday, 25.10.2022: We forgot to upload the video on Zero Knowledge Proofs (3.9). This is fixed now.
- Monday, 17.10.2022: The live leaderboard for programmming challenge 1 is now enabled on the submisson interface. See you at the top of the leaderboard!
- Tuesday, 04.10.2022: Today's exercise session will also be on Zoom.
- Friday, 30.09.2022: The zoom link for the virtual exercise session was changed.
- Thursday, 22.09.2022: First general meeting.
- Friday, 23.09.2022: First exercise session.
- Programmming challenge 1 is now online. You can find it here. Please regularly check the announcements section on the submission interface.
- Programmming challenge 2 is now online. You can find it here.
- The exam will take place on 25.01.2023 from 15:00-17:00 in room HIL F 41.
- 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 120 minutes and consist of 120 points
- Here, we collected an overview of what you can expect in the exam: Exam Overview
- Old exam questions (with solutions): FS 2022, HS 2021, FS 2021, HS 2020