Mathematical Foundations of Computer Science
About
- Module: Mathematical Foundations to Computer Science (CH-233)
- Semester: Fall 2026
- Prerequisites: None
- Instructor: Jürgen Schönwälder
- Office Hours: Monday, 11:15-12:30 (Research I, Room 87)
- TA (Group A): Bobokhidze, Nutsa
- TA (Group B): Hajizada, Leyla
- TA (Group C): Ali, Muhammad
- TA (Group D): Saidi, Zineb
- TA (Group E): Tesfaye, Nahom Tewodros
- TA (Group F): Ullah, Rehmat
- TA (Group G): Zeynalli, Mustafa
- Lecture: Tuesday, 11:15-12:30 (RLH-172)
- Lecture: Friday, 08:15-09:30 (RLH-172)
- Tutorial: Friday, 09:45-11:00 (RLH-172)
- TA Tutorial: TBD
- Dec Exam: TBD
- Dec Exam Review: TBD
- Jan Exam: TBD
- Jan Exam Review: TBD
Content and Educational Aims
The module introduces students to the mathematical foundations of computer science. Students learn to reason logically and clearly. They acquire the skill to formalize arguments and to prove propositions mathematically using elementary logic. Students are also introduced to fundamental concepts of graph theory and elementary graph algorithms.
After establishing the concept of algorithms, the first part covers basic elements of discrete mathematics, leading to Boolean algebra, propositional logic, and predicate logic. Students learn how to use fundamental proof techniques to prove (or disprove) simple propositions. The second part of the module introduces students to basic concepts of algebraic structures like groups, rings, and fields and different structure preserving maps (homomorphisms). Students study how these abstract concepts relate to problems in computer science. The last part of the module covers the basic elements of graph theory and the different representation of graphs. Elementary graph algorithms are introduced that have a wide range of applicability in computer science.