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

CS111

Mathematical Foundations of Algorithms

Barcelona Campus
May 22, 2023 - Jun 09, 2023
Students will develop skills in mathematical reasoning, algorithms, problem-solving, and gain an understanding of how mathematical concepts are applied in computing.
Barcelona Campus
May 22, 2023 - Jun 09, 2023
Daniel Enrique

Faculty

Daniel Enrique

Computer Scientist, ICPC World Finalist

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

MathematicsAlgorithmsMethods Of Discrete Mathematics.Computability
OverviewCourse outlineCourse materialsPrerequisitesMethod & grading

Overview

Mathematics is fundamental to understanding Computer Science. In this course, we will provide the mathematical foundations needed to understand algorithms and computing as a whole.

Learning highlights

  • Students will develop skills in mathematical reasoning, algorithms, and problem-solving and gain an understanding of how mathematical concepts are applied in computing.

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

Logic and Proof Techniques.

Tuesday
2

Session 2

Proof Techniques II.

Wednesday
3

Session 3

Introduction to Algorithms.

Thursday
4

Session 4

Complexity of Algorithms.

Friday
5

Session 5

Mid-term Exam (1).

Monday
6

Session 6

Recursive Algorithms.

Tuesday
7

Session 7

Amortized Analysis.

Wednesday
8

Session 8

Randomized Algorithms.

Thursday
9

Session 9

Recap about algorithms. Additional problems.

Friday
10

Session 10

Mid-term Exam (2).

Monday
11

Session 11

Languages, Grammars and State Machines I.

Tuesday
12

Session 12

Languages, Grammars and State Machines II.

Wednesday
13

Session 13

Turing Machines and Computability.

Thursday
14

Session 14

Recap, Q&A, Additional problems.

Friday
15

Session 15

Final Exam.

Prerequisites

High school mathematics

Basic programming skills

Basic discrete probability.

Methodology

Each three-hour session will consist of two parts: a lecture given by the professor and a practical session where students will try to solve problems related to the subject of the day under the teacher’s supervision. Also, there will be daily homework assignments. After the end of each week, the students will take a test, and at the end of the module, there will be a final exam.

Grading

The final grade will be composed of the following criteria:
25% - Homework Assignments
42% - 2 Midterm Exams
33% - Final Exam
Homework assignments: there will be some homework assignments for a total of 30 points. Midterm exams: 2 midterm exams, each worth 20 and 30 points respectively, for a total of 50 points. Final exam: One final exam that is worth 40 points. Maximum number of points to accumulate: 30 + 20 + 30 + 40 = 120. If the number of points obtained during the course is P, then the final score will be computed as: Score = min(P, 108) / 108 * 100. Notice that the score will be between 0 and 100, and students have some margin of failure, so they can decide to skip some of the evaluations, and still have some chance to obtain the maximum score.
Daniel Enrique

Faculty

Daniel Enrique

Computer Scientist, ICPC World Finalist

Daniel started programming when he was 14 years old. During the first years he won three times the Gold Medal in the Cuban National Olympiad. He graduated from University of Havana in 2021. During college Daniel kept on participating in programming contests and managed to qualify for the 2018 ICPC World Finals. He has been involved in the preparation of lectures and problems about Algorithms, Data Structures and Discrete Mathematics. Daniel has previous experience working as a Full stack Developer in software startups. Interested in AI, Algorithms, Problem Solving, Open Source and Linux

See full profile

Apply for this course

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

Mathematical Foundations of Algorithms

by Daniel Enrique

Total hours

45 Hours

Dates

May 22 - Jun 09, 2023

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.