mircoschoenfeld
  • publications
  • teaching
  • talks and workshops
  • community service
  • research projects
  • lab@ubt
  • blog

Lecture "Bits, Bytes, and Beyond: Foundations of Computer Science" (Winter 2024/25)

Contents

  • News
  • Syllabus
  • Examination
  • Schedule
  • References

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.

Section Title
Introduction Motivation of the lecture
Regular Expressions Introduction to regular expressions
Regular Expressions Practical introduction to regular expressions
Automata From regular expressions to automation
Automata Nondeterministic finite automata
Automata Getting to know the shell
Automata From finite states to Turing machines
Control Instructions Designing Algorithms
Control Instructions Escape the maze!
Introduction to Complexity What are good algorithms?
Data Structures Data Types and Data Structures
Data Structures Fun with lists
Advanced Algorithms Searching and Sorting
Advanced Algorithms Sorting with Recursion
Advanced Algorithms Trees
Advanced Algorithms Hashing
Design Principles From greedy algorithms to exhaustive search

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.

  • « Lecture: Data Modeling and Knowledge Generation (Winter 2024/25)
  • Seminar: Introduction to computer-based text analysis (latest iteration) »

Published

17. Oct, 2024

Last Updated

Jan 23, 2025

Tags

  • lecturenotes 12
  • teaching 22
  • ubt 19

Links

  • elearning@ubt
  • cmlife@ubt

Find me here

  • This website contains no ads, cookies, trackers or social media buttons.
  • Powered by Pelican and Elegant.