Basis Cross-Platform Application Programming With .NET (PRN212)
Vietnamese title: Lập trình ứng dụng đa nền tảng cơ bản với .NET
Credits: 3
Prerequisites: PRO192, DBI202

Description:
Upon completion of this course students should:
1. Understand the followings:
• C# language for developing .NET applications;
• Fundamental concepts of .NET Platform
• Basic knowledge of Windows Presentation Foundation in .NET
2. Be able to:
• Develop Cross-platform Desktop applications and support for user experience ( UI & UX )
3. Be able to work in a team and present group's results

Learning outcomes:
Describe about .NET Core Platform, and more new features of C# language .
Demonstrate about OOP , Generic, Delegate & Event , LINQ and Design Pattern in C#
Demonstrate about Windows Presentation Foundation
Demonstrate about accessing to the database by Entity Framework ( ORM )
Explain about Concurrency programming, Stream I/O
Apply Generative AI tools to support software development tasks in .NET

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 https://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
- GitHub Copilot: Automated suggestions when writing code in C#, XAML, SQL, ...
- AI-enhanced Debuggers (JetBrains Rider AI or Visual Studio IntelliCode)
- GitHub Workflow

Materials:
description: C# 12 in a Nutshell
author: Joseph Albahari
publisher: O’Reilly Media, Inc.
published_date: 2024
isbn: 9781098147440
description: https://learn.microsoft.com/en-us/ef/core/
author: Microsoft
publisher: Microsoft
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
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

Assessments:
category: Assignment
type: on-going
weight: 15.0
duration: 12 slots
question_type: CLO2, CLO3, CLO4, CLO5
grading_guide: Studied subjects in syllabus
category: Group Project
type: on-going
weight: 20.0
duration: 20 slots
question_type: CLO2, CLO3, CLO4, CLO5, CLO6
grading_guide: Studied subjects in syllabus
category: Progress test
type: on-going
weight: 10.0
duration: 30'
question_type: CLO1, CLO2, CLO3, CLO4, CLO5
no_question: Multiple choicesMarked by Computer or a suitable format
knowledge_and_skill: 20/each
grading_guide: Studied subjects in syllabus
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: CLO1, CLO2, CLO3, CLO4, CLO5
knowledge_and_skill: Manual evaluating
grading_guide: All subjects in syllabus
note: By exam board
category: Theoretical exam
type: Final exam
weight: 30.0
duration: 60'
question_type: CLO1, CLO2, CLO3, CLO4, CLO5
knowledge_and_skill: 50
grading_guide: All subjects in syllabus
note: By exam board

Schedule:
session: Course Introduction
Working Environment
Project Introduction
learning_outcomes: IT
materials: PRN212
session: Chapter 01: Introduction to .NET Platform & Visual Studio.NET
learning_outcomes: TU
session: Chapter 01: Introduction to .NET Platform & Visual Studio.NET (cont.)
learning_outcomes: TU
session: Chapter 01: Introduction to .NET Platform & Visual Studio.NET (cont.)
learning_outcomes: TU
session: Chapter 01: Introduction to .NET Platform & Visual Studio.NET (cont.)
learning_outcomes: TU
session: Chapter 01: Introduction to .NET Platform & Visual Studio.NET (cont.)
learning_outcomes: TU
session: Chapter 02: C# Programming
learning_outcomes: TU
session: Chapter 02: C# Programming (cont.)
learning_outcomes: TU
session: Chapter 02: C# Programming (cont.)
learning_outcomes: TU
session: Chapter 03: Object-Oriented Programming with C#
learning_outcomes: TU
session: Chapter 03: Object-Oriented Programming with C# (cont.)
learning_outcomes: TU
session: Chapter 03: Object-Oriented Programming with C# (cont.)
learning_outcomes: TU
session: Chapter 04: Collections & Generic
learning_outcomes: TU
session: Chapter 04: Collections & Generic (cont.)
learning_outcomes: TU
session: Chapter 04: Collections & Generic (cont.)
learning_outcomes: TU
session: Chapter 05: Design Pattern in .NET
learning_outcomes: TU
session: Chapter 05: Design Pattern in .NET (cont.)
learning_outcomes: TU
session: Chapter 05: Design Pattern in .NET (cont.)
learning_outcomes: TU
session: Chapter 06: Delegate , Event & LINQ
learning_outcomes: TU
session: Chapter 06: Delegate , Event & LINQ (cont.)
learning_outcomes: TU
session: Chapter 06: Delegate , Event & LINQ (cont.)
learning_outcomes: TU
session: Chapter 06: Delegate , Event & LINQ (cont.)
learning_outcomes: TU
session: Chapter 06: Delegate , Event & LINQ (cont.)
learning_outcomes: TU
session: GENAI: Applying Generative AI & Workflow CI/CD in .NET
learning_outcomes: TU
session: GENAI: Applying Generative AI & Workflow CI/CD in .NET (cont.)
learning_outcomes: TU
session: GENAI: Applying Generative AI & Workflow CI/CD in .NET (cont.)
learning_outcomes: TU
session: Progress Test 1
learning_outcomes: TU
session: Project Review 01
learning_outcomes: TU
session: Chapter 07: Building WPF Application
learning_outcomes: TU
session: Chapter 07: Building WPF Application (cont.)
learning_outcomes: TU
session: Chapter 07: Building WPF Application (cont.)
learning_outcomes: TU
session: Chapter 07: Building WPF Application (cont.)
learning_outcomes: TU
session: Chapter 07: Building WPF Application (cont.)
learning_outcomes: TU
session: Chapter 07: Building WPF Application (cont.)
learning_outcomes: TU
session: Chapter 07: Building WPF Application (cont.)
learning_outcomes: TU
session: Chapter 07: Building WPF Application (cont.)
learning_outcomes: TU
session: Chapter 07: Building WPF Application (cont.)
learning_outcomes: TU
session: Lab 1
learning_outcomes: TU
session: Assignment 1
learning_outcomes: TU
session: Project Review 02
learning_outcomes: TU
session: Chapter 08: Working with Databases Using Entity Framework Core
learning_outcomes: TU
session: Chapter 08: Working with Databases Using Entity Framework Core (cont.)
learning_outcomes: TU
session: Chapter 08: Working with Databases Using Entity Framework Core (cont.)
learning_outcomes: TU
session: Chapter 08: Working with Databases Using Entity Framework Core (cont.)
learning_outcomes: TU
session: Chapter 08: Working with Databases Using Entity Framework Core (cont.)
learning_outcomes: TU
session: Chapter 08: Working with Databases Using Entity Framework Core (cont.)
learning_outcomes: TU
session: Chapter 08: Working with Databases Using Entity Framework Core (cont.)
learning_outcomes: TU
session: Chapter 08: Working with Databases Using Entity Framework Core (cont.)
learning_outcomes: TU
session: Chapter 08: Working with Databases Using Entity Framework Core (cont.)
learning_outcomes: TU
session: Chapter 09: Working with Files and System.IO
learning_outcomes: TU
session: Chapter 09: Working with Files and System.IO (cont.)
learning_outcomes: TU
session: Chapter 09: Working with Files and System.IO (cont.)
learning_outcomes: TU
session: Project Review 03
learning_outcomes: TU
session: Chapter 10: Working with XML and JSON Serializing
learning_outcomes: TU
session: Lab 2
learning_outcomes: TU
session: Assignment 2
learning_outcomes: TU
session: Progress Test 2
learning_outcomes: TU
session: Chapter 11: Introduction to Concurrency Programming
learning_outcomes: TU
session: Chapter 11: Introduction to Concurrency Programming (cont.)
learning_outcomes: TU
session: Chapter 11: Introduction to Concurrency Programming (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