csc378

NET Centric Computing

Exam Preparation: 25 hours
Deep Understanding: 75 hours
Subject Code CSC 378
Credit Hours 3 Hours
Nature Theory + Lab
Full Marks 60 + 20 + 20
Pass Marks 24 + 8 + 8
Description

The course covers the concepts of cross-platform web application development using the ASP.NET Core MVC framework using C# programming Language.

Objective

Understand the theoretical foundation and practical aspects of ASP.NET Core web application framework,Learn C# language features for web application development

Course Contents

8 Hours

Introduction to .NET framework, Compilation and execution of .NET applications, Basic language constructs, Constructor, Properties, Arrays and String, Indexers, Inheritance, use of 'base' keyword, Method hiding and overriding, Polymorphism in code extensibility, Structs and enums, abstract class, sealed class, interface, Delegate and Events, Partial class, Collections, Generics, File IO, LINQ, Lambda Expressions, Try statements and Exceptions, Attributes: Attribute Classes, Named and Positional Attribute Parameters, Attribute Targets, Multiple Attributes, Asynchronous Programming: Principle of Asynchrony, Async/Await patterns

3 Hours

.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, CLR, .NET Core in detail, .NET CLI: build, run, test and deploy .NET Core Applications

3 Hours

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

10 Hours

Setting up the Environment, Controllers and Actions: Create Controllers, Create Actions and Action Result Types, Rendering HTML with Views: Razor Syntax, Tag Helpers, Models: Binding and Validations, URL Routing and features, Web API Applications: API Controllers, JSON, Dependency Injection and IOC containers

6 Hours

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

4 Hours

State Management on stateless HTTP, Server-side strategies: Session State, TempData, Using HttpContext, Cache, Client-side strategies: Cookies, Query Strings, Hidden Fields

4 Hours

Common client-side web technologies, JQuery, Forms and Validation, Single Page Application (SPA) Frameworks: Angular, React

5 Hours

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, CSRF, Open Redirect Attacks

2 Hours

App Servers and Hosting models: IIS, Nginx, Apache, ASP.NET Core Module, Kestrel, Docker and Containerization, Publish to Azure cloud

Laboratory Works

Writing programs covering concepts of above units using C# and .NET Core SDK (3.0 or above)

Books

Recommended Books

C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development, Fourth Edition, by Mark J. Price, 2019
ASP.NET Core in Action, by Andrew Lock, 2018
Learning ASP.NET Core 2.0, Michel Bruchet, Jason De Oliveira, 2017
Learn ASP.NET Core 3 - Second Edition, Kenneth Yamikani Fukizi, Jason De Oliveira, Michel Bruchet, 2019