Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources

CS110

Mathematical Foundations of Computing

Barcelona Campus
Apr 27, 2026 - May 15, 2026
This course will develop the ability to formalize the mathematical apparatus and will teach students the basic concepts and methods in abstract mathematics.
Barcelona Campus
Apr 27, 2026 - May 15, 2026
Serhii Denysov

Faculty

Serhii Denysov

Senior algorithms R&D at drawer.ai, Programming and math university teacher.

Course length

3 weeks

Duration

3 hours
per day

Total hours

45 hours

Credits

4 ECTS

Language

English

Course type

Offline

Fee for single course

€1500

Fee for degree students

€750

Skills you’ll learn

AlgorithmsComputational Techniques
OverviewCourse outlineCourse materialsPrerequisitesMethod & grading

Overview

In the first part of the course, we discuss how to work with calculations on the computer, how mathematics is used to solve real-world problems, and practice building, implementing, and studying algorithms for solving different kinds of problems. The second part touches on the basics of formal logic, set theory, and algorithmic complexity analysis.

Learning highlights

  • Develop an understanding of what an algorithm is, what types of algorithms are there, how to build and investigate algorithms for solving mathematical models, and how to deal with problems of errors in data and computation.
  • Get rid of the feeling that mathematics is abstract and has no real-world usage.
  • Get acquainted with the mathematical apparatus that is used to construct and analyse discrete algorithms.

Course outline

15 classes

Dive into the details of the course and get a sense of what each class will cover.
Monday
Tuesday
Wednesday
Thursday
Friday
Monday
1

Session 1

Notion of algorithm. Properties of algorithms.

Working with numbers on the computer.

Approximate calculation. Computational error.

Tuesday
2

Session 2

Modelling real-world with mathematics.

Numerical algorithms for solving mathematical models. Stability and convergence. Iterative algorithms for solving nonlinear equations.

Wednesday
3

Session 3

System of linear equations. Motivation, importance of the problem. Geometric interpretation and matrix notation. Naive Gauss method. Estimating computational complexity. Basic Big O analysis. Estimating error.

Thursday
4

Session 4

Function approximation problem. Machine learning as a particular case. Ideas and approaches. A bit of theory about polynomials: what is it and why is it so important? Polynomial interpolation as approximation V1. Estimating approximation error with calculus.

Friday
5

Session 5

Polynomial interpolation practice. Problems with the approach. Possible improvements. Piecewise interpolation. Spline idea and implementation. Fast method for solving tridiagonal systems of linear equations to build spline.

Monday
6

Session 6

Limitations of interpolation ideas. Noisy data. Overfitting. Least squares approximation idea. Linear regression. General least squares. Finding a solution with SLE. Solving unsolvable SLE. Polynomial and non-polynomial least squares.

Tuesday
7

Session 7

Basics of optimisation algorithms. Gradient descent. “Learning rate”. Practice with gradient descent in one dimension. Multidimensional gradient descent. Solving least squares approximation with gradient descent.

Wednesday
8

Session 8

Mathematical investigation of gradient descent (convergence). Problematic scenarios and improvement ideas. Stochastic gradient descent, momentum

Thursday
9

Session 9

Mid-term exam

Friday
10

Session 10

Elements of discrete mathematics. Sets. Notation, operations, properties. Venn diagrams. Partitions and disjoint sets.

Monday
11

Session 11

Cartesian product. Binary relations. Order relation. Notion and properties of function.

Tuesday
12

Session 12

Basics of formal logic and boolean algebra. Truth tables. De Morgan’s laws. Working with logical expressions.

Wednesday
13

Session 13

More on algorithm complexity. Logarithmic, polynomial and exponential behaviour. Big O and other Bigs.

Thursday
14

Session 14

P and NP classes of problems. Examples of investigating algorithm complexity.

Friday
15

Session 15

Final exam/Final projects presentation

Prerequisites

The basics of calculus (functions, derivatives, gradients, and integrals) and programming.

Methodology

Lectures, workshops, programming tasks, and exercises.

Grading

The final grade will be composed of the following criteria:
30% - Homework
30% - Midterm exam
25% - Final exam / project
15% - Participation
Serhii Denysov

Faculty

Serhii Denysov

Senior algorithms R&D at drawer.ai, Programming and math university teacher.

Serhii has worked in the software engineering industry in different positions for many years. Roles included software developer, system architect, IT consultant, project manager and CTO. He is also an experienced educator and is always glad to help students learn how to start having fun with programming and math and become top-level software developers or R&D engineers.

He has taken part in a long row of business automation projects for different businesses, with many small and several big projects, such as one of the biggest outdoor advertising agency in Ukraine and a country-wide software cash registers company, processing millions of transactions per day. Now he is a senior algorithms R&D in a highly dynamic startup drawer.ai.

See full profile

Apply for this course

Snap up your chance to enroll before all spaces fill up.

Mathematical Foundations of Computing

by Serhii Denysov

Total hours

45 Hours

Dates

Apr 27 - May 15, 2026

Fee for single course

€1500

Fee for degree students

€750

How to secure your spot

Complete the form below to kickstart your application

Schedule your Harbour.Space interview

If successful, get ready to join us on campus

FAQ

Will I receive a certificate after completion?

Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.

Do I need a visa?

This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.

Can I get a discount?

Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.