Informações sobre o curso
20,638 visualizações recentes

100% online

Comece imediatamente e aprenda em seu próprio cronograma.

Prazos flexíveis

Redefinir os prazos de acordo com sua programação.

Nível intermediário

Aprox. 28 horas para completar

Sugerido: 5-8 hours/week...

Inglês

Legendas: Inglês

100% online

Comece imediatamente e aprenda em seu próprio cronograma.

Prazos flexíveis

Redefinir os prazos de acordo com sua programação.

Nível intermediário

Aprox. 28 horas para completar

Sugerido: 5-8 hours/week...

Inglês

Legendas: Inglês

Programa - O que você aprenderá com este curso

Semana
1
5 horas para concluir

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 vídeos ((Total 74 mín.)), 2 leituras, 2 testes
9 videos
Specifics of Programming Competitions11min
Problem Example8min
Steps in Solving a Problem6min
Soft Skills4min
Competitions Review8min
Testing, Sample Tests, Min/Max Tests11min
Custom Cases and Testing Workflow7min
Stress-testing10min
2 leituras
Welcome!4min
Solution to Problem 1-4: Straight Flush10min
1 exercício prático
Inventing Tests8min
Semana
2
4 horas para concluir

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 vídeos ((Total 66 mín.)), 1 leitura, 2 testes
9 videos
What is Readability?5min
Intuitive "Proofs" are wrong5min
Defining solution set7min
Recursive backtracking7min
Worst cases6min
Big-O notation10min
From theory to practice7min
How to make a solution faster9min
1 leituras
Solution to Problem 2-4: Expression Evaluation10min
1 exercício prático
Time complexity6min
Semana
3
5 horas para concluir

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 vídeos ((Total 78 mín.)), 1 leitura, 3 testes
11 videos
Dealing with Overflow5min
Non-integers8min
Fixed Point Numbers and Errors7min
Floating Point Numbers6min
Where and How to Use Doubles10min
More on Floating Point8min
Debugging Small Programs5min
Simplifying Code7min
Double-checking5min
Upsolving7min
1 leituras
Solution to Problem 3-4: Binary Knapsack10min
2 exercícios práticos
Numbers10min
Upsolving2min
Semana
4
5 horas para concluir

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 vídeos ((Total 97 mín.)), 1 leitura, 2 testes
14 videos
Warmup7min
Proving Correctness7min
Activity Selection9min
Maximum Scalar Product6min
Greedy Ordering6min
Segment Tree Structure4min
Summing a Segment7min
Modifying an Element4min
Basic Data Structures5min
Advanced Data Structures and I/O7min
C++11min
Java5min
Python8min
Comparing Languages4min
1 leituras
Solution to Problem 4-4: Maximal Sum Suba10min
1 exercício prático
Segment Tree6min

Instrutores

Avatar

Alexander S. Kulikov

Visiting Professor
Department of Computer Science and Engineering
Avatar

Alexander Logunov

Competitive Programming Co-coach at SPbSU
Avatar

Kirill Simonov

Competitive Programming Co-Coach
Avatar

Aliaksei Tolstsikau

Senior lecturer
Faculty of applied mathematics and computer science, Belarusian State University Academic programs coordinator, Yandex, Judge of Belarusian olympiad in Informatics. Judge of Western subregional contest of Northern Eurasia. ICPC World finalist (2010), Topcoder collegiate challenge finalist (2007), Google code jam finalist (2008).

Sobre Universidade Estadual de São PetersburgoUniversidade Estadual de São Petersburgo

Санкт-Петербургский государственный университет (СПбГУ) — старейший вуз России, основанный в 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....

Perguntas Frequentes – FAQ

  • Ao se inscrever para um Certificado, você terá acesso a todos os vídeos, testes e tarefas de programação (se aplicável). Tarefas avaliadas pelos colegas apenas podem ser enviadas e avaliadas após o início da sessão. Caso escolha explorar o curso sem adquiri-lo, talvez você não consiga acessar certas tarefas.

  • Quando você adquire o Certificado, ganha acesso a todo o material do curso, incluindo avaliações com nota atribuída. Após concluir o curso, seu Certificado eletrônico será adicionado à sua página de Participações e você poderá imprimi-lo ou adicioná-lo ao seu perfil no LinkedIn. Se quiser apenas ler e assistir o conteúdo do curso, você poderá frequentá-lo como ouvinte sem custo.

Mais dúvidas? Visite o Central de Ajuda ao Aprendiz.