Một số đề nghị cho việc làm khóa luận
Summary
Bài viết ghi lại một số đề nghị của tôi cho sinh viên (có thể sẽ làm việc với tôi) liên quan đến việc làm khóa luận tốt nghiệp ở bậc đại học, đặc biệt trong bối cảnh Trường Đại học Khoa học Tự nhiên, ĐHQGHN (HUS). Các đề nghị này thể hiện quan điểm cá nhân và kinh nghiệm (không nhiều lắm) của bản thân tôi, không thay thế quy định hiện hành của Trường, khoa, bộ môn hoặc chương trình đào tạo. Có thể xem một số thông tin khác ở đây và xem một số khóa luận của sinh viên đã làm với tôi ở đây.
Phạm vi và quy định chính thức
Trước khi bắt đầu làm khóa luận, sinh viên cần kiểm tra các thông báo và biểu mẫu mới nhất từ Trường, khoa, bộ môn và giảng viên hướng dẫn. Nếu có khác biệt giữa bài viết này và quy định chính thức, quy định chính thức là căn cứ cần tuân theo.
Một số điểm thường cần kiểm tra:
- Điều kiện được làm khóa luận tốt nghiệp hoặc học các học phần thay thế.
- Thời hạn đăng ký đề tài, nộp bản nháp, nộp bản chính thức và bảo vệ.
- Mẫu bìa, mẫu trình bày, mẫu tóm tắt, số bản in/bản mềm cần nộp và cách đặt tên file.
- Ngôn ngữ viết và bảo vệ khóa luận, đặc biệt với các chương trình tài năng, chất lượng cao, tiên tiến hoặc đạt chuẩn quốc tế.
- Yêu cầu kiểm tra đạo văn, lưu chiểu, nộp dữ liệu, mã nguồn hoặc sản phẩm phần mềm nếu có.
Yêu cầu
Với sinh viên làm khóa luận tốt nghiệp ở bậc đại học liên quan đến các chủ đề nghiên cứu tôi đang theo dõi, yêu cầu tối thiểu (theo quan điểm cá nhân của tôi) là:
- Xác định được một vấn đề cụ thể, vừa sức, thuộc chuyên ngành hoặc gần với chuyên ngành đào tạo.
- Đọc và hiểu được một hoặc nhiều bài báo khoa học liên quan đến chủ đề khóa luận ở mức độ cơ bản.
- Trình bày lại được các nội dung chính trong bài báo theo ý hiểu của bản thân.
- Biết tra cứu, tổng hợp tài liệu tham khảo và giải thích vì sao các tài liệu đó liên quan đến đề tài.
- Viết thành một khóa luận tốt nghiệp hoàn chỉnh, trong đó nêu rõ phần nào là kiến thức nền, phần nào là kết quả đã có, và phần nào là công việc của bản thân.
Ở mức độ cao hơn, sinh viên có thể:
- Cài đặt (implementation) các thuật toán trong bài báo.
- Kiểm tra các kết quả thực nghiệm (nếu có).
- So sánh các phương pháp/thuật toán đã có.
- Tái hiện một phần kết quả trong tài liệu tham khảo, hoặc chỉ ra rõ vì sao không thể tái hiện.
Ở mức độ cao nhất, sinh viên có thể:
- Giải quyết được các bài toán mở hoặc phát triển các ý tưởng mới dựa trên các kết quả đã có.
- Viết thành một bài báo khoa học hoàn chỉnh.
Không phải khóa luận tốt nghiệp đại học nào cũng cần có đóng góp mới ở mức bài báo khoa học. Tuy nhiên, khóa luận cần thể hiện rằng sinh viên hiểu vấn đề, làm việc nghiêm túc, trình bày trung thực, và có khả năng phân tích/tổng hợp để viết một báo cáo khoa học.
Trước khi bắt đầu khóa luận
Nên chuẩn bị một đề cương ngắn trước khi bắt tay vào viết hoặc cài đặt. Đề cương này không cần dài, nhưng nên trả lời được các câu hỏi sau:
- Tên đề tài dự kiến là gì?
- Bài toán chính là gì? Đầu vào, đầu ra, giả thiết và phạm vi là gì?
- Tài liệu nền quan trọng nhất là gì?
- Phương pháp dự kiến là gì: đọc hiểu và trình bày lại, chứng minh, cài đặt thuật toán, thực nghiệm, xử lý dữ liệu, xây dựng hệ thống, hay kết hợp nhiều việc?
- Kết quả tối thiểu cần đạt là gì?
- Nếu làm về khoa học máy tính hoặc khoa học dữ liệu, dữ liệu/mã nguồn/phần mềm sử dụng đến từ đâu, có được phép sử dụng không, và sản phẩm cuối cùng cần có những gì?
- Các mốc thời gian chính là gì: đọc tài liệu, hoàn thành đề cương, có bản nháp chương đầu, có kết quả thực nghiệm, nộp bản nháp toàn văn, sửa bản cuối, chuẩn bị bảo vệ.
Với các đề tài có cài đặt hoặc thực nghiệm, nên thống nhất sớm với giảng viên hướng dẫn về đầu ra tối thiểu:
- File khóa luận PDF.
- File tóm tắt khóa luận theo mẫu nếu khoa yêu cầu.
- Slide bảo vệ.
- Mã nguồn, README, hướng dẫn chạy và môi trường thực nghiệm nếu có cài đặt.
- Dữ liệu, mô tả dữ liệu, hoặc hướng dẫn lấy dữ liệu nếu được phép chia sẻ.
- Bảng kết quả, log thực nghiệm, ví dụ chạy thử, ảnh chụp màn hình hoặc video demo nếu cần.
Khi làm việc với giảng viên hướng dẫn
Khi trao đổi qua email
- Nên sử dụng địa chỉ email do Trường cung cấp.
- Tiêu đề email nên ngắn gọn và thể hiện rõ nội dung chính, ví dụ: “Về việc đăng ký tên đề tài khóa luận”.
- Nếu đây là lần đầu tiên bạn liên hệ với giảng viên qua email, hãy tự giới thiệu về bản thân (tên, lớp học, ngành học, v.v…). Nếu có thể, đính kèm tài liệu thể hiện năng lực học tập và nghiên cứu (bảng điểm, CV, v.v…).
- Trình bày rõ ràng, mạch lạc và ngắn gọn về chủ đề bạn muốn trao đổi.
- Nếu có tệp đính kèm, hãy giải thích ngắn gọn về nội dung của tệp, ví dụ:
Bang_diem.pdf là bảng điểm của bạn.
Một số chú ý khác
- Nên chủ động liên hệ với giảng viên hướng dẫn nếu có vấn đề liên quan đến quá trình thực hiện khóa luận.
- Cần chú ý tuân thủ các thời hạn cho các thủ tục giấy tờ cần thiết.
- Nên liên hệ với giảng viên sớm (tối thiểu 3-5 ngày trước thời hạn) nếu cần ký xác nhận hoặc các giấy tờ khác từ phía giảng viên.
- Nếu có thể, nên gửi báo cáo tiến độ ngắn theo định kỳ: đã làm gì, đang vướng gì, tuần tới làm gì, cần giảng viên góp ý điểm nào.
- Không nên đợi đến sát hạn mới gửi bản nháp toàn văn. Một bản nháp gửi sớm, dù chưa hoàn hảo, thường hữu ích hơn một bản gần hoàn chỉnh nhưng gửi quá muộn.
- Việc viết và bảo vệ khóa luận bằng tiếng Anh phụ thuộc vào chương trình đào tạo và hướng dẫn của khoa/bộ môn. Nếu muốn viết bằng tiếng Anh, nên thống nhất sớm với giảng viên hướng dẫn.
Khi đọc một bài báo
- Cần thận trọng khi đọc các bài báo, ngay cả những bài đã được xuất bản, vì chúng có thể chứa lỗi. Các tác giả và người bình duyệt đều là con người và có thể mắc sai lầm mà họ không nhận ra. Đôi khi, một chứng minh có thể mất đến 10 năm để phát hiện lỗi.
- Xác định rõ bài toán nghiên cứu: Đầu vào là gì? Đầu ra là gì? Kết quả chính của bài báo là gì? Tại sao nghiên cứu vấn đề này lại quan trọng? Những công trình nào đã được thực hiện trước đó?
- Nên tìm hiểu và giải thích các khái niệm cơ bản thông qua các ví dụ cụ thể.
- Trong chứng minh của một phát biểu cụ thể (Định lý, Bổ đề, v.v…), cần xác định đầu vào và đầu ra của phát biểu, phương pháp được sử dụng (quy nạp, phản chứng, chia trường hợp, v.v…), và các giả thiết cần thiết để thực hiện chứng minh.
- Cẩn thận với những chỗ trong bài báo mà tác giả ghi là “It is trivial that …”, “Trivially, …”, “It is not hard to see …”, “Obviously, …”. Những phát biểu sau đó có thể không hiển nhiên.
- Nếu có thuật toán, hãy xem xét cách nó hoạt động với một số đầu vào đặc biệt và độ phức tạp của nó.
- Nếu có thực nghiệm, hãy xác định dữ liệu, cách chia dữ liệu, độ đo, baseline, tham số, phần cứng/phần mềm và điều kiện để tái hiện kết quả.
- Có thể sử dụng các công cụ AI như ChatGPT, chatpdf.com, v.v… để hỗ trợ quá trình đọc bài báo. Tuy nhiên, cần lưu ý rằng các công cụ này có thể đưa ra câu trả lời sai, vì vậy hãy kiểm tra lại các kết quả. Theo ý kiến của tôi, các công cụ như GitHub Copilot rất hữu ích trong việc giải thích cách hoạt động của một đoạn mã. (GitHub cung cấp miễn phí Copilot và nhiều dịch vụ khác cho sinh viên.)
Khi đọc tài liệu, nên tự lập một bảng ghi chú gồm các cột như sau:
- Tài liệu.
- Bài toán.
- Phương pháp chính.
- Kết quả chính.
- Giả thiết và hạn chế.
- Phần có thể dùng cho khóa luận.
- Phần cần kiểm tra lại.
Khi cài đặt, làm thực nghiệm và tái lập kết quả
Với các đề tài khoa học máy tính, khoa học dữ liệu hoặc có yếu tố phần mềm, phần cài đặt/thực nghiệm cần được chuẩn bị như một phần của khóa luận, không phải phần phụ tùy hứng.
Một số yêu cầu tối thiểu nên có:
- Mã nguồn được sắp xếp đủ rõ để người khác có thể đọc.
- Có file
README mô tả cách cài đặt, cách chạy, dữ liệu đầu vào và kết quả đầu ra.
- Ghi rõ ngôn ngữ lập trình, phiên bản thư viện, hệ điều hành hoặc môi trường chạy nếu chúng ảnh hưởng đến kết quả.
- Với thuật toán ngẫu nhiên hoặc mô hình học máy, ghi rõ cách đặt seed nếu có.
- Với học máy/khoa học dữ liệu, cần mô tả cách chia train/validation/test, tránh rò rỉ dữ liệu (data leakage), và nêu rõ độ đo đánh giá.
- Có baseline hoặc phương pháp so sánh nếu mục tiêu của khóa luận là đánh giá một phương pháp.
- Có bảng kết quả, nhận xét về kết quả tốt/xấu, và thảo luận về nguyên nhân có thể.
- Nếu kết quả trong bài báo không tái hiện được, cần ghi trung thực điều kiện đã thử, khác biệt so với bài báo, và giả thuyết về nguyên nhân.
Không nên chỉ nộp một chương trình “chạy được trên máy em” nhưng không có hướng dẫn, không có dữ liệu thử, không có mô tả môi trường và không giải thích được kết quả.
Đạo đức nghiên cứu, dữ liệu cá nhân và AI
Phần này đặc biệt quan trọng với các đề tài liên quan đến khoa học máy tính, khoa học dữ liệu, học máy, xử lý ngôn ngữ tự nhiên, thị giác máy tính, hệ thống web, mạng xã hội, giáo dục, y tế, tài chính hoặc dữ liệu người dùng.
Trước khi thu thập hoặc xử lý dữ liệu, cần trả lời các câu hỏi sau:
- Dữ liệu đến từ đâu: tự thu thập, tải từ nguồn công khai, lấy qua API, crawl/scrape web, dùng bộ dữ liệu mở, hay nhận từ một tổ chức/cá nhân?
- Dữ liệu có chứa thông tin cá nhân không: họ tên, email, mã sinh viên, số điện thoại, ảnh, giọng nói, vị trí, địa chỉ IP, log sử dụng, tài khoản mạng xã hội, nội dung trao đổi, dữ liệu sức khỏe, dữ liệu tài chính, dữ liệu sinh trắc học?
- Dữ liệu có điều khoản sử dụng, giấy phép, giới hạn chia sẻ hoặc yêu cầu trích dẫn không?
- Có cần xin phép giảng viên hướng dẫn, đơn vị cung cấp dữ liệu, người tham gia, hoặc hội đồng/đơn vị có thẩm quyền trước khi sử dụng không?
- Có thể giảm lượng dữ liệu thu thập, ẩn danh hóa, mã hóa, hoặc chỉ lưu phần cần thiết cho khóa luận không?
Một số nguyên tắc thực tế:
- Dữ liệu công khai trên web không tự động đồng nghĩa với được phép thu thập, lưu lại, tái phân phối hoặc dùng để huấn luyện mô hình. Cần kiểm tra điều khoản sử dụng, giấy phép, robots/API policy nếu có, và tránh gây tải quá mức lên hệ thống của người khác.
- Không đưa dữ liệu cá nhân, dữ liệu nhạy cảm, dữ liệu chưa được phép công bố hoặc mã nguồn riêng tư lên các dịch vụ AI/cloud nếu chưa được phép.
- Không commit mật khẩu, API key, token, private key, file cấu hình chứa thông tin đăng nhập hoặc dữ liệu cá nhân lên repository.
- Nếu cần công bố mã nguồn, nên tách rõ phần công khai được và phần không được công khai. Có thể thay dữ liệu thật bằng dữ liệu mẫu hoặc hướng dẫn tạo dữ liệu giả.
- Với mô hình học máy, cần thảo luận các hạn chế có thể có: bias của dữ liệu, sai số, trường hợp mô hình thất bại, khả năng áp dụng ngoài tập dữ liệu đã thử nghiệm.
- Nếu dùng AI để hỗ trợ đọc tài liệu, viết bản nháp, tạo slide, dịch, sửa văn phong hoặc viết mã, cần kiểm tra lại nội dung và ghi rõ mức độ sử dụng theo yêu cầu của giảng viên/khoa. Không dùng AI để tạo trích dẫn giả, kết quả giả hoặc che giấu phần mình không hiểu.
Khi viết khóa luận
- Sử dụng $\LaTeX$ để soạn thảo. Bạn có thể tham khảo mẫu khóa luận tốt nghiệp của thầy Nguyễn Hữu Điển tại đây
- Trình bày rõ ràng những gì bạn đã làm. Thay vì viết “Khóa luận đã chứng minh được…” hoặc “Tác giả đã chứng minh…”, hãy nêu rõ liệu bạn đã đọc và trình bày lại từ bài báo hay bạn là người phát triển kết quả đó. Nếu phần khóa luận của bạn được công bố thành bài báo khoa học, ghi rõ những đóng góp cá nhân trong cả quá trình nghiên cứu và viết bài báo.
- Xây dựng bố cục khóa luận ngay sau khi xác định chủ đề. Ví dụ:
- Chương 1: Giới thiệu.
- Chương 2: Định nghĩa và khái niệm cơ bản.
- Chương 3: Thuật toán X.
- Chương 4: Cài đặt và thực nghiệm.
- v.v…
- Tóm tắt lại kiến thức bằng chính lời của bạn khi đọc, rồi điền vào bố cục phù hợp. Không nên dịch nguyên văn bài báo và sao chép vào khóa luận. Quá trình viết khóa luận là quá trình học tập, không phải dịch và sao chép.
- Nhờ người khác (bạn bè, gia đình, giảng viên hướng dẫn) đọc để phát hiện lỗi chính tả, logic, diễn đạt và sửa đổi kịp thời. Khi đề cập lần đầu tiên, đưa tên tiếng Anh trong ngoặc: đồ thị (graph), cạnh (edge), v.v…
- Trích dẫn các tài liệu có độ tin cậy cao, chẳng hạn bài báo khoa học, sách chuyên khảo, tài liệu kỹ thuật chính thức hoặc bộ dữ liệu có thông tin công bố rõ ràng. Ưu tiên tài liệu có DOI/ISBN nếu có. Tránh dựa vào Wikipedia, blog hoặc nội dung không rõ nguồn gốc làm tài liệu chính. Trích dẫn phải thống nhất định dạng, giữ nguyên tiếng Anh cho tài liệu nước ngoài. Kiểm tra các bài báo đã sử dụng để nắm cách trích dẫn chuẩn.
- Có thể dùng AI hỗ trợ viết khóa luận, nhưng phải ghi rõ trong khóa luận nếu giảng viên/khoa yêu cầu, và phải tự chịu trách nhiệm về tính đúng đắn của nội dung.
- Kiểm tra đạo văn bằng dịch vụ DoIT của VNU hoặc các công cụ khác trước khi nộp.
- Nộp bản in và/hoặc bản mềm theo đúng thông báo hiện hành của khoa/bộ môn.
Theo các mẫu và hướng dẫn HUS tôi đã xem, một khóa luận thường có các phần như sau. Sinh viên vẫn cần đối chiếu với mẫu mới nhất của khoa/bộ môn:
- Trang bìa và trang phụ bìa.
- Lời cảm ơn.
- Bảng ký hiệu, chữ viết tắt nếu có.
- Mục lục.
- Mở đầu: tính cần thiết của đề tài, ý nghĩa khoa học/thực tiễn, mục tiêu, phạm vi và phương pháp.
- Các chương nội dung chính: tổng quan, cơ sở lý thuyết, phương pháp, cài đặt/thực nghiệm, kết quả và thảo luận tùy đề tài.
- Kết luận: tóm tắt kết quả chính, đóng góp của bản thân, hạn chế và hướng phát triển.
- Tài liệu tham khảo.
- Phụ lục nếu có.
Trước khi nộp bản nháp hoặc bản cuối, nên tự kiểm tra:
- Tên đề tài, mục tiêu và phạm vi có khớp với nội dung thực tế không?
- Phần đóng góp của bản thân có được viết rõ không?
- Mọi kết quả, định lý, hình, bảng, dữ liệu, mã nguồn hoặc ý tưởng lấy từ nơi khác đã được trích dẫn chưa?
- Các hình và bảng có được đánh số, chú thích và nhắc đến trong nội dung không?
- Kết quả thực nghiệm có đủ thông tin để người khác hiểu hoặc tái lập ở mức hợp lý không?
- Kết luận có nêu rõ kết quả đạt được, hạn chế và việc chưa làm được không?
- File PDF có mở được, font hiển thị đúng, liên kết hoạt động, không còn comment hoặc ghi chú tạm thời không?
Trước khi bảo vệ và khi thuyết trình
Trước ngày bảo vệ, nên chuẩn bị:
- Bản khóa luận đúng mẫu và đúng hạn theo thông báo của khoa/bộ môn.
- Slide bảo vệ.
- Bản PDF offline của slide.
- Mã nguồn, dữ liệu mẫu, demo offline, ảnh chụp màn hình hoặc video demo nếu đề tài có phần mềm/thực nghiệm.
- Một bản ghi chú ngắn gồm: mục tiêu đề tài, phương pháp, kết quả chính, đóng góp của bản thân, hạn chế và hướng phát triển.
Khi thuyết trình:
- Trình bày rõ ràng những gì bạn đã làm. Ví dụ, nếu bạn đọc, hiểu và trình bày lại các kết quả từ một bài báo, hãy nói rõ điều này thay vì sử dụng cách diễn đạt như “Khóa luận đã chứng minh được…”. Nếu khóa luận của bạn được phát triển thành bài báo khoa học, hãy ghi rõ những đóng góp cá nhân của bạn trong cả quá trình nghiên cứu và viết bài báo.
- Giải thích ngắn gọn các khái niệm cơ bản liên quan đến chủ đề đang trình bày.
- Sử dụng hình vẽ để minh họa ý tưởng chính.
- Với các phát biểu cụ thể (Định lý, Bổ đề, v.v…), tập trung vào ý nghĩa thay vì chi tiết kỹ thuật: Tại sao cần thiết? Vai trò của phát biểu này trong bài báo là gì?
- Đánh số trang trên slides. Tránh cỡ chữ quá nhỏ và tránh quá nhiều chữ trên một slide. Sử dụng màu sắc để làm nổi bật các nội dung quan trọng.
- Đừng sao chép nguyên văn từ bài báo. Sử dụng gạch đầu dòng và lời của bạn để giải thích lại nội dung. Cách này giúp bạn hiểu sâu hơn.
- Tuân thủ thời gian trình bày. Nhiều hội đồng yêu cầu trình bày trong khoảng 10-15 phút; nên kiểm tra thông báo cụ thể của khoa/bộ môn. Theo kinh nghiệm, cứ một slide cần khoảng một phút trình bày, vì vậy khoảng 10-15 slide nội dung thường là hợp lý cho 10-15 phút.
- Khi trả lời câu hỏi, đi thẳng vào vấn đề. Yêu cầu làm rõ nếu không hiểu câu hỏi. Nếu không biết, hãy nói thẳng ra.
- Có thể sử dụng công cụ AI để hỗ trợ tạo slides, nhưng cần kiểm tra lại nội dung, ký hiệu, hình vẽ và trích dẫn.
- Trước khi bắt đầu thuyết trình, nên kiểm tra kỹ thiết bị trình chiếu (máy chiếu, máy tính, v.v…) để tránh sự cố kỹ thuật. Nếu bạn sử dụng Canva hoặc các công cụ trực tuyến khác để tạo slides, hãy đảm bảo rằng bạn đã tải xuống bản sao offline đề phòng trường hợp không có kết nối internet trong lúc thuyết trình.
Sau khi bảo vệ
Sau khi bảo vệ, công việc thường chưa kết thúc ngay. Nên thực hiện các việc sau:
- Ghi lại góp ý của hội đồng, phản biện và giảng viên hướng dẫn.
- Sửa khóa luận theo góp ý từ hội đồng.
- Nộp bản toàn văn, bản tóm tắt, file dữ liệu hoặc các file liên quan theo đúng thông báo hiện hành.
- Lưu lại một bản cuối cùng của khóa luận, slide, mã nguồn, dữ liệu được phép lưu, log thực nghiệm và hướng dẫn chạy.
- Nếu muốn công khai mã nguồn hoặc dữ liệu, cần kiểm tra lại giấy phép, dữ liệu cá nhân, API key, token, file cấu hình và các ràng buộc với giảng viên hướng dẫn/đơn vị cung cấp dữ liệu.
Tìm tài liệu tham khảo