CodeChalk

Luyện C++ & Python · có Robot Trợ giảng

Compiler báo dòng 10.
Lỗi thật nằm ở dòng 6.

CodeChalk gom trình soạn code, máy chấm và một Robot Trợ giảng đọc lỗi như giảng viên: chỉ đúng dòng gây lỗi, giải thích vì sao, rồi gợi ý vừa đủ để bạn tự sửa.

  • C++ · Python 3gõ và chấm ngay trên trình duyệt
  • 3 bậc gợi ýkhông lộ lời giải, không lộ test ẩn
  • Chế độ thiRobot tự khoá khi đang kiểm tra
tong_1_n.cppCE
#include <iostream>using namespace std;int main() {    int n, s = 0;    cin >> n;    for (int i = 1; i <= n; i++) {        s += i;    cout << s << endl;    return 0;}
main.cpp:10:2: error: expected '}' at end of input
Robot Trợ giảng

Compiler phát hiện ở dòng 10, nhưng gốc ở dòng 6: vòng for mở { mà chưa đóng.

Đọc đúng verdict

Mỗi kết quả chấm để lại một loại bằng chứng riêng

Robot không đoán mò. Với mỗi verdict, nó tìm đúng loại dấu vết cần đọc rồi mới kết luận, giống cách một trợ giảng giỏi ngồi dò bài cùng bạn.

  1. CE

    Lỗi biên dịch

    Lấy error: đầu tiên, bỏ qua lỗi dây chuyền phía sau, luôn xem cả dòng bị báo lẫn dòng ngay trước nó.

  2. RE

    Lỗi khi chạy

    Đọc traceback từ dưới lên. Với C++, đối chiếu signal và báo cáo sanitizer để tìm truy cập ngoài mảng hay chia cho 0.

  3. WA

    Sai kết quả

    So expected với actual: lệch đúng 1 đơn vị, ra số âm bất thường, hay chỉ khác dấu cách và chữ hoa.

  4. TLE

    Quá thời gian

    Ước lượng độ phức tạp từ vòng lặp rồi so với ràng buộc: khoảng 108 phép mỗi giây với C++, 107 với Python.

  5. MLE

    Quá bộ nhớ

    Số phần tử nhân kích thước kiểu. Một list số nguyên của Python tốn hơn mảng int của C++ nhiều lần.

  6. AC

    Đúng hết

    Chúc mừng ngắn gọn, thêm tối đa hai điểm cải thiện về độ phức tạp hoặc độ dễ đọc. Không đi tìm lỗi không tồn tại.

Tính năng

Một tab cho cả buổi thực hành

Đề bài, trình soạn code, máy chấm và người hướng dẫn nằm cạnh nhau. Bạn không phải chép lỗi sang chỗ khác để hỏi.

Robot Trợ giảng · DEBUG

Đọc lỗi như giảng viên, không như máy

Phân biệt dòng compiler báo với dòng thật sự gây lỗi, trích nguyên văn thông báo, rồi giải thích ba tầng: chuyện gì xảy ra, vì sao, và sửa thế nào ở mức vừa đủ.

HINT

Gợi ý ba bậc, không nhảy cóc

Chế độ gợi ý không bao giờ viết code. Mỗi lần bấm chỉ lên đúng một bậc so với lần trước.

  1. 1
    Nhận diện dạng bài“Nếu n = 1 thì kết quả là gì?”
  2. 2
    Ý tưởng và cấu trúc dữ liệuvì sao hợp với ràng buộc của đề
  3. 3
    Các bước bằng lờiđộ phức tạp mục tiêu, bẫy hay gặp
Máy chấm

Chấm như kỳ thi

Test công khai cho xem input, expected, actual. Test ẩn chỉ báo verdict, kể cả với Robot.

Chế độ thi

Robot tự khoá trong giờ kiểm tra

Giảng viên bật chế độ thi, mọi yêu cầu gợi ý đều được từ chối lịch sự, không phân tích thêm.

Trắc nghiệm đọc code

Trace từng dòng như đề giữa kỳ

Câu hỏi đọc code kèm lời giải lập bảng giá trị biến sau mỗi dòng.

Cổng giảng viên

Ra đề, tải test, xem lớp vấp ở đâu

Tạo đề, tải test ẩn, đặt giới hạn thời gian và bộ nhớ cho từng bài.

Nguyên tắc

Bằng chứng trước, kết luận sau

Không có thông báo lỗi thì Robot gọi đúng tên là giả thuyết, kèm cách tự kiểm chứng. Robot không có trình biên dịch và không bao giờ nói đã chạy thử code của bạn.

Tin cậy cao

Thông báo lỗi nêu thẳng nguyên nhân và đã khớp với dòng trong code.

Tin cậy vừa

Suy luận từ code cộng bằng chứng gián tiếp như chênh lệch expected/actual.

Giả thuyết

Chưa đủ dữ liệu. Robot đề nghị bạn in thêm giá trị để kiểm chứng.

needs_more_infoHãy thêm cerr << n << endl; trước dòng 12 và gửi lại giá trị in ra.

Lớp học C++ · Python

Từ cout và print đầu tiên tới STL, học máy, mỗi khái niệm khó đều có hoạt hình từng bước

Bài học tiếng Việt cho trọn mục lục C++ và Python: cú pháp, vòng lặp, con trỏ, lớp, ngoại lệ, STL, NumPy, pandas, Matplotlib, học máy, cấu trúc dữ liệu, MySQL, MongoDB. Ví dụ đã chạy thật bằng g++ 13 và CPython 3.13, sửa và chạy lại ngay trong trình duyệt, câu hỏi kiểm tra cuối bài, và Robot Trợ giảng ngồi ngay cạnh.

Phòng luyện

Thử ngay, không cần đăng nhập

Chọn bài, gõ C++ hoặc Python. Ctrl Enter để chạy thử, Ctrl Shift Enter để nộp. Bị lỗi thì hỏi Robot Trợ giảng ngay trong phòng luyện.

Dòng 1, cột 1C++Spaces: 4Trình chạy: clang 22 · chưa tải

Lộ trình

Bốn chặng, từ vòng lặp đến Olympic

Mỗi bài có sẵn một phiên bản có lỗi để bạn tập đọc thông báo lỗi cùng Robot trước khi tự viết. AC lần đầu được cộng XP.

0XP tích luỹ
0ngày luyện liên tiếp
0/5bài đã AC

Tiến độ lưu trong trình duyệt này. Bản chính thức sẽ đồng bộ theo tài khoản.

Bảng giá

Học miễn phí. Trả tiền khi bạn ôn thi nghiêm túc.

Gói Tự học đủ cho cả học kỳ nhập môn. Gói Ôn thi mở đủ 13 chương Challenge và 300 lượt hỏi AI mỗi ngày. Gói Lớp học dành cho giảng viên và câu lạc bộ. Thanh toán bằng VietQR, HOST xác nhận là dùng được ngay.

Tự học

Cho bạn mới bắt đầu hoặc học lại từ đầu.

0đmãi mãi

Không cần thẻ thanh toán

  • Phòng luyện C++ và Python
  • Chấm test công khai và test ẩn
  • 20 lượt hỏi Robot mỗi ngày
  • Gợi ý bậc 1 và 2
  • Lộ trình chặng Khởi động
Bắt đầu miễn phí
Dành cho ôn thi

Ôn thi

Cho kỳ cuối, ICPC, Olympic Tin học sinh viên.

59.000đ/ tháng

Mỗi lần thanh toán dùng 30 ngày, không tự gia hạn

  • Mọi thứ của gói Tự học
  • Hỏi Robot không giới hạn (dùng hợp lý)
  • Đủ 3 bậc gợi ý và mở khoá lời giải
  • Toàn bộ lộ trình bốn chặng
  • Thống kê lỗi cá nhân theo tuần

Lớp học

Cho giảng viên và câu lạc bộ lập trình.

19.000đ/ tài khoản / tháng

Mua cho cả lớp? Liên hệ HOST để được cấp gói hàng loạt

  • Cổng giảng viên: ra đề, tải test ẩn
  • Chế độ thi khoá Robot theo ca
  • Giới hạn thời gian, bộ nhớ từng bài
  • Báo cáo lỗi phổ biến của lớp
  • Đăng nhập bằng email trường
So sánh các gói
Tính năngTự họcÔn thiLớp học
Phòng luyện C++ & Python✓✓✓
Chấm test ẩn✓✓✓
Lượt hỏi Robot mỗi ngày20Không giới hạn*Không giới hạn*
Gợi ý hướng giảiBậc 1–2Bậc 1–3Bậc 1–3
Mở khoá lời giải—✓Giảng viên quyết định
Lộ trìnhChặng 14 chặng4 chặng + đề riêng
Chế độ thi——✓
Cổng giảng viên & báo cáo lớp——✓

* Dùng hợp lý: tối đa 300 lượt hỏi AI mỗi ngày. Giá do HOST đặt và có thể thay đổi trong trang Quản trị.

Hỏi đáp

Những điều sinh viên hay hỏi trước buổi đầu

Robot có làm bài hộ mình không?

Không. Ở chế độ Phân tích lỗi, Robot chỉ ra dòng gây lỗi và giải thích. Bản vá vài dòng chỉ xuất hiện với lỗi cơ học như thiếu dấu ngoặc; lỗi thuật toán chỉ được mô tả cách sửa bằng lời. Lời giải đầy đủ chỉ hiện khi bạn tự bấm mở khoá.

Code chạy ở đâu, có đủ thư viện không?

C++ được biên dịch bằng clang 22 (C++17, -O2, đủ STL, ngoại lệ, <bits/stdc++.h>) và Python chạy bằng CPython 3.13 (có numpy, pandas, matplotlib, scipy, scikit-learn), cả hai đều chạy ngay trong trình duyệt bằng WebAssembly, không cần cài gì. Lần đầu trình duyệt tải bộ biên dịch (khoảng 23 MB cho C++, 10 MB cho Python) rồi lưu lại cho các lần sau. Nếu trang bị chặn tải thư viện (ví dụ khi mở trong khung xem trước của Claude), trang tự chuyển sang trình chạy rút gọn JSCPP/Skulpt. Bản có máy chủ chấm bài bằng g++ và CPython thật trong sandbox.

Test ẩn có bị lộ qua Robot không?

Không. Robot chỉ nhận số thứ tự và verdict của test ẩn, nên nó chỉ gợi ý các nhóm trường hợp biên để bạn tự thử, không đoán nội dung test.

Dùng trong giờ kiểm tra được không?

Giảng viên bật chế độ thi thì mọi yêu cầu tới Robot đều bị từ chối. Bạn có thể bật thử công tắc Chế độ thi trong phần tuỳ chọn của Robot để xem.

Robot dùng AI nào?

Trong bản demo, khi trang mở trong Claude, Robot gọi Claude bằng tài khoản của người đang xem (xin phép ở lần hỏi đầu). Khi mở file HTML trên máy, bạn dán API key Gemini, Claude hoặc OpenAI ở mục Kết nối AI. Câu trả lời luôn là JSON theo đúng định dạng nền tảng quy định, rồi được hiển thị thành thẻ phân tích.

Lâu không code, nên bắt đầu từ đâu?

Từ chặng Khởi động trong Lộ trình: ba bài về vòng lặp, đọc input và mảng. Nạp phiên bản có lỗi, đọc thông báo, hỏi Robot, sửa, rồi mới viết lại từ đầu.

Buổi thực hành tới, mở CodeChalk cạnh IDE.

Không cần đăng nhập để thử. Code của bạn ở lại trong trình duyệt này.

Vào phòng luyện