NET Centric Computing
0%
Course Title: NET Centric Computing
Course No: CSC378
Nature of the Course: Theory + Lab
Semester: 6
Full Marks: 60 + 20 + 20
Pass Marks: 24 + 8 + 8
Credit Hours: 3
Course Description
Course Objectives
Course Contents
1.1. .NET Framework Basics
- Introduction to .Net framework
- Compilation and execution of .Net applications
1.2. C# Language Fundamentals
- Basic Languages constructs
- Constructor
- Properties
- Arrays and String
- Indexers
1.3. Object-Oriented Programming in C#
- Inheritance
- use of "base" keyword
- Method hiding and overriding
- applying polymorphism in code extensibility
- structs and enums
- abstract class sealed class
- interface
1.4. Advanced C# Features
- Delegate and Events
- Partial class
- Collections
- Generics
- File IO
1.5. LINQ and Lambda Expressions
- LINQ (Language Integrated Query) Fundamentals
- Lambda Expressions
1.6. Exception Handling and Attributes
- Try statements and Exceptions
- Attributes: Attribute Classes, Named and Positional Attribute Parameters, Attribute Targets, Specifying Multiple Attributes
1.7. Asynchronous Programming
- Principle of Asynchrony
- Async/Await patterns in C#
2.1. .NET Frameworks Overview
- .NET and ASP.NET frameworks: .NET, .NET Core, Mono
- ASP.NET Web Forms, ASP.NET MVC, ASP.NET Web API, ASP.NET Core
- .NET Architecture and Design Principles
2.2. .NET Core Compilation and Execution
- Compilation and Execution of .NET applications: CLI, MSIL and CLR
- .NET Core in detail
- .NET CLI: build, run, test and deploy .NET Core Applications
3.1. HTTP Fundamentals
- HTTP
- Request and Response Message Format
3.2. Web Application Architecture
- Common web application architectures
- MVC Pattern
- ASP.NET Core Architecture Overview
- Projects, and Conventions
- ASP.NET and ASP.NET MVC
4.1. Development Environment
- Setting up the Environment
4.2. Controllers and Actions
- Create Controllers
- Create Actions and Action Results Types
4.3. Views
- Rendering HTML with Views: Razor Syntax
- Understanding Tag Helpers
4.4. Models and Routing
- Models: Binding and Validations
- URL Routing and features
4.5. Web API and Dependency Injection
- Web API Applications: API Controllers, JSON
- Dependency Injection and IOC containers
5.1. ADO.NET Fundamentals
- ADO.NET basics: Connection, Command, Reader and Adapter classes
5.2. Entity Framework Core
- Entity Framework (EF) Core
- Object-Relational Mapper (ORM)
- Adding EF Core to an application: Choosing database provider, data models and data context
- Querying and Saving data to database: Create, read, update and delete records
6.1. State Management Concepts
- State Management on stateless HTTP
6.2. Server-side State Management
- Server-side strategies: Session State, TempData
- Using HttpContext
- Cache
6.3. Client-side State Management
- Client-side strategies: Cookies, Query Strings, Hidden Fields
7.1. Client-side Technologies
- Common client-side web technologies
- JQuery
- Forms and Validation
7.2. Single Page Applications
- Single Page Application (SPA) Frameworks: Angular, React
8.1. Authentication
- Authentication: ASP.NET Core Identity
- Adding authentication to apps and identity service configurations
8.2. Authorization
- Authorization: Roles, Claims and Policies
- Securing Controllers and Action Methods
8.3. Common Security Vulnerabilities
- Common Vulnerabilities: Cross-site Scripting attacks
- SQL Injection attacks
- Cross-site Request Forgery (CSRF)
- Open Redirect Attacks
9.1. Hosting and Deployment
- App Servers and Hosting models: IIS, Nginx, Apache
- ASP.NET Core Module, Kestrel
- Docker and Containerization
- Publish to Azure cloud
Laboratory Works
- 1.Programming with C# and .NET Core
Text Books
- 1.C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development, Fourth Edition, by Mark J. Price, 2019
- 2.ASP.NET Core in Action, by Andrew Lock, 2018
- 3.Learning ASP.NET Core 2.0, Michel Bruchet, Jason De Oliveira, 2017