skip to Main Content

Algorithms and Data Structures in C#: Complete Tutorial

$94.99 $12.00

4.88 (12 reviews)


What you’ll learn

  • Implement all the common data structures such as List, Stack, Queue and others understanding how they work under the covers
  • Use available data structures built-in .NET correctly: choose right data structures, understanding how they work under the covers
  • Pass coding interviews where interviewers torture you by asking to implement different algorithms and data structures
  • Solve custom problems related to algorithms and data structures, so you’ll be able to combine data structures and re-implement algorithms suiting them for concrete cases
  • Implement Binary Search Tree
  • Understand and Apply Hash Tables
  • Understand and Apply Symbol Tables
  • Understand and Apply Heaps

Why learn about data structures and algorithms? 

Algorithms and data structures constitute the fundamentals of programming.

  • Good understanding of algorithms and data structures is one of the most important requirements for a great number of work positions. You’ll have to solve  many problems related to algorithms and data structures at coding interviews. Indeed, you can live without an understanding of algorithms and data structures, in general. However, you can do that until you face a real problem which requires to choose right data structures and implement custom algorithms. If you haven’t ever faced such problems, believe me, this is just a matter of time. One day, you’ll face such a problem and if you don’t understand algorithms and data structures in depth, you’ll feel yourself ashamed and helpless. You’ll be stuck.

  • If you’re not good at algorithms and data structures, you’ll never pass a coding interview in a decent company. Almost all the companies   prefer to hire those developers who have good understanding of algorithms and data structures, remember that.  Do not delay the study of fundamental concepts.

  • Better hardware is not a solution  for all the performance-related problems. Sometimes, you need to write software for very slow devices. And that very often depends on the budget of a customer, by the way, so you don’t have a control over it.

  • You’d better to understand what’s going on under the hood at least one level in-depth. Indeed, if you don’t understand how List works, sometimes you’ll make sub-optimal or completely wrong decisions.

Why this course?

You may ask me “why should I take exactly your course?” And here is my answer:

  • This course is a comprehensive tutorial which covers a great number of topics

  • I tried to do my best to make this course not dry

  • This course concentrates not only at algorithms and data structures in general but it uncovers the internals of data structures and algorithms built-in .NET BCL (.NET Core’s BCL is the same regarding fundamental data structures and algorithms)

  • This course is practical with exercises and solutions

  • This course will definitely help you to pass technical interviews

  • This course is made by a professional software developer with more than 10 years of real-world experience

  • and many other reasons 🙂

What’s in the Course?

For now, the course covers:

  • Introduction to Algorithms and Data Structures: what is a data structure, abstract data type and what’s the difference between these notions. What is an algorithm and why they are important to us?

  • Introduction to Algorithm Analysis:  determine how long will a program work, build a log-log plot, approximations, order of growth (Big-O notation), memory consumption

  • Arrays: arrays in C#, arrays in memory, time complexity of operations on arrays

  • Sort Algorithms: bubble sort, selection sort, insertion sort, recursion, shell sort, merge sort, quick sort, stability of sort algorithms

  • Lists: List built-in .NET BCL, nodes, linked list including singly and doubly linked lists, linked list built-in .NET

  • Stacks: theory and practice; stack based on array, stack based on a linked list, stack built-in .NET

  • Queues: theory and practice; queue based on array, circular queue, queue based on linked list, queue built-in .NET BCL

  • Search Algorithms: linear search, binary search (more will be added in the future)

  • Symbol Tables: intro, API, sequential search-based, binary search-based

  • Hash Tables: intro, hash functions, GetHashCode, approaches to collisions resolving: separate chaining and linear probing, Dictionary built-in BCL, Sets in BCL

  • Trees: binary search tree (BST), implementing BST (more will be added in the future)

  • Heaps: intro, heaps and arrays, implementation, Heap Sort (more will be added in the future, specifically about Priority Queues)

  • Immutable Collections: immutability and memory pressure, immutable stacks and queues, immutable list, immutable sets, immutable dictionaries, builders in immutable collections

  • Different Algorithms. This section will include different algorithms as you might guess. For now it convers the Sieve of Eratosthenes.

Take this course now and you’ll be satisfied! Don’t forget that Udemy provides 30-day money back refund policy, so if you don’t like the course, you just click on a couple of buttons and get your money back!

Who this course is for:

  • C# developers who want to learn algorithms and data structures in their beloved programming language
  • Junior developers (C# or Java) who want to successfully pass programming interviews

Course content

  • Materials
  • Introduction to Algorithms and Data Structures
  • Introduction to Algorithm Analysis
  • Arrays
  • Sorting Algorithms
  • Lists
  • Stacks
  • Queues
  • Search Algorithms
  • Symbol Tables

12 reviews for Algorithms and Data Structures in C#: Complete Tutorial

  1. Luis Brito

    I can definitely see this course helping breaking through that initial barrier when it comes to learning a programming language. I’m positive I’ll finish it and hopefully master python by then.

  2. Abdallah Galal Abouhussein

    I would like to share my personnel experience, i`m very pleased and happy for taking this impressive course because Dr. Angela always makes it simple and easy to understand and always makes a precaution section before or after any bug that may appear to some students and also write or record the solution for us, and each word she said is very real and easy to understand.
    Thanks Dr. Angela
    Abdallah Galal

  3. Jiaqing Fan

    Very good course. Dr Angela explains things very clearly. The exercises are interactive and helpful.

    Angela’s voice is like ASMR in most lessons. So you won’t lose focus?

  4. Jaime Sánchez Blanco

    Every concept is very well explained so you can assimilate it, and the teacher insists in practicing daily to get the habit of programming. It really motivates to keep studying and practicing every day.

  5. Bradley Carouthers

    3 days in and I’ve already learned more than other training programs where I’ve put months in. Her teaching style is both efficient and effective.

    Edit: Now on day 29 and the course has held up my expectations and hopes. The rise in complexity is not too sharp, and every day feels like an accomplishment. Angela takes her time to explain things without rushing, yet is able to pack tons of information in nuggets of time.

    Still recommend supplemental exposure for a more wholesome grasp. Though, this should be quite enough

  6. Tommy Prévost

    Very good course.

    PROs: lots of coding exercises, clear explanations, great examples, adapted to 2021’s reality.

    CONs: past the first 30 lessons, many similar coding hands-on.

  7. Quang Tu

    I love all the lectures and challenges of this course. I finally find myself in love with coding. This is definitely a fun course. Thank you Angela for this great course.

  8. Fortunate Eze

    This course is nothing short of AMAZING. The level of love and sincere desire to see students succeed present in this course is a rare sight. This course is fun, it’s challenging, it’s suspense-filled, it makes you feel good about yourself solving those challenges. You don’t take this course and memorise codes, you take it and you know what you’re doing because you literally do it yourself.

    It couldn’t possibly be any more obvious that Angela brought out her whole heart, time, energy and resources to give us a course that if priced based on it’s value, many of us certainly can’t afford. I mean, she kept advising and encouraging us to keep going, because she knows the road could get bumpy, she made a few jokes and used funny animations so we smile along the way keeping it fun. Why some people can’t see this and would rather subscribe to trying to bend courses to fit their own personal preferences is beyond me, but I guess people will always be people.

    Dear Angela, I cannot speak for everyone but I certainly can speak for myself and I’m saying thank you. The efforts you put into making this course outstanding didn’t go unnoticed.

    Let as many of us as appreciate your efforts make you happy and energize you to create more life changing courses for us.


  9. Chendaniel

    Just the course fits me. Learn by doing, it is easy to start and just follow the flow and at day 15 you realized how to program in Python. Then the magic happen. I am on day 27 and I am looking forward to start a new section everyday.

  10. Caspar Cheng

    Angela is my favourite teacher on Udemy, her courses always come with clear and concise demonstration, make it really easy to understand the content. Meanwhile, she also provide a lot of tips to encourage us moving further on the way of coding. I’m definitely a super fan of her. I had finished her web development boot camp and now I’m learning Python 100 days of code. This course is amazing as she provided one particular project for each day’s learning, which is, really useful and handy. Also, those projects are really interesting and won’t let me feel disappointed about myself. Although some of them are a little bit difficult, they’re still resolvable after some struggling and searching online. I’ll recommend this course for those who really want to learn Python well and write real python projects from scratch!

  11. Jonas Weber

    The course was awesome in the first half! Really helped me to get back to programming and learning new techniques. Also the course got way to much focused on web development in the second half, which I’m not really interested in and is redundand to your dedicated web development course. The lack of videos in the last quarter was rather sad. I really would’ve liked some video explanations for pandas and matplotlib. The challenges and capstone projects were great and challenging!
    All in all I can really recommend this course for beginners and those who want to learn python and/or get back to programming!

  12. Rohit Prasad

    Angela is the best teacher I have ever experienced. The way she explains all the topics and makes use of it in the projects is commendable. Thank you so much Angela for this course.

Leave a customer review

Your email address will not be published. Required fields are marked *

Back To Top