Online Learning
Algorithms in C
and Data Structures
Learn the basics of algorithms and data structures in C and prepare for interviews with MCQs and quizzes. Join the course and pave your way to a successful career in programming!
Algorithms and data structures in C
- the foundation for top developers
1 000 000
Over one million IT jobs require knowledge of algorithms and data structures
70%
Candidates fail interviews due to poor understanding of DSA
24/7
Continuous demand for specialists - algorithms are always needed in any project
About the course
This course is a complete guide to Data Structures and
Algorithms (DSA) in C that will prepare you for real-world
development tasks and technical interviews at top IT companies.
Who this course is for

Beginning Programmers

Build a strong foundation in C algorithms and data structures to get a strong start in IT.

Computer Science Students

Simplify your preparation for exams and technical interviews with in-depth DSA examples.

Experienced developers
preparing for job interviews

Pump up your LeetCode-level algorithmic problem solving skills and get an edge in FAANG selection.
What makes this course special?

Deep understanding of DSA in C

from basic structures (linked lists, stacks, queues) to advanced algorithms (hashing, graphs, dynamic programming).

Practice through LeetCode-like problems

analyzing real-life tasks that are encountered at job interviews

Preparing for Viva and MCQ-tests

practicing answers to theoretical questions and multiple choice tests

Parsing interview questions

including FAANG tasks (Google, Meta, Amazon, etc.).

Implementation of all algorithms in C

with step-by-step explanation and optimization
What skills you will acquire after taking the course
Master the nuances of Data Structures and Algorithms (DSA) with the help of animations.
Learn to develop programs for various data structures and algorithms in C.
Test your skills by answering DSA programming interview questions.
Prepare for the interview - Over 100 MCQs and interview questions on Data Structures and Algorithms (DSA).
Learn how to analyze algorithms.
Gain skills in writing and debugging recursive algorithms.
Course Program
Module 1: About the Course
  • Introduction
Module 2: Introduction to Data Structures and Algorithms
  • Important: Source Code Repository required for course
  • Data Structures and Algorithms
  • Measuring Running Time of Algorithms
  • Asymptotic Analysis
  • Big O Notation
  • Finding Big O
  • Tight and Loose Upper Bounds
  • Introduction Quiz A
  • Big O analysis of Algorithms
  • Finding Time Complexity
  • Big O analysis of Algorithms: Examples
  • Worst case, Best case and Average Case Analysis
  • Common Complexities
  • Abstract Data Types
  • Introduction Quiz B
Module 3: Linked List
  • Introduction to Linked List in C
  • Traversing and searching a single linked list
  • Searching for pointers in a single linked list
  • Difference between while(p!=NULL) and while(p->link!=NULL)
  • Inserting into a single linked list
  • Continued
  • Deletion in a Single Linked List
  • Your Review Matters!
  • Reversing a Single Linked List
  • Linked List Quiz A
  • Doubly linked list
  • Insertion in a doubly linked List
  • Deletion from doubly linked list
  • Reversing a doubly linked list
  • Circular linked list
  • Insertion in a circular Linked List
  • Deletion in a circular linked list
  • Concatenation
  • Linked List with Header Node
  • Sorted linked list
  • Merging of sorted Linked lists
  • Sorting a Linked list using Bubble Sort
  • Sorting a Linked list using Merge Sort
  • Finding and Removing a cycle in a Linked list
  • Linked List Quiz B
Module 4: Stack and Queue
  • Introduction
  • Stack
  • Array Implementation of Stack
  • Linked List Implementation of Stack
  • Queue
  • Array Implementation of Queue
  • Linked List implementation of Queue
  • Queue through Circular Linked List
  • Circular Queue
  • Deque
  • Priority Queue
  • Checking validity of an expression containing nested parentheses
  • Function calls
  • Evaluating Arithmetic Expressions
  • Polish Notations
  • Converting infix expression to postfix expression
  • Evaluation of postfix expression
  • Stack and Queue Quiz
Module 5: Recursion
  • Introduction
  • Flow of control in Recursive functions
  • Winding and unwinding phase
  • Factorial
  • Printing numbers from 1 to n
  • Sum of digits of an integer
  • Base conversion
  • Finding nth power of a number
  • Euclids Algorithm
  • Fibonacci Series
  • Tower of Hanoi
  • Tail recursion
  • Recursion vs. Iteration
  • Recursion Quiz
Module 6: Binary Tree
  • Introduction to Trees
  • Binary Tree
  • Strictly Binary Tree and Extended Binary Tree
  • Full binary tree and Complete Binary Tree
  • Array Representation of Binary trees
  • Linked Representation of Binary Trees
  • Binary Tree Quiz A
  • Traversal in Binary Tree
  • Preorder Traversal
  • Inorder Traversal
  • Postorder Traversal
  • Level order traversal
  • Finding height of a Binary tree
  • Binary Tree in C
  • Constructing Binary tree from Traversals
  • Constructing binary tree from inorder and preorder traversals
  • Constructing binary tree from postorder and inorder traversals
  • Binary Tree Quiz B
Module 7: Binary Search Tree
  • Introduction
  • Traversal in Binary Search Tree
  • Searching in a Binary Search Tree
  • Nodes with Minimum and Maximum key
  • Insertion in a Binary Search Tree
  • Deletion in a Binary Search Tree
  • Binary Search Tree Quiz
Module 8: Heap
  • Introduction
  • Heap Representation
  • Insertion in Heap
  • Deletion
  • Building a heap
  • Heap Applications
  • Heap Tree Quiz
Module 9: Sorting
  • Introduction to Sorting Algorithms
  • Sort Stability
  • Selection Sort
  • Selection Sort Example
  • Selection Sort in C
  • Analysis of Selection Sort
  • Bubble Sort
  • Bubble Sort Example
  • Bubble Sort in C
  • Improvement in Bubble Sort
  • Analysis of Bubble Sort
  • Sorting Quiz A
  • Insertion Sort
  • Insertion Sort Example
  • Insertion Sort in C
  • Analysis of Insertion sort
  • Shell Sort
  • Shell Sort Example
  • Shell Sort in C
  • Analysis of Shell Sort
  • Merging two Sorted Arrays
  • Recursive Merge Sort
  • Recursive Merge Sort in C
  • Analysis of Merge Sort
  • Iterative Merge Sort
  • Iterative Merge Sort in C
  • Quick Sort
  • Quick Sort in C
  • Analysis of Quick Sort
  • Binary tree sort
  • Binary Tree Sort in C
  • Analysis of Binary Tree Sort
  • Heap Sort
  • Heap Sort: C implementation and Analysis
  • Radix Sort
  • Radix Sort: C implementation and Analysis
  • Address Calculation Sort
  • Address Calculation Sort in C
  • Analysis of Address Calculation Sort
  • Sorting Records
  • Sorting Quiz B
Module 10: Searching
  • Linear Search
  • Variations of Linear Search
  • Binary Search
  • Implementation of Binary Search
  • Analysis of Binary Search
Module 11: Hashing
  • Direct Addressing
  • Hashing
  • Collisions
  • Hash Functions
  • Open Addressing: Linear Probing
  • Open Addressing: Quadratic Probing
  • Open Addressing: Double Hashing
  • Deletion in Open Addressed Tables
  • Implementation of Open Addressing
  • Separate Chaining
  • Implementation of Separate Chaining
Module 12: Bonus
  • Recommended Course and offer on my other courses
How the training is organized
01

Master the topic

Each lesson explores a new concept through clear examples and animations, helping you to see "from the inside" how C algorithms work.
02

Perform tasks

After the theory you immediately apply the knowledge in practice, solving problems of increasing complexity and realizing full-fledged projects.
03

Work with your teacher

Our experts check your code, give you personalized advice and help you solve complex issues in a convenient Telegram chat.
Certificate of Completion
After successfully completing all training modules and practical assignments, you will receive a personalized certificate confirming your new competencies. This document will be an important addition to your resume and portfolio.
Select the appropriate tariff
Introductory
$11
  • Training program - 2 modules
  • Video lessons
  • Downloadable Resources
  • Practical assignments
  • Access to the course - 1 week
  • Without Certificate
Basic
$67
  • Training Program - 11 modules
  • Video lessons
  • Downloadable Resources
  • Practical assignments
  • Assignment Checking
  • Chat for students and teachers
  • Access to the course - 2 months
  • Certificate
Standard
$73
  • Training program - 12 modules
  • Video lessons
  • Downloadable Resources
  • Practical assignments
  • Error correction and feedback
  • Chat for students and instructors
  • Access to the course - 6 months
  • Certificate
VIP
$89
  • Individual support of a mentor
  • Training program - 12 modules
  • Video lessons
  • Downloadable resources
  • Practical assignments
  • Error correction and feedback
  • Chat for students and teachers
  • Access to the course - 12 months
  • Certificate
Corporate
$840
  • Groups of 5 to 10 people
  • Training program - 12 modules
  • Video lessons
  • Downloadable resources
  • Practical assignments
  • Error correction and feedback
  • Chat for students and instructors
  • Access to the course - 12 months
  • Certificate
Our course experts
Mikhail Volkov
  • Specialist in algorithms and system programming
  • 15 years of experience in developing highly loaded systems in C/C++.
  • Participated in Linux kernel development.
Algorithms are the foundation on which everything else is built. The right approach to DSA opens the door to the world of high performance solutions.
Anna Kozlova
  • Technical Interview Preparation Expert
  • Conducted 500+ mock interviews for FAANG candidates.
  • Former Google engineer, specializes in algorithmic training. Author of a collection of tasks for LeetCode.
In a job interview, it's important to not just know algorithms, but to be able to think like an engineer. I will teach you exactly that.
Dmitry Sokolov
  • Developer of embedded systems
  • 10 years of experience with low-level optimization in C.
  • Participated in projects for aerospace industry. Expert in efficient data structures.
Even in the era of high-level languages, understanding how memory and algorithms work in C remains a competitive advantage.
Elena Petrova
  • Computer Science Instructor
  • PhD candidate, Associate Professor of Computer Science.
  • She has been teaching algorithms and data structures for 12 years.
My goal is to make complex concepts accessible. Algorithms can be fun if presented in the right way!
Testimonials from our students
Ivan K.
Junior C Developer
This course completely changed my approach to programming. Before I just wrote code, now I understand HOW it works at a low level. Optimization parses were especially useful - after the course my code became 3 times more efficient!
Anna M.
Computer Science student
Thanks to the animations and step-by-step walkthroughs, I finally understood recursion and trees! Now I can easily solve LeetCode problems that seemed like magic before. Best investment in my education in years.
Dmitry S.
Backend Developer
I took a course to prepare for an interview in Yandex. The result - an offer with a salary higher than expected! It was especially valuable that they dealt not only with algorithms, but also how to explain their decisions at the interview.
Olga P.
Embedded Systems Engineer
As an experienced engineer, I lacked system knowledge on DSA. The course gave a clear structure: from basic concepts to advanced topics. Now I confidently participate in architectural discussions.
Artem L.
Career Switcher
I switched to IT from another profession. Thanks to the projects from the course, I built up a portfolio that impressed employers. Already 2 months after graduation I got a job as a junior developer in a startup!
Questions
If I am very new to programming, can I take this course?
The course is suitable for both beginners and those who already have experience with algorithms and data structures. You only need a basic knowledge of programming in any language to start the course. The rest we will teach you on the course.
Will I be able to combine my university studies
with the online course?
Yes, you can study anytime and anywhere. All videos, assignments and materials are available 24/7.
If the course doesn't work for me, can I get my money back?
You can request a refund at any time. During the first three sessions we will refund the full amount, and from the fourth session onwards we will calculate the refund amount or help you choose another course.
How many hours per week will I need to study on
the platform?
It depends on your goals and capabilities. On average, students devote 5 to 9 hours per week to successfully master the material.