Algorithms and Data Structures in C#: Complete Tutorial – Udemy

(10 customer 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

10 reviews for Algorithms and Data Structures in C#: Complete Tutorial – Udemy

  1. Donny Phan

    Super practical. Lessons are catered towards anyone looking to find work in this industry. It felt very comprehensive and gave me a broad understanding of the programming spectrum

  2. Madhav raj Verma

    Thanks for your great effort. i am fully satisfied with this course the way you teach and your explanation are very clear ,The content you provide in your course no one can do this at this price.

  3. Sachin Gupta

    I really didn’t want to leave a low rating as Angela is a great teacher. The 1st half of this course was terrific. The 2nd half was terrible. Under the justification of “teaching students how to figure things out on their own”, pretty much all videos and all explanations were dropped. You were just told what to do, given links to documentation and told to figure it out on your own. I understand doing that to some degree, but to revert to that entirely for nearly half the content barely makes this a course. It’s just a list of things for you to learn, then you’re left on your own to learn them. The 2nd half was so bad, especially the data science component, that I didn’t bother finishing the course.

  4. Vincent Beaudet

    Amazing 40 days course.
    Angela is a great teacher.
    The other 60 days are all about web developement, interacting with web pages, on your own with little to no explanations. I did not expect that at all. I wanted to learn more about software and scripting.
    This left me disappointed , confused and i started to doubt myself. Not a fun experience after the amount of effort i’v put in this course.

    Exercices format and explanations for the first 40 days were worth it tho.

  5. Ben K

    Not just an introduction to python, but really helps you learn fundamental aspects of python and coding in general. Some parts may require some knowledge on the subject (data science comes to mind) and there is quite some web development in the course. So, a few areas were not completely to my liking (I would have liked to see it done differently), but this course deserves the 5 stars in my opinion.

  6. Omid Alikhel

    I found the method a bit difficult when a code is written and then changed back to something different, with no enough explanation of how something happened and where it came from or a step by step explanation of why something is happening, i have no doubt in the instructors talent, but we are beginners!

  7. Devang Jain

    The course is not updated and most of the solution codes don’t work and there are no video solutions towards the end

  8. Szymon Kozak

    I think that the course tutor is really good in giving right information to learn at the right time. Thanks to this fact, my understanding of coding in python after 29 days of learning is above my expectations.

  9. Begoña Ruiz Diaz

    Ha sido la mejor elección que podría haber hecho.

  10. Vaibhav Sachdeva

    I want to thank Angela for making such an amazing course. It really helped me explore more things with python.

Add a review

Your email address will not be published.