CS112
Basics of Algorithms

Faculty
Mikhail Dvorkin
Saint Petersburg Academic University, Lyceum "Physical-technical high school", computer science teacher.
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
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
Session 1
Arrays, Stacks, Queues
Session 2
Linked Lists
(singly and doubly linked lists)
Session 3
Binary Search
Session 4
Quadratic Sorting Algorithms
(selection, insertion, and bubble sort)
Session 5
Effective Sorting Algorithms
(quick and merge sort)
Session 6
Arithmetics Algorithms
(primality, GCD, LCM, modular arithmetics, quick exponentiation)
Session 7
Dynamic Programming
(1D and 2D dynamic programming tables)
Session 8
Search, Enumeration, and Generation of Combinatorial Objects
Session 9
Heap and Balanced Search Trees
Session 10
String Algorithms
(substring search, polynomial hashing)
Session 11
Graph Storage and Traversal
(depth and breadth first search)
Session 12
Shortest paths
(Dijkstra's, Bellman–Ford, and Bellman–Ford algorithms)
Session 13
Computational geometry
(lines, circles, polygons, convex hulls)
Session 14
Global optimization methods
(gradient descent, simulated annealing, genetic algorithms)
Session 15
Final exam
Course materials
Books
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
Saint Petersburg Academic University, Lyceum "Physical-technical high school", computer science teacher.
See full profileApply for this course
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.

