Algorithms for Job Interviews and Competitive Programming

Quickly understand the most important Algorithms and learn how to use them to solve real Programming Problems.
English [Auto]
Find efficient solutions to algorithmic programming problems.
Analyse why code runs slowly and significantly improve run time.
Apply most important algorithms to solve real problems.


  • Basic to advanced programming skills. Language does not matter.
  • Basic understanding of simple data structures like arrays, lists, and sets.


You have some programming experience and now want to take your skills to a new level? Learning algorithms and mastering algorithmic thinking is by far the most effective way of rapidly improving as a developer and problems solver.
That's why I will teach you the most interesting and useful algorithms in this course. (I intentionally skipped sorting algorithms as they are so over-discussed and rarely need to be implemented by yourself).
For each algorithm or topic, I give a concise explanation, example and implementation outline. Then it's your turn to apply the new learned algorithm to solve real problems. For that, I hand-picked tasks from programming websites. When you struggle with an issue and need help, I answer every question and provide personal feedback for your problems.
Sign up now and begin a new chapter in your programming world.

Who this course is for:

  • Programmers who want to step up their coding game.
  • Coders preparing for a job interview.
  • Beginners in the competitive programming world.

Course content

4 sections15 lectures1h 28m total length
  • Course Introduction
  • Quick Introduction to Runtime Analysis and big-O notation
  • Quick Introduction to C++ for Competitive Programmers
  • Introduction Quiz
    2 questions


Competitive Programmer
Florian Jüngermann
  • 4.7 Instructor Rating
  • 252 Reviews
  • 11,941 Students
  • 1 Course

I am a self-taught programmer and I currently study Computer Science at Harvard University. I have been successful at international competitive coding competitions like the International Olympiad in Informatics and the Google Code Jam Competition.
While I knew how to program for a long time, when I started to learn about efficient algorithms and data structures, I changed the way I code on a fundamental level. Even more, it changed how I approached problems in general.
Now I want to help others to make the same incredible experience.