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

CS112

Basics of Algorithms

Online
Jun 14, 2021 - Jul 02, 2021
By the end of this course, students will have a foundation on algorithms and data structures, allowing them to take on more advanced courses from the Computer Science programme.
Online
Jun 14, 2021 - Jul 02, 2021
Mikhail Dvorkin

Faculty

Mikhail Dvorkin

Saint Petersburg Academic University, Lyceum "Physical-technical high school", computer science teacher.

Course length

3 weeks

Duration

3 hours
per day

Total hours

45 hours

Credits

6 ECTS

Language

English

Course type

Online

Fee for single course

€1999

Fee for degree students

€1499

Skills you’ll learn

Computer ScienceOptimisation MethodsBasics of AlgorithmsDynamic ProgrammingSorting AlgorithmsComputational Geometry
OverviewCourse outlineCourse materialsPrerequisitesMethod & grading

Overview

The course will introduce participants to the basics of the core part of Computer Science: Algorithms and Data Structures. Algorithms from various areas will be explained in a detailed manner with many examples.

Both theoretical foundations and details of practical applications will be discussed. Python programming language will be used for code snippets. Programming assignments will help participants to “learn by doing”.

Learning highlights

  • Participants will learn many basic algorithms, understand where and how they can be applied, be able to analyze algorithm time and memory complexity, and learn to code them.
  • This knowledge will allow students to take further, more advanced Computer Science courses, as well as to improve their general coding skills.

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

Arrays, Stacks, Queues

Tuesday
2

Session 2

Linked Lists

(singly and doubly linked lists)

Wednesday
3

Session 3

Binary Search

Thursday
4

Session 4

Quadratic Sorting Algorithms

(selection, insertion, and bubble sort)

Friday
5

Session 5

Effective Sorting Algorithms

(quick and merge sort)

Monday
6

Session 6

Arithmetics Algorithms

(primality, GCD, LCM, modular arithmetics, quick exponentiation)

Tuesday
7

Session 7

Dynamic Programming

(1D and 2D dynamic programming tables)

Wednesday
8

Session 8

Search, Enumeration, and Generation of Combinatorial Objects

Thursday
9

Session 9

Heap and Balanced Search Trees

Friday
10

Session 10

String Algorithms

(substring search, polynomial hashing)

Monday
11

Session 11

Graph Storage and Traversal

(depth and breadth first search)

Tuesday
12

Session 12

Shortest paths

(Dijkstra's, Bellman–Ford, and Bellman–Ford algorithms)

Wednesday
13

Session 13

Computational geometry

(lines, circles, polygons, convex hulls)

Thursday
14

Session 14

Global optimization methods

(gradient descent, simulated annealing, genetic algorithms)

Friday
15

Session 15

Final exam

Methodology

Each session will consist of a lecture part (with student participation is encouraged) and a practice session, during which students will solve programming tasks corresponding to the lecture topic and submit their code to an online grading system.

Grading

The final grade will be composed of the following criteria:
10% - In-class participation
40% - Homework assignments
20% - Midterm tests
30% - Final exam
-
Mikhail Dvorkin

Faculty

Mikhail Dvorkin

Saint Petersburg Academic University, Lyceum "Physical-technical high school", computer science teacher.

Saint Petersburg Academic University, Lyceum "Physical-technical high school", computer science teacher.

See full profile

Apply for this course

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

Basics of Algorithms

by Mikhail Dvorkin

Total hours

45 Hours

Dates

Jun 14 - Jul 02, 2021

Fee for single course

€1999

Fee for degree students

€1499

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.