Lộ trình ôn thi Học sinh giỏi Tin học THCS
Kỳ thi chọn học sinh giỏi Tin học lớp 9 được tổ chức hằng năm ở cấp huyện và
cấp tỉnh/thành phố. Khác với Hội thi Tin học trẻ Bảng A làm bằng Scratch, đề thi HSG
THCS là đề lập trình thuật toán: đọc dữ liệu từ file .INP, ghi kết quả ra file
.OUT, được chấm tự động bằng bộ test, và mỗi bài có ràng buộc dữ liệu cụ thể. Bài
làm đúng nhưng chạy chậm vẫn bị mất điểm ở các test lớn.
Bài viết này gợi ý một lộ trình 5 bước, dùng tài liệu trên Bumbii Academy, để đi từ người mới học lập trình đến tự tin làm đề cấp tỉnh.
Tóm tắt lộ trình
Phần tiêu đề “Tóm tắt lộ trình”| Bước | Nội dung | Mục tiêu |
|---|---|---|
| 1 | Học Python hoặc C++ cơ bản | Nắm chắc cú pháp, biến, rẽ nhánh, vòng lặp, hàm, mảng/chuỗi, đọc ghi file |
| 2 | Giải 200 bài tập cơ bản | Luyện tư duy giải bài và viết code thành thạo |
| 3 | Học Cấu trúc dữ liệu & Giải thuật | Biết đánh giá độ phức tạp, viết được thuật toán đủ nhanh |
| 4 | Ôn luyện 30 bộ đề | Làm quen cấu trúc đề thi thật, subtask và cách lấy điểm |
| 5 | Giải đề thi thật các năm | Quen phong cách ra đề của tỉnh mình, tự đánh giá trình độ |
Bước 1: Học Python hoặc C++ cơ bản
Phần tiêu đề “Bước 1: Học Python hoặc C++ cơ bản”Việc đầu tiên là chọn ngôn ngữ. Phần lớn các tỉnh cho phép thi bằng Python hoặc C++ (một số nơi vẫn chấp nhận Pascal). Nên chọn theo:
- Quy định của tỉnh và trường: xem lại thông báo kỳ thi hoặc hỏi thầy cô bồi dưỡng đội tuyển xem được dùng ngôn ngữ nào.
- Thầy cô đang dạy ngôn ngữ nào: học cùng ngôn ngữ với thầy cô và các bạn trong đội tuyển sẽ dễ hỏi bài hơn.
- Lựa chọn cá nhân:
- Python cú pháp ngắn gọn, dễ học, rất hợp với học sinh mới bắt đầu. Nhược điểm là chạy chậm hơn, một số bài có giới hạn thời gian chặt có thể không lấy trọn điểm.
- C++ khó học hơn lúc đầu nhưng chạy nhanh, có thư viện STL mạnh (
vector,sort,map…). Nếu có ý định thi tiếp HSG THPT hoặc vào đội tuyển chuyên Tin, C++ là lựa chọn lâu dài.
Dù chọn ngôn ngữ nào, cần nắm chắc: nhập xuất dữ liệu, kiểu dữ liệu, rẽ nhánh, vòng lặp, hàm, mảng (list/vector), chuỗi ký tự (string), và đặc biệt là đọc ghi file, vì đề thi HSG gần như luôn yêu cầu làm việc với file.
📖 Tài liệu:
- Lập trình Python - học lần lượt từ giới thiệu, cú pháp cơ bản đến cấu trúc dữ liệu. Chú ý bài đọc ghi file.
- Lập trình C++ - từ cú pháp cơ bản đến vector, map và làm việc với file.
🎬 Video bài giảng: Playlist bài giảng Python trên YouTube - xem kèm tài liệu, vừa xem vừa gõ code theo.
✅ Tự kiểm tra: sau mỗi chương, làm các câu trắc nghiệm Python hoặc C++ (200 câu, có giải thích) để kiểm tra nhanh kiến thức vừa học.
Bước 2: Giải các bài tập cơ bản
Phần tiêu đề “Bước 2: Giải các bài tập cơ bản”Biết cú pháp chưa đủ, học sinh cần viết nhiều code để biến kiến thức thành phản xạ. Bộ 200 bài tập lập trình cơ bản được sắp xếp từ dễ đến khó, mỗi bài có đáp án bằng nhiều ngôn ngữ, trong đó có Python và C++.
Các bài tập trải đều những dạng hay gặp ở bài 1, bài 2 của đề HSG: số học, chữ số, số nguyên tố, ước và bội, xử lý chuỗi, mảng một chiều, đếm và tìm kiếm.
Gợi ý cách làm:
- Tự làm trước, chỉ xem đáp án khi đã làm xong hoặc bí quá lâu.
- Làm xong rồi vẫn đọc đáp án để so sánh, học thêm cách viết gọn hơn.
- Làm tiếp bài tập nâng cao nếu muốn luyện thêm.
Bước 3: Học Cấu trúc dữ liệu & Giải thuật
Phần tiêu đề “Bước 3: Học Cấu trúc dữ liệu & Giải thuật”Đây là bước nhiều học sinh bỏ qua, và cũng là bước quyết định giải cao hay thấp.
Vì sao cần học?
Phần tiêu đề “Vì sao cần học?”Đề thi HSG không chỉ hỏi “có ra kết quả đúng không”, mà còn hỏi “có ra kịp thời gian không”. Mỗi bài có giới hạn thời gian (thường 1 giây) và ràng buộc dữ liệu kiểu:
Có 60% số test với n ≤ 1000; 40% số test còn lại với n ≤ 10⁶.
Với n ≤ 1000, hai vòng lặp lồng nhau (khoảng 10⁶ phép tính) chạy rất nhanh. Nhưng với n = 10⁶, cùng cách đó cần khoảng 10¹² phép tính, chạy mấy tiếng cũng chưa xong. Học sinh chỉ biết lập trình cơ bản sẽ dừng ở 60% điểm. Muốn lấy 40% còn lại phải có thuật toán tốt hơn, ví dụ sắp xếp rồi dùng hai con trỏ, tổng tiền tố hoặc chặt nhị phân.
Học CTDL & Giải thuật giúp học sinh:
- Ước lượng được thuật toán có chạy kịp không trước khi viết code, nhờ hiểu độ phức tạp O(n), O(n log n), O(n²).
- Nhận ra dạng bài: bài này là tham lam, bài kia là quy hoạch động, bài nọ là BFS trên lưới. Nhận ra dạng là đã đi được nửa đường.
- Chọn đúng cấu trúc dữ liệu: dùng mảng đánh dấu, từ điển (map), ngăn xếp, hàng đợi đúng chỗ có thể biến bài O(n²) thành O(n).
- Lấy điểm phân loại: bài 3, bài 4 của đề cấp tỉnh hầu như đều cần một thuật toán hiệu quả, đây là phần phân biệt giải Nhất, Nhì với giải Khuyến khích.
Học những gì?
Phần tiêu đề “Học những gì?”Chuyên mục CTDL & Giải thuật có đủ các chủ đề. Với HSG THCS, nên học theo thứ tự sau:
- Độ phức tạp thuật toán - học đầu tiên, để biết thuật toán của mình nhanh hay chậm.
- Mảng, tìm kiếm (đặc biệt là tìm kiếm nhị phân) và sắp xếp.
- Đệ quy và quay lui - nền tảng để vét cạn lấy điểm subtask nhỏ.
- Thuật toán tham lam và quy hoạch động - dạng bài phân loại phổ biến nhất.
- Ngăn xếp, hàng đợi, bảng băm.
- Đồ thị và duyệt đồ thị (BFS, DFS) - hay xuất hiện ở bài cuối đề cấp tỉnh.
Sau khi học lý thuyết, luyện thêm với 200 bài tập luyện thuật toán, chia ba mức Dễ, Trung bình, Khó, có đáp án.
Bước 4: Ôn luyện 30 bộ đề
Phần tiêu đề “Bước 4: Ôn luyện 30 bộ đề”Khi đã có kiến thức thuật toán, đến lúc làm đề hoàn chỉnh.
Bộ 30 đề ôn thi HSG Tin học THCS gồm 118 bài, viết
theo đúng chuẩn đề thi thật: đọc ghi file .INP/.OUT, có ràng buộc dữ liệu và
subtask, mỗi đề 3–4 bài, tổng 20 điểm, làm trong 150 phút.
Bộ đề chia ba chặng, độ khó tăng dần:
| Chặng | Mức độ | Kiến thức chính |
|---|---|---|
| Đề 01–10 | Cấp huyện cơ bản | Số học, chữ số, xử lý chuỗi, mảng một chiều, vét cạn |
| Đề 11–20 | Cấp huyện nâng cao | Sàng nguyên tố, sắp xếp, tổng tiền tố, đếm, hai con trỏ, chặt nhị phân |
| Đề 21–30 | Tiệm cận cấp tỉnh | Quy hoạch động, mảng hai chiều, ngăn xếp, hàng đợi, BFS |
Đề bài của cả 30 đề được đăng miễn phí trên web. Đề số 01
có sẵn lời giải để xem trước. Bộ tài liệu đầy đủ (có phí) có thêm PDF lời giải Python,
C++, bộ test và công cụ chấm bài cham.py.
👉 Xem giới thiệu chi tiết tại bài viết 30 bộ đề ôn thi Học sinh giỏi Tin học THCS.
Gợi ý cách luyện:
- Mỗi tuần 1–2 đề, bấm giờ 150 phút như thi thật, làm theo thứ tự từ đề 01.
- Tập không bỏ trắng bài khó: chưa nghĩ ra cách tối ưu thì viết vét cạn trước để lấy điểm subtask nhỏ.
- Chấm bài, xem mình mất điểm ở subtask nào, rồi quay lại bước 3 ôn đúng chủ đề còn yếu.
Bước 5: Giải đề thi thật các năm
Phần tiêu đề “Bước 5: Giải đề thi thật các năm”Bước cuối cùng là luyện đề thật. Trang Đề thi HSG Tin học THCS hiện có hơn 130 đề thi chọn học sinh giỏi lớp 9 cấp tỉnh/thành phố của nhiều địa phương, từ năm học 2005–2006 đến 2025–2026, chia theo năm học.
Gợi ý cách luyện đề:
- Ưu tiên đề của chính tỉnh mình trong 3–5 năm gần nhất để quen phong cách ra đề.
- Sau đó làm đề của các tỉnh khác, nhất là các tỉnh có đề khó, để nâng trình độ.
- Làm trọn đề trong một lần ngồi, đúng thời gian quy định.
- Ghi lại những bài sai hoặc chưa làm được, xác định thuộc chủ đề thuật toán nào để ôn lại.
Lời giải và thảo luận các đề thi được chia sẻ trong nhóm Facebook Lập trình (Scratch, Python, C++…) | Tin học trẻ | AI - tham gia nhóm để hỏi đáp khi gặp bài khó và nhận thêm tài liệu mới.
Lời kết
Phần tiêu đề “Lời kết”Lộ trình ôn thi HSG Tin học THCS gói gọn trong 5 bước: nắm chắc một ngôn ngữ → luyện nhiều bài cơ bản → học CTDL & Giải thuật → luyện bộ đề có subtask → giải đề thật. Không nên vội nhảy sang luyện đề khi chưa vững nền tảng, nhưng cũng đừng chỉ học lý thuyết mà ít làm bài. Quan trọng nhất là đều đặn mỗi tuần và luôn tự làm trước khi xem lời giải.
Chúc các em ôn thi thật tốt và đạt kết quả cao trong kỳ thi Học sinh giỏi Tin học!