About this course
The goal of this interactive textbook is to teach algorithms and prepare you for your next coding interview.
- Practice writing efficient and reliable code by implementing many algorithmic challenges in a programming language of your choice. To help you conquer these challenges, we provide a series of hints, a detailed solution, and a Python code for each problem so that you can compare it with your implementation to see if you followed the best programming practices.
- Practice solving algorithmic problems you will likely encounter at your next coding interview by following a series of carefully selected hints. These hints often mimic the hints many applicants get during the interviews when they have limited time to solve a problem.
- Re-invent the key algorithmic ideas by solving our interactive puzzles that you can solve on your smartphone. Each such puzzle illustrates an algorithmic idea that we want you to re-invent using seemingly simple yet non-trivial problems.
Whom this course is for
Everybody interested in programming and IT.
Basic knowledge of mathematics (proofs, induction) and at least one programming language (input/output, functions, recursion).