Data Structures And Algorithms In The C Programming Language (Udemy.com)
Linked Lists, Array Lists, Stacks, Queues, Trees the lot!
Created by: Daniel McCarthy
Last updated June 2025
What you will learn
- Linked Lists
- Double Linked Lists
- Arrays
- Array List
- Creating a stack
- Creating a queue
- Binary trees
How it compares
Against the other 86 rated Udemy courses in Data Structures and Algorithms on CourseDuck:
- Rating4.5 out of 5higher than 46% of them
- Reviews162#59 of 87 by number of reviews
- Length2.7 hoursshorter than 89% of them
- Last updatedJune 2025more recently than 69% of them
Course Description
Are you a great programmer? Prove it with this course. It is time that you learn how memory works on the processor and in the C programming language to work with C structures to make linked lists, arrays, queues and more!
This course will teach you all about creating internal data structures in C.
This course will teach you how to create the following:
Linked List Implementation
In our linked list implementation you will learn how we can use C pointers to link elements together in a chain
Double Linked List Implementation
In our double linked list implementation you will learn how you can use a previous pointer in an element to be able to iterate backwards through a linked list. This is called a double linked list.
Array List Implementation
Our array list implementation will allow us to add elements to a dynamic array, resizing it when needed.
Queue Implementation
Learn about first in last out techniques in our queue implementation.
Stack Implementation
Learn how to create a stack where you will be able to add an element to a stack and then take it off the stack later. That is why its called a stack!
Binary Tree Implementation
Learn how to create binary trees and why they are important.
All of the implementations described above will be created on video from scratch! You will learn how all of these work internally and when they should be used. This course is a "must have" for someone who has learned the fundamentals of the C Programming Language
Instructor Details
- 4.5 Rating
162 Reviews
Daniel McCarthy
Daniel McCarthy is a seasoned software engineer with more than 20 years of experience. Armed with a Master’s in Advanced Computer Science from Cardiff Metropolitan University, he has worked on everything from web applications to sophisticated compiler and kernel architecture.
A specialist in bootloader and kernel development, Daniel created two proprietary programming languages—Craft, a general-purpose language, and Marble, a web-centric language similar to PHP—and has built multiple C compilers from the ground up.
Fluent in C, C++, Java, x86 and PIC assembly, SQL, PHP, HTML5, JavaScript, CSS, and his own Craft and Marble, he has also authored production-grade Linux kernel modules.
Today, Daniel teaches kernel and compiler development to thousands of students worldwide, channeling his decades of expertise into mentoring the next generation of professional software engineers.
More courses by Daniel McCarthy
Arduino Embedded C With Electronics/Schematics/PCB (2025)
4.6 (372 Reviews)
Provider: Udemy
Time: 4.1h
$54.99
More Data Structures and Algorithms courses
JavaScript Data Structures & Algorithms + LEETCODE Exercises (2026)
4.9 (4,131 Reviews)
Provider: Udemy
Time: 9.6h
$119.99
Data Structures & Algorithms: Coding Interview Masterclass (2026)
4.8 (15,900 Reviews)
Provider: Udemy
Time: 10.8h
$99.99
Master the Coding Interview: Big Tech (FAANG) Interviews (2026)
4.8 (6,000 Reviews)
Provider: Udemy
Time: 36.8h
$109.99
Mastering critical SKILLS in Algorithms using C++: Part 1 (2023)
4.8 (598 Reviews)
Provider: Udemy
Time: 18.9h
$84.99
Reviews
By Paul Warkentin on 5/9/2025
This is a good course if you have already a basic understanding of C and want to understand the algorithms for data structures a little better or if you are struggling with pointers and want to have a much better understanding of them, it would be good to take his previous course on beginning C programming as well in that regard as they both build upon each other. That being said there are a lot of algorithms and a lot of different ways to build them, and only so much time to learn them so Daniel gives a pretty good summary of the basics of the fundamental algorithms. This is my second course with him and he does a good job of delivering the information well, and explaining it so you can grasp it. If English is your first language and you struggle with thick accents like I do, Daniel is perfect to learn from. He has deep knowledge of what he is talking about because of his experience and it shows in his code demonstrations. This course was what I was looking to take so I could better tackle the problem I am currently stuck on in CS50, which is the week 5 problem of a spell checker. I have been able to get a grasp on what data structure type I need to do and a general idea of how to build it in order to accomplish that task. I really enjoy Daniel's courses and will be referencing back to them when needed. Thanks a lot for the help in advancing my skill set further. It's very encouraging to see how far I've come along since I started learning programming a few months ago.
By Jeff Wagner on 3/24/2024
Good and quick overview, lacking a bit of in-depth explanations like rebalancing trees and types of trees etc.
By Ajay Sanjay Barge on 1/24/2024
Data structure programing is very good for all topics. increase my programing knowledge and concept.
By Aigerim Tulegenova on 7/4/2021
Everything is fine, this course has given me good starting point, but I had an impression that the course is not completed. For example, binary search tree is only generally explained. Inserting and removing nodes are missed.
By Patrick Divine on 6/11/2021
Dan is brilliant. This is a great introduction to data structures in C. Dan explains things in a clear, to-the-point way, which is much appreciated. Thank you, Dan
By Evander on 5/4/2021
This course is average and the instructor voice is clear. Can take this one when you want to learn basics of DSA
By Traiano Welcome on 3/28/2021
Well explained. I like the hands-on approach as well as detailed explanation during the process.
By Susanna Capacchione on 1/15/2021
Nice course to get a well explained refresh of data structures if you have some knowledge of C language! Would be nice to also have the boilerplate of the code written during the videos
By Aaryan Dubey on 11/28/2020
the instructor should more briefly explain how the things are happening as it is difficult for a beginner to understand things so rapidly.
By Scott Mandel on 2/13/2020
This is a fantastic course. I appreciate how the instructor presents the theory and then moves directly into a demonstration of how that theory looks in a C program. The C program is built in such a way that there is time to follow the process and see how the components work. A major advantage of this type of course presentation is that the lesson can be stopped and the C program studied. Once everything is understood, the student is free to proceed with a greater degree of confidence. Comprehension is enhanced by working with the instructor to write the program as he types it in and explains the purpose of each command. Overall, a most worthwhile course taught by a gifted instructor.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 90 / 100






