Chuyển tới nội dung chính

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)

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).

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:

  1. 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.
  2. 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.
  3. Luyện tập có hướng dẫn: áp dụng qua mini case và ví dụ thực tế ngắn.
  4. 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/elseswitch để 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>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:

  1. Đọc ví dụ đời thường (khách hàng, đơn hàng, điểm tích lũy).
  2. Gõ lại code y hệt để quen cú pháp.
  3. Tự sửa 1-2 dòng và dự đoán output trước khi chạy.
  4. 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ặp foreach.
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 double cho 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

  1. Tóm tắt bài học bằng ngôn ngữ của bạn.
  2. Liên hệ nội dung với một tình huống thực tế trong dự án.
  3. Đề 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