1.1 — Module Orientation
Mục tiêu bài học
- Nắm được ý chính của bài và mối liên hệ với module.
- Áp dụng được kiến thức vào bối cảnh CRM/.NET backend.
- Sẵn sàng chuyển sang bài kế tiếp với nền tảng chắc chắn.
Nội dung bài học
1.1.1 — 1.1 — Liên kết điều phối (curriculum graph)
- Hub lộ trình: 00. Lộ trình From Zero → Senior .NET (Backend-first)
- Chương tiếp theo: Module 2 — Computer Science Basics
1.1.2 — 1.2 — Tham chiếu có thẩm quyền (E‑E‑A‑T / retrieval)
Danh sách sau ưu tiên tài liệu gốc (Microsoft Learn, đặc tả hệ sinh thái .NET) nhằm tăng độ tin cậy trích dẫn và hỗ trợ công cụ tìm kiếm / tác tử AI (RAG, overview synthesis).
- .NET documentation — Microsoft Learn
- ASP.NET Core documentation
- ASP.NET Core Developer roadmap — roadmap.sh
- Tour of C#
- Fundamentals of computer programming with C# (free book, Nakov)
1.1.3 — 1.3 — Từ khóa chỉ mục (semantic hooks)
Các thẻ tags / keywords trong frontmatter của trang này được chọn để đồng nhất ngữ nghĩa với chủ đề chương và với đồ thị nội bộ của giáo trình — hỗ trợ khám phá theo chủ đề và câu hỏi dạng "học .NET backend theo lộ trình nào?".
1.1.4 — 1.4 — Phương pháp học tập
Bài học này được dẫn dắt theo chu trình học tập chủ động:
- Khởi động tư duy: bắt đầu bằng câu hỏi gợi mở để kích hoạt kiến thức nền.
- Kiến tạo kiến thức: học khái niệm cốt lõi đi kèm ví dụ có ngữ cảnh.
- Luyện tập có hướng dẫn: áp dụng qua mini case và ví dụ thực tế ngắn.
- Tự đánh giá và phản tư: dùng checklist + bài thực hành để chốt năng lực.
Mục tiêu là bạn hiểu sâu, dùng được ngay, và tự đánh giá được mức độ nắm bài.
1.1.5 — 1.5 — Mục tiêu học tập
Sau khi hoàn thành module này, bạn có thể:
- Khai báo và sử dụng biến với các kiểu dữ liệu cơ bản trong C#
- Viết các câu lệnh điều kiện
if/elsevàswitchđể xử lý logic phân nhánh - Sử dụng vòng lặp
for,while,foreachđể xử lý danh sách dữ liệu - Định nghĩa và gọi hàm (method) có tham số và giá trị trả về
- Làm việc với mảng,
List<T>vàDictionary<K,V> - Phân tích bài toán thực tế thành các bước nhỏ trước khi viết code
- Hiểu trực quan Big-O để đánh giá hiệu năng cơ bản
1.1.6 — 1.6 — Câu hỏi khởi động
- Nếu không có kiến th ức trong bài này, hệ thống CRM/ERP sẽ gặp rủi ro gì?
- Trong dự án thực tế, bạn nghĩ phần kiến thức này nằm ở tầng nào (API, nghiệp vụ, dữ liệu, vận hành)?
- Dấu hiệu nào cho thấy bạn đã hiểu bản chất bài học (không chỉ nhớ định nghĩa)?
1.1.7 — 1.7 — Kiến thức cần có trước
- Biết dùng máy tính cơ bản (mở file, cài phần mềm)
- Đã cài .NET 8 SDK và Visual Studio Code (xem hướng dẫn cài đặt ở Phần Giới thiệu)
- Không cần biết lập trình — module này dành cho người bắt đầu từ số 0
1.1.8 — 1.8 — Cách học module này hiệu quả
Nếu bạn từng thấy code "khó vào", hãy dùng nhịp học sau cho mỗi mục:
- Đọc ví dụ đời thường (khách hàng, đơn hàng, điểm tích lũy).
- Gõ lại code y hệt để quen cú pháp.
- Tự sửa 1-2 dòng và dự đoán output trước khi chạy.
- Giải thích bằng lời của bạn: "đoạn này đang quyết định gì, lặp cái gì, trả về cái gì".
1.1.9 — Ví dụ mở rộng: từ bài toán đời thường đến thuật toán
Bài toán: CRM cần tìm khách hàng có tổng mua cao nhất trong danh sách.
- Cách nghĩ tay: duyệt từng khách, giữ lại người có tổng mua lớn nhất hiện tại.
- Cách viết code: dùng biến
maxValue+ vòng lặpforeach.
var tongMuaTheoKhach = new List<decimal> { 2_000_000m, 8_500_000m, 5_250_000m };
decimal maxValue = tongMuaTheoKhach[0];
foreach (var tongMua in tongMuaTheoKhach)
{
if (tongMua > maxValue)
{
maxValue = tongMua;
}
}
Console.WriteLine($"Tổng mua cao nhất: {maxValue}");
Đây là tư duy cốt lõi bạn sẽ dùng rất nhiều trong backend: duyệt dữ liệu, so sánh, lọc, tổng hợp.
1.1.10 — Lỗi người mới thường gặp
- Quên phân biệt
=(gán) và==(so sánh). - Dùng
doublecho tiền tệ thay vìdecimal. - Viết hàm quá dài, khó test và khó đọc.
- Không thử case biên (danh sách rỗng, giá trị âm, chuỗi rỗng).
Bài tập áp dụng
- Tóm tắt bài học bằng ngôn ngữ của bạn.
- Liên hệ nội dung với một tình huống thực tế trong dự án.
- Đề xuất một cải tiến cụ thể sau khi học bài này.
Tự kiểm tra
- Bạn có thể giải thích lại nội dung chính trong 2 phút không?
- Bạn có ví dụ áp dụng thực tế chưa?
- Bạn biết bước tiếp theo cần học/triển khai là gì không?
Kết luận
Hoàn thành bài này giúp bạn có góc nhìn đầy đủ hơn trước khi đi tiếp trong module.
Điều hướng
- Bài trước: Không có (bài mở đầu module).
- Bài tiếp theo: 1.2 — 1. Biến và Kiểu Dữ Liệu
- Về module: Trang mục lục