À propos de ce cours
4.1
17 notes
4 avis

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Niveau intermédiaire

Approx. 28 heures pour terminer

Recommandé : 5-8 hours/week...

Anglais

Sous-titres : Anglais

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Niveau intermédiaire

Approx. 28 heures pour terminer

Recommandé : 5-8 hours/week...

Anglais

Sous-titres : Anglais

Programme du cours : ce que vous apprendrez dans ce cours

Semaine
1
5 heures pour terminer

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....
9 vidéos (Total 74 min), 2 lectures, 2 quiz
9 vidéos
Specifics of Programming Competitions11 min
Problem Example8 min
Steps in Solving a Problem6 min
Soft Skills4 min
Competitions Review8 min
Testing, Sample Tests, Min/Max Tests11 min
Custom Cases and Testing Workflow7 min
Stress-testing10 min
2 lectures
Welcome!4 min
Solution to Problem 1-4: Straight Flush10 min
1 exercice pour s'entraîner
Inventing Tests8 min
Semaine
2
4 heures pour terminer

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....
9 vidéos (Total 66 min), 1 lecture, 2 quiz
9 vidéos
What is Readability?5 min
Intuitive "Proofs" are wrong5 min
Defining solution set7 min
Recursive backtracking7 min
Worst cases6 min
Big-O notation10 min
From theory to practice7 min
How to make a solution faster9 min
1 lecture
Solution to Problem 2-4: Expression Evaluation10 min
1 exercice pour s'entraîner
Time complexity6 min
Semaine
3
5 heures pour terminer

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....
11 vidéos (Total 78 min), 1 lecture, 3 quiz
11 vidéos
Dealing with Overflow5 min
Non-integers8 min
Fixed Point Numbers and Errors7 min
Floating Point Numbers6 min
Where and How to Use Doubles10 min
More on Floating Point8 min
Debugging Small Programs5 min
Simplifying Code7 min
Double-checking5 min
Upsolving7 min
1 lecture
Solution to Problem 3-4: Binary Knapsack10 min
2 exercices pour s'entraîner
Numbers10 min
Upsolving2 min
Semaine
4
5 heures pour terminer

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....
14 vidéos (Total 97 min), 1 lecture, 2 quiz
14 vidéos
Warmup7 min
Proving Correctness7 min
Activity Selection9 min
Maximum Scalar Product6 min
Greedy Ordering6 min
Segment Tree Structure4 min
Summing a Segment7 min
Modifying an Element4 min
Basic Data Structures5 min
Advanced Data Structures and I/O7 min
C++11 min
Java5 min
Python8 min
Comparing Languages4 min
1 lecture
Solution to Problem 4-4: Maximal Sum Suba10 min
1 exercice pour s'entraîner
Segment Tree6 min

Enseignants

Avatar

Alexander S. Kulikov

Visiting Professor
Department of Computer Science and Engineering
Avatar

Alexander Logunov

Competitive Programming Co-coach at SPbSU

À propos de Université d'État de Saint-Pétersbourg

Санкт-Петербургский государственный университет (СПбГУ) — старейший вуз России, основанный в 1724 году. Университет сегодня — научный, образовательный и культурный центр мирового значения, неизменно входящий во все международные рейтинги вузов. В номинации взаимодействие с работодателями QS Graduate Employability 2018 СПбГУ занимает 20 место среди 400 ведущих вузов мира и является лучшим в России. В настоящее время СПбГУ реализует 418 образовательных программ, включающих самые современные направления подготовки и специальности. Сертификат об успешном окончании представленных онлайн-курсов дает 5 дополнительных баллов при поступлении на программы магистратуры и аспирантуры СПбГУ. St Petersburg University is the oldest university in Russia, founded in 1724. The University today is a world-class research, educational and cultural centre which is always included in all international rankings of world universities. St Petersburg University was ranked 20th in QS Graduate Employability Ranking 2018 among 400 leading universities in the world and is the best in Russia. At present, St Petersburg University offers 418 academic programmes, including the most advanced areas and fields of study. The certificate of successful completion of offered online courses gives five additional points when applying for master’s and doctoral programmes at St Petersburg University....

Foire Aux Questions

  • Une fois que vous êtes inscrit(e) pour un Certificat, vous pouvez accéder à toutes les vidéos de cours, et à tous les quiz et exercices de programmation (le cas échéant). Vous pouvez soumettre des devoirs à examiner par vos pairs et en examiner vous-même uniquement après le début de votre session. Si vous préférez explorer le cours sans l'acheter, vous ne serez peut-être pas en mesure d'accéder à certains devoirs.

  • Lorsque vous achetez un Certificat, vous bénéficiez d'un accès à tout le contenu du cours, y compris les devoirs notés. Lorsque vous avez terminé et réussi le cours, votre Certificat électronique est ajouté à votre page Accomplissements. À partir de cette page, vous pouvez imprimer votre Certificat ou l'ajouter à votre profil LinkedIn. Si vous souhaitez seulement lire et visualiser le contenu du cours, vous pouvez accéder gratuitement au cours en tant qu'auditeur libre.

D'autres questions ? Visitez le Centre d'Aide pour les Etudiants.