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

Deploying TinyML (edX) EdX
HarvardX,Harvard University

Deploying TinyML (edX)

Learn to program in TensorFlow Lite for microcontrollers so that you can write the code, and deploy your model to your very own tiny microcontroller. Before you know it, you’ll be implementing an entire TinyML application. Have you wanted to build a TinyML device? In Deploying TinyML, you will learn the software, write the code, and deploy the model to your own tiny microcontroller-based device. Before you know it, you’ll be implementing an entire TinyML application.

Self Paced
Self-Paced
Introduction to Object-Oriented Programming with Java II: Object-Oriented Programming and Algorithms (edX) EdX
Georgia Institute of Technology,GTx

Introduction to Object-Oriented Programming with Java II: Object-Oriented Programming and Algorithms (edX)

Learn the basics of object-oriented programming and algorithms. Students will build on the skills learned from “Introduction to Object-Oriented Programming with Java I: Foundations and Syntax Basics” and learn the basics of writing classes that serve as blueprints of concepts or objects that are represented in a programming problem. Students will leverage the concepts of inheritance, interfaces, and polymorphism to program reusability and flexibility in classes. Finally, students will gain experience walking through and analyzing algorithms that are applied on data (including objects) in many object-oriented programs.

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
LAFF – On Programming for Correctness (edX) EdX
University of Texas at Austin,UTAustinX

LAFF – On Programming for Correctness (edX)

Learn to apply formal methods to systematically develop correct, loop-based programs, an essential skill for computer programmers. Is my program correct? Will it give the right output for all possible permitted inputs? Computers are now essential in everyday life. Incorrect programs lead to frustration in the best case and disaster in the worst. Thus, knowing how to construct correct programs is a skill that all who program computers must strive to master.

Self Paced
Self-Paced
CSS Basics (edX) EdX
World Wide Web Consortium - W3C,W3Cx

CSS Basics (edX)

Learn, from Microsoft and W3C experts, how to take your Web pages from bland to bold with the power of CSS styling. Have you just begun your journey into Web development? This course will introduce you to the basics of Web design and teach you how to style your Web site for a professional look and feel.

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
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
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
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
Introducción a la programación en C: Instrucciones de control y ficheros de texto (edX) EdX
Universidad Autonoma de Madrid

Introducción a la programación en C: Instrucciones de control y ficheros de texto (edX)

En este curso aprenderás sobre condicionales, bucles y ficheros de texto en el lenguaje de programación C, uno de los más utilizados. Este curso en línea te permitirá continuar aprendiendo sobre conceptos para desarrollar habilidades de programación en el lenguaje C. Ahora los programas comienzan a cobrar vida y a volverse más interesantes.

Self Paced
Self-Paced