Algorithms are one of the fundamental pillars in every software application, and once you understand them, you can create more efficient and maintainable programs. In this course, instructor Kathryn Hodge shows you how to create better C# programs by using efficient algorithms. Kathryn discusses what makes an algorithm effective, as well as how to make informed assumptions about your data to create better algorithms. She focuses on how to create efficient algorithms to work with different types of data, including strings, arrays, linked lists, queues, stacks, hash-based structures, and trees. Many algorithms are built into the C# language, and Kathryn covers how to use these to create your own custom algorithms, so you can work with your data exactly the way you want. She also dives into how to leverage different data structures to create better algorithms in analyzing or manipulating their data.