Lập trình
xử lý dữ liệu

Học kì 1, năm học 2026–2027

Viện Trí tuệ nhân tạo, Trường ĐH Công nghệ, ĐHQGHN

Bài 1
Tổng quan môn học, công cụ &
chính sách AI

Tổng quan

  1. Môn này học gì?
  2. Công cụ làm việc
  3. Học và làm việc với AI
  4. Vận hành môn học

1.
Môn này học gì?

Dữ liệu thô → dữ liệu sạch → thông tin → quyết định.

Dữ liệu thật nhìn thế nào?

Một phần dữ liệu thật từ Inside Airbnb:

  • Giá là chuỗi ký tự, có ô bỏ trống, có giá $1 và yêu cầu ở 999 đêm.

Dữ liệu thật bẩn → kết luận rút từ dữ liệu bẩn thì… cũng bẩn.

"Xử lý dữ liệu" = quá trình từ dữ liệu thô đến quyết định

Thu thập
file, API, web, SQL
→
Làm sạch
giá trị thiếu, ngoại lai, trùng lặp
→
Biến đổi
gộp, nối, tổng hợp
→
Trực quan
biểu đồ, bản đồ
→
Kể chuyện
báo cáo, quyết định

Môn này dạy bạn tự xây dựng quá trình đó bằng Python.

Phần lớn thời gian không phải là "phân tích dữ liệu"

  • Người làm dữ liệu thường dành phần lớn thời gian cho việc chuẩn bị: thu thập, dọn dẹp, chuẩn hoá, kiểm tra.
  • Mô hình hoá/phân tích chỉ là phần nổi — và chỉ đáng tin khi phần chìm làm tốt.
Quan trọng Làm cho dữ liệu sạch và đúng là một kỹ năng cốt lõi của môn học — đồng thời là cơ sở để kiểm chứng kết quả do AI hỗ trợ tạo ra.

Môn này đứng ở đâu?

  • Tiên quyết: Tư duy tính toán — bạn đã biết Python cơ bản.
  • Môn này: làm chủ dữ liệu bằng NumPy, pandas, trực quan hoá, và LLM.
  • Sau môn này: Học máy, Khoa học dữ liệu — đều tận dụng kỹ năng xử lý dữ liệu.

Lộ trình 15 bài

Giai đoạn Bài Nội dung
Nền tảng 1–5 Công cụ, Python, NumPy, pandas
Dữ liệu thật 6–8, 10 File/API/SQL, chuỗi & regex, thời gian, làm sạch
Hiện đại 11–14 LLM cho dữ liệu phi cấu trúc, trực quan hoá, kể chuyện
Đánh giá 9, 15 Thi giữa kỳ · vấn đáp bài tập lớn

Mỗi bài: slide + notebook thực hành trên Colab, làm ngay tại lớp.

2.
Công cụ

Python + notebook + môi trường tái lập được.

Vì sao dùng Python?

  • Hệ sinh thái xử lý dữ liệu phong phú: NumPy, pandas, matplotlib, DuckDB…
  • Một ngôn ngữ có thể dùng từ phân tích thử nghiệm đến xây dựng pipeline.
  • Là ngôn ngữ chính của cả ngành AI: gọi LLM, viết mô hình đều bằng Python.

Hai môi trường bạn sẽ dùng

Google Colab

  • Notebook trên cloud, không cần cài gì.
  • Thư viện dữ liệu có sẵn; chia sẻ như Google Docs.
  • Dùng trong bài giảng, bài tập tại lớp.

VS Code + venv (máy bạn)

  • Tự kiểm soát, làm việc với repo Git.
  • Tự cài thư viện, tự chọn phiên bản.
  • Dùng trong bài tập lớn (pipeline thật).

Notebook: code + mô tả / hướng dẫn + kết quả cùng một nơi

Notebook là một tài liệu sống, có thể chạy từng ô (cell) một:

Notebook bài này sẽ cho bạn chạy thử toàn bộ — kể cả khi chưa hiểu code cũng có thể chạy để xem kết quả.

venv: mỗi dự án đóng gói một bộ thư viện tách biệt

Trên máy cá nhân, dùng venv để tách môi trường từng dự án, tránh giẫm chân nhau (xung đột thư viện):

Khi không còn sử dụng, bạn có thể xoá thư mục .venv mà không ảnh hưởng đến các môi trường khác.

requirements.txt: phiên bản thư viện

Chạy trong môi trường riêng của dự án:

Phiên bản Python được ghi riêng trong .python-version.

Quan trọng Bài tập lớn phải chạy lại được trên một máy khác, không chỉ trong môi trường đã được dùng để phát triển.

.python-version: phiên bản Python

Tạo và commit tệp này ở gốc repo. Nội dung là một dòng ghi phiên bản đã kiểm thử, ví dụ:

Chọn đúng Python khi tạo venv; .python-version không tự cài hay đổi Python.

Chạy lại trên máy khác README.md ghi hệ điều hành và hướng dẫn: cài Python → tạo venv → cài thư viện → chạy quy trình.

Git & GitHub

  • Git ghi lại lịch sử mọi thay đổi của code — có thể quay lại được, ai làm gì đều rõ ràng.
  • Bài tập lớn nộp bằng repo GitHub private của nhóm; lịch sử commit là một phần điểm làm việc nhóm.
  • Nếu chưa quen với Git, bạn có thể xem hướng dẫn ngắn kèm theo đề bài tập lớn.

3.
Học và làm việc với AI

Minh bạch với AI: khai báo, hiểu, kiểm chứng.

AI viết code dữ liệu rất tốt

Hỏi một chatbot: "Tính giá trung bình theo loại phòng từ listings.csv":

Đoạn code đúng cú pháp và có thể chạy. Tuy nhiên, kết quả vẫn phụ thuộc vào các quyết định phân tích chưa được nêu rõ.

Quan sát kỹ: AI vừa chọn thay bạn một quy ước

Cột price có ô trống. Theo mặc định, mean() sẽ bỏ qua các ô này:

Nếu ô trống nghĩa là "phòng ngừng cho thuê" thì có thể bỏ qua; nếu là "quên khai giá" thì kết quả có thể bị sai lệch. AI có thể áp dụng mặc định này mà không hỏi lại.

Mục tiêu môn học, phiên bản 2026

Quan trọng Mục tiêu không còn là "tự tay gõ mọi dòng code" — mà là chỉ đạo được các bộ công cụ (kể cả AI) và kiểm chứng được kết quả. Muốn làm được cả hai điều này, bạn vẫn phải hiểu code đến từng dòng.

Nếu không hiểu code, bạn có thể bỏ qua vấn đề của hàm mean() trong ví dụ trên và tạo ra một báo cáo sai mà không nhận biết.

Hai chế độ đánh giá

🚫 đóng — không dùng AI

  • Quiz trên lớp
  • Thi giữa kỳ
  • Vấn đáp bài tập lớn

Đo nền tảng của chính bạn.

✅ mở — được dùng AI

  • Bài thực hành (nộp lab)
  • Bài tập về nhà
  • Làm bài tập lớn tại nhà

Đo khả năng chỉ đạo & kiểm chứng.

Mọi bài tập đều ghi nhãn 🚫 đóng hoặc ✅ mở ngay trên đề. Nếu không thấy nhãn, hãy hỏi giảng viên trước khi dùng AI.

Ba trách nhiệm khi dùng AI ở chế độ mở

  • Khai báo — dùng gì, vào việc gì (bài tập lớn: điền vào file AI_USAGE.md).
  • Hiểu — giải thích được mọi dòng mình nộp; vấn đáp sẽ hỏi từng người.
  • Kiểm chứng — tự chịu trách nhiệm về đúng/sai. "AI bảo thế" không phải câu trả lời.

Khai báo đầy đủ không bị trừ điểm — giấu diếm là vấn đề.

Minh bạch ranh giới gian lận

Gian lận Dùng AI trong quiz / thi giữa kỳ / vấn đáp · khai man hoặc giấu việc dùng AI · chép bài nhóm khác (kể cả "nhờ AI viết lại cho khác đi").
Không phải gian lận Nộp code AI viết mà bạn hiểu, đã kiểm chứng và có khai báo. Nếu không giải thích được một phần khi vấn đáp, phần đó nhận 0 điểm cá nhân.

Chi tiết + hậu quả: trang "Chính sách AI" trên website môn học — đọc trước bài 2.

Quy trình làm việc với AI có trách nhiệm

1. Tự phác
định làm gì, mong đợi kết quả gì?
→
2. Hỏi AI
prompt rõ bối cảnh
→
3. Đọc hiểu
từng dòng; thấy lạ thì tra docs
→
4. Kiểm chứng
thử trên các mẫu tự tính tay
→
5. Khai báo
ghi vào AI_USAGE.md

Bước 4 giúp bạn xác nhận rằng kết quả phù hợp với dữ liệu và mục tiêu phân tích. Mỗi bài đều có mục "Làm việc với AI thì sao?".

Thử ngay với notebook bài này

Bài tập tại lớp
Nhờ một AI bất kỳ viết code đếm số chim cánh cụt theo loài trong file penguins.csv — rồi tự kiểm chứng kết quả bằng một cách khác. Hai cách có khớp không?

4.
Vận hành môn học

Điểm số, bài tập lớn, và việc cần làm tuần này.

Cơ cấu điểm

Đầu điểm Trọng số Chế độ
Thực hành — nộp bài lab 10% ✅ mở
Kiểm tra trên lớp (chuyên cần) — 2 bài giấy 15 phút 10% 🚫 đóng
Thi giữa kỳ 20% 🚫 đóng
Bài tập lớn nhóm + vấn đáp 60% ✅ mở (vấn đáp 🚫 đóng)

Bài tập lớn chiếm 60% tổng điểm; sản phẩm, khả năng giải thích và kiểm chứng là các căn cứ đánh giá chính.

Bài tập lớn: Inside Airbnb

  • Cả lớp một đề: phân tích thị trường Airbnb — nhưng mỗi nhóm một thành phố riêng (Barcelona, Toronto, Rio…).
  • Sản phẩm: pipeline chạy bằng 1 lệnh → QA → KPI → biểu đồ → báo cáo, kèm hợp phần LLM trên dữ liệu review.
  • Chấm bằng một bộ test chung chạy trên repo của nhóm (kể cả phần LLM) + vấn đáp từng thành viên.

Đề chi tiết có trên website môn học. Thành phố của từng nhóm công bố trên Canvas Portal đầu kỳ.

Kế hoạch mỗi tuần

  • Lý thuyết (3 tiết): bài giảng + thực hành notebook tại chỗ.
  • Thực hành (3 tiết): làm bài lab cùng giảng viên thực hành; nộp bài qua GitHub Classroom (✅ mở); nửa sau kỳ dành thêm cho bài tập lớn.
  • Kiểm tra trên lớp: 2 bài kiểm tra giấy 15 phút (🚫 đóng), phạm vi đến hết tuần trước.
  • Về nhà: bài tập nhỏ (nhãn 🚫 đóng / ✅ mở ghi trên đề) + tiến độ bài tập lớn theo nhóm.
  • Hỏi đáp & thông báo: hệ thống Canvas Portal của trường.

Việc cần làm trước bài 2

  1. Chạy hết notebook Bài 1 trên Colab (link ở website môn học).
  2. Đọc trang Chính sách AI để nắm các chế độ và trách nhiệm sử dụng.
  3. Cài Python + VS Code trên máy cá nhân (hướng dẫn trong notebook) — không bắt buộc nhưng nên làm sớm.
  4. Bắt đầu tìm nhóm bài tập lớn (4–5 người).

Tổng kết

  • Môn này hướng dẫn bạn xây dựng pipeline dữ liệu hoàn chỉnh và thực hành với dữ liệu Airbnb.
  • Công cụ: Colab để học, venv + Git để làm dự án tái lập được.
  • AI được phép sử dụng ở chế độ mở — kèm theo ba trách nhiệm: khai báo, hiểu, kiểm chứng.

Làm việc với AI thì sao?

🤖 Làm việc với AI
AI làm tốt Giải thích khái niệm mà bạn thấy lạ ("venv là gì?"), gợi ý lệnh, viết code nháp cho thao tác chuẩn.
AI hay sai Áp dụng quy ước mà không nêu rõ (như sử dụng mean() bỏ NaN); đề xuất cú pháp không tồn tại ở phiên bản thư viện đang dùng.

Kiểm chứng thế nào?

🤖 Làm việc với AI
  • Chạy code AI trên mẫu nhỏ tự tính tay được trước khi tin.
  • Gặp hàm lạ: đọc tài liệu chính thức thay vì chỉ hỏi lại AI.

Notebook bài này giúp bạn thực hành quy trình kiểm chứng lần đầu.

Đọc thêm

  • Trang Chính sách AI của môn (bắt buộc — có quiz).
  • McKinney, Python for Data Analysis, 3rd ed. — ch. 1 (miễn phí: wesmckinney.com/book).
  • Đề bài tập lớn Inside Airbnb trên website môn học.