Data Structure, Algorithm & Design Pattern in C# & .NET Core

Implement basic data structures and algorithms in C# to code faster by implementing high-quality design patterns

3.70 (52 reviews)
Udemy
platform
English
language
Programming Languages
category
316
students
7.5 hours
content
Jan 2019
last update
$44.99
regular price

What you will learn

Implement algorithms such as the Tower of Hanoi on stacks of C# objects

Build enhanced applications by using hash tables, dictionaries, and sets

Effectively find the shortest path in the graph

Write better code by exploring SOLID principles

Maintain and expand your code with Dependency Inversion in modern C# applications

Get familiar with the Singleton design Pattern to work with single instances

Look for value changes using the Observer pattern

Description

Data structures allow you to organize data efficiently, but critical to various problems and their suitable implementation can provide a complete solution that acts like reusable code; whereas design patterns are reusable solutions to common programming problems where they speed up the development process by providing tested, proven development paradigms.

This course follows a practical approach, where you'll first start learning about arrays, lists, dictionaries, and sets together with real-world examples of your application. Then, you'll be learning creational design patterns, patterns related to the creation of objects, such as Singleton, Factory, and Dependency Injection. Next, you'll gain deep knowledge about dependency Inversion pattern, which will teach you how to write highly extensible, maintainable, and testable code along with insights into structural & behavioral design patterns.

By end of this course, you will be able to build your own desktop applications in C# 7.x much faster and with ease also improve the maintainability and testability of your application and gain the confidence to start a new project with Functional Programming paradigms.

Contents and Overview

This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Beginning Data Structures and Algorithms in C# you will learn how to use various data structures while developing in the C# language as well as how to implement some of the most common algorithms used with such data structures. Initially, you will get to know arrays, lists, dictionaries, and sets together with real-world examples of your application. Then you will learn how to create and use stacks and queues. In the following part of the book, more complex data structures will be introduced—trees and graphs—together with some algorithms for searching the shortest path in a graph. We will also discuss how to organize code in a manageable, consistent, and extendable way. By the end of the course, you will have learned how to build components that are easy to understand, debug, and use in different applications.

The second course, Design Patterns using C# and .NET Core starts at the nuts-and-bolts level and shows you everything through to advanced patterns and features, going in-depth to give you the knowledge you need. You will begin this course with an introduction to SOLID principles, which will introduce you to clean-code concepts and will elevate your skills. With this knowledge in your toolbox, you will be ready to move on to studying creational design patterns, patterns related to the creation of objects, such as Singleton, Factory, and Dependency Injection. You will then acquire more in-depth knowledge of one specific creational pattern, the Dependency Inversion pattern, which will teach you how to write highly extensible, maintainable, and testable code. Moving on, you will get your hands dirty with structural design patterns and you will complete this course by learning the last group of patterns: behavioral design patterns. By the end of this course you will be very confident in implementing a new feature in C# and .NET Core because, every time you have a problem, the correct design pattern will spontaneously come to mind.

About the Authors:    

Marcin Jamro, PhD, is an entrepreneur and researcher, as well as a developer and architect of various kinds of applications. He is the President of the Board at TITUTO Sp. z o.o. [Ltd.] in Rzeszów, Poland. Marcin is interested in many aspects of computer science, including software engineering and project management. He is the author of two other books—Windows Phone 8 Game Development (2013) and Windows Application Development Cookbook (2017), both by Packt Publishing. Marcin has published several papers, participated in many conferences, organized a few of them, and participated in two internships at Microsoft in Redmond, USA. He has MCP, MCTS, and MCPD certificates.

Dimitris Loukas is a software engineer currently writing Single Page Applications and using the latest JavaScript with Aurelia, Angular, C#, and .NET Core for a trading software firm. He has worked for two start-ups in the past, is active in the open source community, and loves taking up small side-projects. He has mastered Angular, Aurelia, and Vue.JS and is now interested in entering the ReactJS world. He is an early adopter of .NET Core and is fascinated by modern JavaScript and where the web is going.

Content

Beginning Data Structures and Algorithms in C#

The Course Overview
Programming Language and Data types
Installation and Configuration of the IDE
Input and Output
Arrays
Multi-Dimensional Arrays
Jagged Arrays
Selection Sort and Insertion Sort
Bubble Sort and Quick Sort
Simple Lists
Sorted and Linked Lists
Circular-Linked Lists
Stacks
Queues
Priority Queues
Hash Tables
Dictionaries
Sorted Dictionaries
Hash Sets
Sorted Sets
Basic Trees
Binary Trees
Binary Search Trees
Test Your Knowledge

Design Patterns using C# and .NET Core

The Course Overview
Introduction to SOLID
The Single Responsibility Principle
The Open/Closed Principle
The Liskov Substitution Principle
The Interface Segregation Principle
The Dependency Inversion Principle
Introduction to Design Patterns
The Singleton Pattern
The Factory Pattern
Loose Coupling
The Object Pool
Introduction to Dependency Injection
Creating a Custom Container
The Built-in ASP.NET Core IoC Container
Singleton Versus Transient Versus Scoped
The Decorator Pattern
The Adapter Pattern
The Facade Pattern
The Composite Pattern
The Proxy Pattern
The Strategy Pattern
The Observer Pattern
The Command Pattern
The Template Method
The State Pattern
Test Your Knowledge

Screenshots

Data Structure, Algorithm & Design Pattern in C# & .NET Core - Screenshot_01Data Structure, Algorithm & Design Pattern in C# & .NET Core - Screenshot_02Data Structure, Algorithm & Design Pattern in C# & .NET Core - Screenshot_03Data Structure, Algorithm & Design Pattern in C# & .NET Core - Screenshot_04

Reviews

Sterling
March 27, 2022
Not enough explanation of the topics covered. Just mentioned it really quick without allowing the concepts to be grasped.
Cristian
January 15, 2022
Marcin is such in a hurry ,he should give more detalied explanations.I give 4 stars for Dimitris who explained SOLID well.
Dimitrios
April 28, 2021
The professor runs as if somebody is chasing him and does not give time to understand what he is saying, so you have to stop and play the video again many times which is very annoying. He talks about a table or an array and before you are able to look at it, it disappears and you have to pause the video just to look the table again, loosing your string of thoughts. He just runs and does not explain anything, As a result you need to buy another course to learn c#. On top of that downloadable codes do not work. Generally the whole course is a fast pace copy of the corresponding packt book without explanations.
Roman
January 10, 2021
The course seemed to be intended for ppl who know C#, I'm a bit disappointed by the long instruction into basic concepts of the language.
Eduard
October 28, 2019
Copying and pasting code from the "code bundle" does not help so much. Was expecting to build real life examples step by step at the same time with the teacher.

Charts

Price

Data Structure, Algorithm & Design Pattern in C# & .NET Core - Price chart

Rating

Data Structure, Algorithm & Design Pattern in C# & .NET Core - Ratings chart

Enrollment distribution

Data Structure, Algorithm & Design Pattern in C# & .NET Core - Distribution chart

Related Topics

2175112
udemy ID
1/25/2019
course created date
7/6/2021
course indexed date
Bot
course submited by