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

CS112

From Mathematics to Algorithms. Applied Mathematics and Logic

Barcelona Campus
Jun 10, 2024 - Jun 28, 2024
Explore how key math concepts (from calculus, algebra etc.) naturally become useful algorithms for real-world problems. Analyze, test, and understand these both with math and through Python coding.
Barcelona Campus
Jun 10, 2024 - Jun 28, 2024
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

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

Modeling the world using differential equations. Basic algorithms. Predator-prey model.

Friday
10

Session 10

Mid-term exam

Monday
11

Session 11

Elements of discrete mathematics. Sets. Notation, operations, properties. Venn diagrams. Partitions and disjoint sets. Cartesian product. Binary relations. Order relation. Function as a relation.

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.

From Mathematics to Algorithms. Applied Mathematics and Logic

by Serhii Denysov

Total hours

45 Hours

Dates

Jun 10 - Jun 28, 2024

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.