Duration of the online course: 27 hours and 59 minutes
New
Efficient programming is more than making code work; it is about making it scale. This free online course helps you build the problem-solving mindset behind high‑performance Python by combining solid programming fundamentals with the most important data structures and algorithms used in real systems and technical interviews.
You will start in a practical environment using Jupyter notebooks, then strengthen core Python skills such as clean implementations, exception handling, and classes. From there, the course guides you to measure and reason about performance, so you can move beyond guesswork and confidently choose approaches that reduce runtime and improve responsiveness.
As you progress, you will learn to analyze algorithms using asymptotic thinking and apply that analysis to everyday tasks like searching and sorting. You will connect theory to code by implementing well-known techniques and understanding when trade-offs matter, including stability, worst-case behavior, and how input characteristics influence results.
The course then expands your toolkit with foundational structures such as flexible lists, dictionaries, heaps, priority queues, union-find, and balanced search trees. With these building blocks, you will tackle core graph ideas and methods used across routing, dependency resolution, and network design, including BFS, DFS, topological sorting, shortest paths, and spanning trees.
To round out your algorithmic thinking, you will explore key paradigms such as divide and conquer, greedy strategies, and dynamic programming, learning how to recognize patterns like optimal substructure and how to turn them into efficient solutions. Later sections introduce practical concepts from optimization and complexity, including linear programming, flows, reductions, and intractability, helping you understand what can be solved efficiently and what likely cannot.
By the end, you will be able to read algorithmic problems with more confidence, write clearer Python implementations, and justify your design choices with complexity arguments—skills that translate directly into stronger project code, better debugging, and improved interview performance.
27 hours and 59 minutes of online video course
Digital certificate of course completion (Free)
Exercises to train your knowledge
100% free, from content to certificate
Ready to get started?Download the app and get started today.
Install the app now
to access the courseOver 5,000 free courses
Programming, English, Digital Marketing and much more! Learn whatever you want, for free.
Study plan with AI
Our app's Artificial Intelligence can create a study schedule for the course you choose.
From zero to professional success
Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.
You can also use the QR Code or the links below.
Thousands of online courses in video, ebooks and audiobooks.
To test your knowledge during online courses
Generated directly from your cell phone's photo gallery and sent to your email
Download our app via QR Code or the links below::.
+ 10 million
students
Free and Valid
Certificate
60 thousand free
exercises
4.8/5 rating in
app stores
Free courses in
video and ebooks