Advanced Cross-Platform Application Programming With .NET (PRN222)
Vietnamese title: Lập trình ứng dụng đa nền tảng nâng cao với .NET
Credits: 3
Prerequisites: PRN212

Description:
Upon completion of this course students should:
1. Understand the followings:
• Apply C# language for developing tranditional and realtime communication Web applications;
• Fundamental concepts of .NET Core Platform
• Basic knowledge of ASP.NET Core with Realtime Communication using SignalR
• Basic knowledge of ASP.NET Core MVC, Razor Pages, Blazor with tranditional Web App and apply into ASP.NET Core application
• Basic knowledge of Asynchronous and Parallel Programming in .NET Core application
• Basic knowledge of Dependency Injection apply into .NET Core applications
• Basic knowledge of Worker Service and apply to implement Background Tasks
2. Be able to:
• Develop Cross - platform Web applications by ASP.NET Core MVC, Razor Pages, Blazor
• Implement Real-time applications by Signal R and ASP.NET Core
• Implement Background Tasks with Worker Service
3. Be able to work in a team and present group's results

Learning outcomes:
Demonstrate about Asynchronous & Parallel programming ; Dependency Injection
Demonstrate about Model-View-Controller in ASP.NET Core
Demonstrate about Razor Pages in ASP.NET Core
Demonstrate about Web Application with Blazor
Demonstrate about Real-time communication and Worker Service

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 2022 or later
- MS SQL Server 2019 or later
- Platform : .NET 8.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
published_date: N?A
description: C# 12 in a Nutshell
author: Joseph Albahari
publisher: O’Reilly Media, Inc.
published_date: 2024
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: 10.0
duration: 12 slots
question_type: Assignment 1 CLO2, CLO3
Assignment 1 CLO4
grading_guide: Subjects in syllabus
category: Group Project
type: on-going
weight: 25.0
duration: 20 slots
question_type: CLO2, CLO3, CLO4, CLO5
grading_guide: Subjects in syllabus
category: Progress test
type: on-going
weight: 10.0
duration: 30'
question_type: PT1: CLO1, CLO2, CLO3
PT1: CLO4, CLO5
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'
question_type: problem(s) to solve by programming using CLO1 - CLO5
grading_guide: Subjects in syllabus
note: By exam board
Manual evaluating
category: Theoretical exam
type: Final exam
weight: 30.0
duration: 60'
question_type: questions distribution:CLO1.x: 5 - 10CLO2.x: 5 - 10CLO3.x: 5 - 10CLO4.x: 5 - 10CLO4.x: 5 - 10
knowledge_and_skill: 50
grading_guide: All subjects in syllabus
note: By exam board

Schedule:
session: Course Introduction
learning_outcomes: I
materials: PRN222
session: Review C# basics and Entity Framework Core
learning_outcomes: TU
session: Group Project Introduction
learning_outcomes: TU
session: Chapter 01: Networking Programming
learning_outcomes: TU
session: Chapter 01: Networking Programming (cont.)
learning_outcomes: TU
session: Chapter 01: Networking Programming (cont.)
learning_outcomes: TU
session: Chapter 01: Networking Programming (cont.)
learning_outcomes: TU
session: Chapter 01: Networking Programming (cont.)
learning_outcomes: TU
session: Chapter 01: Networking Programming (cont.)
learning_outcomes: TU
session: Chapter 02: Asynchronous and Parallel Programming in .NET
learning_outcomes: T: Constructivism Method
session: Chapter 02: Asynchronous and Parallel Programming in .NET (cont.)
learning_outcomes: T: Constructivism Method
session: Chapter 02: Asynchronous and Parallel Programming in .NET (cont.)
learning_outcomes: T: Constructivism Method
session: Project Assistant - 01
session: Chapter 03: Dependency Injection in .NET
learning_outcomes: T: Constructivism Method
session: Chapter 03: Dependency Injection in .NET (cont.)
learning_outcomes: T: Constructivism Method
session: Chapter 03: Dependency Injection in .NET (cont.)
learning_outcomes: T: Constructivism Method
session: Chapter 03: Dependency Injection in .NET (cont.)
learning_outcomes: T: Constructivism Method
session: Chapter 03: Dependency Injection in .NET (cont.)
learning_outcomes: T: Constructivism Method
session: Chapter 04: Building Web Application using ASP.NET Core MVC
learning_outcomes: TU
session: Chapter 04: Building Web Application using ASP.NET Core MVC (cont.)
learning_outcomes: TU
session: Chapter 04: Building Web Application using ASP.NET Core MVC (cont.)
learning_outcomes: TU
session: Chapter 04: Building Web Application using ASP.NET Core MVC (cont.)
learning_outcomes: TU
session: Chapter 04: Building Web Application using ASP.NET Core MVC (cont.)
learning_outcomes: TU
session: Chapter 04: Building Web Application using ASP.NET Core MVC (cont.)
learning_outcomes: TU
session: Lab 01
learning_outcomes: TU
session: Assignment 01
learning_outcomes: TU
session: Progress Test 01
learning_outcomes: TU
session: Chapter 05: Building Websites Using ASP.NET Core Razor Pages
learning_outcomes: TU
session: Chapter 05: Building Websites Using ASP.NET Core Razor Pages (cont.)
learning_outcomes: TU
session: Chapter 05: Building Websites Using ASP.NET Core Razor Pages (cont.)
learning_outcomes: TU
session: Chapter 05: Building Websites Using ASP.NET Core Razor Pages (cont.)
learning_outcomes: TU
session: Chapter 05: Building Websites Using ASP.NET Core Razor Pages (cont.)
learning_outcomes: TU
session: Chapter 05: Building Websites Using ASP.NET Core Razor Pages (cont.)
learning_outcomes: TU
session: Chapter 05: Building Websites Using ASP.NET Core Razor Pages (cont.)
learning_outcomes: TU
session: Chapter 05: Building Websites Using ASP.NET Core Razor Pages (cont.)
learning_outcomes: TU
session: Chapter 05: Building Websites Using ASP.NET Core Razor Pages (cont.)
learning_outcomes: TU
session: Chapter 06: Building a Web App with Blazor and ASP .Net Core
learning_outcomes: TU
session: Chapter 06: Building a Web App with Blazor and ASP .Net Core (cont.)
learning_outcomes: TU
session: Chapter 06: Building a Web App with Blazor and ASP .Net Core (cont.)
learning_outcomes: TU
session: Chapter 06: Building a Web App with Blazor and ASP .Net Core (cont.)
learning_outcomes: TU
session: Chapter 06: Building a Web App with Blazor and ASP .Net Core (cont.)
learning_outcomes: TU
session: Chapter 06: Building a Web App with Blazor and ASP .Net Core (cont.)
learning_outcomes: TU
session: Chapter 06: Building a Web App with Blazor and ASP .Net Core (cont.)
learning_outcomes: TU
session: Chapter 06: Building a Web App with Blazor and ASP .Net Core (cont.)
learning_outcomes: TU
session: Project Assistant - 02
learning_outcomes: TU
session: Chapter 07: Real-Time Communication
learning_outcomes: TU
session: Chapter 07: Real-Time Communication (cont.)
learning_outcomes: TU
session: Chapter 07: Real-Time Communication (cont.)
learning_outcomes: TU
session: Chapter 07: Real-Time Communication (cont.)
learning_outcomes: TU
session: Chapter 07: Real-Time Communication (cont.)
learning_outcomes: TU
session: Chapter 07: Real-Time Communication (cont.)
learning_outcomes: TU
session: Lab 02
learning_outcomes: TU
session: Assignment 02
learning_outcomes: TU
session: Progress Test 02
learning_outcomes: TU
session: Chapter 08: Implement Background Tasks with Worker Service
learning_outcomes: TU
session: Chapter 08: Implement Background Tasks with Worker Service (cont.)
learning_outcomes: TU
session: Chapter 08: Implement Background Tasks with Worker Service (cont.)
learning_outcomes: TU
session: Chapter 08: Implement Background Tasks with Worker Service (cont.)
learning_outcomes: TU
session: Chapter 08: Implement Background Tasks with Worker Service (cont.)
learning_outcomes: TU
session: Chapter 08: Implement Background Tasks with Worker Service (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