Building Cross-Platform Back-End Application With .NET (PRN232)
Vietnamese title: Xây dựng ứng dụng back-end với .NET
Credits: 3
Prerequisites: PRN22x

Description:
Upon completion of this course students shoud:
1. Understand the followings:
• Apply C# language for develop ASP.NET WEB API ( RESTful Service applications )
• Fundamental concepts of .NET Core Platform
• Basic knowledge of ASP.NET WEB API on .NET Core
• Basic knowledge of RESTful Service and Microservice architecture
2. Be able to:
• Develop Cross - platform Back-end application can be used by Desktop or Web applications (Cross - platform)
• Develop RESTful Service applications by ASP.NET Web API and Windows Communication Foundation (WCF)
• Implement security in the ASP.NET WEB API
• Implement sending Ajax request to ASP.NET WEB API
• Implement security JWT in ASP.NET Core Web API
• Develop Distributed applications based on Microservice architecture
3. Be able to work in team and present group's results

Learning outcomes:
Describe about .NET Core Platform, and ASP.NET WEB API Architecture
Demonstrate Models, ODATA, Entity Framework Core ,and Media Formatters & Content Negotiation
Demonstrate about implementing security in RESTful WebService
Demonstrate about JavaScript Client and sending AJAX Requests to ASP.NET Web API
Demonstrate about implementing RESTful Services by WCF, gRPC Services and introduction about Microservices architecture.

Student tasks:
- Students must attend at least 80% of contact sessions in order to be accepted to the final examination.
- Student is responsible to do all assigned exercises given by instructor in class or at home and submit on time
- Use laptop in class only for learning purpose
- Promptly access to the FU CMS at http://flm.fpt.edu.vn for up-to-date course information

Tools:
- Internet
- Visual Studio.NET 2019 version 16.8.3 or later
- Platform : .NET 5.0 or later

Materials:
description: https://learn.microsoft.com/en-us/ef/core/
author: Microsoft
publisher: Microsoft
description: https://learn.microsoft.com/en-us/dotnet/core/introduction
author: Microsoft
publisher: Microsoft
description: https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-12
author: Microsoft
publisher: Microsoft
description: C# 12 in a Nutshell
author: Joseph Albahari
publisher: O’Reilly Media, Inc.
published_date: 2023
edition: 1st Edition
isbn: 9781098147440
description: C# 12 and .NET 8 – Modern
Cross-Platform Development
Fundamentals
author: Mark J. Price
publisher: Packt Publishing Ltd.
published_date: 2023
edition: 8th Edition
isbn: 9781837635870

Assessments:
category: Assignment
type: on-going
weight: 15.0
duration: 12 slots
category: Group Project
type: on-going
weight: 25.0
duration: 20 slots
category: Progress test
type: on-going
weight: 5.0
duration: 30'
no_question: Multiple choices
Marked by Computer or a suitable format
knowledge_and_skill: 20/each
category: Final exam
type: Final exam
weight: 55.0
duration: 145'
question_type: All CLOs
grading_guide: All subjects in syllabus
note: By exam board
Manual evaluating
category: Practical Exam
type: Final exam
weight: 25.0
duration: 85'
knowledge_and_skill: Manual evaluating
note: By exam board
Manual evaluating
category: Theoretical exam
type: Final exam
weight: 30.0
duration: 60'
question_type: questions distribution:LO1.x: 5 - 15LO2.x: 5 - 15LO3.x: 5 - 15 LO4.x: 5 - 15
knowledge_and_skill: 50
grading_guide: All subjects in syllabus
note: By exam board

Schedule:
session: Course Introduction
learning_outcomes: IT
materials: PRN232
session: Review C# Basics, Desktop Application/Web Application with ASP.NET Core
session: Group Project Introduction
session: Chapter 01: Introduction to ASP.NET Core and RESTful Service
learning_outcomes: TU
session: Chapter 01: Introduction to ASP.NET Core and RESTful Service (cont.)
learning_outcomes: TU
session: Chapter 01: Introduction to ASP.NET Core and RESTful Service (cont.)
learning_outcomes: TU
session: Chapter 01: Introduction to ASP.NET Core and RESTful Service (cont.)
learning_outcomes: TU
session: Chapter 01: Introduction to ASP.NET Core and RESTful Service (cont.)
learning_outcomes: TU
session: Chapter 01: Introduction to ASP.NET Core and RESTful Service (cont.)
learning_outcomes: TU
session: Chapter 02: Models in Web API
learning_outcomes: TU
session: Chapter 02: Models in Web API (cont.)
learning_outcomes: TU
session: Project Assistant - 01
learning_outcomes: U
session: Chapter 03: Media Formatters and Content Negotiation
learning_outcomes: TU
session: Chapter 03: Media Formatters and Content Negotiation (cont.)
learning_outcomes: TU
session: Chapter 03: Media Formatters and Content Negotiation (cont.)
learning_outcomes: TU
session: Chapter 03: Media Formatters and Content Negotiation (cont.)
learning_outcomes: TU
session: Chapter 04: Binding, Validation and Routing
learning_outcomes: TU
session: Chapter 04: Binding, Validation and Routing (cont.)
learning_outcomes: TU
session: Lab 1
learning_outcomes: TU
session: Assignmnet 1
learning_outcomes: TU
session: Progress Test 1
learning_outcomes: TU
session: Chapter 05: OData in ASP.NET Core Web API
learning_outcomes: TU
session: Chapter 05: OData in ASP.NET Core Web API (cont.)
learning_outcomes: TU
session: Chapter 05: OData in ASP.NET Core Web API (cont.)
learning_outcomes: TU
session: Chapter 05: OData in ASP.NET Core Web API (cont.)
learning_outcomes: TU
session: Chapter 05: OData in ASP.NET Core Web API (cont.)
learning_outcomes: TU
session: Chapter 05: OData in ASP.NET Core Web API (cont.)
learning_outcomes: TU
session: Chapter 06: Implement security in RESTful WebService
learning_outcomes: TU
session: Chapter 06: Implement security in RESTful WebService(cont.)
learning_outcomes: TU
session: Chapter 06: Implement security in RESTful WebService(cont.)
learning_outcomes: TU
session: Chapter 06: Implement security in RESTful WebService(cont.)
learning_outcomes: TU
session: Chapter 06: Implement security in RESTful WebService(cont.)
learning_outcomes: TU
session: Chapter 06: Implement security in RESTful WebService(cont.)
learning_outcomes: TU
session: Chapter 07: JavaScript Clients and ASP.NET Web API
learning_outcomes: TU
session: Chapter 07: JavaScript Clients and ASP.NET Web API (cont.)
learning_outcomes: TU
session: Chapter 07: JavaScript Clients and ASP.NET Web API (cont.)
learning_outcomes: TU
session: Chapter 07: JavaScript Clients and ASP.NET Web API (cont.)
learning_outcomes: TU
session: Chapter 07: JavaScript Clients and ASP.NET Web API (cont.)
learning_outcomes: TU
session: Chapter 07: JavaScript Clients and ASP.NET Web API (cont.)
learning_outcomes: TU
session: Chapter 07: JavaScript Clients and ASP.NET Web API (cont.)
learning_outcomes: TU
session: Chapter 07: JavaScript Clients and ASP.NET Web API (cont.)
learning_outcomes: TU
session: Chapter 07: JavaScript Clients and ASP.NET Web API (cont.)
learning_outcomes: TU
session: Chapter 07: JavaScript Clients and ASP.NET Web API (cont.)
learning_outcomes: TU
session: Chapter 07: JavaScript Clients and ASP.NET Web API (cont.)
learning_outcomes: TU
session: Chapter 07: JavaScript Clients and ASP.NET Web API (cont.)
learning_outcomes: TU
session: Lab 2, Assignmnet 2
learning_outcomes: TU
session: Progress Test 2
learning_outcomes: TU
session: Project Assistant - 02
learning_outcomes: U
session: Chapter 08: Building RESTful Service with Windows Communication Foundation (WCF)
learning_outcomes: TU
session: Chapter 08: Building RESTful Service with Windows Communication Foundation (cont.)
learning_outcomes: TU
session: Chapter 08: Building RESTful Service with Windows Communication Foundation (cont.)
learning_outcomes: TU
session: Chapter 09: Introduction to gRPC Service
learning_outcomes: TU
session: Chapter 09: Introduction to gRPC Service (cont.)
learning_outcomes: TU
session: Chapter 09: Introduction to gRPC Service (cont.)
learning_outcomes: TU
session: Chapter 09: Introduction to gRPC Service (cont.)
learning_outcomes: TU
session: Chapter 09: Introduction to gRPC Service (cont.)
learning_outcomes: TU
session: Chapter 09: Introduction to gRPC Service (cont.)
learning_outcomes: TU
session: Chapter 10: Introduction to Microservices Architecture
learning_outcomes: TU
session: Chapter 10: Introduction to Microservices Architecture (cont.)
learning_outcomes: TU
session: Chapter 10: Introduction to Microservices Architecture (cont.)
learning_outcomes: TU
session: Project Evaluation
learning_outcomes: U
session: Project Evaluation
learning_outcomes: U
session: Project Evaluation
learning_outcomes: U
session: Project Evaluation
learning_outcomes: U
session: Project Evaluation
learning_outcomes: U
session: Project Evaluation
learning_outcomes: U