Skip to content · ⁨Bỏ qua nội dung⁩

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⁩
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⁩
Course overview and progress →
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⁩
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⁩
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⁩
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⁩
Course overview and progress →
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⁩
Course overview and progress →
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⁩
Course overview and progress →
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⁩
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⁩
Course overview and progress →
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⁩
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⁩
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⁩
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⁩
Course overview and progress →
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⁩
Course overview and progress →
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⁩
Course overview and progress →
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⁩
Course overview and progress →

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⁩

Log in or create account · ⁨Đăng nhập hoặc tạo tài khoản⁩

IGCSE, A-Level & AP