Course overview
This course helps beginner backend developers confidently solve algorithmic problems in Python. You will learn complexity analysis, core data structures, search techniques, graph and tree traversals, heaps, and dynamic programming. Each lesson combines theory with hands-on practice in the UPSHELL trainer with automated checks, an AI mentor, a browser-based code editor, and SSH access to an isolated environment.
You will learn
Evaluate algorithm complexity by time and memory
Apply Python data structures to common problems
Solve problems involving graphs, trees, and dynamic programming
Use two pointers, sliding window, and heap techniques
Table of contents
Course Basics and Big O
Practice
15 min.
Arrays and Strings
Practice
17 min.
Two Pointers
Practice
17 min.
Sliding Window
Practice
34 min.
Prefix Sums
Practice
15 min.
Binary Search
Practice
19 min.
Dicts and Sets
Practice
14 min.
Frequency Counting
Practice
16 min.
Grouping and Indexing
Practice
15 min.
String Hashing
Practice
31 min.
Top-K and Heaps
Practice
30 min.
LRU Cache with Dict
Practice
18 min.
Stack and Its Uses
Practice
16 min.
Monotonic Stack
Practice
17 min.
Queue and deque
Practice
18 min.
Monotonic Queue
Practice
29 min.
Heap and heapq
Practice
16 min.
Linked List
Practice
34 min.
Two Pointers in List
Practice
15 min.
Recursion on Trees
Practice
13 min.
Tree Traversals
Practice
15 min.
Binary Search Tree
Practice
35 min.
Graph Representation
Practice
15 min.
Depth-First Search
Practice
36 min.
Breadth-First Search
Practice
34 min.
Topological Sort
Practice
34 min.
Shortest Paths
Practice
33 min.
Union-Find
Practice
36 min.
DP Basics
Practice
17 min.
DP on Arrays
Practice
15 min.
DP on Strings
Practice
32 min.
Knapsack and States
Practice
33 min.
Frequently Asked Questions
A subscription to the platform gives you unlimited access to all courses, as well as access to an online trainer with practical exercises.
Additionally, with a Premium subscription or higher, you also get access to all pet projects and the opportunity to take technical interviews with an AI mentor.
You can cancel your subscription at any time, and you will still have access to the platform for the paid period. You can do this through your personal account in the 'Subscription Management' section.
Yes, you can upgrade to a new plan at any time. We will provide a discount based on the unused time of your current plan. You can change your plan in your personal account.
To request a refund for a paid plan, please contact us at support@upshell.io. We will process your refund for the unused portion of your subscription within 5 business days.