Competitive Programming for Beginners

  • 0.0
Approx. 153 hours to complete

Course Summary

This course is designed to teach you the basics of competitive programming and how to solve complex problems efficiently. You will learn how to write algorithms and implement them to solve programming challenges.

Key Learning Points

  • Learn to write algorithms and solve complex programming problems efficiently
  • Gain analytical and problem-solving skills
  • Learn how to implement efficient solutions to programming challenges

Job Positions & Salaries of people who have taken this course might have

  • Software Engineer
    • USA: $98,000
    • India: ₹9,00,000
    • Spain: €36,000
  • Data Scientist
    • USA: $117,000
    • India: ₹11,00,000
    • Spain: €41,000
  • Computer Scientist
    • USA: $105,000
    • India: ₹10,00,000
    • Spain: €38,000

Related Topics for further study


Learning Outcomes

  • Ability to write efficient algorithms
  • Problem-solving skills
  • Strong foundation in competitive programming

Prerequisites or good to have knowledge before taking this course

  • Basic knowledge of programming concepts
  • Familiarity with at least one programming language

Course Difficulty Level

Beginner

Course Format

  • Online
  • Self-paced

Similar Courses

  • Algorithms and Data Structures
  • Introduction to Competitive Programming

Related Education Paths


Notable People in This Field

  • Steven Halim

Related Books

Description

This online course will help you to join the world of competitive programming and even become worldwide competitions participant! The course includes theoretical and practical aspects that are necessary to solve problems of any difficulties.

Knowledge

  • Basic Algorithms
  • Number and Graph Theories
  • Dynamic Programming

Outline

  • Basic Algorithms
  • Asymptotics
  • Linear Algorithms
  • Linear Algorithms: sums on subsegment
  • Binary Search
  • Binary Search: search of an element in an array
  • Binary Search in real numbers
  • Binary Search over answer
  • Number Theory
  • Integer data types structure. Sieve of Eratosthenes
  • Modulo calculations: basic operations
  • Basic and Extended Euclidean Algorithm
  • Fast exponentiation, multiplicative inverse
  • Dynamic Programming
  • Dynamic programming: introduction
  • Linear dynamic programming. The hopper problem
  • The hopper problem: advanced version
  • Two-dimensional dynamic programming. The tortoise problem
  • The tortoise problem — an alternative base
  • Recovery of answer
  • Recovery of answer: storing the parents
  • The knapsack problem
  • The knapsack problem: an alternative version
  • Graph Theory
  • Basic definitions
  • Ways of graph storage
  • Depth first search
  • DFS: edges classification
  • Search for a cycle
  • Topological sorting
  • Breadth first search
  • BFS: shortest distances

Summary of User Reviews

Key Aspect Users Liked About This Course

The course provides a great foundation for competitive programming skills

Pros from User Reviews

  • The course covers a wide range of topics
  • The instructors are knowledgeable and explain concepts well
  • The course is well-structured and easy to follow

Cons from User Reviews

  • The course can be challenging for complete beginners
  • Some of the explanations may be too technical for some learners
  • The course does not provide much practical coding experience
English
Available now
Approx. 153 hours to complete
Filipp Rukhovich, Ilia Stepanov, Oleg Hristenko, Vladislav Nevstruev
Moscow Institute of Physics and Technology
Coursera

Instructor

Share
Saved Course list
Cancel
Get Course Update
Computer Courses