# ETH Study Materials

Welcome to my collection of ETH Zürich study materials. As a former tutor at ETH, I've created resources for two Computer Science courses in the Electrical Engineering and Mechanical Engineering bachelor programs. I have since finished my studies and left ETH Zürich, but I'm archiving these documents here.

## Informatik 1

Informatik 1 is a foundational course in C++ programming for first-year bachelor students in Electrical Engineering and Mechanical Engineering at ETH Zürich. This course introduces students to the basics of programming, algorithms, and problem-solving using C++.

### Study Videos for Informatik 1

These study videos, recorded by EE4ETH, condense the 10 most important topics of the lecture into several short Youtube videos.

[Full Playlist](https://www.youtube.com/playlist?list=PL0WLWTsoAENg6yiw2hdDDzu-6xpZhU-yh)

### Weekly Exercise Sessions for Informatik 1

Exercise Slides I've created for Spring Semester 2019. These slides were used in weekly exercise sessions to reinforce C++ concepts and provide hands-on coding practice.

- Exercise 1 (<a href="/info1/Exercises/Ex1" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info1/Exercises/Ex1/Ex1.pdf" target="_blank">Pdf</a>) - Main Funktion, Integer Division, Expressions
- Exercise 2 (<a href="/info1/Exercises/Ex2" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info1/Exercises/Ex2/Ex2.pdf" target="_blank">Pdf</a>) - Vergleiche, Präzedenz, Loop
- Exercise 3 (<a href="/info1/Exercises/Ex3" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info1/Exercises/Ex3/Ex3.pdf" target="_blank">Pdf</a>) - Fliesskomma Zahlen, Scopes, Loops
- Exercise 4 (<a href="/info1/Exercises/Ex4" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info1/Exercises/Ex4/Ex4.pdf" target="_blank">Pdf</a>) - Fliesskomma Zahlen, Funktionen
- Exercise 5 (<a href="/info1/Exercises/Ex5" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info1/Exercises/Ex5/Ex5.pdf" target="_blank">Pdf</a>) - Pre-/Post-Conditions, Funktionen, Stepwise Refinment
- Exercise 6 (<a href="/info1/Exercises/Ex6" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info1/Exercises/Ex6/Ex6.pdf" target="_blank">Pdf</a>) - Vectors, Chars, Const, References
- Exercise 7 (<a href="/info1/Exercises/Ex7" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info1/Exercises/Ex7/Ex7.pdf" target="_blank">Pdf</a>) - 2D-Vectors, Recursive Functions
- Exercise 8 (<a href="/info1/Exercises/Ex8" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info1/Exercises/Ex8/Ex8.pdf" target="_blank">Pdf</a>) - Pre-/Infix, EBNF
- Exercise 9 (<a href="/info1/Exercises/Ex9" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info1/Exercises/Ex9/Ex9.pdf" target="_blank">Pdf</a>) - Structs, Operator Overloading
- Exercise 10 (<a href="/info1/Exercises/Ex10" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info1/Exercises/Ex10/Ex10.pdf" target="_blank">Pdf</a>) - Klassen, Headerfiles, Pointers, New/Delete
- Exercise 11 (<a href="/info1/Exercises/Ex11" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info1/Exercises/Ex11/Ex11.pdf" target="_blank">Pdf</a>) - Nullpointer, Container, Iteratoren, Linked List
- Exercise 12 (<a href="/info1/Exercises/Ex12" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info1/Exercises/Ex1/Ex12.pdf" target="_blank">Pdf</a>) - Destuctor-, Assignment- & Copy Operator, Prüfungstipps

### PVK for Informatik 1
This exam preparation workshop condenses the entire semester's material into a comprehensive one-day review.

- Slides (<a href="/info1/pvk/slides/dark" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info1/pvk/slides/light/PVK_Info1_Light.pdf" target="_blank">Pdf</a>)
- Mock Exam (<a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info1/pvk/PVK19_Pruefung_Zusammenschnitt.pdf" target="_blank">Questions</a> / <a href="/info1/pvk/PVK19_Pruefung_Zusammenschnitt_Loesungen.pdf" target="_blank">Solution</a>)

## Informatik 2
Informatik 2 is the second-semester programming course for Electrical Engineering bachelor students at ETH Zürich. This course focuses on Java and object-oriented programming principles, building upon the foundational knowledge from Informatik 1.

### Weekly Exercise Sessions for Informatik 2
These slides were used in wueekly exercise sessions to explore Java concepts and object-oriented programming techniques.
- Exercise 1 (<a href="/info2/Exercises/Ex1" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info2/Exercises/Ex1/Ex1.pdf" target="_blank">Pdf</a>) - Java Intro, Altägyptische Multiplikation
- Exercise 2 (<a href="/info2/Exercises/Ex2" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info2/Exercises/Ex2/Ex2.pdf" target="_blank">Pdf</a>) - Bäume, Recursive Sort
- Exercise 3 (<a href="/info2/Exercises/Ex3" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info2/Exercises/Ex3/Ex3.pdf" target="_blank">Pdf</a>) - String/StringBuffer, Syntaxdiagramme, Programmverifikation
- Exercise 4 (<a href="/info2/Exercises/Ex4" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info2/Exercises/Ex4/Ex4.pdf" target="_blank">Pdf</a>) - Ackermann Funktion, Bytecode, Stacks
- Exercise 5 (<a href="/info2/Exercises/Ex5" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info2/Exercises/Ex5/Ex5.pdf" target="_blank">Pdf</a>) - Call by Reference, Pakete, Linked List
- Exercise 6 (<a href="/info2/Exercises/Ex6" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info2/Exercises/Ex6/Ex6.pdf" target="_blank">Pdf</a>) - Klassen, Polymorphie, Factories
- Exercise 7 (<a href="/info2/Exercises/Ex7" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info2/Exercises/Ex7/Ex7.pdf" target="_blank">Pdf</a>) - Generics, Spielbäume, Reversi
- Exercise 8 (<a href="/info2/Exercises/Ex8" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info2/Exercises/Ex8/Ex8.pdf" target="_blank">Pdf</a>) - Binäre Suche, Backtracking
- Exercise 9 (<a href="/info2/Exercises/Ex9" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info2/Exercises/Ex9/Ex9.pdf" target="_blank">Pdf</a>) - Minimax, Alpha-Beta, Reversi
- Exercise 10 (<a href="/info2/Exercises/Ex10" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info2/Exercises/Ex10/Ex10.pdf" target="_blank">Pdf</a>) - Divide and conquer, Hanoi, Mergesort
- Exercise 11 (<a href="/info2/Exercises/Ex11" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info2/Exercises/Ex11/Ex11.pdf" target="_blank">Pdf</a>) - Laufzeitkomplexität
- Exercise 12 (<a href="/info2/Exercises/Ex12" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info2/Exercises/Ex1/Ex12.pdf" target="_blank">Pdf</a>) - Heaps, Paralleles Programmieren

### PVK for Informatik 2
This exam preparation workshop condenses the entire semester's material into a comprehensive one-day review.
- Slides (<a href="/info2/pvk/slides" target="_blank">Web</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info2/pvk/slides/informatik-ii-pvk-2021.pdf" target="_blank">Pdf</a>)</li>
- Mock Exam (<a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info2/pvk/PVK_Info2_Pruefung_Zusammenschnitt.pdf" target="_blank">Questions</a> / <a href="https://codeberg.org/pascscha/weblog/media/branch/main/static/info2/pvk/PVK_Info2_Pruefung_Zusammenschnitt_Loesungen.pdf" target="_blank">Solution</a>)

---

> License: CC BY 4.0. To view a copy of this license, visit <https://creativecommons.org/licenses/by/4.0/>
