Mathematical Structure in Computer Science, Autumn 2025 (4032MATSCY)
The course “Mathematical Structures in Computer Science (MSCS)” has two goals:
- That you learn how to solve concrete problems in computer science through the use of abstract mathematics.
- That you acquire the techniques and abilities to organise mathematical theories into structures and maps between them.
In particular, we will describe and solve continuous problems, such as optimisation problems and control problems, using linear algebra, calculus, differential equations, differential geometry, and category theory. The structures that appear are, for instance, vector spaces, Banach spaces, metric spaces, topological spaces and smooth manifolds, while maps that we consider are typically structure preserving maps like linear maps, bounded maps, non-expansive maps, continuous maps and smooth maps. Category theory will help us to keep track of all the structures, maps and constructions on them. For instance, the (co)tangent spaces will be organised into a functor on the category of smooth manifolds and smooth maps.
Course Setup and Content
Prerequisites
We assume that you know
- Operations on sets (e.g., powerset, products, unions)
- Maps f : X → Y between sets and properties of maps (e.g., injective, surjective and bijective)
- Induction on the natural numbers and first-order logic (see the courses Logic 1 and 2)
- Real n-dimensional vector spaces, (standard) bases and matrices
- Calculus of real-valued functions with one variable, including derivatives, integration, and basic functions like the sine, cosine and exponential
These topics are covered in the courses Foundations of Computer Science, Logic, Linear Algebra and Calculus.
Organisation
The course comprises
- Weekly lectures, see the schedule
- Weekly tutorials, see the schedule
- Weekly practical sessions to work on your project (starting in week 2)
and you will be working on
- Five homework assignments
- A project consisting of three parts
At the end, we will also hold an individual oral examination on the content of the lectures, homework and the project.
Submission Deadlines
The following is an overview over all the submission deadlines in chronological order. You may find detailed information for each part below.
- Homework on lectures 1 - 3: Friday, 26 September, 23:59
- Part 1 of the project: Monday, 06 October, 23:59
- Homework on lectures 4 - 5: Friday, 17 October, 23:59
- Homework on lectures 6 - 8: Friday, 14 November, 23:59
- Part 2 of the project: Monday, 24 November, 23:59
- Homework on lectures 9 - 10: Friday, 28 November, 23:59
- Homework on lectures 11 - 12: Friday, 12 December, 23:59
- Part 3 of the project: Monday, 15 December, 23:59
Grading
The final grade is calculated as follows:
- Five homework sets (individual grade): 20%, where each assignment has the same weight.
- Team project in three parts (group grade): 40%, where the three assignments are weighed with 10%, 10% and 20%, respectively.
- Oral exam on project and course (individual grade): 40%
The team project can be improved once, if the average grade is 5.5 or lower and for each of the three parts a serious attempt has been submitted by the deadline. The oral exam can be retaken. No retake is available for the homework assignment.
The homework is an individual assignment and it must be possible to evaluate a submission as the students own work.
What you will work on
Homework
The homework comprises of mathematical exercises that will help you to practise the material and receive feedback. There are 5 sets of homework that we will distribute:
- on the introduction, vector spaces, and inner products, norms and metrics
- on categories and functors, and on topology
- on vector calculus and ODEs
- on smooth manifolds and tangent spaces
- on bundles and (co)vector fields
Project
The project is an essential driver of the course, as you will use all the theoretical knowledge to solve concrete problems. We will provide a few projects that you choose one from. Each project consists of three parts that you have to submit throughout the semester, see Submission Deadlines.
Oral Exam
At the end of the course, each student will take an individual oral exam. During this exam, we will discuss with you the course content, your approach to the homework exercises and your contributions to the project. Details for the scheduling will follow, once we know roughly how many students will follow the course.
Lecture Schedule
With the exception of two weeks, we have every Friday a lecture at 11:00 and a tutorial at 13:15 in Gorleaus DM.1.19. Starting 10 September and with the exception of 22 October, we have every Wednesday a practical session at 9:00 in the computer room Gorleaus DM.0.17-PC.
Here is the detailed list of the lectures and tutorials, numbered by semester week:
- Friday, 05 September, 11:00: Lecture and tutorial 1
- Friday, 12 September, 11:00: Lecture and tutorial 2
- Friday, 19 September, 11:00: Lecture and tutorial 3
- Friday, 26 September, 11:00: Lecture and tutorial 4
- Friday, 03 October, 11:00: Nothing
- Friday, 10 October, 11:00: Lecture and tutorial 5
- Friday, 17 October, 11:00: Lecture and tutorial 6
- Friday, 24 October, 11:00: Nothing
- Friday, 31 October, 11:00: Lecture and tutorial 7
- Friday, 07 November, 11:00: Lecture and tutorial 8
- Friday, 14 November, 11:00: Lecture and tutorial 9
- Friday, 21 November, 11:00: Lecture and tutorial 10
- Friday, 28 November, 11:00: Lecture and tutorial 11
- Friday, 05 December, 11:00: Lecture and tutorial 12
- Friday, 12 December, 11:00: Lecture and tutorial 13
Lecture and Tutorial 1
Introduction – Thinking in Terms of Maps and Structures:
- Motivating examples (robot arm, optimisation)
- Role of structures: sets, vector and topological spaces, manifolds
- Role of maps: trajectories, conditions, costs and fields
Lecture and Tutorial 2
Vector spaces:
- Abstract definition of vector spaces and linear maps
- Bases and dimension
- Matrix representation of linear maps on finite dimensional spaces
- Dual space and dual basis
- Direct sum
Lecture and Tutorial 3
Inner Product and Norm Spaces:
- Abstract Definition
- Euclidean geometry
- Matrix spaces Lin(n, m) and GL(n)
- General function spaces Lin(X, Y) and 𝐿²(ℝ)
- Continuous maps for induced metric
Lecture and Tutorial 4
Categories and Functors:
- Universal mapping properties as motivation: direct sum of vector spaces
- Definition and examples of categories
- Definition and examples of functors
Lecture and Tutorial 5
Topology:
- Topological spaces
- Continuous maps
- Examples (including neighbourhood basis for normed spaces)
- Paths
- Compactness
Lecture and Tutorial 6
Vector Calculus I:
- Total derivative on vector spaces
- Chain rule for total derivatives
- Partial derivative on opens in Euclidean spaces
- C¹, C² and smooth maps
- Chain rule for partial derivatives Euclidean spaces
Lecture and Tutorial 7
Vector Calculus II:
- Mixed partial derivatives
- Jacobian
- Directional derivative
- Partial derivative under integral
- Banach fixed point theorem, inverse function theorem and implicit function theorem
Lecture and Tutorial 8
Ordinary Differential Equations:
- Motivational examples
- General definition
- Flows as solutions
- Outlook on exact solutions vs. simulation
Lecture and Tutorial 9
Smooth Manifolds:
- Definition smooth manifold
- Examples: vector spaces, spheres, graphs, level sets, matrices, product manifolds
- Topology on smooth manifolds
- Definition smooth map
- Category of smooth manifolds
Lecture and Tutorial 10
Tangent Spaces:
- Axiomatic requirements
- Derivations as implementation of tangent space
- Immersions, submersions, embeddings, quotients
Lecture and Tutorial 11
Tangent and Cotangent Bundle:
- Slice categories
- (Co)tangent bundle construction
- Vector bundles
- Local pushforwards and pullbacks
Lecture and Tutorial 12
Vector Fields and 1-Forms:
- Sections of bundles
- Example vector and covector fields
- Differential of a function as 1-form
- Integration of curves along 1-forms
- Pullbacks of covector fields and pushforward along diffeomorphisms of vector fields
- ODEs and flows via vector fields
Lecture and Tutorial 13
Summary and final tutorial