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

CS111

Mathematical Foundations of Algorithms

Barcelona Campus
May 24, 2021 - Jun 11, 2021
During this course, students will learn the mathematical foundation of algorithms, and acquire the necessary principles for the upcoming courses on algorithms and data structures.
Barcelona Campus
May 24, 2021 - Jun 11, 2021
Marcelo Fornet

Faculty

Marcelo Fornet

Software Engineer at NEAR Protocol

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

AlgorithmsComputer ScienceGraph TheoryTheoretical Complexity of an AlgorithmCorrectness of Algorithms
OverviewCourse outlineCourse materialsPrerequisitesMethod & grading

Overview

To build efficient algorithms and data structures, it is required to understand how and why algorithms work in the first place. This course will provide the mathematical foundation for this end.

Learning highlights

  • Learn to reason about the theoretical complexity of an algorithm, and be able to determine such complexity
  • The ability to prove formally the correctness of algorithms
  • A deeper understanding of graph theory

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

Introduction to Numerical Mathematics

Number representation

Tuesday
2

Session 2

Algebra (1)

Wednesday
3

Session 3

Algebra (2)

Thursday
4

Session 4

Big O Notation. Algebraic manipulation

Friday
5

Session 5

Mid-term exam (1)

Monday
6

Session 6

Big O Analysis

Tuesday
7

Session 7

Recursion

Master Theorem

Wednesday
8

Session 8

Graph (1)

Thursday
9

Session 9

Graph (2)

Friday
10

Session 10

Mid-term exam (2)

Monday
11

Session 11

Graph (3)

Tuesday
12

Session 12

Data Structure

Wednesday
13

Session 13

Finite state automata

Thursday
14

Session 14

Formal languages and grammars

Friday
15

Session 15

Final exam (3)

Prerequisites

Basic concepts of graph theory

Being able to code simple algorithms

Functions concept (from Math)

Methodology

Each three-hour session will consist partly of a lecture given by the professor and partly of a practical session, where students will try to solve problems (related to the subject of the day) under the professor's supervision. There will also be some daily homework assignments and weekly projects. There will be two interim tests after each of the first two weeks, and a final exam at the end of the module.

Grading

The final grade will be composed of the following criteria:
30% - Homeworks
30% - Week projects
20% - Midterm exams
20% - Final exam
-
Marcelo Fornet

Faculty

Marcelo Fornet

Software Engineer at NEAR Protocol

Marcelo graduated from Havana University in 2017. As a software engineer, he is focused on solving scalability and adoption of blockchain technologies at NearProtocol.

As a teacher, he has taught Artificial Intelligence and an ICPC Training Course.

See full profile

Apply for this course

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

Mathematical Foundations of Algorithms

by Marcelo Fornet

Total hours

45 Hours

Dates

May 24 - Jun 11, 2021

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.