Mathematical Structure in Computer Science, Autumn 2026 (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
and you will be working on
- One homework assignment to warm up
- 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: Monday, 28 September, 08:00
- Part 1 of the project: Monday, 05 October, 08:00
- Part 2 of the project: Monday, 09 November, 08:00
- Part 3 of the project: Thursday, 03 December, 23:59
Grading
The final grade is calculated as follows:
- One homework sets (individual grade): 10%
- Team project in three parts (group grade): 30%, where each part weighs 10%
- Oral exam on project and course (individual grade): 60%
Instead of the oral examination a written examination may be held, should the number of participants be too high. Each part must have an average grade higher than 5.5 to pass the course.
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.
It must be possible to evaluate every submission as the students’ own work. Cases of plagiarism and fraud, including AI generated submissions, will be brought to the board of examiners.
What you will work on
Homework
The homework comprises of mathematical exercises that will help you to practise the material of the first few lectures and receive feedback. It will be on the introduction, vector spaces, and inner products, norms and metrics.
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.
Examination
At the end of the course, each student will take an individual oral exam. We will examine the projects and the theory separately. The projects will be examined through a short presentation followed by oral questions. The theory from the lectures and tutorials will be examined through a question that is chosen by the examiners from a pool of previously announced questions.
The project examination will take place Wed, 09 Dec, 09:00, Thu, 10 Dec, 15:15 and Thu, 10 Dec, 11:00. The oral theory examination will take place during the day of Thursday, 17 December. Should too many students participate, then we will make this a written examination at 13:00 during the exam time indicated in MyTimeTable.
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 Wednesday a lecture at 09:00 in Gorleaus EM.1.09, a tutorial Thursday at 15:15 in Gorleaus DM.1.09 and a practical session at 11:00 in Gorleaus DM.0.17-PC.
Here is the detailed list of the lectures and tutorials, numbered by semester week:
- Wednesday, 02 September, 09:00: Lecture 1
- Wednesday, 09 September, 09:00: Lecture 2
- Wednesday, 16 September, 09:00: Lecture 3
- Wednesday, 23 September, 09:00: Lecture 4
- Wednesday, 30 September, 09:00: Lecture 5
- Wednesday, 07 October, 09:00: Lecture 6
- Wednesday, 14 October, 09:00: Lecture 7
- Wednesday, 21 October, 09:00: Nothing
- Wednesday, 28 October, 09:00: Lecture 8
- Wednesday, 04 November, 09:00: Lecture 9
- Wednesday, 11 November, 09:00: Lecture 10
- Wednesday, 18 November, 09:00: Lecture 11
- Wednesday, 25 November, 09:00: Lecture 12
- Wednesday, 02 December, 09:00: Question session
- Wednesday, 09 December, 09:00: Presentations and project exams
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
- Examples (including neighbourhood basis for metric spaces)
- Subspace topology
- Continuous maps
- Connected and path connected spaces
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
Lecture and Tutorial 8
Ordinary Differential Equations:
- Motivational examples
- General definition
- Banach’s fixed point theorem
- Flows as solutions
Lecture and Tutorial 9
Smooth Manifolds:
- Definition smooth pre-manifolds
- Examples: vector spaces, spheres, graphs, level sets
- Topology on pre-manifolds
- Conditions on topology for smooth manifolds
- Definition smooth map
- Category of smooth manifolds
Lecture and Tutorial 10
Smooth Maps and Bundles:
- Cartesian manifolds
- Definition smooth map
- Category of smooth manifolds
- Product manifold
- Bundles
Lecture and Tutorial 11
Vector Bundles and Tangent Spaces:
- Vector bundles on manifolds
- Concrete tangent bundle on Cartesian manifolds
- Axiomatic description of tangent bundle on manifolds
- Abstract tangent vectors from curves
Lecture and Tutorial 12
Differential Equations on Manfolds:
- Vector fields and their algebraic structure
- Global and local frames
- Pushforward and pullback of vector fields
- ODEs as vector fields
- Flows in vector fields and existence of maximal flows
Lecture and Tutorial 13
Question session and final tutorial