This is the main course website for the lecture "Bits, Bytes, and Beyond: Foundations of Computer Science" given in winter term 2024/25 at University of Bayreuth.
News¶
- 07. February 2025: Last session before exams. We devote this session to your questions.
- 31. January 2025: Have you escaped the maze? In this practical, we’ll compare solutions of the other practical!
- 31. January 2025: Greed, conquest, and brute force? All important principles for designing algorithms!
- 24. January 2025: Next advanced topic is hashing
- 17. January 2025: Advanced topics coming up! Today is about trees
- 17. January 2025: The practical is about a special programming technique. And sorting.
- 10. January 2025: Today, we consider algorithms for searching and sorting.
- 20. December 2024: And in the practical, we try to develop our own list data structure
- 20. December 2024: We continue our journey through data structures.
- 13. December 2024: Good algorithms need structured data.
- 06. December 2024: What makes a good algorithm? Find out
- 06. December 2024: Practice to escape the maze!
- 29. November 2024: We now turn to algorithms.
- 22. November 2024: Thinking about Turing machines we conclude the topic of automata.
- 22. November 2024: The second practical will introduce Unix and the shell!
- 15. November 2024: With nondeterministic finite automata we continue in this session.
- 08. November 2024: After regular expressions, we now turn to machines that evaluate them.
- 08. November 2024: In this practical, we will dive deeper into regular expressions
- 25. October 2024: In this session, we have a look at regular expressions
- 18. October 2024: 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 have an individual oral exam (meaning it is not conducted in groups). The oral exam will take between 20 and 30 minutes in accordance with the examination and study regulations of the MA Philosophy & Computer Science. Dates for oral exams will be decided individually.
Please make sure to register for the exam! Registration is possible until 31. January 2025, 10:00!
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.