Learn to code · Học lập trình
Code
Write real code and see it run — HTML, CSS, Python, Java, C, SQL, LaTeX, and Linux — with nothing to install. · Viết code thật và chạy nó — HTML, CSS, Python, Java, C, SQL, LaTeX, và Linux — mà không cần cài đặt gì.
17 coursesHTML/CSS · Python · Java · C · SQL · LaTeX · LinuxRuns in your browser · Chạy trực tiếp trên trình duyệt của bạn
Today's work · Công việc hôm nay
Foundations · Nền tảng
Python Basics · Python Cơ bản
Your very first steps in programming — no experience needed. · Những bước đầu tiên của bạn trong lập trình — không cần kinh nghiệm.
22 Lessons · Bài học
Python Basics · Python Cơ bản
Your very first steps in programming — no experience needed. · Những bước đầu tiên của bạn trong lập trình — không cần kinh nghiệm.
Course overview and progress →
00
Run it! · Chạy nó!
Your first program · Chương trình đầu tiên của bạn
Variables · Biến (Variables)
Numbers & operators · Số & toán tử
Getting input · Lấy dữ liệu đầu vào
Working with strings · Làm việc với chuỗi ký tự
Project: Mad Libs · Dự án: Mad Libs
Making decisions · Ra quyết định
Counting loops
While loops
Project: Guess the number · Dự án: Đố số
Lists (1-D arrays) · Danh sách (mảng 1-D)
Project: Quiz with a score · Dự án: Bài kiểm tra có điểm số
Functions · Hàm số
Project: Rock, paper, scissors · Dự án: Kéo, Búa, Giấy
Scope & arguments · Phạm vi & tham số
Dictionaries (records) · Từ điển (bản ghi)
Project: Text adventure · Dự án: Phiêu lưu văn bản
Planning & pseudocode · Lên kế hoạch & mã giả
Errors & testing · Lỗi & kiểm thử
Putting it all together · Kết hợp tất cả lại
Project: Hangman · Dự án: Treo cổ (Hangman)
A short history of Python · Lịch sử ngắn gọn của Python
What Python is used for · Python được dùng để làm gì
Where to learn more · Nơi tìm hiểu thêm
Set up your computer · Cài đặt máy tính của bạn
Where to learn more · Nơi tìm hiểu thêm
- freeCodeCamp — Learn Python · freeCodeCamp — Học Python Free, hands-on Python certification · Chứng chỉ Python miễn phí, thực hành trực tiếp
- PyChallenger Learn Python by solving bite-size challenges · Học Python bằng cách giải các bài tập nhỏ gọn
- CodeCombat Learn to code by playing a real game · Học lập trình bằng cách chơi trò chơi thực tế
- Official Python Tutorial · Tài liệu chính thức Python The clear, free, step-by-step intro from python.org · Giới thiệu rõ ràng, miễn phí từng bước từ python.org
- Python for Everybody (free course) · Python for Everybody (khóa học miễn phí) A beloved beginner course by Dr. Chuck · Khóa học được yêu thích dành cho người mới bắt đầu của Tiến sĩ Chuck
- Visual Studio Code The free editor for writing Python on your own computer · Trình biên soạn mã nguồn miễn phí để viết Python trên máy tính của bạn
- A-Level Computer Science (this site) · A-Level Tin học (trang web này) Take Python further, toward the Cambridge exam · Nâng cao kiến thức Python, hướng tới kỳ thi Cambridge
- AP CS Principles (this site) · AP CS Principles (trang này) The big ideas of computing, in Python · Những ý tưởng cốt lõi của tin học, bằng Python
JavaScript
The language of the web. Make things happen — runs right in your browser. · Ngôn ngữ của web. Tạo ra sự tương tác — chạy trực tiếp trên trình duyệt của bạn.
15 Lessons · Bài học
JavaScript
The language of the web. Make things happen — runs right in your browser. · Ngôn ngữ của web. Tạo ra sự tương tác — chạy trực tiếp trên trình duyệt của bạn.
Course overview and progress →
A short history of JavaScript · Lịch sử ngắn gọn của JavaScript
What JavaScript is used for · JavaScript được sử dụng cho việc gì
Where to learn more · Nơi tìm hiểu thêm
Run JavaScript anywhere · Chạy JavaScript ở bất cứ đâu
console.log and comments · console.log và comment
Variables — let and const · Biến — let và const
Numbers and maths · Số và toán học
Strings · Chuỗi ký tự
Template literals
Booleans and comparisons · Boolean và so sánh
if / else
for loops · vòng lặp for
while loops · vòng lặp while
Functions · Hàm số
Arrow functions · Hàm mũi tên
Arrays · Mảng
Array methods · Các phương thức mảng
Objects · Đối tượng
Putting it together · Kết hợp tất cả lại
Where to learn more · Nơi tìm hiểu thêm
- Web Basics — HTML & CSS (this site) · Nền tảng Web — HTML & CSS (trang này) Build the page; JavaScript makes it move · Xây dựng trang; JavaScript khiến nó chuyển động
- MDN — JavaScript The reference every web developer uses · Tài liệu tham khảo mà mọi nhà phát triển web đều sử dụng
C Programming · Lập trình C
From printf to pointers, memory, and data structures — compile and run in your browser. · Từ printf đến con trỏ, bộ nhớ và cấu trúc dữ liệu — biên dịch và chạy ngay trên trình duyệt của bạn.
23 Lessons · Bài học
C Programming · Lập trình C
From printf to pointers, memory, and data structures — compile and run in your browser. · Từ printf đến con trỏ, bộ nhớ và cấu trúc dữ liệu — biên dịch và chạy ngay trên trình duyệt của bạn.
Course overview and progress →
A short history of C · Lịch sử ngắn gọn về C
What C is used for · C được sử dụng cho việc gì
Where to learn more · Nơi tìm hiểu thêm
Set up your computer · Cài đặt máy tính của bạn
C basics: main, printf, and functions · C cơ bản: main, printf, và hàm
Variables, types, and arithmetic · Biến, kiểu dữ liệu và toán học
Booleans and selection: if, else, switch · Boolean và điều kiện chọn: if, else, switch
Loops: while, for, and accumulation · Vòng lặp: while, for, và tích lũy
Functions, parameters, and return values · Hàm, tham số và giá trị trả về
Nested loops and patterns · Vòng lặp lồng nhau và mẫu hình
1-D arrays: store, index, and traverse · Mảng 1-D: lưu trữ, truy cập theo chỉ mục và duyệt qua
Pointers: &, *, and pass-by-pointer · Con trỏ: &, *, và truyền qua con trỏ
Strings: char arrays and the null terminator · Chuỗi ký tự: mảng char và ký tự kết thúc null
Array algorithms: max, count, search, average
2-D arrays: working with a grid · Mảng 2-D: thao tác với lưới ô vuông
Searching: linear and binary
Sorting: bubble, selection, and insertion · Sắp xếp: bubble, selection, và insertion
Recursion: base case and recursive case
Structs and typedef: . vs ->
Dynamic memory: malloc, free, and realloc · Dung lượng động: malloc, free, và realloc
Linked lists
Stacks and queues (array-backed) · Ngăn xếp và hàng đợi (dựa trên mảng)
Text files: write then read · Tệp văn bản: ghi rồi đọc
Error handling with return codes · Xử lý lỗi với mã trả về
Bits, binary, and bitwise operators · Bits, nhị phân và toán tử bit
Run-length encoding (compression) · Mã hóa độ dài chuỗi (nén)
Preprocessor, const, static, and enum · Tiền xử lý, const, static và enum
Where to learn more · Nơi tìm hiểu thêm
- Learn-C.org Free, hands-on C lessons you run in the browser · Các bài học C miễn phí, thực hành trực tiếp trên trình duyệt
- Exercism — C track · Exercism — lộ trình C Small exercises with friendly mentor feedback · Các bài tập nhỏ với phản hồi từ cố vấn thân thiện
- HackerRank — C Practice problems, from easy to hard · Bài tập thực hành, từ dễ đến khó
- cppreference — C The careful, free reference for every C function · Tài liệu tham khảo miễn phí, cẩn thận cho mọi hàm C
- The C Programming Language (K&R) · Ngôn ngữ Lập trình C (K&R) The classic book by the makers of C · Cuốn sách kinh điển do những người tạo ra C viết ra
- Visual Studio Code The free editor for writing C on your own computer · Trình soạn thảo miễn phí để viết C trên máy tính của riêng bạn
- C practice problems (this site) · Bài tập thực hành C (trang web này) Extra C challenges to test yourself · Thử thách C bổ sung để kiểm tra bản thân
- AP CS A (this site) · AP CS A (trang web này) Learn Java, another close cousin of C · Học Java, họ hàng gần khác của C
Web Basics — HTML & CSS · Nền tảng Web — HTML & CSS
Start from zero. Short steps. Build a real web page. · Bắt đầu từ con số không. Các bước ngắn gọn. Xây dựng trang web thực tế.
21 Lessons · Bài học
Web Basics — HTML & CSS · Nền tảng Web — HTML & CSS
Start from zero. Short steps. Build a real web page. · Bắt đầu từ con số không. Các bước ngắn gọn. Xây dựng trang web thực tế.
Course overview and progress →
A short history of the web · Lịch sử ngắn gọn của internet
What a web page is made of · Cấu tạo nên một trang web
Where to learn more · Nơi tìm hiểu thêm
What you need (almost nothing) · Những gì bạn cần (gần như không gì cả)
Your first web page · Trang web đầu tiên của bạn
Headings and paragraphs · Tiêu đề và đoạn văn
Bold, italic and line breaks · Chữ đậm, chữ nghiêng và ngắt dòng
Lists
Links
Images · Hình ảnh
Make it a real page
Comments and neat nesting · Nhận xét và lồng ghép gọn gàng
Tables
Forms
Boxes and sections
Add some style
Selectors — class and id · Bộ chọn — class và id
Colours and backgrounds · Màu sắc và nền
Styling text · Định dạng văn bản
The box model · Mô hình hộp
Spacing — margin and padding · Khoảng cách — margin và padding
Showing and hiding (display) · Hiển thị và ẩn (display)
Width and centering · Chiều rộng và căn giữa
Rows with Flexbox · Hàng với Flexbox
Mini-project: a profile card
Where to learn more · Nơi tìm hiểu thêm
- MDN — Learn web development · MDN — Học phát triển web The clear, free reference from Mozilla · Tài liệu tham khảo rõ ràng, miễn phí từ Mozilla
- web.dev — Learn HTML · web.dev — Học HTML A free, modern HTML course from Google · Khóa học HTML hiện đại, miễn phí từ Google
- web.dev — Learn CSS · web.dev — Học CSS A free, modern CSS course from Google · Khóa học CSS hiện đại, miễn phí từ Google
- freeCodeCamp — Responsive Web Design · freeCodeCamp — Thiết kế Web Responsive Free, hands-on HTML + CSS certification · Chứng chỉ thực hành HTML + CSS miễn phí
- W3Schools — HTML Tutorial · W3Schools — Hướng dẫn HTML Try-it-yourself examples for every tag · Ví dụ thử nghiệm trực tiếp cho mỗi thẻ
- Python Basics (this site) · Python Cơ bản (trang này) New to coding? Try Python next · Mới bắt đầu lập trình? Hãy thử Python sau
Exam courses · Khóa học thi
Python for IGCSE CS · Python cho IGCSE Tin học
Programming, algorithms, databases and logic for Cambridge IGCSE 0478. · Lập trình, thuật toán, cơ sở dữ liệu và logic cho Cambridge IGCSE 0478.
14 Lessons · Bài học
Python for IGCSE CS · Python cho IGCSE Tin học
Programming, algorithms, databases and logic for Cambridge IGCSE 0478. · Lập trình, thuật toán, cơ sở dữ liệu và logic cho Cambridge IGCSE 0478.
Course overview and progress →
Sequence, input & output · Trình tự, đầu vào & đầu ra
Variables, constants & data types
Selection — IF and CASE · Lựa chọn — IF và CASE
Iteration — loops · Lặp lại — vòng lặp
Totalling & counting · Cộng dồn & Đếm
Procedures & functions · Thủ tục & Hàm
Validation & verification · Kiểm tra tính hợp lệ & Xác minh
1-D arrays (lists) · Mảng 1 chiều (danh sách)
2-D arrays · Mảng 2 chiều
Searching & max / min · Tìm kiếm & Giá trị lớn nhất / Nhỏ nhất
Bubble sort · Sắp xếp nổi bọt
Text files · Tệp văn bản
Databases & SQL · Cơ sở dữ liệu & SQL
Boolean logic & truth tables · LogicBoolean & Bảng chân lý
Where to learn more · Nơi tìm hiểu thêm
- IGCSE CS handouts (this site) · Tài liệu tham khảo IGCSE CS (trang web này) Read the theory behind these topics — exam revision · Đọc lý thuyết đằng sau các chủ đề này—ôn tập kỳ thi
- IGCSE CS Pseudocode (this site) · Pseudocode IGCSE CS (trang web này) The 0478 exam writes algorithms in pseudocode — practise it here · Kỳ thi 0478 viết thuật toán bằng pseudocode — hãy luyện tập tại đây
- Cambridge IGCSE Computer Science 0478 · Cambridge IGCSE Tin học 0478 The official syllabus and past papers · Chương trình chính thức và đề thi năm cũ
IGCSE CS Pseudocode
Write and run the pseudocode in the Cambridge IGCSE 0478 syllabus for 2026, 2027 and 2028. · Viết và chạy pseudocode trong chương trình Cambridge IGCSE 0478 cho năm 2026, 2027 và 2028.
19 Lessons · Bài học
IGCSE CS Pseudocode
Write and run the pseudocode in the Cambridge IGCSE 0478 syllabus for 2026, 2027 and 2028. · Viết và chạy pseudocode trong chương trình Cambridge IGCSE 0478 cho năm 2026, 2027 và 2028.
Course overview and progress →
OUTPUT and sequence · ĐẦU RA và thứ tự
Variables, DECLARE and CONSTANT · Biến, DECLARE và CONSTANT
INPUT and data types · INPUT và các kiểu dữ liệu
Arithmetic, DIV and MOD · Toán học, DIV và MOD
Selection: IF · Lựa chọn: IF
Selection: CASE · Lựa chọn: CASE
Iteration: FOR · Lặp: FOR
Iteration: WHILE and REPEAT · Lặp: WHILE và REPEAT
String handling · Xử lý chuỗi
1-D arrays · Mảng 1 chiều
2-D arrays · Mảng 2 chiều
Procedures · Hàm con (Procedures)
Functions · Hàm số
Putting it together · Kết hợp tất cả lại
Text files · Tệp văn bản
16
Logic: AND, OR, NOT
17
Nested decisions · Quyết định lồng nhau
18
ROUND, RANDOM and a trace · ROUND, RANDOM và bảng theo dõi
19
Bubble sort · Sắp xếp nổi bọt
Where to learn more · Nơi tìm hiểu thêm
- Pseudocode handout (this site) · Tài liệu pseudocode (trang web này) The 0478 appendix for 2026–2028, with every example runnable · Phụ lục 0478 cho giai đoạn 2026–2028, với mọi ví dụ đều có thể chạy được
- Python for IGCSE CS (this site) · Python cho IGCSE CS (trang web này) The same ideas, written in Python you can run · Cùng các ý tưởng, viết bằng Python bạn có thể chạy được
- IGCSE CS handouts (this site) · Tài liệu tham khảo IGCSE CS (trang web này) Algorithm design and programming theory · Thiết kế thuật toán và lý thuyết lập trình
- AS-level CS Pseudocode (this site) · Pseudocode CS AS-level (trang web này) The 9618 guide, for the AS paper — different rules · Sách hướng dẫn 9618, dành cho đề AS — quy tắc khác nhau
Python for A-Level CS · Python cho A-Level CS
Data structures, algorithms, and OOP for Cambridge 9618. · Cấu trúc dữ liệu, thuật toán và OOP cho Cambridge 9618.
15 Lessons · Bài học
Python for A-Level CS · Python cho A-Level CS
Data structures, algorithms, and OOP for Cambridge 9618. · Cấu trúc dữ liệu, thuật toán và OOP cho Cambridge 9618.
Course overview and progress →
Nested loops & 2-D lists · Vòng lặp lồng nhau & Mảng 2 chiều
Text files · Tệp văn bản
Exceptions · Ngoại lệ
Stacks · Ngăn xếp (Stacks)
Queues · Hàng đợi (Queues)
Linked lists · Danh sách liên kết
Searching · Tìm kiếm
Sorting · Sắp xếp
Recursion
Classes & objects · Lớp & đối tượng
Inheritance & encapsulation · Kế thừa & Bao封装
Programming paradigms · Các mô hình lập trình
Hash tables · Bảng hash
Binary search trees · Cây nhị phân tìm kiếm (BST)
Graphs · Đồ thị
Where to learn more · Nơi tìm hiểu thêm
- AS-level CS Pseudocode (this site) · Pseudocode CS AS-level (trang web này) The 9618 exam writes algorithms in pseudocode — practise it here · Kỳ thi 9618 viết thuật toán bằng pseudocode—luyện tập tại đây
- Pseudocode handout (this site) · Tài liệu pseudocode (trang web này) Every construct, and where 9618 differs from 0478 · Mọi cấu trúc, và nơi 9618 khác biệt so với 0478
- A-Level CS handouts (this site) · Tài liệu A-Level CS (trang web này) Read the theory behind these topics — exam revision · Đọc lý thuyết đằng sau các chủ đề này—ôn tập kỳ thi
AS-level CS Pseudocode · Pseudocode AS-level CS
Write and run the pseudocode in the Cambridge 9618 guide for exams in 2026, and for 2027, 2028 and 2029. · Viết và chạy pseudocode trong hướng dẫn Cambridge 9618 cho kỳ thi năm 2026, và các năm 2027, 2028, 2029.
19 Lessons · Bài học
AS-level CS Pseudocode · Pseudocode AS-level CS
Write and run the pseudocode in the Cambridge 9618 guide for exams in 2026, and for 2027, 2028 and 2029. · Viết và chạy pseudocode trong hướng dẫn Cambridge 9618 cho kỳ thi năm 2026, và các năm 2027, 2028, 2029.
Course overview and progress →
OUTPUT and sequence · ĐẦU RA và thứ tự
Variables and DECLARE · Biến và DECLARE
Types and constants · Kiểu dữ liệu và hằng số
Arithmetic, DIV and MOD · Toán học, DIV và MOD
Selection: IF · Lựa chọn: IF
Selection: CASE · Lựa chọn: CASE
Iteration: FOR · Lặp: FOR
Iteration: WHILE and REPEAT · Lặp: WHILE và REPEAT
String handling · Xử lý chuỗi
1-D arrays · Mảng 1 chiều
2-D arrays · Mảng 2 chiều
Procedures and BYREF · Hàm con và BYREF
Functions · Hàm số
Records · Bản ghi (Records)
Text files · Tệp văn bản
Putting it together · Kết hợp tất cả lại
17
Linear search and bubble sort · Tìm kiếm tuyến tính và sắp xếp nổi bọt
18
Built-in functions from the insert · Các hàm tích hợp từ phần chèn
19
Logic: AND, OR, NOT
Where to learn more · Nơi tìm hiểu thêm
- Pseudocode handout (this site) · Tài liệu pseudocode (trang web này) Topic 11 is where the 9618 guide differs from IGCSE 0478 · Chủ đề 11 là nơi hướng dẫn 9618 khác với IGCSE 0478
- Python for A-Level CS (this site) · Python cho A-Level CS (trang web này) The same ideas, written in Python you can run · Cùng các ý tưởng, viết bằng Python bạn có thể chạy được
- A-Level CS handouts (this site) · Tài liệu A-Level CS (trang web này) Programming and data structures for 9618 · Lập trình và cấu trúc dữ liệu cho 9618
- IGCSE CS Pseudocode (this site) · Pseudocode IGCSE CS (trang web này) The 0478 rules for 2026–2028 — they are not the same · Các quy tắc 0478 từ 2026–2028 — chúng không giống nhau
Python for AP CS Principles · Python cho AP CS Principles
Big ideas of computing — data, algorithms, the Internet, and impact. · Các ý tưởng lớn về tính toán — dữ liệu, thuật toán, Internet và tác động.
15 Lessons · Bài học
Python for AP CS Principles · Python cho AP CS Principles
Big ideas of computing — data, algorithms, the Internet, and impact. · Các ý tưởng lớn về tính toán — dữ liệu, thuật toán, Internet và tác động.
Course overview and progress →
What computing is · Tin học là gì
Bits and binary · Bit và nhị phân
Data compression · Nén dữ liệu
Variables and expressions · Biến và biểu thức
Lists and data abstraction
Selection · Sự lựa chọn
Iteration · Lặp lại
Procedures and abstraction · Hàm và trừu tượng hóa
Algorithms: searching · Thuật toán: tìm kiếm
Randomness and simulation · Tính ngẫu nhiên và mô phỏng
Algorithmic efficiency · Hiệu suất thuật toán
The Internet and how data travels · Internet và cách dữ liệu di chuyển
Parallel and distributed computing · Tính toán song song và phân tán
Impact of computing · Tác động của máy tính
The Create Performance Task (guided) · Tạo Nhiệm vụ Hiệu suất (hướng dẫn)
Java for AP CS A · Java cho AP CS A
Java programming for the AP Computer Science A exam. · Lập trình Java cho kỳ thi AP Computer Science A.
19 Lessons · Bài học
Java for AP CS A · Java cho AP CS A
Java programming for the AP Computer Science A exam. · Lập trình Java cho kỳ thi AP Computer Science A.
Course overview and progress →
A short history of Java · Lịch sử ngắn gọn về Java
What Java is used for · Java được sử dụng để làm gì
Where to learn more · Nơi tìm hiểu thêm
Set up your computer · Cài đặt máy tính của bạn
Java basics: classes, main, and output · Java cơ bản: classes, main, và output
Using objects: String, Math, and wrappers · Sử dụng objects: String, Math, và wrappers
Booleans and selection: if/else and logic · Boolean và selection: if/else và logic
Loops: while, for, and accumulation · Vòng lặp: while, for, và tích lũy
Strings and nested loops · Strings và vòng lặp lồng nhau
Writing a class: fields, constructor, methods · Viết một class: các trường (fields), constructor, phương thức (methods)
Encapsulation: private fields, getters, setters · Encapsulation: các trường private, getters, setters
1-D arrays: store, index, and traverse · Mảng 1-D: lưu trữ, truy cập theo chỉ mục và duyệt qua
Array algorithms: max, count, search, average · Thuật toán mảng: tìm max, đếm, tìm kiếm, trung bình
ArrayList: a list that grows · ArrayList: một danh sách có thể mở rộng
ArrayList algorithms: filter and the remove bug · Thuật toán ArrayList: lọc và lỗi remove
2-D arrays: working with a grid · Mảng 2-D: thao tác với lưới ô vuông
Searching: linear and binary · Tìm kiếm: tuyến tính và nhị phân
Sorting: selection and insertion sort · Sắp xếp: selection sort và insertion sort
Recursion: base case and recursive case · Đệ quy: trường hợp cơ bản và trường hợp đệ quy
Text files: write and read with Scanner · Tệp văn bản: ghi và đọc với Scanner
Inheritance: extends, super, and overriding · Kế thừa: extends, super, và overriding
Polymorphism: dynamic dispatch and toString() · Đa hình: phân phối động và toString()
FRQ workshop: the 4 question types · Workshop FRQ: 4 loại câu hỏi
Where to learn more · Nơi tìm hiểu thêm
- Exercism — Java track · Exercism — Track Java Free coding exercises with friendly feedback · Bài tập lập trình miễn phí với phản hồi thân thiện
- CodinGame Learn Java by solving fun coding games · Học Java bằng cách giải các trò chơi lập trình thú vị
- HackerRank — Java Short challenges, from easy to hard · Thử thách ngắn, từ dễ đến khó
- dev.java (official) · dev.java (chính thức) The official Java site, with clear guides for learners · Trang web chính thức của Java, với các hướng dẫn rõ ràng cho người học
- The Java Tutorials · Các bài tutorial về Java Oracle's step-by-step lessons · Bài giảng từng bước của Oracle
- Visual Studio Code The free editor for writing Java on your own computer · Trình soạn thảo miễn phí để viết Java trên máy tính cá nhân của bạn
- Java practice problems (this site) · Bài tập thực hành Java (trang này) Exam-style questions to test your Java · Câu hỏi dạng kỳ thi để kiểm tra kiến thức Java của bạn
- AP CS Principles (this site) · AP CS Principles (trang này) The big ideas of computing, in Python · Những ý tưởng cốt lõi của tin học, bằng Python
Topics & tools · Chủ đề & công cụ
Databases & SQL · Cơ sở dữ liệu & SQL
Query, design, and change relational databases — right in your browser, no setup. · Truy vấn, thiết kế, và thay đổi cơ sở dữ liệu quan hệ — ngay trên trình duyệt của bạn, không cần cài đặt.
17 Lessons · Bài học
Databases & SQL · Cơ sở dữ liệu & SQL
Query, design, and change relational databases — right in your browser, no setup. · Truy vấn, thiết kế, và thay đổi cơ sở dữ liệu quan hệ — ngay trên trình duyệt của bạn, không cần cài đặt.
Course overview and progress →
A short history of SQL · Lịch sử ngắn gọn của SQL
What SQL is used for · SQL được sử dụng cho việc gì
Where to learn more · Nơi tìm hiểu thêm
Set up your computer · Cài đặt máy tính của bạn
Databases and SELECT · Cơ sở dữ liệu và lệnh SELECT
Choosing columns · Chọn các cột
Filtering with WHERE · Lọc bằng WHERE
AND, OR, NOT · VÀ, HOẶC, KHÔNG
Sorting with ORDER BY · Sắp xếp với ORDER BY
Counting and averaging · Đếm và tính trung bình
LIKE, IN and BETWEEN · LIKE, IN và BETWEEN
Grouping with GROUP BY · Nhóm với GROUP BY
Tables, keys and relationships · Bảng, khóa và mối quan hệ
INNER JOIN
Joins with grouping · Join với nhóm
Creating tables · Tạo bảng
Changing the schema · Thay đổi schema
Inserting rows · Chèn hàng
Updating rows · Cập nhật hàng
Deleting rows · Xóa hàng
Normalisation · Chuẩn hóa (Normalisation)
Where to learn more · Nơi tìm hiểu thêm
- SQLBolt Learn SQL step by step with interactive exercises · Học SQL từng bước với bài tập tương tác
- SQLZoo Practice real queries on real tables in your browser · Thực hành các truy vấn thực tế trên các bảng thực tế trong trình duyệt của bạn
- Mode SQL Tutorial A friendly, hands-on tutorial from basic to advanced · Một hướng dẫn thân thiện, thực hành từ cơ bản đến nâng cao
- W3Schools SQL Short, clear pages for every SQL keyword · Các trang ngắn gọn, rõ ràng cho mỗi từ khóa SQL
- PostgreSQL Tutorial A thorough guide using a popular database · Một hướng dẫn chi tiết sử dụng một cơ sở dữ liệu phổ biến
- SQLite documentation · Tài liệu SQLite The official docs for the database this course uses · Tài liệu chính thức cho cơ sở dữ liệu mà khóa học này sử dụng
- A-Level Computer Science (this site) · A-Level Tin học (trang web này) Includes a unit on databases and SQL · Bao gồm một phần về cơ sở dữ liệu và SQL
Linux & the command line · Linux & dòng lệnh
Drive a computer by typing. Practise real shell commands in a safe in-browser terminal. · Điều khiển máy tính bằng cách gõ. Luyện tập các lệnh shell thực tế trong terminal an toàn trên trình duyệt.
14 Lessons · Bài học
Linux & the command line · Linux & dòng lệnh
Drive a computer by typing. Practise real shell commands in a safe in-browser terminal. · Điều khiển máy tính bằng cách gõ. Luyện tập các lệnh shell thực tế trong terminal an toàn trên trình duyệt.
Course overview and progress →
What is Linux? · Linux là gì?
Why learn the command line? · Tại sao nên học dòng lệnh?
Helpful resources · Tài nguyên hữu ích
Get a real terminal · 获取一个真实的终端
01
The shell and the prompt · Shell và dấu nhắc
02
Moving around · Di chuyển xung quanh
03
Reading files · Đọc tệp
04
Creating and removing · Tạo và xóa
05
Wildcards · Ký tự đại diện
06
Saving output to files · Lưu đầu ra vào tệp
07
Pipes — joining commands · Pipes — nối các lệnh
08
Searching with grep · Tìm kiếm với grep
09
Finding files with find · Tìm tệp với find
10
Sorting and columns · Sắp xếp và cột
11
File permissions · Quyền truy cập tệp
12
Users and sudo · Người dùng và sudo
13
Programs and processes · Chương trình và tiến trình
14
Software, settings, next steps · Phần mềm, cài đặt, bước tiếp theo
Where to learn more · Nơi tìm hiểu thêm
- explainshell Paste a command, see what every part does · Dán một lệnh, xem từng phần làm gì
- The man pages · Trang man The official manual for every command · Sách hướng dẫn chính thức cho mọi lệnh
- tldr pages · Trang tldr Short, practical examples instead of long manuals · Ví dụ ngắn gọn, thực tế thay vì sách hướng dẫn dài
- OverTheWire: Bandit Learn the shell by playing a hacking game · Học shell bằng cách chơi trò chơi hack
- Linux Journey A friendly, free Linux course · Một khóa học Linux thân thiện, miễn phí
LaTeX
Typeset beautiful documents and maths — write LaTeX, compile on our servers, see the PDF. · Soạn thảo tài liệu đẹp và toán học — viết LaTeX, biên dịch trên máy chủ của chúng tôi, xem PDF.
14 Lessons · Bài học
LaTeX
Typeset beautiful documents and maths — write LaTeX, compile on our servers, see the PDF. · Soạn thảo tài liệu đẹp và toán học — viết LaTeX, biên dịch trên máy chủ của chúng tôi, xem PDF.
Course overview and progress →
What is LaTeX? · LaTeX là gì?
Where LaTeX is used · Nơi LaTeX được sử dụng
Helpful resources · Tài nguyên hữu ích
Use LaTeX on your own computer · Sử dụng LaTeX trên máy tính riêng của bạn
01
Your first document · Tài liệu đầu tiên của bạn
02
Sections and titles · Các mục và tiêu đề
03
Bold, italic and emphasis · Chữ đậm, chữ nghiêng và nhấn mạnh
04
Bulleted and numbered lists · Danh sách có chấm và danh sách có đánh số
05
Maths — your first formula · Toán học — công thức đầu tiên của bạn
06
Fractions, roots and sums · Phân số, căn bậc hai và tổng
07
Aligning equations · Căn chỉnh các phương trình
08
Tables · Bảng
09
Drawing with TikZ · Vẽ với TikZ
10
Labels and cross-references · Nhãn và tham chiếu chéo
11
Citations and bibliography · Trích dẫn và danh mục thư mục
12
Page layout and margins · Bố cục trang và lề
13
Colour and links · Màu sắc và liên kết
14
Capstone: a one-page report
Where to learn more · Nơi tìm hiểu thêm
- Overleaf Write and compile LaTeX in your browser — no install · Viết và biên dịch LaTeX ngay trên trình duyệt — không cần cài đặt
- Learn LaTeX in 30 minutes · Học LaTeX trong 30 phút Overleaf's friendly getting-started guide · Hướng dẫn bắt đầu thân thiện của Overleaf
- Detexify Draw a symbol, get its LaTeX command · Vẽ ký hiệu, nhận lệnh LaTeX của nó
- CTAN The archive of LaTeX packages · Kho lưu các gói LaTeX
Cyber security · An ninh mạng
How attacks work and how to stop them — ciphers, hashing, and safe computing, hands-on. · Cách thức hoạt động của các cuộc tấn công và cách ngăn chặn — cipher, hashing, và tính toán an toàn, thực hành trực tiếp.
16 Lessons · Bài học
Cyber security · An ninh mạng
How attacks work and how to stop them — ciphers, hashing, and safe computing, hands-on. · Cách thức hoạt động của các cuộc tấn công và cách ngăn chặn — cipher, hashing, và tính toán an toàn, thực hành trực tiếp.
Course overview and progress →
What is cyber security? · An ninh mạng là gì?
Why it matters · Tại sao nó quan trọng
Helpful resources · Tài nguyên hữu ích
Nothing to install · Không cần cài đặt gì
01
Security, privacy and integrity · Bảo mật, quyền riêng tư và tính toàn vẹn
02
Malware
03
Attacks and brute force · Tấn công và phá密码 brute force
04
Social engineering · Kỹ thuật xã hội
05
Defending a system · Phòng vệ hệ thống
06
Passwords and authentication · Mật khẩu và xác thực
07
Storing passwords safely · Lưu trữ mật khẩu an toàn
08
Encoding is not encryption · Mã hóa không phải là mã hóa an ninh
09
Symmetric encryption · Mã hóa đối xứng
10
Asymmetric encryption · Mã hóa bất đối xứng
11
Hashing and digital signatures · Hashing và chữ ký số
12
HTTPS, SSL/TLS and certificates · HTTPS, SSL/TLS và chứng chỉ
13
Data integrity · Tính toàn vẹn dữ liệu
14
SQL injection · Inject SQL
15
Access control and least privilege · Kiểm soát truy cập và quyền tối thiểu
16
Ethics, law and staying safe · Đạo đức, pháp luật và giữ an toàn
Where to learn more · Nơi tìm hiểu thêm
- A-Level CS security handouts (this site) · Tài liệu tham khảo An ninh A-Level CS (trang web này) Topics 6 Security, 7 Ethics, 17 Encryption — exam revision · Chủ đề 6 An ninh, 7 Đạo đức, 17 Mã hóa — ôn tập thi
- IGCSE CS handouts (this site) · Tài liệu tham khảo IGCSE CS (trang web này) Topics 2.3 Encryption and 5.3 Cyber security · Chủ đề 2.3 Mã hóa và 5.3 An ninh mạng
- OWASP Top 10 The most common web security risks, explained · Các rủi ro an ninh web phổ biến nhất, được giải thích chi tiết
- picoCTF Learn security by solving fun challenges · Học an ninh bằng cách giải các thử thách thú vị
- Have I Been Pwned Check if your email appeared in a data breach · Kiểm tra xem email của bạn có xuất hiện trong một vụ rò rỉ dữ liệu hay không
Practice · Luyện tập
Sharpen your skills with challenges from 1★ to 5★. Pick a language. · Rèn luyện kỹ năng của bạn với các thử thách từ 1★ đến 5★. Chọn một ngôn ngữ.
01
Print a word · In một từ
★☆☆☆☆
02
Print another word · In một từ khác
★☆☆☆☆
03
Print a sentence · In một câu
★☆☆☆☆
04
Print with a ! · In với dấu !
★☆☆☆☆
05
Print two lines · In hai dòng
★☆☆☆☆
06
Print three lines · In ba dòng
★☆☆☆☆
07
Print a number · In một số
★☆☆☆☆
08
Print a bigger number · In số lớn hơn
★☆☆☆☆
09
Add two numbers · Thêm hai số
★☆☆☆☆
10
Add bigger numbers · Cộng số lớn
★☆☆☆☆
11
Subtract · Trừ
★☆☆☆☆
12
Multiply · Nhân
★☆☆☆☆
13
Divide · Chia
★☆☆☆☆
14
Remainder · Số dư
★☆☆☆☆
15
Use a variable · Sử dụng một biến
★☆☆☆☆
16
A number variable · Biến số
★☆☆☆☆
17
Change a variable · Thay đổi một biến
★☆☆☆☆
18
Add two variables · Thêm hai biến
★☆☆☆☆
19
Multiply two variables · Nhân hai biến
★☆☆☆☆
20
Join two words · Nối hai từ
★☆☆☆☆
21
Greet a name · Chào một tên
★☆☆☆☆
22
Repeat text · Lặp lại văn bản
★☆☆☆☆
23
Ask for a name · Yêu cầu nhập tên
★☆☆☆☆
24
Echo a number · Phản xạ lại một số
★☆☆☆☆
105
Call a function · Gọi một hàm
★☆☆☆☆
106
Use what it gives back · Sử dụng những gì nó trả về
★☆☆☆☆
107
Finish the function · Kết thúc hàm
★☆☆☆☆
108
Write one yourself · Tự viết một hàm
★★☆☆☆
25
Your first function · Hàm đầu tiên của bạn
★☆☆☆☆
26
Is it positive? · Nó có dương không?
★☆☆☆☆
27
The bigger one · Giá trị lớn hơn
★☆☆☆☆
28
The last item · Phần tử cuối cùng
★☆☆☆☆
29
Is it even? · Có phải là số chẵn?
★☆☆☆☆
30
Sum a list · Tổng danh sách
★☆☆☆☆
31
Reverse a string · Đảo ngược chuỗi
★★☆☆☆
32
Count the vowels · Đếm nguyên âm
★★☆☆☆
33
FizzBuzz
★★★☆☆
34
Letter frequencies · Tần suất chữ cái
★★★☆☆
35
Remove duplicates · Xóa trùng lặp
★★★☆☆
36
Second largest · Lớn thứ hai
★★★☆☆
37
Group anagrams · Nhóm anagram
★★★★☆
38
Flatten a nested list · Dẹt hóa danh sách lồng nhau
★★★★☆
39
RPN calculator · Máy tính RPN
★★★★★
40
Run-length encoding · Mã hóa độ dài chuỗi
★★★★★
41
Count to ten · Đếm đến mười
★★☆☆☆
42
Even numbers · Các số chẵn
★★☆☆☆
43
Liftoff · Phóng tàu
★★☆☆☆
44
Star triangle · Tam giác sao
★★☆☆☆
45
The 3 times table · Bảng nhân 3
★★☆☆☆
46
Running total · Tổng cộng dồn
★★★☆☆
47
Largest without max · Số lớn nhất mà không dùng max
★★★☆☆
48
Smallest without min · Số nhỏ nhất mà không dùng min
★★★☆☆
49
Count the positives · Đếm các số dương
★★☆☆☆
50
Average of a list · Trung bình của một danh sách
★★★☆☆
51
Add up 1 to 100 · Cộng từ 1 đến 100
★★☆☆☆
52
Upside-down triangle · Tam giác ngược
★★☆☆☆
53
FizzBuzz with 4 and 6 · FizzBuzz với 4 và 6
★★★☆☆
54
Until you type stop · Cho đến khi nhập stop
★★★☆☆
55
A list of squares · Danh sách các bình phương
★★☆☆☆
56
Count a value · Đếm một giá trị
★★☆☆☆
57
Keep the evens · Giữ lại các số chẵn
★★☆☆☆
58
Find the position · Tìm vị trí
★★★☆☆
59
Smallest and largest · Số nhỏ nhất và lớn nhất
★★★☆☆
60
Above average · Trên mức trung bình
★★★☆☆
61
Binary to denary · Nhị phân sang thập phân
★★★★☆
62
Denary to binary · Thập phân sang nhị phân
★★★★☆
63
Digital root · Căn số kỹ thuật số
★★★★☆
64
Caesar cipher · Mã Caesar
★★★★☆
65
Bank account · Tài khoản ngân hàng
★★★★☆
66
Transpose a grid · Chuyển đổi ma trận
★★★★☆
67
Most common word · Từ phổ biến nhất
★★★★★
68
Sieve of Eratosthenes · Sàng Eratosthenes
★★★★★
69
A row of Pascal's triangle · Một hàng của tam giác Pascal
★★★★★
70
Tic-tac-toe winner · Người thắng Tic-tac-toe
★★★★★
71
Is it big? · Có phải số lớn?
★☆☆☆☆
72
Pass or fail · Trượt hay đậu
★☆☆☆☆
73
Positive, negative or zero · Dương, âm hay không
★☆☆☆☆
74
The bigger number · Số lớn hơn
★☆☆☆☆
75
Even or odd · Chẵn hay lẻ
★☆☆☆☆
76
Is it in range? · Có nằm trong khoảng không?
★★☆☆☆
77
Free entry · Vào cửa miễn phí
★★☆☆☆
78
Grade letter · Xếp loại chữ cái
★★☆☆☆
79
Divisible by both · Chia hết cho cả hai
★★☆☆☆
80
Ticket price · Giá vé
★★☆☆☆
81
Finish the countdown · Hoàn thành việc đếm ngược
★☆☆☆☆
82
The loop that never ends · Vòng lặp không bao giờ kết thúc
★☆☆☆☆
83
Count up to five · Đếm lên đến năm
★☆☆☆☆
84
Add up to five · Cộng đến năm
★☆☆☆☆
85
Double until it passes 100 · Nhân đôi cho đến khi vượt quá 100
★★☆☆☆
86
Stop at the first over fifty · Dừng lại ở số đầu tiên vượt quá 50
★★☆☆☆
87
Count down in twos · Đếm ngược theo cặp
★★☆☆☆
88
Until they type stop · Cho đến khi họ nhập stop
★★☆☆☆
89
How many halvings? · Bao nhiêu lần chia đôi?
★★☆☆☆
90
A row of the times table · Một dòng bảng nhân
★★☆☆☆
91
The first letter · Chữ cái đầu tiên
★☆☆☆☆
92
The last letter · Chữ cái cuối cùng
★☆☆☆☆
93
The first three letters · Ba chữ cái đầu tiên
★☆☆☆☆
94
How long is it? · Độ dài của nó là bao nhiêu?
★☆☆☆☆
95
Shout it · Gọi lớn lên
★☆☆☆☆
96
Initials · Viết tắt tên
★★☆☆☆
97
Ask for a name · Yêu cầu nhập tên
★☆☆☆☆
98
Ask for two things · Yêu cầu hai thứ
★☆☆☆☆
99
A number from input · Một số từ đầu vào
★☆☆☆☆
100
Add two numbers you were given · Cộng hai số bạn đã nhận được
★★☆☆☆
101
Each letter on its own line · Mỗi chữ cái trên một dòng riêng
★☆☆☆☆
102
Zero to four · Từ 0 đến 4
★☆☆☆☆
103
Count the letters · Đếm số chữ cái
★☆☆☆☆
104
Add up one to five · Cộng từ 1 đến 5
★☆☆☆☆
01
Print a word · In một từ
★☆☆☆☆
02
Print another word · In một từ khác
★☆☆☆☆
03
Print a sentence · In một câu
★☆☆☆☆
04
Print with a ! · In với dấu !
★☆☆☆☆
05
Print two lines · In hai dòng
★☆☆☆☆
06
Print a number · In một số
★☆☆☆☆
07
Add two numbers · Thêm hai số
★☆☆☆☆
08
Subtract · Trừ
★☆☆☆☆
09
Multiply · Nhân
★☆☆☆☆
10
Divide · Chia
★☆☆☆☆
11
Remainder · Số dư
★☆☆☆☆
12
A number variable · Biến số
★☆☆☆☆
13
A text variable · Một biến văn bản
★☆☆☆☆
14
Add two variables · Thêm hai biến
★☆☆☆☆
15
Your first method · Phương thức đầu tiên của bạn
★☆☆☆☆
16
Is it positive? · Nó có dương không?
★☆☆☆☆
17
Cube a number · L水乡立方
★☆☆☆☆
18
The smaller one · Số nhỏ hơn
★☆☆☆☆
19
Square a number · Bình phương một số
★☆☆☆☆
20
Largest of three · Số lớn nhất trong ba
★☆☆☆☆
21
Count the vowels · Đếm nguyên âm
★★☆☆☆
22
Reverse the word order · đảo ngược thứ tự từ
★★☆☆☆
23
Palindrome check · Kiểm tra palindrome
★★★☆☆
24
Running sum · Tổng tích lũy
★★★☆☆
25
Most frequent character · Ký tự xuất hiện nhiều nhất
★★★☆☆
26
Binary search · Tìm kiếm nhị phân
★★★☆☆
27
Factorial (mind the size) · Giai thừa (chú ý đến kích thước)
★★★★☆
28
Count primes below n · Đếm số nguyên tố nhỏ hơn n
★★★★☆
29
Roman numerals · Số La Mã
★★★★★
30
Longest common prefix · Tiền tố chung dài nhất
★★★★★
01
Print a word · In một từ
★☆☆☆☆
02
Print another word · In một từ khác
★☆☆☆☆
03
Print a sentence · In một câu
★☆☆☆☆
04
Print with a ! · In với dấu !
★☆☆☆☆
05
Print two lines · In hai dòng
★☆☆☆☆
06
Print three lines · In ba dòng
★☆☆☆☆
07
Print a number · In một số
★☆☆☆☆
08
Add two numbers · Thêm hai số
★☆☆☆☆
09
Subtract · Trừ
★☆☆☆☆
10
Multiply · Nhân
★☆☆☆☆
11
Remainder · Số dư
★☆☆☆☆
12
A number variable · Biến số
★☆☆☆☆
13
Add two variables · Thêm hai biến
★☆☆☆☆
14
Multiply two variables · Nhân hai biến
★☆☆☆☆
15
Your first function · Hàm đầu tiên của bạn
★☆☆☆☆
16
Is it positive? · Nó có dương không?
★☆☆☆☆
17
Cube a number · L水乡立方
★☆☆☆☆
18
The smaller one · Số nhỏ hơn
★☆☆☆☆
19
Square a number · Bình phương một số
★☆☆☆☆
20
Sign of a number · Dấu của một số
★☆☆☆☆
21
Largest of three · Số lớn nhất trong ba
★★☆☆☆
22
Factorial · Giả thừa
★★☆☆☆
23
Greatest common divisor · Ước chung lớn nhất
★★☆☆☆
24
Count the 1-bits · Đếm số bit 1
★★☆☆☆
25
Sum an array · Tổng mảng
★★★☆☆
26
Swap two values · Hoán đổi hai giá trị
★★★☆☆
27
String length · Chiều dài chuỗi
★★★☆☆
28
Count a character · Đếm một ký tự
★★★☆☆
29
Reverse in place · đảo ngược tại chỗ
★★★★☆
30
Palindrome
★★★★☆
31
Bubble sort · Sắp xếp nổi bọt
★★★★☆
32
Points with a struct · Điểm với struct
★★★★☆
33
Binary search · Tìm kiếm nhị phân
★★★★★
34
Parse an integer · Phân tích một số nguyên
★★★★★
All courses, one page each · Tất cả khóa học, mỗi khóa một trang
- Python Basics · Python Cơ bản
- Python for IGCSE CS · Python cho IGCSE Tin học
- IGCSE CS Pseudocode
- Python for A-Level CS · Python cho A-Level CS
- AS-level CS Pseudocode · Pseudocode AS-level CS
- Databases & SQL · Cơ sở dữ liệu & SQL
- Python for AP CS Principles · Python cho AP CS Principles
- Java for AP CS A · Java cho AP CS A
- C Programming · Lập trình C
- Web Basics — HTML & CSS · Nền tảng Web — HTML & CSS
- JavaScript
- LaTeX
- Linux & the command line · Linux & dòng lệnh
- Cyber security · An ninh mạng
- Python Practice · Thực hành Python
- Java Practice · Thực hành Java
- C Practice · Thực hành C