Об этом курсе
3.8
Оценки: 10
Рецензии: 3
100% онлайн

100% онлайн

Начните сейчас и учитесь по собственному графику.
Гибкие сроки

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.
Промежуточный уровень

Промежуточный уровень

Часов на завершение

Прибл. 23 часа на выполнение

Предполагаемая нагрузка: 5-8 hours/week...
Доступные языки

Английский

Субтитры: Английский
100% онлайн

100% онлайн

Начните сейчас и учитесь по собственному графику.
Гибкие сроки

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.
Промежуточный уровень

Промежуточный уровень

Часов на завершение

Прибл. 23 часа на выполнение

Предполагаемая нагрузка: 5-8 hours/week...
Доступные языки

Английский

Субтитры: Английский

Программа курса: что вы изучите

Неделя
1
Часов на завершение
5 ч. на завершение

Programming Competitions

We'll begin with introduction to the world of competitive programming — the rules, specialties and helpful tips on taking part in competitions in general. In a separate lesson, we'll learn how to test programs: what kinds of test cases there are, how to organize the search for a bugtest, and particularly a method of automating testing called stress-testing....
Reading
9 видео ((всего 74 мин.)), 2 материалов для самостоятельного изучения, 2 тестов
Video9 видео
Specifics of Programming Competitions11мин
Problem Example8мин
Steps in Solving a Problem6мин
Soft Skills4мин
Competitions Review8мин
Testing, Sample Tests, Min/Max Tests11мин
Custom Cases and Testing Workflow7мин
Stress-testing10мин
Reading2 материала для самостоятельного изучения
Welcome!4мин
Solution to Problem 1-4: Straight Flush10мин
Quiz1 практическое упражнение
Inventing Tests8мин
Неделя
2
Часов на завершение
4 ч. на завершение

CORRECTNESS FIRST

In this module, we'll start with the most basic things you need to actually solve algorithmic problems. First, we'll talk about structuring your code and intuition behind it — why it's very important, how to manage dependencies between parts of different purpose, how intuitive rules are enforced through formal invariants and conditions. We'll also identify a special class of solutions — brute force solutions — which are always correct, but often very slow. And we'll learn how to estimate running time of our solutions by using a powerful concept of big-O notation....
Reading
9 видео ((всего 66 мин.)), 1 материал для самостоятельного изучения, 2 тестов
Video9 видео
What is Readability?5мин
Intuitive "Proofs" are wrong5мин
Defining solution set7мин
Recursive backtracking7мин
Worst cases6мин
Big-O notation10мин
From theory to practice7мин
How to make a solution faster9мин
Reading1 материал для самостоятельного изучения
Solution to Problem 2-4: Expression Evaluation10мин
Quiz1 практическое упражнение
Time complexity6мин
Неделя
3
Часов на завершение
5 ч. на завершение

COMMON STRUGGLES

In competitive programming, there are a lot of things to stumble upon — if you don't know them first! We'll delve into how numbers are represented in computers, identify the most common issues with integer and floating point arithmetic, and learn to overcome them. We'll also discuss how to get stuck less in general, especially when debugging solutions....
Reading
11 видео ((всего 78 мин.)), 1 материал для самостоятельного изучения, 3 тестов
Video11 видео
Dealing with Overflow5мин
Non-integers8мин
Fixed Point Numbers and Errors7мин
Floating Point Numbers6мин
Where and How to Use Doubles10мин
More on Floating Point8мин
Debugging Small Programs5мин
Simplifying Code7мин
Double-checking5мин
Upsolving7мин
Reading1 материал для самостоятельного изучения
Solution to Problem 3-4: Binary Knapsack10мин
Quiz2 практического упражнения
Numbers10мин
Upsolving2мин
Неделя
4
Часов на завершение
5 ч. на завершение

COMMON STRUGGLES 2

We continue considering common struggles arising in competitive programming. We start by learning how to prove that a natural greedy algorithm is correct. We also discuss programming languages: what features are most helpful on competitions, and what are the advantages and pitfalls of several frequently used languages. Finally, we study an essential and easy-to-implement data structure: the segment tree....
Reading
14 видео ((всего 97 мин.)), 1 материал для самостоятельного изучения, 2 тестов
Video14 видео
Warmup7мин
Proving Correctness7мин
Activity Selection9мин
Maximum Scalar Product6мин
Greedy Ordering6мин
Segment Tree Structure4мин
Summing a Segment7мин
Modifying an Element4мин
Basic Data Structures5мин
Advanced Data Structures and I/O7мин
C++11мин
Java5мин
Python8мин
Comparing Languages4мин
Reading1 материал для самостоятельного изучения
Solution to Problem 4-4: Maximal Sum Suba10мин
Quiz1 практическое упражнение
Segment Tree6мин

Преподавателя

Avatar

Alexander S. Kulikov

Visiting Professor
Department of Computer Science and Engineering

Alexander Logunov

Competitive Programming Co-coach at SPbSU

О Saint Petersburg State University

The Saint-Petersburg University (SPbU) is a state university, located in Saint-Petersburg, Russia. Founded in 1724, SPbU is the oldest institution of higher education in Russia. At present, there are more than 30 000 students in SPbU studying 398 programmes...

Часто задаваемые вопросы

  • Зарегистрировавшись на сертификацию, вы получите доступ ко всем видео, тестам и заданиям по программированию (если они предусмотрены). Задания по взаимной оценке сокурсниками можно сдавать и проверять только после начала сессии. Если вы проходите курс без оплаты, некоторые задания могут быть недоступны.

  • Оплатив сертификацию, вы получите доступ ко всем материалам курса, включая оцениваемые задания. После успешного прохождения курса на странице ваших достижений появится электронный сертификат. Оттуда его можно распечатать или прикрепить к профилю LinkedIn. Просто ознакомиться с содержанием курса можно бесплатно.

Остались вопросы? Посетите Центр поддержки учащихся.