Mathematical Structure in Computer Science, Autumn 2025 (4032MATSCY)

The course “Mathematical Structures in Computer Science (MSCS)” has two goals:

  1. That you learn how to solve concrete problems in computer science through the use of abstract mathematics.
  2. 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.

  1. Homework on lectures 1 - 3: Friday, 26 September, 23:59
  2. Part 1 of the project: Monday, 06 October, 23:59
  3. Homework on lectures 4 - 5: Friday, 17 October, 23:59
  4. Homework on lectures 6 - 8: Friday, 14 November, 23:59
  5. Part 2 of the project: Monday, 24 November, 23:59
  6. Homework on lectures 9 - 10: Friday, 28 November, 23:59
  7. Homework on lectures 11 - 12: Friday, 12 December, 23:59
  8. Part 3 of the project: Monday, 15 December, 23:59

Grading

The final grade is calculated as follows:

  1. Five homework sets (individual grade): 20%, where each assignment has the same weight.
  2. Team project in three parts (group grade): 40%, where the three assignments are weighed with 10%, 10% and 20%, respectively.
  3. 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:

  1. on the introduction, vector spaces, and inner products, norms and metrics
  2. on categories and functors, and on topology
  3. on vector calculus and ODEs
  4. on smooth manifolds and tangent spaces
  5. 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:

  1. Friday, 05 September, 11:00: Lecture and tutorial 1
  2. Friday, 12 September, 11:00: Lecture and tutorial 2
  3. Friday, 19 September, 11:00: Lecture and tutorial 3
  4. Friday, 26 September, 11:00: Lecture and tutorial 4
  5. Friday, 03 October, 11:00: Nothing
  6. Friday, 10 October, 11:00: Lecture and tutorial 5
  7. Friday, 17 October, 11:00: Lecture and tutorial 6
  8. Friday, 24 October, 11:00: Nothing
  9. Friday, 31 October, 11:00: Lecture and tutorial 7
  10. Friday, 07 November, 11:00: Lecture and tutorial 8
  11. Friday, 14 November, 11:00: Lecture and tutorial 9
  12. Friday, 21 November, 11:00: Lecture and tutorial 10
  13. Friday, 28 November, 11:00: Lecture and tutorial 11
  14. Friday, 05 December, 11:00: Lecture and tutorial 12
  15. 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