EdX

How to Win Coding Competitions: Secrets of Champions (edX)

Offered by ITMO University, ITMOx,
How to Win Coding Competitions: Secrets of Champions (edX)

Enhance programming skills to boost your career and win prizes led by ITMO University, the only 6-time winner of the world’s top coding cup. Want to be the programmer hot tech companies are looking for?
Take your programming skills to the next level and prove your excellence by learning how to succeed in programming competitions.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

Besides improving your knowledge of algorithms and programming languages, you’ll gain unique experience in problem solving, thinking outside the box and meeting tough deadlines – all essential for boosting your value as a programmer and securing a coveted job in Silicon Valley (should you want one).
This computer science course is an introduction to competitive programming developed by ITMO University, the leading expert in IT and the only 6-time world champion of the Association for Computing Machinery - International Collegiate Programming Contest (ACM ICPC), the world's most prestigious programming contest.

You will learn all you need to know about the variety of programming competitions that exist, as well as basic algorithms and data structures necessary to succeed in the most popular of them.

What you'll learn:

  • The benefits of participating in programming competitions
  • The algorithms and approaches you need to master the world of competitions
  • Ways of self-training for further progress

Course Syllabus:

Week 1: Welcome to competitive programming
Exploring different kinds of programming competitions and benefits of participating, as well as typical rules and challenges. An overview of algorithmic programming competitions. An introduction to community resources and online contests.

Week 2: Computational complexity and linear data structures
An overview of computational complexity (Big O notation). Exploring linear data structures (array, list, stack, queue): operations, complexity, implementation and examples.

Week 3: Sorting and search algorithms
Binary search (implementation and examples). An overview of sorting algorithms (bubble sort, insertion sort, quick sort, merge sort), including theoretical analysis and examples of use.

Week 4: Graph theory
Definition of graphs and examples of graph problems. Various ways of storing graphs in memory. DFS and related topics: connected components, detecting cycles, detecting bipartite graphs. Shortest paths: BFS, Dijkstra algorithm.

Week 5: Final Exam
Solving a set of problems in limited time just like in a real programming competition.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Computing in Python I: Fundamentals and Procedural Programming (edX) EdX
Georgia Institute of Technology,GTx

Computing in Python I: Fundamentals and Procedural Programming (edX)

Learn the fundamentals of computing in Python, including variables, operators, and writing and debugging your own programs. This course starts from the beginning, covering the basics of how a computer interprets lines of code; how to write programs, evaluate their output, and revise the code itself; how to work with variables and their changing values; and how to use mathematical, boolean, and relational operators.

Self Paced
Self-Paced
Introduction to Computer Science and Programming (edX) EdX
Tokyo Institute of Technology,TokyoTechX

Introduction to Computer Science and Programming (edX)

The term “Computation” refers to the action performed by a computer. A computation can be a basic operation and it can also be a sophisticated computer simultation requiring a large amount of data and substantial resources. This course aims at introducing learners with no prior knowledge to basics and key concepts of computer science. By following the lectures and exercises of this course you will have an understanding of algorithms and you will get a real experience of programming using the language Ruby.

Self Paced
Self-Paced
Programming for Data Science (edX) EdX
University of Adelaide,AdelaideX

Programming for Data Science (edX)

Learn how to apply fundamental programming concepts, computational thinking and data analysis techniques to solve real-world data science problems. There is a rising demand for people with the skills to work with Big Data sets and this course can start you on your journey through our Big Data MicroMasters program towards a recognised credential in this highly competitive area. Using practical activities you will learn how digital technologies work and will develop your coding skills through engaging and collaborative assignments.

Self Paced
Self-Paced
MATLAB et Octave pour débutants (edX) EdX
École Polytechnique Fédérale de Lausanne,EPFLx

MATLAB et Octave pour débutants (edX)

Premiers pas dans MATLAB et Octave avec un regard vers le calcul scientifique. Commencer à utiliser un logiciel est toujours délicat, on ne sait jamais par où commencer. Dans ce cours nous allons nous concentrer sur la maîtrise d’Octave et MATLAB, de façon à pouvoir par la suite continuer à apprendre de manière indépendante.

Self Paced
Self-Paced
Introduction to Java Programming: Starting to code in Java (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Java Programming: Starting to code in Java (edX)

Learn to program with Java in an easy and interactive way! In this introductory Java programming course, you will be introduced to powerful concepts such as functional abstraction, the object oriented programming (OOP) paradigm and Application Programming Interfaces (APIs). Examples and case studies will be provided so that you can implement simple programs on your own or collaborate with peers.

Self Paced
Self-Paced
Programación para todos (empezando con Python) (edX) EdX
University of Michigan,MichiganX

Programación para todos (empezando con Python) (edX)

Este curso en línea es una introducción "sin prerrequisitos" a la programación en Python. Aprenderás sobre las variables, la ejecución condicional, la ejecución repetida y cómo usamos las funciones. Este curso de Python tiene el objetivo de enseñar a todos lo básico de la programación de computadoras usando Python. Conocerás cómo construir un programa de una serie de instrucciones simples en Python.

Self Paced
Self-Paced
Python for Data Science (edX) EdX
University of California, San Diego,UC San DiegoX

Python for Data Science (edX)

Learn to use powerful, open-source, Python tools, including Pandas, Git and Matplotlib, to manipulate, analyze, and visualize complex datasets. In the information age, data is all around us. Within this data are answers to compelling questions across many societal domains (politics, business, science, etc.). But if you had access to a large dataset, would you be able to find the answers you seek?

Self Paced
Self-Paced
JavaScript Introduction (edX) EdX
World Wide Web Consortium - W3C,W3Cx

JavaScript Introduction (edX)

Learn JavaScript, a Web development programming language, to add interactivity to your Web pages, and become an expert Web developer. This computer science course is an initiation to JavaScript programming and has been designed to help Web developers have an understanding of the basic concepts of the language. This course was developed in partnership between W3C and University Côte d'Azur.

Self Paced
Self-Paced
How to Code: Simple Data (edX) EdX
The University of British Columbia,UBCx

How to Code: Simple Data (edX)

Learn systematic program design - how to write programs that tell a clear story about what they do, are well-tested, and easy to improve. This programming course takes a unique approach, as it focuses on learning a systematic programming method rather than a programming language. This practical approach will help you channel your creativity so that you can program well in any language.

Self Paced
Self-Paced
AI Chatbots without Programming (edX) EdX
IBM

AI Chatbots without Programming (edX)

Chatbots are increasingly in demand among global businesses. This course will teach you how to build, analyze, deploy and monetize chatbots - with the help of IBM Watson and the power of AI. Please Note: Learners who successfully complete this IBM course can earn a skill badge — a detailed, verifiable and digital credential that profiles the knowledge and skills you’ve acquired in this course. Enroll to learn more, complete the course and claim your badge!

Self Paced
Self-Paced