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 tập lớn
Vấn đáp

Hướng dẫn chuẩn bị + checklist nộp — đọc kỹ trước hạn nộp.

Checklist repo (a) — code chạy được

Hạn nộp: 23:59 Chủ nhật tuần 10, giờ GitHub (ngày cụ thể: xem Canvas Portal). Tag final.

  • ☐ run_pipeline.py (hoặc Makefile) — một lệnh chạy từ raw đến mọi kết quả.
  • ☐ configs/ — thành phố + snapshot nằm trong config, không hard-code.
  • ☐ .python-version + requirements.txt/lockfile ghim phiên bản; README.md hướng dẫn cài và chạy lại.
  • ☐ Cache LLM đầy đủ để --skip-llm chạy không cần API key.

Checklist repo (b) — dữ liệu & hồ sơ

  • ☐ data/processed/ + data/samples/ (bộ ≥100 nhãn tay!); raw KHÔNG commit.
  • ☐ figures/ sinh tự động; reports/ có PDF + qa_report.csv.
  • ☐ AI_USAGE.md — cập nhật lần cuối, mục "AI sai ở đâu" có ví dụ thật.
  • ☐ Tag final + commit hash ghi trong báo cáo.

Bài kiểm tra tự làm quan trọng nhất

Bài kiểm tra "máy sạch" Một thành viên clone repo vào thư mục mới (giả lập máy giảng viên), làm đúng theo README từ đầu: Python theo .python-version → môi trường mới → cài thư viện đã ghim → chạy một lệnh đầy đủ, khoá API đặt trong biến môi trường. Đối chiếu số liệu và hình tạo lại với báo cáo.

Khi chấm, giảng viên chạy một bộ test chung trên repo mọi nhóm: dựng môi trường theo README, chạy pipeline trên snapshot giảng viên chọn — kể cả bước LLM — rồi soát tệp đầu ra. Hãy tự thử trước với một snapshot nhóm chưa dùng.

Dòng thời gian (mỗi nhóm ~20 phút)

Phần Thời lượng Nội dung
Hỏi riêng từng thành viên ~15' (3–4'/người) giải thích code/số bất kỳ + câu hỏi thiết kế — không có phần trình bày nhóm
Live task (nếu có) ~5' sửa/thêm một thứ nhỏ ngay tại chỗ

Lịch chi tiết từng nhóm: công bố trên Canvas Portal trước ngày thi vấn đáp.

Hỏi riêng từng người — dạng câu hỏi

  • "Mở file src/qa.py dòng 40 — giải thích quy tắc này. Đổi ngưỡng thì KPI nào lung lay?"
  • "Con số 426.230 ở trang 7 báo cáo — truy về dữ liệu gốc thế nào?"
  • "Vì sao nhóm chọn median mà không phải mean cho KPI giá?"
  • "Nếu snapshot mới thiếu cột bedrooms, pipeline sống không? Chỉ chỗ code xử lý."

Toàn câu hỏi kiểu thẩm định 4 bước của bài 14.

Ba lỗi hay gặp khi vấn đáp

  1. "Phần đó bạn X làm ạ" — mọi thành viên phải nắm bức tranh chung và code chính. Phân công ≠ mỗi người chỉ biết phần mình.
  2. Bộ test chung không chạy qua — vì chưa từng thử bài kiểm tra máy sạch.
  3. Không biết số của chính mình — báo cáo ghi 426k mà cả nhóm không ai truy lại được nguồn. Vấn đáp = thẩm định; hãy tự thẩm định trước.

Kế hoạch ôn 1 tuần trước vấn đáp

  1. T-7: bài kiểm tra máy sạch + thử pipeline trên snapshot lạ.
  2. T-5: thẩm định chéo nội bộ (quy trình bài 14) trên chính báo cáo nhóm; sửa những gì không đứng vững.
  3. T-3: mỗi người tự đi một vòng repo: mở ngẫu nhiên 5 file, tự giải thích.
  4. T-1: mỗi người tự trả lời thử 5 câu kiểu vấn đáp về code và số của nhóm — không có phần trình bày, ai cũng có thể bị hỏi bất kỳ phần nào.

Sau môn này, bạn học được gì?

  • Một pipeline dữ liệu thật trên GitHub — đưa vào CV được ngay.
  • Tư duy: giữ nguyên raw · gắn cờ đừng xoá · đo đừng đoán · baseline trước LLM sau · lời vừa với số.
  • Kỹ năng thời AI: chỉ đạo công cụ và kiểm chứng kết quả — thứ không model nào thay được.

Chúc các nhóm bảo vệ thành công!