This is the main course website for the lecture "Bits, Bytes, and Beyond: Foundations of Computer Science" given in winter term 2025/26 at University of Bayreuth.
News¶
- 30. January 2026: Last session before exams. We devote this session to your questions.
- 23. January 2026: Greed, conquest, and brute force? All important principles for designing algorithms!
- 16. January 2026: Have you escaped the maze? In this practical, we’ll compare solutions of the other practical!
- 16. January 2026: Next advanced topic is hashing
- 09. January 2026: Advanced topics coming up! Today is about trees
- 19. December 2025: The practical is about a special programming technique. And sorting.
- 19. December 2025: Today, we consider algorithms for searching and sorting.
- 12. December 2025: And in the practical, we try to develop our own list data structure
- 05. December 2025: Continue your journey through the maze
- 05. December 2025: We continue our journey through data structures.
- 28. November 2025: Good algorithms need structured data.
- 21. November 2025: What makes a good algorithm? Find out
- 21. November 2025: Practice to escape the maze!
- 14. November 2025: We now turn to algorithms.
- 07. November 2025: The second practical will introduce Unix and the shell!
- 07. November 2025: With nondeterministic finite automata and Turing machines we conclude the topic of automata.
- 31. October 2025: After regular expressions, we now turn to machines that evaluate them.
- 24. October 2025: In this practical, we will dive deeper into regular expressions
- 24. October 2025: In this session, we have a look at regular expressions
- 17. October 2025: Lecture starts! See the schedule to access material.
Syllabus¶
This course provides insights into basic methods and concepts from computer science, such as lists, search and sorting methods, binary trees, search trees, graphs, complexity of algorithms, and algorithm theory.
Students will learn to structure and dynamically represent data as well as to analyze the complexity of algorithms.
This course is part of the philosopher’s track of the M.A./M.Sc. Philosophy & Computer Science program and provides philosophers with basic computer science knowledge for more advanced courses.
Examination¶
To complete this lecture, you will write an exam. The exam is conducted as a multiple-choice exam which will be held over a period of 90 minutes and in accordance with the examination and study regulations of the MA Philosophy & Computer Science.
The exam will take place on 6th February 2026, 14:00! You need to register for the exam in order to participate! Deadline for registration is on 30th January 2026 14:00 - so before the last lecture prior to the exam!
Schedule¶
In this section, you will find the outline of the lecture together with slides, code, and additional material.
Legend:
Session was a lecture | |
Session was a practical | |
Find a video here | |
Find slides here | |
Find code material here | |
Find external material here | |
This session has a self assessment quiz attached | |
This session has a script with gap text attached |
References¶
- Thomas H Cormen and Charles E Leiserson. Introduction to Algorithms, fourth edition. MIT Press, London, England, 2022.
- Harald Räcke. Lecture notes to the lecture Intro to Linear Programming. 2021. http://www14.in.tum.de/lehre/2021WS/ea/.
- Harald Räcke. Lecture notes to the lecture Algorithmen und Datenstrukturen. 2019. https://wwwalbers.in.tum.de/lehre/2019SS/ad/index.html.de.
- Till Tantau. Algorithmendesign. Online, 2018. https://www.tcs.uni-luebeck.de/de/mitarbeiter/tantau/lehre/lectures/Algorithmendesign-2016.pdf.
- Till Tantau. Komplexitätstheorie. Online, 2018. https://www.tcs.uni-luebeck.de/de/mitarbeiter/tantau/lehre/lectures/Komplexitaetstheorie-2018.pdf.
- Till Tantau. Einführung in die Informatik. Online, 2016. https://www.tcs.uni-luebeck.de/de/mitarbeiter/tantau/lehre/lectures/EinfuehrungindieInformatik-2016.pdf.