HSE Online Launches New Course on Algorithms and Data Structures
HSE Online has launched the course ‘Algorithms and Data Structures–1’. Its author, and director of the Centre of Student Competitions at the Faculty of Computer Science, Mikhail Gustokashin, will teach students not only to how to solve problems offered at interviews at IT companies, but also to apply their knowledge in practice. The main skill acquired as a result of this course is the ability to write effective, working and tested code. The course is taught in Russian.
Mikhail Gustokashin
— Who is this course intended for?
— It’s intended for those students who have decided to engage in software development: primarily backend, but also frontend or mobile applications. It is designed for those who have already mastered the basics of programming, for example, people who have previously taken a specialized online course. It’s worth noting that it’s not important which programming language you’ve mastered: Python, C++, C, Java and C# are all supported when checking practical tasks. We focus on practice as much as possible, and have selected topics that are most often found in real work of programmers along with tasks that you are likely to encounter when applying for a position in the IT industry. Many of them are taken directly from the course, which is taught on the ‘Applied Mathematics and Information Science’ programme offered by the HSE Faculty of Computer Science.
— How is the course programme structured?
— The first classes are devoted to a general approach to evaluating the effectiveness of algorithms and testing programs. Then there are several classes on the use of associative data structures — sets and dictionaries. An Inability to use these is a common reason for the slow running of programs. Later classes cover the main topics of interview tasks. The solution to each task is the program code, which is automatically checked by a pre-prepared set of tests for correctness and efficiency in terms of operating time and required memory.
Almost every task in the course is a simplified case from real development practice
For example, in one of the tasks you need to implement a system for performing operations with bank accounts: opening, closing, depositing and debiting funds. Another task is devoted to determining the minimum number of buses which will enable you to organise scheduled transportation.
Of course, it is unlikely that one particular job will feature all the algorithms featured in this course, but a broad outlook and the ability to solve problems will help in any position.
— This course is part of a specialisation. What professional prospects open up after obtaining a microqualification in the field of algorithms and data structures?
— The specialisation includes two parts. If the course described above will definitely be useful for developers of a wider profile, then the second one (Algorithms and data structures — 2’) covers more complex topics that are common in interviews and backend activity. Mastering the specialisation will help you pass the algorithmic sections of a job interview, or pass entrance algorithm exams for master's or doctoral programmes, and also open up opportunities for studying more complex algorithms. You might, for example, decide to specialize in distributed and parallel algorithms in external memory or another type of very specific algorithm, which are found only in certain industries. The experience gained in solving problems will help developers make their code more efficient in a variety of situations, and the ability to solve extreme cases and test their solutions will make it more reliable and speed up product development.
In November, HSE Online launched five more courses from the Faculty of Computer Science on the National Open Education Platform:
Mathematical Statistics and A/B Testing
Fundamentals of Machine Learning
Data Collection and Analysis in Python
Statistical Methods of Data Analysis
‘Advanced Machine Learning Methods’
The courses are taught in Russian, the first two weeks of video lectures are available as open access sessions.