Mở đầu

Giới thiệu & Lộ trình toàn khoá

Bạn cần học những gì để dự thi HSG Tin học lớp 9 — và học theo thứ tự nào

Khoá học này đưa bạn từ chỗ chưa viết một dòng code nào đến chỗ tự tin ngồi vào phòng thi học sinh giỏi Tin học lớp 9. Mỗi chủ đề đều có ví dụ chạy được và hình minh hoạ cho những phần trừu tượng. Bài mở đầu này cho bạn bản đồ toàn cảnh: học gì, theo thứ tự nào, và vì sao.

Khoá học dành cho ai?

Dành cho học sinh lớp 8–9 (hoặc bất kỳ ai mới bắt đầu) chưa biết lập trình, muốn thi học sinh giỏi Tin. Bạn chỉ cần biết dùng máy tính ở mức cơ bản và nắm toán THCS. Mọi khái niệm lập trình sẽ được xây từ đầu.

Đích đến của khoá

Kết thúc lộ trình, bạn sẽ: viết được chương trình C++ đọc/ghi file đúng chuẩn đề thi; xử lý thành thạo mảng, xâu, số học; và nhận diện được các dạng bài kinh điển như đệ quy, tham lam, quy hoạch động.

Đề HSG Tin lớp 9 hầu như luôn yêu cầu đọc dữ liệu từ file và ghi kết quả ra file. Đây là kỹ năng ta rèn ngay từ Phase 0.

Bản đồ lộ trình

Toàn bộ lộ trình thiết kế cho khoảng 6–9 tháng học đều. Có thể nén còn 4–5 tháng nếu bạn đã có nền. Thứ tự khuyến nghị đi tuần tự từ Phase 0.

PhaseChủ đềThời lượngMức độ
0Nền tảng lập trình & môi trường2–3 tuầnDễ
1Mảng, xâu & cấu trúc dữ liệu cơ bản3–4 tuầnDễ → TB
2Toán & số học3–4 tuầnTB
3Tìm kiếm & sắp xếp2–3 tuầnTB
4Đệ quy & quay lui3–4 tuầnTB → Khó
5Tham lam & vét cạn2 tuầnTB
6Quy hoạch động cơ bản4–5 tuầnKhó
7Tổng ôn & luyện đề3–4 tuầnTổng hợp
8(Tuỳ chọn) Đồ thị cơ bản3–4 tuầnKhó
Bản phát hành này gồm bài mở đầu và trọn vẹn Phase 0–2. Các phase sau sẽ được bổ sung tiếp theo đúng thứ tự này.

Phần đồ thị (Phase 8) nhiều tỉnh không ra hoặc ra nhẹ ở lớp 9 — hãy xem đề thi tỉnh của bạn 3 năm gần nhất để biết có cần học sâu hay không.

Vì sao chọn ngôn ngữ C++?

Ta dùng C++ vì nó nhanh, được dùng phổ biến nhất trong thi học sinh giỏi, và có thư viện chuẩn (STL) giúp viết ít mà làm được nhiều. Nếu tỉnh bạn còn dùng Pascal, các ý tưởng trong khoá vẫn áp dụng được — chỉ khác cú pháp.

Đây là chương trình C++ đầu tiên — in ra một dòng chữ. Bạn chưa cần hiểu hết, chỉ cần thấy hình dạng của một chương trình:

main.cpp
#include <iostream>
using namespace std;

int main() {
    cout << "Xin chao HSG Tin!" << "\n";
    return 0;
}

Dòng cout << ... in chữ ra màn hình; "\n" là ký tự xuống dòng. Cấu trúc int main() { ... } là nơi chương trình bắt đầu chạy. Ta sẽ mổ xẻ kỹ trong Phase 0.

Cách học hiệu quả nhất

Nguyên tắc xuyên suốt khoá
  • Gõ lại mọi ví dụ — đừng chỉ đọc. Code chỉ vào đầu qua đầu ngón tay.
  • Chạy thử, cố ý gõ sai để xem báo lỗi gì — học từ lỗi rất nhanh.
  • Mỗi bài đều có bài tập tự làm; làm xong mới qua bài sau.
  • Khi bí quá 20–30 phút mới xem lời giải, rồi tự gõ lại không nhìn.
Đừng bỏ qua phần file

Học sinh mới rất hay chủ quan ở khâu đọc/ghi file và mất sạch điểm dù thuật toán đúng, chỉ vì sai tên file hoặc quên ghi ra file. Ta luyện kỹ ngay từ Phase 0.

Ôn tập · Kiểm tra hiểu bài

Kiểm tra định hướng

Bài học có 3 câu hỏi ôn tập ở cuối. Hãy đăng nhập để làm bài và lưu lại tiến độ hoàn thành của bạn.

Đăng nhập để làm bài