
This section will give an overview of the course.
You will be able to edit and run C# programs and install minimum set of tools and libraries to run it.
• Install .NET Core
• Install Visual Studio Code
• Create a sample application
The aim of this video is to provide necessary C# libraries and .NET framework base class libraries.
• Familiarize audience with basic C# program structure
• Use classes
• Create generics and explain base class library usage
The aim of this video is to check suitable algorithms to code in C#.
• Define algorithm
• Compare algorithms
• Define algorithm complexity
Find which algorithms work faster or slower.
• Select any algorithm
• Run the algorithm
• Check algorithm performance using BenchmarkDotNet package
The aim of this video is to create arrays and string and earn about its types.
• Create 1 dimensional array
• Create string
In this video, you will create Array List, which are dynamic arrays whose size can be changed.
• Create array list
• Create index to add
• Add element
The aim of this video is search for preferred algorithms to perform on arrays.
• Search for sorted or unsorted array
• Perform linear search on unsorted array
• Perform binary search on sorted array
The aim of this video is to understand the various sorting algorithms.
• Understand selection sort
• Understand merge sort
• Understand quick sort
The aim of this video is to create linked list and how to add/delete nodes in it.
• Search a linked list
• Delete a node from linked list
• Insert a node to linked list
This video helps in creating multiple pointers which is used to traverse through all nodes to perform faster operations.
• Find middle element
• Find loops or cycles
• Find last node
Create more data structures like stack and queue providing more efficiency.
• Define stack
• Define queue
• Code stack and queue
The aim of this video is to create hash table to reduce complexity.
• Create string keys
• Create corresponding key values
• Create internal array and hash function
In this video, you will learn about built in C# table collections.
• Use Dictionary<TKey,TValue>
• Use HashSet<T>
You will be able to learn about binary numbers and shift operations.
• Create binary numbers and logic operations
• Perform shift operations on binary numbers
• Code binary operations in C#
The aim of this video is to give brief idea about storing bits in Array and various others tricks to perform on bit array.
• Code simple C# program
• Use different classes and main points using base class library
• Create generics
This video will help you to break down complex problems into small simple sub-problems.
• Calculate Fibonacci series using recursion
• Optimize dynamic programming
• Code recursion and dynamic programming in C#
The aim of this video is to give brief idea about the trees data structure in C#.
• Understand the trees algorithm
• Learn about the kind of trees exist, how to perform common tasks on trees
• Implement the algorithm
The aim of this video is to give brief idea about heaps data structure in C#.
• Understand the heaps algorithm
• Implement it
The aim of this video is to give brief idea about graphs data structure in C#.
• Understand the graphs algorithm
• Implement it
Programmers often concentrate on studying the specifics of programming languages and libraries. However, to write efficient code, you also need to know the right data structures and algorithms that have to be used in different situations. By understanding how to compare algorithms in terms of time and complexity, you’ll be able to implement the right one to resolve everyday programming problems.
In this course, you’ll learn about common algorithms and understand how to estimate their efficiency. You’ll also get to grips with the essential data structures that you can use to perform typical programming tasks. You’ll make steady progress as you learn how to implement data structures and algorithms in the latest C# language available with .NET Core, and you'll review .NET built-in data structures. This will help you to write well-structured and efficient programs. As you approach the concluding sections, you’ll delve into several common programming problems and solutions, which will help you to fix issues with your code and optimize your programming processes.
By the end of this course, you’ll have the skills you need to start writing more efficient code and build further on your C# data and algorithm knowledge.
About The Author
Eugene Agafonov leads the development department at ABBYY and lives in Moscow. He has over 15 years' professional experience in software development, and he started working with C# when it was in its Beta version. He was a Microsoft MVP in development technologies in 2006-2018, and he often speaks at local software development conferences in Russia about cutting-edge technologies in modern distributed applications development. His main professional interests are cloud-based software architecture, scalability, and reliability. He is the author of the Multithreading with C# Cookbook and Mastering C# Concurrency books by Packt Publishing.