Skip to content

Instantly share code, notes, and snippets.

@xuanphi7895
Forked from mhfaisalbd/addotnet.md
Created July 16, 2021 04:23
Show Gist options
  • Save xuanphi7895/619ee7c6b15960c16aadb484889cf709 to your computer and use it in GitHub Desktop.
Save xuanphi7895/619ee7c6b15960c16aadb484889cf709 to your computer and use it in GitHub Desktop.
Application Development (.NET) Learning path

System Application Development (.NET)

Syllabus and Course Manual for Class Lectures

PART I (.NET Programming Using C#)

Total Lecture Count: 10 Total Duration: 15:00 Hours (approx.)

Class 0: Scratch & Fundamental Concepts (Duration: 02:00 Hours Approx.)

  • Introduction
    • What is System Development
    • Stages of System Development
    • Developer Lifestyles (By Level)
    • Course Objectives
  • Number System & Binary Operation
    • Bin, Dec, Hex, Oct
    • Bit / Byte
    • Power of 2, 8, 16
    • Dec to Bin & Bin to Dec
    • Dec to Hex & Hex to Dec
    • Dec to Oct & Oct to Dec
  • ASCII & Unicode & Color Code
    • ASCII
    • UTF8 & UTF16
    • RGB & RGBA
  • Concept of Computation
    • Algorithm meaning
    • Data Structure
    • Graph
    • Computational Complexity
  • Standard Programming Languages
    • Level of Programming Language
    • Assembly
    • IL
  • Compilation of Programs
    • Pre-.NET Compilation
    • .NET Standard Compilation
    • Language Compiler
    • JiT Compiler
    • Native / Byte Code
  • Development Lifecycle (SDLC)
    • Planning and Requirement Analysis
    • Defining Requirements (SRS)
    • Designing the Product Architecture (DDS)
    • Building or Developing the Solution
    • Testing
    • Deployment / Release
    • Maintenance
    • Introduction to Agile
  • Requirements & Key Features
    • Key requirements for Development
    • Proper Architecting
    • Follow of Design Principles
    • Practice the Design Patterns
  • Computer Abstractions
    • CPU
    • Registers
    • Main Board
    • HAL
    • External Processors
    • Device Interfacing
    • System Kernel
    • OS Base
    • System Apps
    • User defined Apps
  • Memory & Components
    • Cache
    • Environment Variables
    • Stack
    • Heap
    • Text Data
    • Pagination
  • Summary of the Lecture

Class 1: .NET Basics (Duration: 01:30 Hours Approx.)

  • .NET Program Execution
  • .NET Project Types
  • ILDASM & ILASM
  • Strong Naming in Assembly
  • Versioning in Assembly
  • Global Assembly Cache (GAC)
  • Finding procedures of Assemblies by .NET Applications
  • DLL Hell & It’s Solutions
  • IDE (Visual Studio 2019)
  • C# 8 (Industry Standard) & C# 9 (Latest Stable)
  • Summary of the Lecture

Class 2: C# Language for introductory Level (Duration: 02:00 Hours Approx.)

  • Console Application
  • Read and Write
  • Built-in Types
  • String
  • Common operators
  • Nullable Type
  • Type Conversion
  • Arrays
  • Comments
  • If statements
  • Switch Case statements
  • Conditional Statements
  • While Loop
  • Do while Loop
  • For and foreach Loop
  • Methods
  • Methods Signatures
  • Summary of the Lecture

Class 3: Object Oriented Programming for Beginners (Duration: 02:00 Hours Approx.)

  • Namespaces
  • Introduction to Classes
  • Static and instance class members
  • Inheritance
  • Method Hiding
  • Polymorphism
  • Method overriding & Method overloading
  • Properties
  • Structs
  • Interfaces
  • Explicit Implementation
  • Abstract Classes
  • Multiple Inheritance
  • Constructors
  • Destructors
  • Summary of the Lecture

Class 4: Object Oriented Programming for Intermediate (Duration: 02:00 Hours Approx.)

  • Delegates
  • Exception Handling
  • Enums
  • Type & Type Members
  • Access Modifiers
  • Attributes
  • Reflections
  • Generics
  • String & String Builder
  • Partial Classes
  • Partial Methods
  • Indexers
  • Optional Parameters
  • Code Snippets in VS
  • Anonymous Methods
  • Lambda Expressions
  • Func / Predicate Delegates
  • Summary of the Lecture

Class 5: C# Collections (Duration: 02:00 Hours Approx.)

  • What is a collection
  • Collection operations
  • Inside Arrays
  • The Array Type
  • Collection Interfaces
    • IList
    • IReadOnlyList
    • IDictionaries
    • ISets
    • ICollections
    • IEnumerator
    • IDispossable
    • IEnumerable
    • IClonable
    • IEmutable
  • Lists
  • Dictionaries
  • Sets Linked Lists, Stack & Queues
  • Enumerators
  • Ranks and Bounds
  • Jagged Arrays
  • Summary of the Lecture

Class 6: LINQ (Duration: 02:00 Hours Approx.)

  • What is LINQ
  • Extension Methods
  • Aggregate Functions
  • Restriction Operators
  • Projection Operators
  • Select vs SelectMany Operator
  • Ordering Operators
  • Partitioning Operators
  • skip and take operators
  • AsEnumerable and AsQueryable
  • GroupBy
  • Element Operators in
  • Difference between group join and inner join
  • Set operators
  • Union, Intersect and Except operators
  • Concat & Summation operator
  • Where() & FirstOrDefault()
  • ForEachAsync()
  • Summary of the Lecture

Class 7: C# Multi-Threading (Duration: 01:30 Hours Approx.)

  • Thread Basics
  • Needs of Multi-Threading
  • ThreadStart Delegate
  • Passing in Safe manner
  • Retrieving in Callback
  • Concurrent access protection
  • Monitor & Lock
  • DeadLock & Resolve
  • Performance of Multi-Threaded Applications
  • Summary of the Lecture

Class 8: C# Parallel Programming (Duration: 01:30 Hours Approx.)

  • Async and Await
  • Task Programming
  • Creating Task and Cancellation
  • Waiting in Task
  • Data Sharing and Synchronization
  • Mutex
  • Concurrent Collections
  • Task Co-ordination
    • Barrier
    • CountDown
    • Semaphore
  • Parallel Loops
  • Summary of the Lecture

Class 9: Code Smells (Duration: 01:30 Hours Approx.)

  • What are Code Smells
  • Principle of Least Surprise
  • Rules of Simple Design
  • Explain code smells
    • Long Method
    • Large Class
    • Primitive Obsession
    • Data Clumps
    • Poor Names
    • Inappropriate Abstraction Level
  • Introduction to Jetbrain Resharper for .NET
  • Summary of the Lecture

PART II (Design Patterns for Domain Driven Design)

Total Lecture Count: 4 Total Duration: 08:00 Hours (approx.)

Class 10: Design Principles (Duration: 01:30 Hours Approx.)

  • Why Design Principles
  • What is SOLID
  • S : Single Responsibility Principle (SRP)
  • O : Open closed Principle (OSP)
  • L : Liskov substitution Principle (LSP)
  • I : Interface Segregation Principle (ISP)
  • D : Dependency Inversion Principle (DIP)
  • Summary of the Lecture

Class 11: Design Patterns #1 (Duration: 02:30 Hours Approx.)

  • Design Patterns Introduction
  • Singleton Design Pattern
  • Why is singleton class sealed
  • Thread Safety in Singleton
  • Lazy vs Eager loading in Singleton
  • Static Class vs Singleton
  • Exception Logging using Singleton Design Pattern
  • Summary of the Lecture

Class 12: Design Patterns #2 (Duration: 02:00 Hours Approx.)

  • Factory Design Pattern Introduction
  • Factory Method Design Pattern
  • Abstract Factory Design Pattern
  • Builder Design Pattern Introduction
  • Builder Design Pattern Implementation
  • Fluent Builder Design Pattern
  • Prototype Design Pattern Introduction
  • Prototype Design Pattern Implementation
  • Summary of the Lecture

Class 13: Design Patterns #3 (Duration: 02:00 Hours Approx.)

  • Structural Design Patterns Introduction
  • Adapter Design Pattern
  • Bridge Design Pattern
  • Composite Design Pattern
  • Decorator Design Pattern
  • Facade Design Pattern
  • Summary of the Lecture

PART III (ASP.NET Core)

Total Lecture Count: 8 Total Duration: 14:00 Hours (approx.)

Class 14: ASP.NET Core basics and .NET Hosting Modules (Duration: 01:30 Hours Approx.)

  • Creating ASP.NET Core web application
  • Project files and Item Groups
  • Main method and web host builder
  • Kestrel Server and IIS/IIS Express
  • In-Process and Out-of-Process Hosting
  • Configuration files (launchsettings.json and appsettings.json)
  • Hosting Environment Variables
  • Middleware and Request processing pipeline
  • Static Files in ASP.NET Core
  • Developer Exception Pages

Class 15: ASP.NET Core MVC (Duration: 02:00 Hours Approx.)

  • Overview of ASP.NET Core MVC
  • Model in MVC
  • Dependency injection
  • Controller in MVC and WebAPI
  • Razor Views in MVC
  • Customizing View discoveries
  • Passing Data to Views
  • ViewBag and ViewData
  • Strongly typed View
  • ViewModel in MVC and MVVM
  • List View
  • Layout view in ASP.NET Core
  • Sections in Layout page
  • ViewStart and ViewImport
  • Routing in ASP.NET Core

Class 16: Client Site Libraries and TagHelpers (Duration: 01:30 Hours Approx.)

  • Install and Use CSL (Bootstrap)
  • Tag Helpers and Their Usages
  • Image and Environment Tag Helpers
  • Bootstrap Navigation menus
  • Form tag helpers in ASP.NET Core Application
  • ASP.NET Core model binding
  • ASP.NET Core model validation
  • Dropdown and Select list Validation

Class 17: Introduction to ORM and EntityFramework (Duration: 01:30 Hours Approx.)

  • Configuration services: AddSingleton, AddScoped and AddTransient
  • ORM and EntityFramework for Relational entities
  • Installing EntityFramework Core (EF Core) with VS
  • DbContext in EF Core
  • Using SQL Server with EF Core
  • Code first and Data first approaches
  • Repository pattern in ASP.NET Core
  • EF Core Migrations
  • EF Core Seed data
  • Keeping Domain models and DB Schema in Sync

Class 18: CRUD Operations and Logging (Duration: 01:30 Hours Approx.)

  • Action Methods in ASP.NET Core Controllers
  • File uploading and processing
  • HTTP requests: HTTPGet and HTTPPost
  • Edit action with EF Core
  • Delete action with EF Core
  • Error handling: 404 Not Found
  • UseStatusCodePagesWithRedirects vs UseStatusCodePagesWithReExecute
  • Global Exception Handling
  • Logging in ASP.NET Core
  • Logging to file using nLog
  • ASP.NET Core LogLevel Configuration

Class 19: ASP.NET Core Identity #1 (Duration: 02:00 Hours Approx.)

  • Authentication in ASP.NET Core
  • Registering New User
  • Identity UserManager and SignIn Manager
  • Identity Password Complexity
  • Implementation of the login functionality
  • Authorization in ASP.NET Core
  • Redirection and Redirection vulnerabilities
  • Client side and remote validations
  • Extend Identity User
  • Role based Authorization in ASP.NET Core Identity
  • Access control of users by Role
  • Delete Identity role
  • Enforce onDelete No Action

Class 20: ASP.NET Core Identity #2 (Duration: 02:00 Hours Approx.)

  • Claim based Authorization in ASP.NET Core Identity
  • Authorization in razor views
  • Custom AccessDenied routeClaim Policy based Authorization
  • Custom Authorization Policies
  • Custom Authorization requirements and handles
  • External Identity Providers
  • Explanation of OAuth protocols (OAuth 2.0 and later)
  • Google OAuth Credentials client id and client secret
  • Google authentication UI setup
  • External Login Callback action
  • ASP.NET Core facebook authentication
  • ASP.NET Core secret manager

Class 21: Security Implementation in ASP.NET Core (Duration: 02:00 Hours Approx.)

  • Importance of email confirmation
  • Enforcing on Email confirmation: Block login
  • Email Confirmation
  • Password Management in ASP.NET Core Identity
  • Forgot Password Handle
  • Reset Password implementation
  • Explanation: how tokens are proceed
  • Password reset token lifetime
  • Custom token provider
  • ASP.NET Core Encryption and Decryption
  • Change password in ASP.NET Core Identity
  • Add password to account with External Login
  • Account Lockout in Identity
  • Wrap up The Module (ASP.NET Core)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment