BIT NET Centric Computin
NET Centric Computing
Subject Code: BIT351
Course Title: NET Centric Computing
Course No: BIT351
Nature of Course: Theory & Practical
Full Marks: 100
Pass Marks: 40
Credit Hours: 3
Course Description
Course Objective
Course Contents
Unit 1: Language Preliminaries (8 Hrs.)
Overview of .Net framework, Compilation and execution of .Net applications, Constructor, Properties, Arrays and String, Indexers, Inheritance, use of "base" keyword, Method hiding and overriding, applying polymorphism in code extensibility, abstract class, sealed class, interface, Delegate and Events, Partial class, Collections, Generics, File IO, Try statements and Exceptions, Attributes: Attribute Classes, Named and Positional Attribute Parameters, Attribute Targets, Specifying Multiple Attributes
Unit 2: Introduction to ASP.NET (3 Hrs.)
.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, Compilation and Execution of .NET applications: CLI, MSIL and CLR, .NET Core in detail, .NET CLI: build, run, test and deploy .NET Core Applications
Unit 3: HTTP and ASP.NET Core (3 Hrs.)
HTTP, Request and Response Message Format, Common web application architectures, MVC Pattern, ASP.NET Core Architecture Overview, Projects, and Conventions, ASP.NET and ASP.NET MVC
Unit 4: Creating ASP.NET Core MVC Applications (7 Hrs.)
Setting up the Environment, Controllers and Actions: Create Controllers, Create Actions and Action Results Types, Rendering HTML with Views: Razor Syntax, Understanding Tag Helpers, Models: Binding and Validations, URL Routing and features, Web API Applications: API Controllers, JSON, Dependency Injection and IOC containers
Unit 5: Working with Database (6 Hrs.)
ADO.NET basics: Connection, Command, Reader and Adapter classes, 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
Unit 6: State Management on ASP.NET Core Application (4 Hrs.)
State Management on stateless HTTP, Server-side strategies: Session State, TempData, Using HttpContext, Cache, Client-side strategies: Cookies, Query Strings, Hidden Fields
Unit 7: Client-side Development in ASP.NET Core (4 Hrs.)
Common client-side web technologies, JQuery, Forms and Validation, Single Page Application (SPA) Frameworks: Angular, React
Unit 8: Building Applications with React and ASP.NET Core (3 Hrs.)
Creating Forms in React, Making REST API Calls from React to ASP.NET Core for integration
Unit 9: Securing ASP.NET Core Application (5 Hrs.)
Authentication: ASP.NET Core Identity, Adding authentication to apps and identity service configurations, Authorization: Roles, Claims and Policies, Securing Controllers and Action Methods, Common Vulnerabilities: Cross-site Scripting attacks, SQL Injection attacks, Cross-site Request Forgery (CSRF), Open Redirect Attacks
Unit 10: Hosting and Deploying ASP.NET Core Application (2 Hrs.)
App Servers and Hosting models: IIS, Nginx, Apache, ASP.NET Core Module, Kestrel, Docker and Containerization, Publish to Azure cloud
Reference Books
- Price, Mark J. C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development. 4th ed., 2019.
- Lock, Andrew. ASP.NET Core in Action. 2018.
- Bruchet, Michel and Jason De Oliveira. Learning ASP.NET Core 2.0. 2017.
- Fukizi, Kenneth Yamikani, Jason De Oliveira, and Michel Bruchet. Learn ASP.NET Core 3. 2nd ed., 2019.
- Rippon, Carl. ASP.NET Core 5 and React.
Lab Works
Students will have to complete a project covering most of the features of the above course using ASP.NET Core and C#.
