Giới thiệu Codelab
NEU Online Judge (Codelab) — Khoa Công nghệ thông tin, Trường Công nghệ, Đại học Kinh tế Quốc dân. Nền tảng chấm bài, tổ chức thi lập trình trực tuyến hiện đại, đa tính năng, được thiết kế để đảm bảo sự công bằng, minh bạch và hiệu quả trong việc đánh giá kỹ năng lập trình của người học.
Codelab (NEU OJ) là gì?
NEU Online Judge (NEU OJ) là nền tảng chấm bài và tổ chức các kỳ thi lập trình trực tuyến hiện đại, được phát triển nhằm phục vụ nhu cầu học tập và đánh giá kỹ năng lập trình một cách công bằng, minh bạch và hiệu quả. Hệ thống hỗ trợ nhiều tính năng mạnh mẽ như chấm tự động, quản lý kỳ thi, thống kê kết quả, và hỗ trợ đa ngôn ngữ lập trình, giúp nâng cao trải nghiệm học tập và kiểm tra cho sinh viên cũng như giảng viên trong môi trường giáo dục số.
Ở lõi hệ thống là bộ chấm tự động (Online Judge): người dùng viết code ngay trên trình duyệt, hệ thống biên dịch và chạy code với nhiều bộ dữ liệu kiểm thử (test case) rồi trả về kết quả đúng/sai cho từng bộ. Xung quanh bộ chấm là kho bài tập theo môn học, các khóa học có bài giảng, trợ giảng AI, bộ công cụ thực hành chạy trong trình duyệt và khu quản lý dành cho giảng viên.
Hệ thống đặt tại fit.neu.edu.vn/codelab. Người học ngoài Đại học Kinh tế Quốc dân dùng địa chỉ codelab.ai.vn/codelab.
Tính năng chính
Trình soạn thảo mạnh mẽ dựa trên Monaco với syntax highlighting, hỗ trợ nhiều ngôn ngữ lập trình.
Tạo và quản lý các cuộc thi lập trình với bảng xếp hạng thời gian thực và giám sát toàn diện.
Cơ sở dữ liệu bài tập toàn diện với nhiều cấp độ khó và test case chi tiết.
Hệ thống xác thực người dùng hoàn chỉnh với vai trò, quyền hạn và quản lý hồ sơ.
Công cụ quản trị mạnh mẽ để quản lý cuộc thi, bài tập, người dùng và bài nộp.
Theo dõi bài nộp trực tiếp, giám sát cuộc thi và phản hồi tức thì về việc thực thi code.
Các phân hệ của hệ thống
| Phân hệ | Dành cho | Chức năng chính |
|---|---|---|
| Trang chủ (editor nháp) | Mọi người, không cần đăng nhập | Viết và chạy thử code trên nhiều ngôn ngữ và môi trường |
| Môn học | Người học | Kho bài tập theo chương trình đào tạo và theo ngôn ngữ, chấm tự động |
| Khóa học có bài giảng | Người học, giảng viên | Bài giảng từng buổi, ví dụ chạy được, slide trình chiếu, giấy xác nhận hoàn thành |
| Trợ giảng AI | Người học đã đăng nhập | Tra cứu khái niệm, giải nghĩa lỗi, gợi ý hướng làm, không giải bài hộ |
| Công cụ | Mọi người | Python, R, phân tích số liệu, toán kinh tế, SQL, Web, Notebook, Terminal chạy ngay trong trình duyệt |
| Kỳ thi | Người học, giảng viên | Thi có giới hạn thời gian, giám sát hành vi theo thời gian thực, xuất điểm |
| Quản lý bài tập, kỳ thi, khóa học | Giảng viên | Soạn đề và test case, sinh đề bằng AI, tạo kỳ thi, theo dõi tiến độ lớp |
| Trung tâm quản trị | Quản trị viên | Thống kê, tình trạng hệ thống, người dùng và phân quyền |
Lợi ích chính
- Cung cấp môi trường học tập tương tác, hỗ trợ thực hành thuật toán và cấu trúc dữ liệu hiệu quả.
- Tổ chức các cuộc thi lập trình thời gian thực với hệ thống giám sát toàn diện, đảm bảo công bằng.
- Theo dõi chi tiết bài nộp và phân tích hiệu suất, giúp người dùng cải thiện kỹ năng lập trình.
- Hỗ trợ nhiều ngôn ngữ lập trình, đáp ứng sở thích và nhu cầu của các lập trình viên đa dạng.
Công nghệ sử dụng
Được xây dựng với các công nghệ hiện đại để đạt hiệu suất tối ưu và trải nghiệm phát triển tốt nhất.
Nhà phát triển & liên hệ
Có câu hỏi, đề xuất hoặc muốn đóng góp? Hãy liên hệ!
Được xây dựng với ❤️ bởi Duy Viett • Khoa Công nghệ Thông tin, Trường Công nghệ, Đại học Kinh tế Quốc dân
Bắt đầu
Codelab chạy hoàn toàn trên web: chỉ cần trình duyệt Chrome, Edge, Firefox hoặc Safari bản mới, không phải cài phần mềm. Phần này giúp bạn chọn cách vào hệ thống phù hợp.
Dùng thử không cần đăng nhập
Khách (chưa đăng nhập) vẫn dùng được khá nhiều chức năng: viết và chạy code trên trang chủ, xem môn học, đọc đề và chạy thử bài tập công khai, dùng phần lớn công cụ thực hành. Tài khoản cần khi nộp bài để chấm, lưu tiến độ, dùng trợ giảng AI và tham gia kỳ thi.
| Chức năng | Khách | Người học | Giảng viên |
|---|---|---|---|
| Chạy code trên trang chủ, chạy thử bài công khai | Giới hạn 10 lần / 20 giây | ✔ | ✔ |
| Xem môn học, đọc đề, đọc bài giảng | ✔ | ✔ | ✔ |
| Công cụ chạy trong trình duyệt (Python, R, SQL, Web, Terminal…) | ✔ | ✔ | ✔ |
| Nộp bài để chấm, lưu lịch sử và tiến độ | — | ✔ | ✔ |
| Trợ giảng AI | — | ✔ | ✔ |
| Tham gia kỳ thi | — | ✔ | ✔ |
| Codespaces, R / C++ trên máy chủ (cần được cấp quyền) | — | ✔ | ✔ |
| Soạn bài tập, tạo kỳ thi, giám sát, xuất điểm, quản lý khóa học | — | — | ✔ |
Đăng nhập
Bấm Đăng nhập ở góc phải thanh điều hướng. Có các cách đăng nhập sau:
- Sinh viên, giảng viên Đại học Kinh tế Quốc dânBấm Đăng nhập với Microsoft 365 (NEU) (1) và dùng thư điện tử của Đại học. Không cần tạo mật khẩu riêng; email được xác minh sẵn. Nút này chỉ hiện trên địa chỉ fit.neu.edu.vn.
- Tài khoản email và mật khẩuNhập Email và Mật khẩu (2) rồi bấm Đăng nhập. Dùng cho tài khoản tự đăng ký, tài khoản do quản trị viên tạo và tài khoản thi tạm thời do giảng viên cấp.
- Người ngoài Đại họcDùng địa chỉ codelab.ai.vn/codelab. Ở đây có nút Đăng nhập với Google; lần đầu đăng nhập Google, hệ thống tự tạo tài khoản với vai trò bạn chọn ở hàng nút phía trên (🎓 Người học hoặc 🧑🏫 Người dạy).
Đăng ký bằng email
- Trên màn hình đăng nhập, bấm Đăng ký ngay.
- Điền Họ tên, Email, Mật khẩu (tối thiểu 8 ký tự) và Xác nhận mật khẩu. Trên codelab.ai.vn có thêm mục Bạn là để chọn Người học hoặc Người dạy.
- Bấm Đăng ký, sau đó mở hộp thư và bấm vào đường link xác minh. Link chỉ có hiệu lực 24 giờ; không thấy thư thì kiểm tra mục Spam.
Vai trò & quyền
Mỗi tài khoản có một trong ba vai trò:
| Vai trò | Được làm gì |
|---|---|
| 🎓 Người học (Học viên) | Luyện tập, nộp bài, học khóa học, dùng trợ giảng AI, tham gia kỳ thi, gửi báo lỗi. |
| 🧑🏫 Giảng viên (Người dạy) | Thêm quyền soạn bài tập (kể cả bằng AI), tạo và giám sát kỳ thi, chấm và xuất điểm, xem log trợ giảng AI, quản lý khóa học được giao. |
| 🛡️ Quản trị viên | Toàn quyền: thống kê, tình trạng hệ thống, nhật ký lỗi, người dùng và phân quyền, quản trị nội dung theo môn. |
Vai trò được gán thế nào?
- Email
@st.neu.edu.vn→ người học. - Email
@neu.edu.vnđăng nhập bằng Microsoft 365 → giảng viên. Nếu đăng ký bằng email và mật khẩu, tài khoản@neu.edu.vnchỉ thành giảng viên sau khi bấm link xác minh email. - Người ngoài Đại học tự chọn vai trò khi đăng ký (hoặc khi đăng nhập Google lần đầu).
- Người học đã xác minh email có thể tự nâng cấp thành giảng viên trong Cài đặt tài khoản (mục dưới).
Cài đặt tài khoản
Mở trang Cài đặt tài khoản (cần đăng nhập; đường link này cũng có trong thư xác minh email). Trang gồm các thẻ:
| Thẻ | Nội dung |
|---|---|
| Thông tin tài khoản | Họ tên, Email (nhãn Đã xác minh / Chưa xác minh), Vai trò. Chỉ để xem. |
| Xác minh email của bạn | Chỉ hiện khi email chưa xác minh. Bấm “Gửi mail xác minh” để nhận lại thư. |
| Trở thành giảng viên | Chỉ hiện với người học. Bấm “Nâng cấp lên Giảng viên” — quyền được cấp ngay. Email phải được xác minh trước. |
| Vai trò tài khoản | Chỉ hiện với giảng viên. Bấm “Chuyển về Người học” nếu muốn quay lại vai trò người học. |
Bấm ảnh đại diện ở góc phải thanh điều hướng để mở menu cá nhân: 💾 Codespaces (dự án code đã lưu), và với giảng viên là 🏫 Quản lý kỳ thi, 📝 Quản lý bài thực hành; với quản trị viên là 🛡️ Trung tâm quản trị. Cuối menu là Đăng xuất.
Dành cho người học
Đi theo thứ tự sử dụng: chạy thử code, chọn môn và bài, làm bài và nộp, nhờ trợ giảng AI, học khóa có bài giảng, dự thi và báo lỗi.
Chạy thử code ngay trên trang chủ
Trang chủ là một trình soạn thảo code (dựa trên Monaco — cùng lõi với VS Code) dùng được ngay, không cần tài khoản.
- Chọn ngôn ngữ ở ô (1). Danh sách có ô tìm kiếm, chia hai nhóm Multiple Files (dự án nhiều tệp với HTML, Java, Python) và Single File.
- Viết code vào trình soạn thảo.
- Bấm nút ▶ màu xanh (2) (phím tắt Alt + R) để mở khung Run Code. Nếu chương trình cần đọc dữ liệu, nhập vào ô Input (stdin):.
- Bấm Chạy Code (hoặc Ctrl + Enter). Khung Output hiện kết quả, thông báo biên dịch, thời gian chạy (Time) và bộ nhớ (Memory).
Bên cạnh các ngôn ngữ phổ biến như C, C++, Java, Python, JavaScript, TypeScript, Go, PHP, Rust, C#, hệ thống còn hỗ trợ R, Kotlin, Swift, Scala, Haskell, Pascal, Fortran, COBOL, Assembly và nhiều ngôn ngữ khác. Nhóm cơ sở dữ liệu gồm SQLite, SQL Server (T-SQL), MySQL 8.0 và MongoDB Shell. Python có thêm bản kèm sẵn thư viện khoa học dữ liệu (numpy, pandas, scikit-learn, matplotlib).
Chọn môn học, chủ đề và bài tập
Mục Môn học sắp xếp kho bài theo hai cách. Nhóm Theo chương trình đào tạo (1) bám các học phần của Khoa; mỗi thẻ ghi số bài, số chủ đề và nhãn 📖 Có bài giảng nếu môn đã có khóa học.
Nhóm Theo ngôn ngữ lập trình (1) gom bài theo Python, Java, C++, C#, JavaScript, TypeScript, Go, PHP, Rust và C. Một bài có thể thuộc đồng thời một môn theo chương trình và một nhóm ngôn ngữ. Nút Xem tất cả chủ đề mở danh sách toàn bộ chủ đề kèm số bài.
Bấm vào một môn để xem các chủ đề con. Môn có khóa học sẽ có các tab 📖 Bài giảng và ⌨ Bài tập (một số môn có thêm tab 💻 Thực hành hoặc 📊 Phân tích số liệu). Ví dụ môn Python có các chủ đề Nhập môn, Rẽ nhánh, Vòng lặp, Hàm, Chuỗi, OOP và Data Science. Chọn chủ đề (1) để mở danh sách bài.
Trang danh sách bài gồm:
- Dãy tab lọc theo ngôn ngữ (1) ở phía trên.
- Ô Tìm kiếm bài tập..., nút Sắp xếp (theo tên, độ khó, trạng thái, ngày tạo) và nút Lọc theo độ khó (Demo, Dễ, Trung bình, Khó).
- Mỗi bài ghi độ khó (easy / medium / hard), tỉ lệ nộp đúng, số lượt nộp và nhãn 📖 Có đáp án nếu đáp án đã được công khai. Vòng tròn bên trái đánh dấu bài bạn đã giải.
- Góc trên bên phải là tiến độ của bạn trong chủ đề (số bài đã giải / tổng số).
Bấm tên bài (2) để vào làm.
Làm bài và chạy thử
Màn hình làm bài chia làm hai cột:
- Cột trái (1) là đề bài: mô tả, định dạng đầu vào, ràng buộc, định dạng đầu ra và ví dụ (có nút sao chép).
- Cột phải là trình soạn thảo. Thanh công cụ phía trên có: ô chọn ngôn ngữ (2), nút ▶ mở khung chạy thử (3), nút Lưu bài màu đỏ để nộp chấm chính thức (4). Nút vàng ↻ (Reset template) đặt lại khung code mẫu của ngôn ngữ đang chọn.
- Nút robot ở góc dưới bên phải (5) mở Trợ giảng AI.
- Dải dọc bên trái (6) chuyển giữa Đề bài, Các lượt nộp, Danh sách bài cùng chủ đề, Trang chủ (về trang Môn học) và Báo lỗi.
Các bước làm một bài
- Đọc đề, chọn ngôn ngữ — hệ thống tự nạp khung code mẫu — rồi viết lời giải.
- Bấm ▶ (hoặc Alt + T) để mở khung chạy thử, chọn Test mẫu (1) (phím F9) để chạy với các ví dụ trong đề. Mỗi test (2) hiện Input, Output thực tế, Expected Output, thời gian chạy và bộ nhớ.
- Muốn thử dữ liệu khác: nhập vào ô input... (1) rồi bấm Input tùy chỉnh (2) (phím Ctrl + Enter). Kết quả hiện ở khung (3).
- Khi đã đạt test mẫu, bấm Lưu bài để nộp (nút chỉ bật sau khi bạn đã sửa code). Xem tiếp mục Nộp bài & kết quả chấm.
Với bài đã được công khai đáp án sẽ có nút Xem đáp án. Bài làm trên giao diện web (HTML/CSS/JS) có thêm nút xem trước HTML Preview.
Nộp bài và đọc kết quả chấm
- Bấm Lưu bài. Nộp thành công sẽ hiện thông báo Nộp bài thành công kèm liên kết Xem kết quả nộp. Không nộp được code trống.
- Trang Chi tiết bài nộp tách hai phần: test mẫu hiện chi tiết từng bộ; phần Test ẩn chỉ ghi số lượng dạng “8/10 test ẩn đạt” kèm nhãn Đạt / Chưa đạt. Nội dung test ẩn được giữ kín để bảo đảm công bằng.
- Tab Các lượt nộp (trang Lịch sử nộp bài) liệt kê mọi lần nộp với các cột Kết quả (Đúng / Sai / Đang chờ / Đang xử lý / Lỗi), Ngôn ngữ, Thời gian nộp và nút Chi tiết.
Các trạng thái chấm
| Trạng thái | Ý nghĩa | Nên làm gì |
|---|---|---|
| Accepted | Đúng với test | — |
| Wrong Answer | Chạy được nhưng kết quả sai | Kiểm tra định dạng in ra (khoảng trắng, xuống dòng) và các trường hợp biên |
| Time Limit Exceeded | Chạy quá thời gian cho phép | Tìm vòng lặp vô hạn, chương trình chờ nhập thêm dữ liệu, hoặc thuật toán quá chậm |
| Compilation Error | Lỗi biên dịch | Đọc thông báo biên dịch; kiểm tra đúng ngôn ngữ/phiên bản đã chọn |
| Runtime Error (SIGSEGV, SIGFPE, NZEC…) | Lỗi khi chạy: truy cập bộ nhớ sai, chia cho 0, ngoại lệ không bắt… | Kiểm tra chỉ số mảng, phép chia, dữ liệu rỗng |
| In Queue / Processing | Bài đang chờ hoặc đang chấm | Chờ vài giây |
| Internal Error | Lỗi phía hệ thống chấm | Nộp lại; nếu lặp lại hãy gửi Báo lỗi |
Trợ giảng AI
Nút robot ở góc dưới bên phải mở khung Trợ giảng Codelab. Trợ giảng giúp tra cứu khái niệm, cú pháp, giải nghĩa thông báo lỗi và gợi ý các bước tư duy cho đúng bài đang mở. Cần đăng nhập để gửi câu hỏi.
- Gõ câu hỏi vào ô “Hỏi về khái niệm, cú pháp, lỗi...”, bấm Enter để gửi (Shift + Enter để xuống dòng).
- Câu trả lời hiện dần theo thời gian thực; đoạn code được định dạng riêng cho dễ đọc.
Khi luyện tập, trợ giảng luôn ở mức Hướng dẫn các bước (“Tra cứu & hướng dẫn các bước — không giải bài hộ”). Trong kỳ thi, mức hỗ trợ do giảng viên đặt và hiện ở dòng phụ đề của khung chat:
| Mức | Trợ giảng được làm gì |
|---|---|
| Tắt | Không có trợ giảng AI trong kỳ thi (không thấy nút robot). |
| Chỉ tra cứu | Giải thích khái niệm, cú pháp, cách dùng hàm/thư viện, giải nghĩa lỗi. Không gợi ý cách giải bài. |
| Hướng dẫn các bước | Như trên, cộng gợi ý hướng tiếp cận, chia nhỏ bài toán thành các bước tư duy. Không viết code lời giải. |
| Không chặn (hỗ trợ tối đa) | Hỗ trợ tối đa, kể cả viết code — giảng viên chủ động cho phép để đánh giá kỹ năng dùng AI. |
Khóa học có bài giảng
Một số môn có khóa học hoàn chỉnh: SQL, Thiết kế Web và Java. Khóa học nằm ở tab 📖 Bài giảng của trang môn. Trang khóa hiển thị số buổi, thời lượng, số bài thực hành, thanh Tiến độ của bạn, điều kiện hoàn thành (ví dụ “🎯 Hoàn thành khóa: giải được ≥70% số bài thực hành” — tỉ lệ do từng khóa đặt) và lộ trình từng buổi.
- Bấm Bắt đầu học — Buổi 1 (1) (khi đã làm bài, nút đổi thành Tiếp tục học — Buổi N), hoặc Vào học → ở thẻ của từng buổi.
- Khóa SQL có thêm 📦 Tài liệu & hướng dẫn cài đặt môi trường (2) để thực hành trên máy cá nhân.
Trang bài giảng
Gồm mục lục bên trái (1), liên kết sơ đồ dữ liệu mẫu dùng chung cho cả khóa (2, khóa SQL), nút 🖨 Tải PDF / In (3), nút 🖥️ Trình chiếu (4) và nút nổi 🧰 Công cụ (5) mở ngăn công cụ ở cạnh dưới. Cuối trang có ← Buổi trước / Buổi tiếp theo →.
Mỗi ví dụ SQL trong bài giảng có nút ▶ Chạy thử (1). Bạn chọn chạy trên SQL Server hoặc MySQL, bấm ✎ Sửa để sửa câu lệnh tại chỗ và xem bảng kết quả ngay bên dưới (2).
Sơ đồ dữ liệu mẫu mô tả 9 bảng của một công ty chứng khoán: Customers, Accounts, Securities, MarketPrices, Orders, Trades, Portfolio, CustomerStats, AuditLog, kèm khóa chính, khóa ngoại và quan hệ.
Ngăn 🧰 Công cụ có các tab tùy môn:
| Khóa | Các tab trong ngăn Công cụ |
|---|---|
| SQL | ⌨ Chạy SQL · 📋 Tra cứu cú pháp · 🗂 Bảng & cột · 📊 Dữ liệu & tải về · 📝 Ghi chú của tôi |
| Java | ☕ Chạy Java · 📋 Tra cứu cú pháp · 📝 Ghi chú của tôi |
| Thiết kế Web | 🌐 Chạy Web · 📋 Tra cứu cú pháp · 📝 Ghi chú của tôi |
Tab 📊 Dữ liệu & tải về cho xem toàn bộ dữ liệu từng bảng và tải về dạng Excel, CSV, JSON (1); cũng tải được trọn bộ 9 bảng dưới dạng tệp Excel hoặc kịch bản SQL (2) để thực hành trên máy cá nhân. Khung chạy SQL dùng bản sao dữ liệu mới cho mỗi lần chạy, nên câu lệnh INSERT, UPDATE, DELETE không ảnh hưởng người khác.
Bài tập thực hành và giấy xác nhận
Trong mỗi buổi có phần Thực hành — Bài tập của buổi với số bài đã giải. Bấm Làm bài → (1) để mở bài trên màn hình làm bài như mục Làm bài.
- Khi đạt tỉ lệ bài yêu cầu, trang khóa hiện “🎓 Bạn đã đủ điều kiện hoàn thành khóa học” và nút Nhận giấy xác nhận.
- Trang Giấy xác nhận hoàn thành khóa học có nút 🖨 In / Lưu PDF. Mỗi giấy có một mã xác nhận.
- Bất kỳ ai cũng đối chiếu được giấy tại địa chỉ
/courses/verify/<mã>: mã hợp lệ hiện “✓ Mã xác nhận hợp lệ” cùng người học, khóa học, kết quả, ngày cấp.
Tham gia kỳ thi
Mục Kỳ thi cần đăng nhập. Trang Các kỳ thi có ô tìm kiếm theo tên, bộ lọc Trạng thái (Đang diễn ra / Sắp diễn ra / Đã kết thúc) và nút sắp xếp Mới nhất / Cũ nhất. Mỗi kỳ thi có nhãn Giám sát hoặc Yêu cầu mật khẩu nếu có.
- Bấm "Vào thi"Với kỳ thi có giám sát, hộp thoại “⚠️ Bạn sắp tham gia kỳ thi” liệt kê các hành vi bị ghi nhận. Đọc kỹ, chờ vài giây rồi bấm Tiếp tục — trình duyệt chuyển sang toàn màn hình.
- Bấm "Đăng ký"Kỳ thi có mật khẩu sẽ hỏi Nhập mật khẩu gồm 6 ký tự do giảng viên cung cấp. Thời gian làm bài của mỗi người tính từ lúc đăng ký thành công; đồng hồ đếm ngược hiện ở phía trên.
- Làm bàiLàm từng bài như mục Làm bài. Mỗi lần Lưu bài là một lượt nộp được chấm. Code đang viết được tự lưu vào trình duyệt khoảng 5 giây sau mỗi lần sửa, nên lỡ tải lại trang vẫn còn.
- Nếu mất mạngBài nộp được giữ lại và tự gửi khi có mạng (góc màn hình báo “Đang chờ gửi lại N bài nộp…”) — không cần bấm nộp lần nữa.
- Bấm "Kết thúc" khi làm xongHộp thoại xác nhận có thêm nút Tải về bài thi để lưu bản bài làm. Hết giờ, hệ thống tự kết thúc và đưa bạn về trang chủ sau 5 giây.
Quy tắc giám sát khi thi
Với kỳ thi bật giám sát, màn hình làm bài áp dụng các ràng buộc sau. Mỗi vi phạm hiện cảnh báo “Cảnh báo giám sát” và được gửi ngay về màn hình giám sát của giảng viên.
| Tình huống | Điều gì xảy ra |
|---|---|
| Thoát toàn màn hình | Hiện cảnh báo yêu cầu vào lại ngay; không quay lại trong 3 giây sẽ bị ghi nhận. |
| Chuyển tab / chuyển cửa sổ | Bị ghi nhận (có 3 giây ân hạn cho thao tác nhầm). |
| Rời / đóng trang | Trình duyệt hỏi lại “Bạn có chắc muốn rời khỏi trang thi?” và bị ghi nhận. Tải lại bằng F5 không tính là vi phạm. |
| Không thao tác 5 phút | Bị ghi nhận “không hoạt động”. |
| Mất kết nối mạng | Hiện thông báo kèm nút Tải lại; sự kiện mất/kết nối lại được ghi nhận. |
| Dán nội dung chép từ tab/cửa sổ khác | Bị chặn (“Đã chặn paste từ ngoài”) và ghi nhận. Sao chép trong cùng trang thi vẫn được. |
| Kéo-thả nội dung vào trình soạn thảo | Bị chặn. |
| Phím F1–F12, Esc | Bị chặn trong lúc thi. |
| Nút Back / vuốt lùi | Bị chặn (“Không thể quay lại khi đang làm bài”), không tính vi phạm. |
Báo lỗi
Phát hiện đề chưa rõ, test case nghi sai hay lỗi hiển thị? Vào mục Báo lỗi trên thanh điều hướng, hoặc tab Báo lỗi ở dải dọc bên trái màn hình làm bài.
- Chọn Loại lỗi (Lỗi giao diện / Lỗi chức năng / Khác), đặt Tiêu đề ngắn gọn.
- Chọn Mức độ ưu tiên (Thấp / Trung bình / Cao / Nghiêm trọng) và viết Mô tả chi tiết.
- Tùy chọn: mở Thông tin kỹ thuật (Không bắt buộc) để ghi các bước tái hiện lỗi, kết quả mong đợi, kết quả thực tế, trình duyệt và thiết bị; chọn Gửi báo cáo ẩn danh hoặc để lại Email liên hệ.
- Bấm Gửi báo cáo. Quản trị viên tiếp nhận và xử lý.
Bộ công cụ thực hành
Các công cụ chạy ngay trong trình duyệt, không cần cài đặt, phục vụ học các môn công nghệ, dữ liệu và toán kinh tế. Phần lớn chạy trên máy bạn — dữ liệu không gửi lên máy chủ.
Danh sách công cụ
Menu Công cụ (1) trên thanh điều hướng mở danh sách công cụ. Mục Xem tất cả công cụ (2) mở trang Công cụ, sắp xếp theo ba nhóm: Công nghệ thông tin; Khoa học dữ liệu & Dữ liệu; Toán kinh tế & Thống kê. Công cụ cần tài khoản có nhãn Cần đăng nhập.
| Công cụ | Dùng để | Đăng nhập |
|---|---|---|
| 📈 Vẽ đồ thị & tính toán (Python, R) | Python (numpy, pandas, scipy, sympy, matplotlib) và R chạy trong trình duyệt, hiện đồ thị ngay cạnh code: giải phương trình, thống kê, vẽ biểu đồ. | Không cần |
| 🧮 Toán kinh tế | Quy hoạch tuyến tính (đơn hình, giá mờ, đồ thị), ma trận và mô hình Leontief, NPV/IRR, lịch trả nợ, cung – cầu và thuế. | Không cần |
| 📐 Vẽ sơ đồ phân tích thiết kế | ERD (tạo từ SQL), UML (use case, hoạt động, tuần tự, lớp…), DFD, BFD bằng Mermaid/PlantUML; vẽ kéo thả bằng draw.io; xuất SVG/PNG. | Không cần |
| 📊 Phân tích số liệu | Thống kê mô tả, kiểm định, hồi quy kiểu SPSS/Stata bằng R; dữ liệu ở lại trên máy bạn. | Không cần |
| 🔍 Chạy Python từng bước | Xem từng dòng chạy, biến, khung gọi hàm, list/dict/object thay đổi ra sao: dễ hiểu vòng lặp, đệ quy, cấu trúc dữ liệu. | Không cần |
| 🗄️ SQL | Bộ dữ liệu chứng khoán HNX nạp sẵn, kèm câu mẫu và danh sách bảng – cột; chạy trên SQL Server hoặc MySQL. | Không cần |
| 🍃 NoSQL | Redis, Cassandra (CQL), Neo4j (Cypher) và MongoDB với dữ liệu mẫu nạp sẵn: khoá – giá trị, cột rộng, đồ thị, tài liệu. | Không cần |
| 🖧 Mạng & Kiến trúc máy tính | Chia mạng con IPv4/VLSM, định tuyến Dijkstra và Bellman–Ford từng bước, đổi cơ số, bù 2, IEEE 754, rút gọn mạch logic, mô phỏng bộ nhớ đệm. | Không cần |
| 📓 Notebook Python | JupyterLite: viết và chạy notebook như Jupyter. | Không cần |
| 🖥️ R / C++ trên máy chủ | Chạy R, C++ (OpenMP) nhiều nhân trên máy chủ Codelab cho bài toán lớn; cần được cấp quyền. | Cần |
| 🔀 Automat & văn phạm | Biểu thức chính quy → NFA → DFA → DFA tối thiểu có đồ thị; chạy thử chuỗi; FIRST/FOLLOW, bảng LL(1), khử đệ quy trái. | Không cần |
| 💻 Terminal hệ điều hành | Linux, FreeBSD, OpenBSD, Minix, Unix V7, Windows CMD, PowerShell: gõ lệnh ngay trong trình duyệt. | Không cần |
| 🔐 Hộp công cụ mật mã | Base64/Hex, hàm băm, HMAC; Caesar, Vigenère, Affine, Playfair và phá mã bằng tần suất; RSA, Diffie–Hellman từng bước; AES-GCM/CBC. | Không cần |
| 🗂️ Codespaces | Các không gian code bạn đã lưu trên Codelab. | Cần |
Vẽ đồ thị & tính toán (Python, R)
Công cụ Vẽ đồ thị & tính toán chạy Python hoặc R ngay trong trình duyệt và hiện đồ thị bên cạnh code; chọn ngôn ngữ ở nút Python / R trên thanh tiêu đề. Python có sẵn numpy, pandas, scipy, sympy, matplotlib, statsmodels; R tự tải gói khi gọi library(). Chỉ cần chạy code thông thường thì dùng editor ở trang chủ.
- Chọn một ví dụ ở ô Ví dụ mẫu… (1), hoặc tự viết code.
- Muốn dùng dữ liệu của mình, bấm Tải file (3) để nạp tệp CSV (đọc trong code với tên
data.csv). - Bấm Chạy (2) (hoặc Ctrl + Enter). Kết quả và đồ thị hiện bên dưới; Dừng để ngắt, Xoá để dọn kết quả.
Phân tích số liệu không cần viết code
Phân tích số liệu dành cho sinh viên các ngành kinh tế làm khảo sát, nghiên cứu khoa học. Phép tính chạy bằng R ngay trong trình duyệt; dữ liệu ở lại trên máy bạn.
- 1. Dữ liệu: bấm Tải file CSV / Excel, hoặc chọn Dữ liệu mẫu (1) — ví dụ bộ khảo sát Likert.
- 2. Phép phân tích (2): Thống kê mô tả, Bảng tần số; So sánh 2 nhóm (t-test), So sánh nhiều nhóm (ANOVA), Chi bình phương; Tương quan, Hồi quy tuyến tính; Cronbach’s alpha; Histogram, Boxplot theo nhóm, Biểu đồ phân tán.
- Chọn biến (3), bấm Chạy phân tích (4). Kết quả hiện ở khung Kết quả.
Mục Xem code R sẽ chạy (1) hiện đoạn code R tương ứng — vừa có kết quả, vừa học được cách viết lệnh R.
Toán kinh tế
Toán kinh tế có bốn tab:
| Tab | Chức năng | Nút |
|---|---|---|
| Quy hoạch tuyến tính | Nhập hàm mục tiêu và ràng buộc; bài hai biến có hình miền khả thi, bảng giá mờ và trạng thái từng ràng buộc | Giải · ↺ Ví dụ mẫu |
| Ma trận & Leontief | Mô hình Input–Output (Leontief); ma trận và hệ phương trình | Tính tổng sản lượng · Tính |
| Tài chính | Thẩm định dự án: NPV, IRR, hoàn vốn; lịch trả nợ | Tính · Lập lịch |
| Cung – cầu | Điểm cân bằng thị trường, tác động của thuế | Tính cân bằng |
Chạy Python từng bước
Chạy Python từng bước cho thấy chương trình chạy từng dòng — hợp với Nhập môn lập trình và Cấu trúc dữ liệu.
- Chọn ví dụ ở ô Ví dụ… (đệ quy, sắp xếp nổi bọt, tìm kiếm nhị phân, lãi kép, danh sách liên kết…) hoặc tự viết code. Nếu code có
input(), nhập dữ liệu vào ô Dữ liệu nhập cho input(). - Bấm ▶ Chạy từng bước (Ctrl + Enter).
- Bấm Tiếp ▶ (1) / ◀ Lùi hoặc phím mũi tên để đi tới, lùi. Khung Khung gọi hàm (stack) và Đối tượng (heap) (2) cho thấy giá trị biến, list, dict thay đổi ra sao; khung Đã in ra hiện output. Tối đa 1000 bước.
SQL, Web, Notebook Python
SQL có các Câu mẫu: (1), chọn SQL Server hoặc MySQL (2), xem 📋 Bảng & cột (3) và bấm ▶ Chạy (4) (Ctrl + Enter). Mỗi lần chạy dùng một bản sao dữ liệu mới, nên câu lệnh INSERT, UPDATE, DELETE không lưu lại và không ảnh hưởng người khác. ↺ Đặt lại đưa câu lệnh về mặc định.
Soạn HTML, CSS, JavaScript và xem kết quả: dùng editor ở trang chủ với ngôn ngữ HTML (nhiều file, có khung xem trước).
Notebook Python là JupyterLite — viết và chạy notebook như Jupyter, ngay trong trình duyệt.
Terminal hệ điều hành
Terminal dùng cho học phần Hệ điều hành và các môn cần dòng lệnh.
- Ô Chọn hệ điều hành (1): Linux (Alpine) là máy ảo thật chạy trong trình duyệt, có sẵn bash, vim, nano, gcc, python. Nhóm Unix gồm FreeBSD 12, OpenBSD 6.6, Minix 3.3 và Unix V7 (1979) — ảnh hệ điều hành thật được giả lập trong trình duyệt. Windows CMD và Windows PowerShell là môi trường giả lập để học lệnh.
- Dải Thử: (2) gợi ý lệnh để bấm chạy thử.
- Với Linux, nhóm nút (3) Lưu home (lưu thư mục home vào trình duyệt), Tải lên (đưa tệp vào máy ảo), Tải về (lấy tệp ra).
- Nút Trình chiếu (4) chuyển sang chữ lớn, nền sáng để chiếu trên lớp; ngoài ra có chỉnh cỡ chữ, nền sáng/tối, khởi động lại và toàn màn hình.
Windows CMD và PowerShell giúp học các lệnh dir, copy, type, tệp .bat, pipeline đối tượng và các cmdlet như Get-ChildItem, Get-Process.
R / C++ trên máy chủ và Codespaces
R / C++ trên máy chủ
R / C++ trên máy chủ chạy R, C++ (OpenMP) nhiều nhân cho bài toán lớn. Cần đăng nhập và được quản trị viên cấp quyền (chưa có quyền sẽ thấy “Chưa được cấp quyền”). Đính kèm dữ liệu bằng Đính kèm dữ liệu, bấm Chạy trên máy chủ và theo dõi trạng thái: Đang chờ, Đang chạy, Hoàn tất, Lỗi, Quá giờ, Hết RAM, Đã huỷ.
Codespaces
- Trên trang chủ (đã đăng nhập), bấm nút 💾, nhập Tiêu đề rồi Lưu.
- Mở menu ảnh đại diện → 💾 Codespaces để xem trang Codespaces của tôi: tiêu đề, ngôn ngữ, trạng thái (Public/Private), lần cập nhật cuối; Chỉnh sửa hoặc Xoá; Tạo mới.
- Khi mở codespace của mình, code được tự lưu sau mỗi 5 giây. Chia sẻ bằng mã QR (“Quét mã QR để mở codespace này”); người khác mở sẽ lưu thành bản sao của họ.
Dành cho giảng viên
Tài khoản giảng viên dùng được mọi chức năng của người học, cộng thêm khu quản lý bài tập, kỳ thi và khóa học. Xem cách nhận quyền giảng viên ở mục Vai trò & quyền.
Khu quản lý của giảng viên
Bấm ảnh đại diện ở góc phải → 🏫 Quản lý kỳ thi hoặc 📝 Quản lý bài thực hành. Khu quản lý (tiêu đề Trung tâm quản trị) có ba tab:
| Tab | Dùng để |
|---|---|
| Quản lý kỳ thi | Danh sách kỳ thi bạn tạo hoặc được chia sẻ; nút Thêm kỳ thi, Giám sát nhiều ca; menu từng dòng: Bài nộp, Giám sát, Chỉnh sửa. |
| Quản lý bài tập | Ngân hàng bài tập dùng chung cho luyện tập và kỳ thi; nút Thêm bài tập, Tạo bài bằng AI. |
| Quản lý khóa học | Soạn khóa học có bài giảng, bộ slide, bài thực hành; xem dashboard tiến độ lớp. |
Soạn bài tập
- Tab "Quản lý bài tập" → "Thêm bài tập"Điền Tên bài tập, Trạng thái (Bản nháp / Công khai / Riêng tư), Độ khó (Dễ / Trung bình / Khó), nhãn chủ đề (ô List câu hỏi), Nội dung câu hỏi, Định dạng đầu vào, Ràng buộc, Định dạng đầu ra, Ghi chú. Chọn Nhiều file đầu vào nếu là bài nhiều tệp và Chọn ngôn ngữ hỗ trợ.
- Tab "Test cases"Bấm Thêm test case, nhập Đầu vào và Đầu ra; tích Test case mẫu nếu muốn hiện test này trong đề (các test còn lại là test ẩn). Có thể thêm Giải thích. Nhiều test thì dùng Tải lên file zip (tối đa 10 MB, có Tải file mẫu để xem cấu trúc).
- Tab "Ngôn ngữ"Với từng ngôn ngữ, đặt Template (khung code ban đầu người học thấy) và Đáp án (lời giải mẫu). Bài nhiều tệp bật Bật Multiple Files trong Cấu hình Multiple Files.
Chấm bài SQL theo trạng thái cơ sở dữ liệu
Với câu INSERT, UPDATE, DELETE, thủ tục, trigger…, kết quả in ra không đủ để chấm. Mở mục Chấm bài SQL nâng cao (tùy chọn) trong test case, chọn Bộ dữ liệu mẫu (seed) và nhập Câu truy vấn kiểm tra trạng thái DB: hệ thống chạy bài của người học trên một cơ sở dữ liệu tạm, rồi chạy câu kiểm tra và so sánh với kết quả mong đợi.
Công khai đáp án
Trên trang làm bài, người tạo bài (hoặc quản trị viên) bấm Xem đáp án rồi chọn 🌐 Công khai đáp án (sinh viên cũng xem được); bỏ bằng 🔒 Bỏ công khai. Bài đã công khai đáp án có nhãn 📖 Có đáp án trong danh sách.
Sinh và tinh chỉnh đề bằng AI
- Ở tab Quản lý bài tập, bấm Tạo bài bằng AI. Lần đầu, hệ thống yêu cầu nhập mật khẩu tính năng AI (do quản trị viên cung cấp) — lớp bảo vệ để tránh gọi AI ngoài ý muốn.
- Trong hộp thoại Tạo bài tập bằng AI, mô tả Yêu cầu bài toán (ví dụ “Tạo bài toán về mảng, dùng prefix sum”), chọn Độ khó và Ngôn ngữ chính cho bài toán.
- Bấm ✨ Tạo bài bằng AI. AI soạn đề tự đủ (tên, mô tả, input/output, ràng buộc), tự phản biện và sửa tối đa ba vòng. Đầu ra của test case được lấy bằng cách chạy lời giải mẫu thật trên hệ thống chấm, không do AI tự đặt; lời giải mẫu được lưu làm đáp án.
- Với bài do AI tạo, trang sửa bài có khung Chỉnh sửa bằng AI: mô tả thay đổi (“Làm cho đề bài khó hơn”, “Thêm ví dụ minh hoạ”…) rồi bấm Gửi yêu cầu.
Tạo kỳ thi
- Tab "Quản lý kỳ thi" → "Thêm kỳ thi"Điền Tên kỳ thi, Mô tả, Thời gian bắt đầu, Thời gian kết thúc, Thời lượng (phút); bật Chế độ giám sát nếu cần; chọn Trợ giảng AI khi thi. Khoảng từ bắt đầu đến kết thúc phải lớn hơn thời lượng (vì mỗi người tính giờ từ lúc đăng ký). Kỳ thi mới được lưu ở trạng thái bản nháp.
- Mở "Chỉnh sửa" để hoàn thiệnTrang sửa có các tab Chi tiết, Bài tập, Quản trị viên, Log AI, Cài đặt.
- Chọn trạng tháiTrong Chi tiết, đặt Trạng thái: Bản nháp / Công khai / Riêng tư / Mật khẩu truy cập. Với Mật khẩu truy cập, nhập Mật khẩu đúng 6 ký tự. Bấm Cập nhật kỳ thi.
- Tab "Bài tập"Bấm Thêm bài tập, tìm theo tên hoặc đề bài, lọc theo trạng thái, độ khó, tag rồi thêm vào kỳ thi. Kéo thả để sắp xếp thứ tự.
- Tab "Quản trị viên"Bấm Thêm quản trị viên để mời đồng nghiệp cùng coi thi, cùng chấm, với quyền xem hoặc Sửa.
Xuất đề thi ra Word
Nút Xuất đề (.docx) mở hộp thoại Xuất đề thi theo mẫu đề thi chuẩn của Đại học Kinh tế Quốc dân: nhập Tên môn học, Mã đề, Ngày thi, Thời lượng (phút), Khoá, ghi chú; tích In link vào thi, In mật khẩu; chọn phần nội dung cần in (tên bài, nội dung, đầu vào, đầu ra, ràng buộc), Cỡ chữ, Đề 2 cột, và Xuất đề tiếng Anh (100% English) nếu cần bản tiếng Anh.
Thí sinh và tài khoản tạm
Tab Cài đặt → mục Quản lý thí sinh:
- Chế độ truy cập: Truy cập tự do (ai cũng đăng ký được) hoặc Giới hạn theo danh sách (chỉ người có trong danh sách).
- Bảng thí sinh có cột Đăng ký, Trạng thái (Đang tham gia / Đã rời / Hết giờ / Chưa đăng ký), Còn lại, Thao tác.
- Cộng giờ cho một thí sinh: bấm vào giá trị ở cột Còn lại, sửa Thời gian còn lại (phút) rồi Lưu.
- Gỡ một người: Huỷ đăng ký hoặc Thu hồi quyền tham gia.
Tài khoản thi tạm thời
- Bấm Thêm tài khoản tạm, chọn Thêm 1 tài khoản hoặc Thêm nhiều (1–200 tài khoản mỗi lần, tên mặc định “Sinh viên 01”…).
- Mật khẩu 6 chữ số chỉ hiện một lần: bấm Sao chép hoặc Tải Excel để lưu lại và phát cho thí sinh.
- Kỳ thi tự chuyển sang Giới hạn theo danh sách. Thi xong, dùng Xoá TK tạm để xoá toàn bộ tài khoản tạm.
Trợ giảng AI trong kỳ thi
Mục Trợ giảng AI khi thi có bốn mức (mặc định Tắt):
| Mức | AI được làm gì | Dùng khi |
|---|---|---|
| Tắt | Không cho dùng AI. | Thi truyền thống |
| Chỉ tra cứu | Khái niệm, cú pháp, hàm, giải nghĩa lỗi — không hướng dẫn giải. | Thi ngặt nhưng vẫn cho tra cứu |
| Hướng dẫn các bước | Gợi ý hướng, chia bước tư duy — không viết code lời giải. | Kiểm tra có hỗ trợ định hướng |
| Không chặn (hỗ trợ tối đa) | AI làm mọi thứ, kể cả viết code. | Đánh giá kỹ năng dùng AI để giải quyết vấn đề |
Khi chọn mức khác Tắt, đặt thêm hạn mức cho mỗi sinh viên:
| Trường | Ý nghĩa | Giá trị 0 |
|---|---|---|
| Số lượt hỏi tối đa / SV | Tổng số câu hỏi trong cả kỳ thi | Không giới hạn |
| Token vào tối đa / lượt | Độ dài tối đa của một câu hỏi | Không giới hạn |
| Token ra tối đa / câu trả lời | Độ dài tối đa của câu trả lời | Mặc định 600 |
| Số lượt chat / phút / SV | Chống hỏi dồn dập | Mặc định 10 |
Giám sát thời gian thực
- Một kỳ thi: ở menu dòng của kỳ thi, chọn Giám sát. Nhiều ca cùng lúc: bấm Giám sát nhiều ca → Chọn ca thi → Bắt đầu giám sát; Thêm ca để bổ sung.
- Màn hình cập nhật tức thời (trạng thái Đang kết nối / Mất kết nối; nút Làm mới).
- Tab Hoạt động vi phạm liệt kê từng sự kiện (chuyển tab, chuyển cửa sổ, thoát toàn màn hình, rời trang, không hoạt động, mất mạng, dán từ ngoài, quá giờ tạm thoát…) kèm lý do thí sinh ghi khi xin tạm thoát.
- Tab Thí sinh lọc Đang làm bài / Chưa vào / Đã kết thúc, với các cột số bài AC, điểm, lần nộp cuối và số vi phạm.
Chấm điểm và xuất kết quả
Bảng kết quả
Ở menu dòng của kỳ thi, chọn Bài nộp: xem toàn bộ bài nộp và bảng xếp hạng; Xuất Excel tải bảng xếp hạng (họ tên, số bài đã giải, tổng điểm); Re-run tất cả chấm lại mọi bài nộp (ví dụ sau khi sửa test case).
Xuất điểm
Bấm Xuất điểm trên màn hình giám sát (hoặc tích nhiều kỳ thi trong danh sách để xuất gộp). Tệp Excel gồm Mã SV, Họ tên, Đề, Điểm, Pass test, Đánh giá lập trình & tư duy, Đánh giá hành vi. Các tùy chọn:
| Tùy chọn | Giá trị |
|---|---|
| Phương pháp chấm điểm | A. Test case (theo số test đúng) · B. Heuristic (chỉ Python — phân tích mẫu code) · C. AI (chấm theo đề, đáp án và tiêu chí của giảng viên; cần mật khẩu tính năng AI) |
| Thang điểm | /10 · /100 · Theo test case (mỗi bài 100) |
| Thêm cột “Đánh giá hành vi” | Cảnh báo các dấu hiệu đáng chú ý: code trùng nhau giữa thí sinh, nộp dồn dập (spam-submit), lẫn cú pháp giữa các ngôn ngữ (ví dụ JS/Java)… |
| Loại tài khoản test | Bỏ các tài khoản không phải mã sinh viên khỏi bảng điểm |
Nút Tải bài làm tải toàn bộ bài nộp thành một tệp ZIP sắp theo thư mục.
Log trợ giảng AI
Tab Log AI trong trang sửa kỳ thi (trang Log Trợ giảng AI) cho xem lại toàn bộ hỏi–đáp của thí sinh với trợ giảng:
- Lọc theo thí sinh để đọc riêng hội thoại của từng người.
- Tích Chỉ lượt nghi đòi giải bài để lọc nhanh các câu hỏi bị hệ thống đánh dấu là cố nhờ AI giải hộ.
Trình chiếu bài giảng trên lớp
Trong trang bài giảng, nút 🖥️ Trình chiếu biến bài giảng thành bộ slide toàn màn hình. Thanh công cụ (1) gồm:
| Nút | Phím | Chức năng |
|---|---|---|
| ☰ Mục | — | Nhảy tới slide bất kỳ |
| 🎤 Giảng viên | — | Mở cửa sổ “Màn hình giảng viên”: thời gian đã trình bày, slide đang chiếu, slide kế tiếp, ghi chú; đồng bộ với màn hình chiếu |
| ⌨ Công cụ | S | Chạy SQL, tra cứu cú pháp (C), lược đồ dữ liệu |
| ✏️ Vẽ | D | Bút, bút dạ quang để đánh dấu trên slide |
| ⏱ (Hẹn giờ) | T | Đồng hồ đếm ngược cho phần làm bài tại lớp |
| 🎲 (Gọi tên ngẫu nhiên) | R | Nhập danh sách lớp rồi bấm 🎲 Quay; có tùy chọn “Không gọi trùng” |
| ⬛ (Tắt màn hình) | B | Tạm che màn hình chiếu |
| 📝 Ghi chú | N | Ghi chú của giảng viên |
| A− / A+ | + / − | Phóng to, thu nhỏ chữ |
| 🌙 Nền tối / ☀ Nền sáng | — | Đổi nền |
| ⛶ Toàn màn hình | F | Bật/tắt toàn màn hình |
Chuyển slide bằng ← →, PageUp/PageDown, Space, Home/End; thoát bằng Esc hoặc nút Thoát.
Quản lý khóa học
- Tab Quản lý khóa học → Tạo khóa học, hoặc mở khóa có sẵn. Đặt điều kiện Hoàn thành khóa khi giải được ≥ X % (người đạt sẽ nhận giấy xác nhận), Công khai toàn bộ khóa, Thêm buổi.
- Mỗi buổi soạn ở Nội dung giảng dạy (markdown). Cú pháp mở rộng:
{{practice:3.1}}chèn nhóm bài thực hành ({{practice:all}}cho tất cả),{{figure:…}}chèn hình, khối SQL có dòng-- @runsẽ có nút Chạy thử,> **Lưu ý:**tạo hộp lưu ý. - Bộ slide trình chiếu: mỗi slide bắt đầu bằng
# Tiêu đề; khối:::notelà ghi chú chỉ giảng viên thấy (không chiếu lên màn hình); có thêm:::cols,:::reveal,:::sandboxđể chia cột, hiện dần và chèn khung chạy code. - Giảng viên ảo: thêm khối
:::sayvào slide để viết lời giảng; ở chế độ trình chiếu, người học bấm Nghe giảng (G) để giảng viên ảo đọc thành tiếng, hiện phụ đề và tự chuyển màn. Viết câu ngắn, không dùng ký hiệu (viết «x bình phương», không viết «x²»); dùng[dừng 2]để im lặng 2 giây,[nghĩ 5: câu hỏi]để người học tự nghĩ có đếm ngược. - Người quản trị bài giảng: thêm email giảng viên khác (đã từng đăng nhập Codelab) để cùng sửa bài giảng, slide, bài tập và xem tiến độ.
- Theo dõi lớp: Tiến độ học viên (có Xuất Excel) và 📊 Dashboard; Xem trang học viên để xem đúng giao diện người học.
| Chỉ số trên Dashboard | Ý nghĩa |
|---|---|
| Học viên đã làm bài | Số người đã nộp ít nhất một bài của khóa |
| Hoàn thành khóa | Số người đạt điều kiện hoàn thành |
| Đang kẹt | Người nộp sai từ 3 lần trở lên ở cùng một bài |
| Hoạt động 7 ngày | Hoạt động trong 7 ngày gần nhất |
| Tiến độ trung bình | Tỉ lệ bài đã giải trung bình của lớp |
Dashboard còn có biểu đồ Lượt nộp 14 ngày gần nhất, thống kê Theo buổi học, danh sách Bài khó nhất và bộ lọc người học Đang kẹt / Hoàn thành / Lâu không vào.
Dành cho quản trị viên
Quản trị viên có mọi quyền của giảng viên, cộng thêm khu vực thống kê, tình trạng hệ thống, người dùng và phân quyền.
Trung tâm quản trị
Bấm ảnh đại diện → 🛡️ Trung tâm quản trị (chỉ hiện với quản trị viên). Trang có ba tab:
| Tab | Nội dung |
|---|---|
| Tổng quan & Thống kê | Thẻ Tổng số lần chạy code, Số lần chạy hôm nay, Kích thước Database; biểu đồ Số lần chạy code theo thời gian (30 ngày gần nhất), Trạng thái kết quả, Ngôn ngữ lập trình. |
| Hệ thống & Log | Sức khỏe hạ tầng; Log lỗi ứng dụng (tìm theo message/url); Hàng đợi xử lý bài; Lượt dùng công cụ (7/30/90 ngày: lượt mở, lượt chạy, số trình duyệt, số tài khoản); log thô. Nút Tải lại để cập nhật. |
| Người dùng & Phân quyền | Tìm kiếm, lọc theo vai trò, đổi vai trò, vô hiệu hóa tài khoản, tạo người dùng mới. |
Người dùng & phân quyền
- Tìm người dùng bằng ô “Tìm kiếm theo tên hoặc email...”, lọc bằng Lọc theo vai trò. Bảng có các cột Người dùng, Loại đăng nhập, Trạng thái, Vai trò, Ngày tạo.
- Đổi vai trò ngay trên dòng: chọn Sinh viên, Giáo viên hoặc Quản trị.
- Khóa/mở tài khoản bằng cột Trạng thái: Hoạt động / Vô hiệu.
- Tạo tài khoản: Thêm người dùng → nhập Họ và tên, Email → Tạo người dùng. Hệ thống sinh Mật khẩu tạm thời và chỉ hiện một lần — hãy gửi cho người dùng ngay.
Nội dung và môn học
- Quản trị nội dung theo môn: trên trang một môn học, quản trị viên thấy liên kết Quản trị nội dung. Nhập email (ví dụ
[email protected]) rồi bấm Thêm để cho người đó xem đáp án mẫu của các bài thuộc môn. - Người quản trị bài giảng: mỗi khóa học có danh sách giảng viên được sửa bài giảng, slide, bài tập và xem tiến độ (xem Quản lý khóa học).
- Quản trị viên xem, sửa được mọi bài tập, kỳ thi và khóa học trong khu quản lý của giảng viên.
Xử lý báo lỗi
Trang /reports/admin (Quản lý báo cáo lỗi) tập hợp báo lỗi người dùng gửi:
- Thẻ thống kê: Tổng báo cáo, Chờ xử lý, Đang xử lý, Đã giải quyết, Đã đóng, Đã từ chối.
- Tab Tất cả / Chờ xử lý / Đang xử lý / Đã giải quyết / Đã đóng; tìm kiếm và lọc theo loại lỗi, mức độ ưu tiên.
- Bấm vào một báo cáo để mở trang chi tiết (mô tả, thông tin kỹ thuật, email liên hệ nếu có). Bấm Chỉnh sửa để đổi trạng thái, mức độ ưu tiên, thêm Ghi chú admin và — khi chọn Đã giải quyết — Ghi chú giải quyết, rồi Lưu thay đổi.
Công bằng và an toàn khi chấm
- Mỗi bài nộp chạy trong môi trường cách ly, bị giới hạn thời gian và bộ nhớ.
- Máy chấm đặt trong mạng riêng, không truy cập được dữ liệu người dùng.
- Bài SQL và MongoDB chạy trên một cơ sở dữ liệu tạm riêng cho từng lượt nộp, xóa ngay sau khi chấm.
- Test ẩn chỉ báo đạt hay không đạt, không lộ nội dung.
- Mỗi lượt nộp có mã định danh riêng, nên mạng chập chờn hay bấm lại nhiều lần cũng không sinh bài nộp trùng.
- Trợ giảng AI dùng mô hình ngôn ngữ chạy trên máy chủ của Đại học; mọi hội thoại được lưu để giảng viên đối chiếu.
Câu hỏi thường gặp
Hỗ trợ
Gặp sự cố khi thi, lỗi hệ thống hoặc cần trợ giúp về tài khoản? Gửi báo lỗi ngay trong hệ thống, hoặc liên hệ đội hỗ trợ Codelab.
Bản hướng dẫn rút gọn để in: huong-dan.pdf · bản web cũ huong-dan.html. Giao diện thực tế có thể thay đổi theo phiên bản; khi có khác biệt, ưu tiên theo hệ thống. Thắc mắc khác gửi Văn phòng Khoa Công nghệ thông tin qua trang Liên hệ. Codelab — Khoa Công nghệ thông tin, Trường Công nghệ, Đại học Kinh tế Quốc dân.