Hiện nay, Bộ môn Ứng dụng Phần mềm – FPT Polytechnic TP HCM đã triển khai sâu rộng công cụ GitHub AI trong công tác quản lý khóa học (LMS). GitHub nói chung là một nền tảng mạnh mẽ trong việc quản lý mã nguồn, hỗ trợ làm việc nhóm, cũng như giao bài và nộp bài trong các lớp học lập trình.
Điểm nổi bật trong mô hình triển khai tại FPT Polytechnic TP HCM chính là công cụ AI chấm điểm tự động trên GitHub, giúp tối ưu hóa quy trình giảng dạy và đánh giá. Từ việc giảng viên giao bài tập trên GitHub, sinh viên có thể tải (clone) toàn bộ yêu cầu bài tập (README) và mã nguồn khởi tạo (starter code), sau đó hoàn thiện bài làm trên máy tính cá nhân và nộp bài bằng hình thức commit lên GitHub. Sau khi nộp bài thành công, sinh viên sẽ ngay lập tức nhận được kết quả pass hoặc fail do hệ thống GitHub AI tự động chấm điểm.
Đối với giảng viên, để hệ thống có thể xác định bài làm của sinh viên đạt hay chưa đạt yêu cầu, giảng viên cần xây dựng các tiêu chí kiểm tra chức năng của bài tập (unit test). Các tiêu chí này nhằm đánh giá xem chương trình của sinh viên có tạo ra kết quả đầu ra (output) đúng với kỳ vọng khi cung cấp các giá trị đầu vào (input) cụ thể hay không.
Tuy nhiên, điểm số do GitHub AI chấm không phải là điểm cuối cùng. Điểm quá trình của sinh viên còn phụ thuộc vào nhiều yếu tố khác do giảng viên quy định như thời hạn nộp bài, chất lượng mã nguồn (clean code), mức độ hoàn thiện bài làm, cũng như phần vấn đáp hoặc kiểm tra bổ sung khi cần thiết.

Mô hình hoạt động của GitHub trong giảng dạy
1. Chuẩn bị môi trường làm việc
Trước khi bắt đầu làm bài tập trên GitHub Classroom, giảng viên và sinh viên cần chuẩn bị và cài đặt các công cụ sau:
- Đăng ký tài khoản GitHub tại https://github.com (giảng viên nên tạo 2 tài khoản để demo dưới vai trò sinh viên).
- Cài đặt IDE Visual Studio Code (VS Code) từ https://code.visualstudio.com.
- Cài đặt các Extension trong VS Code:
- C/C++ (Microsoft)
- C/C++ Extension Pack
- Code Runner (tùy chọn, hỗ trợ chạy code nhanh)
- Cài đặt Git từ https://git-scm.com/downloads và kiểm tra bằng lệnh:
git --version. - Cấu hình Git:
git config --global user.name "Họ Tên Của Bạn" git config --global user.email "[email protected]" - Cài đặt compiler C/C++:
- Windows: MinGW hoặc TDM-GCC
- macOS:
xcode-select --install - Linux:
sudo apt install build-essential
2. Giảng viên tạo bài tập và lớp học (Classroom)
2.1. Tạo bài tập (Assignment)
- Truy cập https://github.com và đăng nhập tài khoản GitHub.
- Chọn New Organization → nhập tên lớp (ví dụ: SD21301).
- Chọn New Repository → nhập tên bài tập (ví dụ: Lab1).
- Chọn bật README.
- Chọn Create repository, sau đó vào Settings và tích chọn Template repository.

Giảng viên thực hiện tương tự để tạo thêm Lab2, Lab3, ASM…
Gợi ý cấu trúc repository mẫu:
Lab1/
├ README.md
├ main.c
├ input.txt
└ expected_output.txt
2.2. Tạo lớp học (Classroom)
- Truy cập https://classroom.github.com và đăng nhập GitHub.
- Chọn New classroom → nhập tên lớp (ví dụ: SD21301), thêm danh sách sinh viên.
- Liên kết với Organization cùng tên SD21301 đã tạo trên GitHub.

- Chọn New assignment.
- Chọn loại bài tập:
- Individual assignment (nộp cá nhân)
- Group assignment (nộp theo nhóm)
- Điền thông tin bài tập:
- Assignment title: tên bài (ví dụ: Lab1)
- Deadline: hạn nộp (tùy chọn)
- Chọn repository mẫu (template repository) đã tạo trước đó.

- Nhấn Create assignment và sao chép link nộp bài để gửi cho sinh viên.

3. Quy trình làm bài và nộp bài của sinh viên
- Nhận link nộp bài từ giảng viên.
- Đăng nhập GitHub và chấp nhận bài tập.
- Chọn tên sinh viên trước khi nộp bài.
- GitHub tự động tạo một repository riêng cho từng sinh viên.
- Sao chép link repository vừa tạo.
- Mở VS Code → Terminal → chạy lệnh:
git clone <link repo>
7. Hoàn thiện code theo yêu cầu trong README.
Gợi ý cấu trúc bài làm:
Lab1/
├ README.md
├ main.c
├ input.txt
└ expected_output.txt
Sinh viên thực hiện commit và push:
git add .
git commit -m "Nộp bài lần 1"
git push origin main
Các lần nộp tiếp theo được thực hiện tương tự, GitHub Classroom sẽ tự động cập nhật bài nộp mới nhất.
4. Theo dõi và chấm điểm bài nộp
- Giảng viên theo dõi danh sách sinh viên trong Classroom.
- Khi sinh viên commit và push bài, hệ thống sẽ tự động cập nhật trạng thái pass/fail.
- Giảng viên có thể chấm chi tiết hơn bằng cách:
-
- Xem trực tiếp mã nguồn trên GitHub.
- Clone repository của sinh viên về máy để kiểm tra và đánh giá.
Quy trình chấm bài gợi ý:
- Clone repository của sinh viên.
- Biên dịch và chạy thử chương trình.
- Ghi chú kết quả, chấm điểm.
- Push phản hồi vào nhánh feedback.
Việc ứng dụng GitHub và GitHub Classroom tích hợp AI trong giảng dạy giúp giảng viên FPT Polytechnic TP HCM tự động hóa quá trình phát – thu bài, theo dõi tiến độ học tập của sinh viên, hạn chế gian lận mã nguồn, đồng thời hỗ trợ chấm bài theo đúng chức năng chương trình.
Mô hình này không chỉ nâng cao hiệu quả quản lý lớp học mà còn giúp sinh viên làm quen sớm với môi trường làm việc chuyên nghiệp, quy trình phát triển phần mềm và văn hóa làm việc nhóm trong lĩnh vực công nghệ thông tin.
Giảng viên Trần Thế Bảy
Bộ môn Ứng dụng phần mềm
FPT Polytechnic TP HCM




