Làm quen tư duy lập trình: biến, kiểu dữ liệu, toán tử, rẽ nhánh, vòng lặp, hàm, mảng và chuỗi — trên nhiều ngôn ngữ.
Đóng gói, kế thừa, đa hình, generic/closure và các cấu trúc dữ liệu tự định nghĩa (struct, enum) theo từng ngôn ngữ.
Mảng, danh sách liên kết, ngăn xếp, hàng đợi, cây, đồ thị; sắp xếp, tìm kiếm, quy hoạch động, tham lam, BFS/DFS, đường đi ngắn nhất.
Truy vấn và thiết kế dữ liệu với SQLite, SQL Server (T-SQL) và MongoDB. Các engine MySQL, PostgreSQL, Oracle PL/SQL sẽ bổ sung sau.
Xây dựng giao diện với HTML/CSS/JavaScript và xử lý logic phía client. Backend Node.js và framework sẽ bổ sung sau.
Logic backend & web động: HTTP request/response, định tuyến (Express-style routing), middleware, REST API & CRUD, xử lý JSON, query string & form data, template engine, xác thực & phiên (JWT/cookie/session), validation & sanitization, mã trạng thái HTTP & REST semantics, WebSocket & real-time, caching & ETag, rate limiting, pagination/filter, CORS, GraphQL, file upload, API versioning, MVC. Cài đặt bằng JavaScript (Node).
Tìm kiếm trên đồ thị (BFS/DFS/A*), trò chơi đối kháng (minimax/alpha-beta), ràng buộc (N-Queens/Sudoku/cryptarithmetic), heuristic & học máy cơ bản (k-means/KNN/Naive Bayes), fuzzy search và xử lý dữ liệu Python (numpy, pandas).
Bài tập đọc hiểu code có sẵn lỗi (off-by-one, sai operator, sai base case, ...) trên Python/Java/C++/JavaScript. Tìm và sửa bug để pass test.
Project Java multi-file thực hành kế thừa, đa hình, abstract, interface, generics, exception, equals/hashCode, composition, design pattern (Singleton + Factory). Mỗi bài 2-5 file .java.
Tổ hợp & chỉnh hợp, lý thuyết đồ thị, logic mệnh đề, số học & đồng dư (modular, CRT, Euler), quan hệ & ánh xạ, quy nạp & truy hồi — cài đặt bằng Python, chấm theo kết quả.
Hệ cơ số & chuyển đổi, biểu diễn số nguyên (bù 2, tràn số), số chấm động IEEE 754, phép toán logic & thao tác bit, mã hóa và đánh giá hiệu năng (CPI, Amdahl, cache).
Địa chỉ IP & lớp mạng, subnet & CIDR (VLSM, supernetting), checksum & phát hiện lỗi (CRC, Hamming), các tầng & giao thức (TCP/IP, sliding window), định tuyến (Dijkstra, distance vector).
Thực hành shell Bash (grep/sed/awk/pipe/script), khái niệm Unix (quyền & chmod, inode, tiến trình, tín hiệu, file descriptor, crontab, PATH), lập trình hệ thống C/POSIX (fork, bit & quyền, file I/O), IPC, mạng & socket, namespace & container, cùng nền tảng lý thuyết HĐH (lập lịch CPU, bộ nhớ & thay trang, đồng bộ & bế tắc, phân trang, hệ thống file). Hơn 1200 bài.
Mật mã cổ điển (Caesar, Vigenère, Affine, Hill, Playfair, phân tích tần suất), số học mật mã (modular, số nguyên tố), mật mã khóa công khai (RSA, Diffie-Hellman, chữ ký số), mật mã hiện đại (AES, mã khối/luồng, XOR), hàm băm & toàn vẹn, encoding, an toàn web (SQLi/XSS), mật khẩu & xác thực, thử thách CTF, cùng chủ đề nâng cao (ECC, blockchain, giao thức TLS/Kerberos, điều tra số, an ninh mạng, chia sẻ bí mật Shamir, kiểm soát truy cập, phân tích lỗ hổng CVSS, mật mã hậu lượng tử, OTP/TOTP). Hơn 800 bài.
Đại số tuyến tính (ma trận, định thức & nghịch đảo, hệ phương trình tuyến tính, hạng & không gian vector, trị riêng & vector riêng, vector & hình học) và giải tích số (giải phương trình Newton/bisection, nội suy Lagrange/Newton, tích phân số trapezoidal/Simpson, đạo hàm số & ODE Euler/Runge-Kutta). Nền tảng toán cho khoa học máy tính.
Xác suất cơ bản (tổ hợp, biến cố), xác suất có điều kiện & Bayes, biến ngẫu nhiên, phân phối rời rạc (nhị thức, Poisson) & liên tục (chuẩn, mũ), thống kê mô tả, ước lượng & khoảng tin cậy, kiểm định giả thuyết (z/t/chi-square), hồi quy & tương quan, lấy mẫu & định lý giới hạn trung tâm. Nền tảng cho phân tích dữ liệu & MIS.
Phân tích từ vựng (lexer/tokenizer), biểu thức trung tố/hậu tố/tiền tố (shunting yard), phân tích cú pháp đệ quy, cây cú pháp AST, phân tích LL(1) (FIRST/FOLLOW) và LR (shift-reduce), bảng ký hiệu & phạm vi, kiểm tra kiểu, sinh mã & máy ảo stack, tối ưu mã & thông dịch. Nối tiếp môn Automat.
Mô phỏng DFA/NFA, khử không xác định (subset construction), biểu thức chính quy, văn phạm phi ngữ cảnh (CYK, FIRST/FOLLOW), pumping lemma và tối tiểu hóa/tương đương automat.
Cú pháp Python, hàm, mảng/chuỗi, OOP và thuật toán cơ bản — kèm Data Science (numpy, pandas).
Lập trình Java: OOP, Collections, Stream, Lambda, đa luồng và xử lý ngoại lệ.
C++ từ cú pháp cơ bản tới OOP, STL và thuật toán — nền tảng cho lập trình thi đấu.
Lập trình C#: cú pháp, OOP, và các bài toán thuật toán cơ bản.
JavaScript: cú pháp, hàm, OOP & closure, xử lý mảng/chuỗi và thuật toán.
TypeScript: kiểu tĩnh, generic, OOP và thuật toán trên nền JavaScript.
Ngôn ngữ Go: cú pháp, struct & method, xử lý dữ liệu và thuật toán cơ bản.
PHP: cú pháp, hàm, OOP, xử lý chuỗi/mảng và thuật toán cơ bản.
Rust: cú pháp, struct & enum, sở hữu bộ nhớ và thuật toán cơ bản.
Ngôn ngữ C: cú pháp, con trỏ & bộ nhớ, mảng/chuỗi và thuật toán cơ bản.