Recursion For Programmers (Udemy.com)
Algorithms and Data Structures: Recursion, the Stack and Trees
Created by: Huw Collingbourne
Last updated April 2022
What you will learn
- Call functions recursively
- Understand how recursion works
- Understand the stack and stack frames
- Avoid stack corruption
- Use recursion in any mainstream programming language
- Know the pros and cons of recursion and iteration
- Navigate tree structures
- Traverse disk directories recursively
- Code samples in C, Java, Ruby...
How it compares
Against the other 86 rated Udemy courses in Data Structures and Algorithms on CourseDuck:
- Rating4.4 out of 5higher than 32% of them
- Reviews115#67 of 87 by number of reviews
- Length2.1 hoursshorter than 95% of them
- Last updatedApril 2022earlier than 61% of them
Course Description
Recursion is a powerful programming technique. A function that calls itself recursively not only saves programming effort and avoids repetition but it can also be used to navigate complex structures such as Trees and Class Hierarchies.
This is an intermediate-to-advanced level course. It is aimed at programmers who can already program confidently in one or more programming languages. It is not appropriate for beginners.
The courses includes numerous short sample programs to show how recursion works. There are samples written in C, Ruby and C#. However, you don’t need to program in those languages to follow this course. Recursion works the same way in all mainstream programming languages. This course explains the theory and the practice of recursion. You can use the techniques that are taught to write recursive functions in whichever language you prefer: C, C#, Java, JavaScript, Python, Basic, Pascal and others. The course is not about any specific language.
This is what you will learn…
What is recursion?
How variables are scoped in recursive functions
How recursive functions return values
The Stack and Stack Frames
Debugging recursive functions
Recursion v Iteration
Stack Corruption, and how to avoid it
Infinite Recursion, and how to avoid it
Recursing Fibonacci Numbers
Recursing a Class Hierarchy
Trees and recursion
Navigating subdirectories recursively
Code samples provided in C, Java, Ruby...
Instructor Details
- 4.4 Rating
115 Reviews
Huw Collingbourne
Huw Collingbourne is the technology director at SapphireSteel Software, developers of programming tools for Microsoft Visual Studio. He is author of The Little Book Of C, The Little Book Of Pointers and The Little Book Of Recursion from Bitwise Books and of The Book Of Ruby from No Starch Press. He runs Bitwise Courses and teaches courses on a range of programming topics.
Huw has been a programmer for more than 30 years. He is a well-known technology writer in the UK. For over ten years he wrote the Delphi and Java programming column for PC Plus Magazine. He has also written numerous opinion and programming columns (including tutorials on C#, C++, Smalltalk and Ruby) for a number of computer magazines, such as Computer Shopper, PC Pro, and PC Plus.
In the 1980s he was a pop music journalist and interviewed most of the New Romantic stars, such as Duran Duran, Spandau Ballet, Adam Ant, Boy George, and Depeche Mode. He is now writing a series of 1980s murder mysteries.
More courses by Huw Collingbourne
Learn C# Programming (In Ten Easy Steps) (2023)
4.4 (2,005 Reviews)
Provider: Udemy
Time: 7.5h
$18.99
Learn To Program with Delphi and Object Pascal (2024)
4.5 (1,071 Reviews)
Provider: Udemy
Time: 7h
$89.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 Thomas Brodbeck on 11/10/2022
Für mich hat sich dieser Kurs gelohnt. Ein Themengebiet, innerhalb des Programmierens, welches gut und verständlich erklärt wird. Dankeschön!
By Sharon Forbes on 4/22/2022
@Huw Collingbourne is by far the best instructor on UDEMY. He carefully explained recursion and provided great examples and documentation. I learn best from seeing code in action and being able to walk through it so Huw's classes are a good match for me.
By Carlos Vazquez on 1/23/2021
It is a very good course technically speaking, however, I do not rate it with 5 stars because I was expecting more analogies, more in depth explanations about what recursion is, not to just get examples of recursion being applied. The use of C and Ruby did not help much either.
By Malorie Casimir on 6/23/2019
I wish there was a deeper explanation of the directory navigation program! Otherwise - I wouldn't say recursion clicked immediately for me but it cleared up some confusion around the concept with respect to scoping.
By Lerena Holloway on 2/21/2019
It didn't reach my expectations. I wanted to see more details regarding nested structures and returning values from these nested functions taking in callbacks. There was a lot of mention of the simpler recursive cases, not much beyond that.
By Deepak Maithani on 2/3/2019
Well , first of all kudos to instructor to think about having a course on recursion.If anyone wants to get a good overview of this topic , this is nice course to start with. If the subject of tree data structure is also covered in depth, which is a natural case of recursion and bit more advanced application of recursion , that would be wonderful.
By Player 01 D'Angelo on 1/28/2019
This was a great explainer of Recursion. There is no question that I understand and can visualize recursion much better. The instructor's explanations are thorough and clear. His supporting visuals (with zooms and call outs) are super-helpful...especially for this topic. There are a lot of moving parts. I would love additional practice lessons where the instructor walks us through a few simple applications step by step. Also, I think it would be helpful to see an animated visual of the stack frames as they get added and discarded with the initiation and execution of each recursive call. The instructor explains this really well, but a supporting animation would knock it out of the park.
By Jason Penman on 12/29/2018
Huw's courses are great. He explains everything clearly and it's easy to remember what you've learned. Even if you have experience you always learn something useful.
By Yannis Yannaros on 8/22/2018
Absolutely brilliant use of the English language to explain in programming detail such a topic. I liked the analogy between recursive function calls and class with its objects in OOD. This made me instantly grasp what is going on. The attention to programming detail of each line of code in what was such an ambiguous topic for me , excellent.
By Vadim Gerassimenko on 8/16/2018
Thanks a lot Huw, great work! Finally a solid explanation what recursion is, main use cases and pitfalls clearly put. The code samples are easy to comprehend and convert to your language of choice, as Java in my case. In my opinion, the only thing that might be added is recursion types - head, tail, linear etc, and when either should be used. Highly recommend!
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 88 / 100











