🎓

HCMUS Thesis Advice from Those Who've Done It

2026-05-08--- views
HCMUS Thesis Advice from Those Who've Done It

Tại sao blog này tồn tại?

Mục tiêu của bài là để chia sẻ timeline, trải nghiệm, tips & tricks, các bài học rút ra được từ mùa khóa luận. Đã có các bài blog trước đó đã viết rất tốt và rất kỹ về quy trình và hướng dẫn tiếp cận khóa luận. Chẳng hạn như bài APCS Thesis Survival Guide [1] của anh Lê Tấn Đăng Tâm (17APCS) và bài Thesis Survival Guide - 2023 (updated Jul 2025) [2]. Mình mong bài này tiếp nối được lời khuyên của các anh bằng case study của riêng mình.

Bài này cũng tồn tại để đưa cho các bạn thêm 1 ví dụ về quá trình thực hiện khóa luận tốt. Mình muốn chia sẻ những expectations của quá trình làm khóa luận và những gì khả thi và không khả thi. Đặc biệt là quản lý thời gian, khối lượng công việc, nghiên cứu đề tài, publish đề tài trước đợt bảo vệ. Từ đó, các bạn có thể rút được kế hoạch và tâm lý cần có để hoàn thành 1 đề tài tốt nhất có thể.

LTDT

Lỗi Trường Ú

Tại sao chọn làm Khóa luận tốt nghiệp?

Từ một lần đi nghe đợt bảo vệ khóa luận của CLC K20, 1 thầy cho rằng mục đích làm khóa luận là để sinh viên được trải nghiệm đầu tay về nghiên cứu. Brownell et. al [3] cho rằng mục đích hướng dẫn nghiên cứu khoa học là để có khả năng đặt giả thuyết, thực hiện thí nghiệm và công bố kết quả để giao tiếp những kết quả ấy cho mọi người. Science Communication là 1 kỹ năng còn thiếu nhưng hết sức quan trọng đối với sinh viên ngành STEM (như CS). Việc thực hiện khóa luận tốt nghiêp không chỉ dành cho những ai muốn học cao hay làm trong lab lớn, mà còn thậm chí dành cho bất kỳ ai có nhu cầu chia sẻ technical information đến với dân chúng. (fucking look at LCKH if you wanna see the consequences of lack of science communication education)

Brownell et. al

Làm, bảo vệ khóa luận

Mình sẽ hạn chế đi chi tiết về quy trình thực hiện khóa luận vì bài Thesis Survival Guide [2] đã đủ chi tiết và mình rất thích các lời khuyên ở mục 3.3 Làm đề tài. Khuyên các bạn đọc mục 1 để hiểu điểm khác biệt giữa học phần bình thường và khóa luận tốt nghiệp. Ngoài ra, mình cũng sẽ đóng góp thêm vài bài học rút ra.

Quy trình làm khóa luận

Chọn đề tài

Từ bài Thesis Survival Guide [2]:

  • Nên chọn đề tài phù hợp với chuyên môn
  • ELI5 - Nếu người ra đề tài (bạn hoặc giáo) không giải thích ý tưởng được cho trẻ 5 tuổi thì nên xem xét lại
  • Né các đề tài có sự phụ thuộc vào bên thứ ba (một công ty nào đó) cung cấp dữ liệu phục vụ nghiên cứu.

Còn trường hợp các bạn được quyền tự quyết, đã có kinh nghiệm NCKH và có nguyện vọng học cao, bạn có 2 hướng:

  • Nếu bạn đã có bài báo với GVHD trong khoa, thì khuyến khích dùng bài gần nhất để đăng ký đề tài (và ngồi chơi 8 tháng!)
  • Còn không thì hãy tận dụng cơ hội dùng khóa luận làm đề tài đại diện cho hướng nghiên cứu. Thích gì thì đưa hết vào!
  • Khuyến khích làm một người nếu theo hướng đi này, các trường quốc tế cũng chỉ cho phép làm khóa luận một người

Làm đề tài

Cái gì quan trọng thì nói nhiều lần:

LITERATURE REVIEW THẬT KỸ

LITERATURE REVIEW THẬT KỸ

LITERATURE REVIEW THẬT KỸ

Mình đã gặp ngay trường hợp không survey kỹ để nhận ra phương pháp của mình đã có người khác làm tốt hơn [6]. May mắn là mình nhận ra từ tháng 3 sau khi trả kết quả review từ workshop, và vẫn còn đủ thời gian để phát triển tiếp bài. Khuyến khích dùng trick dùng Google Scholar của [2].

ErrantScience

Proposed method, Experiments & Discussion đều nên tham khảo [2] nếu bài của bạn làm về ML và bạn may mắn có giáo sẵn sàng chỉ tay cho method. Nhưng mình cũng có lời khuyên chung nếu bạn không chọn làm ML hoặc bạn phải tự tìm hướng đi cho method.

Trích dịch từ Hackers & Painters: Big Ideas from the Computer Age của Paul Graham [4], chapter 15 - Design & Research:

“Điểm khác biệt giữa design và research dường như là câu hỏi giữa cái mơi và cái hiệu quả. Design không nhất thiết phải mới, nhưng nó phải tốt. Research không cần phải tốt, nhưng nó cần phải mới. Tôi nghĩ rằng hai hướng này đều tiệm cận tại mức độ cao nhất. Design tốt nhất vượt qua các phiên bản trước nhờ những ý tưởng mới, và research tốt nhất giải quyết những vấn đề không chỉ mới, mà còn đáng trả lời. Nên cuối cùng design và research để hướng về cùng 1 mục tiêu, chỉ là tiếp cận nó từ cách khác nhau.”

Hackers & Painters

Đọc phần này, mình thấy lời khuyên này áp dụng được cho việc thực hiện khóa luận HCMUS. Khóa luận HCMUS được chia ra làm 2 loại - nghiên cứu và ứng dụng (không phải là capstone/đồ án tốt nghiệp). Rõ ràng KLNC là “Research” và KLUD là “Design”, nhưng cả 2 đều hướng về chung 1 mục tiêu, chỉ là theo cách tiếp cận khác nhau. Bạn có thể xuất phát từ SOTA và giải quyết thử thách đưa vào thực tiễn, hoặc giải quyết trên 1 “domain” khác. Hoặc bạn có thể cải thiện một hệ thống bằng kết quả của các kỹ thuật, mô hình mới. Với 8 tháng, kích thước định hướng cho đề tài nên trong tầm khả năng nhưng vẫn tạo bước đủ nhỏ trong việc addressing a research/design gap.

Về thời gian, thì bạn nên dành ra càng nhiều thời gian càng tốt cho đề tài vì không còn phải đi học nữa. Nhưng lỡ bạn phải đi làm (mình cũng thế) thì cũng nên dành ra ít nhất 1-2h/ngày trong tuần và 3-5h/ngày cuối tuần, tổng cộng ít nhất 10-20h/tuần sẽ không quá khó.

Còn làm sao để tìm research/design gap?

Ý tưởng đầu tiên của nhiều bạn trẻ hiện nay sẽ làm nhờ ChatGPT hay Perplexity xào nấu cho ta ý tưởng đề tài từ các bài báo có sẵn trên mạng. Tuy nhiên, hướng tiếp cận này có vấn đề. Các mô hình reasoning giờ đủ hiện đại để có thể gợi ý mối quan hệ giữa các bài báo và tìm ra research gap, và đã có nhiều research dựa vào kết quả này để viết (rất nhiều) bài báo. Nhưng vấn đề là những người này là các giáo sư, nhà nghiên cứu lâu năm trong ngành, và họ đã xây dựng nội hàm để biết định hướng nghiên cứu. Bạn là sinh viên, và khả năng cao cũng là bạn vừa lần đầu tìm hiểu về đề tài. Bạn sẽ chưa có kiến thức nền tảng và bạn sẽ chết tại chỗ khi đứng ra phản biện hay debug tại sao phương pháp này sai (vì nó còn chưa tồn tại mà).

Thay vì bắt bản thân đọc 1 đống paper, bạn có thể dùng “cheatcode” bằng cách đọc survey paper, nên chọn bài trong 3 năm gần nhất. Họ đã đọc giùm các bài liên quan tới chủ đề đề tài giùm mình và tóm tắt lại 1 chỗ. Tiến nhanh tới mục Challenges hay Future Direction, họ sẽ tổng kết những bài toán mở của lĩnh vực. Các bạn chỉ cần bóc thẳng từ danh sách này thì đảm bảo đề tài không bị lỗi thời. Các bạn có thể chỉ cần nhai kỹ bài survey trước khi bắt tay là được. Nơi tốt nhất là ACM Computing Surveys [5], tổng hợp chủ yếu surveys cho mọi chuyên ngành CNTT.

Viết cuốn luận

Trong lúc làm đề tài, các bạn nên có 1 cái file doc để tổng kết kết quả vào cuối tuần. Trong report nên có các mục:

  • Summary: tổng kết phần Results, Learned, Call to Action trong 2-3 câu
  • Results: số liệu, bảng biểu, kết quả thí nghiệm
  • Learned: các paper liên quan tới đề tài, kết luận rút ra được từ thí nghiệm và related works
  • Call to action: tuần sau cần làm gì tiếp theo

Bạn có thể giữ report này cho riêng mình, hoặc dùng report này để báo cáo kết quả với giáo (Show Your Work). Sau nhiều tuần và khi đã hài lòng với kết quả thí nghiệm, thì bạn đã viết 80% xong nội dung cuốn luận vì những phần này có thể Ctrl-C-Ctrl-V thẳng vào Related Works, Dataset, Results, Discussion. Phần còn lại là Abstract, Introduction, Conclusion vẫn cần bạn phải chém xí để tạo câu chuyện thuyết phục cho độc giả.

Chi tiết hơn về cuốn luận và bảo vệ khóa luận thì các bạn cứ tham khảo [1] và [2], phần sau sẽ chủ yếu về lời khuyên.

Quy trình bảo vệ khóa luận

Gặp phản biện

Giáo viên phản biện không phải là kẻ thù, mà có khi sẽ là vị cứu tinh của bạn. Đây là cơ hội để bạn biết trước hội đồng sẽ hỏi gì, vì hội đồng cũng sẽ đánh giá đề tài có trả lời được đủ các câu hỏi của GVPB trước khi vấn đáp chưa. Nhớ bình tĩnh tự tin trước và sau khi gặp GVPB.

Bảo vệ

Bạn chỉ có 15 phút để hoàn thành phần trình bày và 10 phút cho phần vấn đáp. Lỗi sai nhiều nhất mình nhận thấy từ các bạn là mất quá lâu để dàn dựng vấn đề nghiên cứu. Nói quá nhiều thì mất quá nhiều thời gian để không kịp demo hoặc thậm chí nói có 1 nửa phần Method. Chỉ cần 2-3 slide và kèm theo citation trên slide luôn (hot take vì thường slide không nên quá nhiều chữ). Sau đó, cứ đề cập related works và dẵn dắt vào phần chính của đề tài. Nhớ diễn dợt nhiều lần trước ngày bảo vệ để tự tin hơn. Sau bảo vệ thì nếu hội đồng có khuyên sửa cuốn luận thì hãy xong trong ngày luôn hoặc càng sớm càng tốt.

Khóa luận của mình

Chương Trình Quảng Cáo

Mình đã từng viết bài ăn mừng sau đợt bảo vệ, bao gồm tóm tắt và cảm hứng cho đề tài [9]. Bên APCS, cuốn luận và bảo về khóa luận được trình bày bằng tiếng Anh. Mình sẽ trích phần giới thiệu của bài mình (chỉ Ctrl-C-Ctrl-V từ bài FB), mọi người có thể tham khảo cuốn luận và Github repo tại [7] và [8].

“Đề tài của mình là "UNet-HoVerGNN: Structured Graph Integration into HoVerNet for Enhanced Nuclei Segmentation and Classification". Trong bài, mình phát triến tiếp từ 1 số bài về việc học quan hệ thưa giữa các nhân tế bào để cải thiện mô hình HoVerNet. Mặc dù bài gốc ra từ 2019, multi-branch design của HoVerNet vẫn đủ hiệu quả và các SOTA baselines về sau như CellViT (2024) vẫn dùng lại nhưng thay CNN encoder bằng SAM và dùng cấu trúc encoder-decoder của UNet. Các phương pháp dùng đồ thị hiện tại đều dừng ở mức sử dụng đồ thị tĩnh hoặc "shallow message passing". Bài mình đề xuất việc dựng đồ thị ngay trong quá trình huấn luyện để extend mô hình HoVerNet. Mình cũng cố gắng thuyết phục rằng việc giữ CNN encoder (và thêm GNN-based branch) vẫn tốt ngang việc dùng ViT, và thậm chí hội tụ nhanh hơn qua ablation studies).”

UNet-HoVerGNN Diagram

Một số câu chuyện ngắn trong lúc thực hiện đề tài:

  • Sau bảo vệ, mình cũng được mời đi trình bày thêm 2 lần nữa vào tháng 10 và 11, còn được profit từ workshop tháng 11. [10]
  • Mình đã nộp và bị reject bởi CVPRW (tháng 3) và MICCAI (tháng 6) trước khi settle với ICMV. Ít ra mình được nhận reviewer feedback sớm để sửa bài.
  • Tất cả thí nghiệm đều được thực hiện trên Kaggle, và mình dùng version control của Kaggle để ghi chú thí nghiệm luôn. Đội ơn Kaggle, Colab dở quá.
  • Mình vẫn kiên quyết vừa đi làm vừa làm khóa luận, nhưng tới tháng 5 thì mình đã xin nghỉ việc để tập trung thời gian hơn. Mình sẽ nói rằng tháng 5 là lúc các bạn cần phải tăng tốc để chạy đến vạch đích.
  • Môn Algorithmic Trading mới mở cho 20APCS lúc mình đang năm 3. Mình không muốn học thêm môn nào vào năm 4 nhưng mình lại rất muốn môn này, nên mình vừa đăng ký môn này và học song song vời môn trùng lịch luôn vào năm 3. Lựa chọn đúng đắn khi chọn môn này, và cũng là cheatcode để dọn thêm thời gian cho năm 4.
  • Từ bài của anh Lê Bảo Hiệp (20APCS) [11], mình cũng muốn làm 1 bài về CPU Inference bằng C++. Mình còn tiếc vì chưa làm được cái này, nhưng mình vẫn còn gap year và có thể mình sẽ implement luận văn thạc sĩ bằng C++ và Julia (học Julia đi mọi người).
  • Trước khi gặp GVHD, mình muốn làm về vector database và neural-hashing-based retrieval cho gigapixel image (cụ thể cho hình vệ tinh đa phổ, vì mình rất thích chủ đề hồi làm research intern). Vì GVHD của mình làm về Medical imaging, nên mình tận dụng cơ hội chuyển sang làm về loại gigapixel image khác - ảnh mô học. Mình mất khá lâu để literature review và nhận ra hướng này cho ảnh mô học chưa khả thi với phạm vi 8 tháng, nên mình chuyển sang bài toán phân đoạn. Có thể mình sẽ quay lại và làm hẳn 1 đề tài về domain-specific vector DB cho luận văn thạc sĩ.
  • Mình không nói cụ thể được, nhưng sau đợt bảo vệ thì mình nhận được 2 offer PhD, nhưng mình vẫn chưa thích hướng của 2 offer đó nên tạm bỏ qua.

Outro

Đây là bài blog đầu tiên trong chuỗi các bài hàng tuần. Cảm ơn anh Mai Vinh Hiển (K20) vì giúp biên soạn. Mong các bạn học hỏi thêm được về cách thực hiện một đề tài hay, chứ không chỉ qua môn.

References

[1] APCS Thesis Survival Guide (2022) - https://incenger.github.io/posts/2022/06/apcs_thesis_survival_guide/

[2] Thesis Survival Guide - 2023 (upd Jul 2025) - https://docs.google.com/document/d/1Aznqx-23-FRw6RumF93tT_3x8-I57W3GO5oFBDNG73k/edit?usp=sharing

[3] Science Communication to the General Public: Why We Need to Teach Undergraduate and Graduate Students this Skill as Part of Their Formal Scientific Training (2013) - https://pmc.ncbi.nlm.nih.gov/articles/PMC3852879/

[4] Hackers & Painters: Big Ideas from the Computer Age (2004) - https://en.wikipedia.org/wiki/Hackers_%26_Painters

[5] ACM Computing Surveys - https://dl.acm.org/journal/csur

[6] ErrantScience (Twitter/X, 2023) - https://x.com/ErrantScience/status/1692868907701309765

[7] UNet-HoVerGNN (Github, 2025) - https://github.com/YangTuanAnh/UNet-HoVerGNN

[8] Cuốn luận của mình (2025) - https://drive.google.com/file/d/1ZS8oeY5aDuiC-QgUODz3KrHabOCItWNV/view

[9] Bài FB sau ngày bảo vệ (FB, 2025) - https://www.facebook.com/share/v/1DytT6oLUU/

[10] Tổng kết Student Research Workshop (2025) - https://www.fit.hcmus.edu.vn/tin-tuc/d/tong-ket-student-research-workshop-co-hoi-hoc-bong-sau-dai-hoc-tai-vien-bach-khoa-paris-danh-cho-sinh-vien-viet-nam

[11] MedficientSAM: A Robust Medical Segmentation Model with Optimized Inference Pipeline for Limited Clinical Settings (2024) - https://openreview.net/pdf?id=aa0f77RKI0

brainmade.org