A2
T21
Programming for the Web
JavaScript syntax (Variables/Functions/Conditionals/Loops), Data types (number/string/boolean/array/object), DOM manipulation, HTML events (onclick/onload/onchange/onmouseover), setTimeout, CSS changes via JS.
Danh sách bài học
30 bài1
21.1 JavaScript Syntax Reference
○ Chưa học
2
Giới thiệu và tổng quan: JavaScript variable declaration var/let/const
○ Chưa học
3
21.2 JavaScript DOM, Events, and Loops — Exam Masterclass
○ Chưa học
4
21.2 JavaScript DOM Manipulation
○ Chưa học
5
Khái niệm cốt lõi: JavaScript data types
○ Chưa học
6
P4.7 JavaScript for Paper 4 — Complete Task 4 Guide
○ Chưa học
7
21.3 JavaScript Arrays, Functions and Loops
○ Chưa học
8
Phân tích chuyên sâu: JavaScript functions
○ Chưa học
9
P4.8 Advanced JavaScript — Forms, Timing, Loops, and Switch Statements
○ Chưa học
10
21.4 JavaScript Form Validation and Practical Applications
○ Chưa học
11
21.3 Paper 4 Task 4 — JavaScript Complete Guide
○ Chưa học
12
Ví dụ thực tế: Conditional if/else statements
○ Chưa học
13
So sánh và đánh giá: switch statement
○ Chưa học
14
Kỹ thuật làm bài thi: for loop in JavaScript
○ Chưa học
15
Sơ đồ và hình vẽ: while loop in JavaScript
○ Chưa học
16
Câu hỏi từ bài thi thật: Arrays in JavaScript
○ Chưa học
17
Luyện tập có hướng dẫn: Objects in JavaScript
○ Chưa học
18
21.4 JavaScript for Paper 3 — Operators, Loops, Events, Visibility
○ Chưa học
19
Các lỗi thường gặp: DOM manipulation getElementById
○ Chưa học
20
21.5 JavaScript — Paper 4 Task 4 Complete Practical Guide
○ Chưa học
21
Từ khóa và định nghĩa: innerHTML and textContent
○ Chưa học
22
Liên kết các chủ đề: onclick event handler
○ Chưa học
23
Câu hỏi mức độ cao hơn (AO3): onload event handler
○ Chưa học
24
Ôn tập nhanh: onchange event handler
○ Chưa học
25
Áp dụng thuật toán / mã giả: onmouseover/onmouseout
○ Chưa học
26
Tình huống đánh giá: setTimeout function
○ Chưa học
27
Cấu trúc câu trả lời (PEEL): CSS style changes via JS
○ Chưa học
28
Thực hành Paper 2 / 4: Form validation with JavaScript
○ Chưa học
29
Tổng kết chương: Event listeners
○ Chưa học
30
Kiểm tra hiểu biết: Practical JavaScript in P4
○ Chưa học
📖 Nội dung lý thuyết — T21: Programming for the Web
Xem bài học chi tiết trong tab Bài học phía trên. Mỗi bài giảng bao gồm:
- ✅ Định nghĩa thuật ngữ chuẩn Cambridge
- ✅ Bảng so sánh & ví dụ minh hoạ
- ✅ Exam tips — cách trả lời câu hỏi Paper 1/3
- ✅ Các lỗi thường gặp cần tránh
- ✅ Sơ đồ & diagram khi cần thiết
Nhấn để xem đáp án
Đáp án
Thi thử Paper 1/3 — Programming for the Web
T21 — Programming for the Web Quiz
Quiz bài học — Programming for the Web
Mock Exam — Programming for the Web
T21 — JavaScript Programming Quiz
Kiểm tra ôn tập — Programming for the Web
Chapter 21: Programming for the Web - SVG Diagram Quiz
Kho đề thi Cambridge theo chương này. Chọn đề để luyện tập có đếm giờ.
📂
Chưa có tài liệu. Giáo viên sẽ bổ sung.
method
Task 4 JavaScript — DOM, Functions, Events (complete guide)
💻 JavaScript — Paper 4 Task 4 Complete Reference
Structure of a Paper 4 HTML/JS file:
<!DOCTYPE html>
<html>
<head>
<script>
function calculate() {
var val = document.getElementById("inputField").value;
document.getElementById("result").innerHTML = val * 2;
}
</script>
</head>
<body>
<input type="text" id="inputField">
<button onclick="calculate()">Calculate</button>
<p id="result"></p>
</body>
</html>
Key DOM methods (Paper 4 tested):
| Method/Property | What it does | Example |
|---|---|---|
| getElementById(id) | Returns reference to HTML element with matching id | document.getElementById("box") |
| .innerHTML | Gets/sets the HTML content inside an element | el.innerHTML = "Hello" |
| .value | Gets/sets the value of an input element | document.getElementById("inp").value |
| .style.visibility | Hides element but keeps its space (hidden/visible) | el.style.visibility = "hidden" |
| .style.display | Removes element from layout (none/block) | el.style.display = "none" |
| .style.color | Changes text colour | el.style.color = "red" |
| .style.backgroundColor | Changes background colour | el.style.backgroundColor = "blue" |
Math functions used in Paper 4 tasks:
Math.tan(angle)— tangent (angle must be in RADIANS)angle * Math.PI / 180— converts degrees to radiansMath.floor(x)— rounds DOWN to nearest integerMath.random()— random decimal 0 to 0.999...Math.round(x)— rounds to nearest integerparseFloat(x)— converts string to decimal numberparseInt(x)— converts string to integer
method
Mnemonic học thuộc: JavaScript variable declaration var/let/const
Dùng kỹ thuật mnemonic để ghi nhớ các bước / danh sách trong chủ đề này. Viết ra thẻ flashcard và tự kiểm tra mỗi ngày. [Chủ đề: JavaScript variable declaration var/let/const, T21]
method
Cornell Notes: JavaScript data types
Áp dụng Cornell Note-taking: cột gợi ý (trái 30%) và cột ghi chú. Viết câu hỏi chủ chốt vào cột gợi ý khi học chủ đề này. [Chủ đề: JavaScript data types, T21]
method
Kỹ thuật Feynman: JavaScript functions
Giải thích chủ đề này bằng ngôn ngữ đơn giản như đang dạy cho học sinh lớp 9. Nếu khó giải thích, đó là điểm cần học lại. [Chủ đề: JavaScript functions, T21]
method
Kết nối với thực tế: for loop in JavaScript
Liên kết chủ đề này với một công nghệ bạn dùng hàng ngày. Sự liên kết ngữ cảnh giúp ghi nhớ lâu dài hơn. [Chủ đề: for loop in JavaScript, T21]
method
Teach Back (dạy lại): while loop in JavaScript
Sau khi học, đóng sách và giải thích to trong 2 phút. Tự ghi âm nếu có thể, sau đó nghe lại và tìm điểm còn thiếu. [Chủ đề: while loop in JavaScript, T21]
method
Active Recall: innerHTML and textContent
Sau khi đọc, đóng tài liệu lại. Viết ra mọi thứ bạn nhớ được. Kiểm tra lại và thêm phần bị thiếu bằng màu khác. [Chủ đề: innerHTML and textContent, T21]
method
Peer Teaching: onclick event handler
Ghép đôi và kiểm tra nhau về chủ đề này. Người giải thích sẽ hiểu sâu hơn — cách học tốt nhất là dạy người khác. [Chủ đề: onclick event handler, T21]
method
Ví dụ cụ thể: CSS style changes via JS
Với mỗi khái niệm trong chủ đề này, viết 1 ví dụ thực tế cụ thể. Giám khảo cho điểm cao hơn với câu trả lời có ví dụ liên quan. [Chủ đề: CSS style changes via JS, T21]
memorize
Flashcard kỹ thuật số: Conditional if/else statements
Tạo flashcard kỹ thuật số với spaced repetition: mặt trước = thuật ngữ, mặt sau = định nghĩa + ví dụ. Ôn lại mỗi ngày trong 7 ngày liên tiếp. [Chủ đề: Conditional if/else statements, T21]
memorize
Mind map từ trí nhớ: switch statement
Vẽ mind map chủ đề từ trí nhớ, rồi so sánh với ghi chú. Thêm nhánh còn thiếu bằng màu khác để đánh dấu khoảng trống. [Chủ đề: switch statement, T21]
memorize
Vẽ sơ đồ từ trí nhớ: setTimeout function
Vẽ sơ đồ / lưu đồ chủ chốt của chủ đề từ trí nhớ 3 lần. Sơ đồ đúng giúp ghi điểm dễ trong Paper 1 và 3. [Chủ đề: setTimeout function, T21]
memorize
Spaced Repetition: Form validation with JavaScript
Dùng spaced repetition: ôn lại sau 1 ngày, 3 ngày, 1 tuần, 2 tuần, 1 tháng. Phương pháp này ngăn quên trước khi thi. [Chủ đề: Form validation with JavaScript, T21]
exam_technique
JavaScript Questions — What Paper 3 Tests Every Year
💻 JavaScript Topics — Frequently Appearing in Paper 3
| Topic | What Cambridge Asks | Sessions |
|---|---|---|
| Comparison operators (===, !==) | Difference between strict equality and inequality | MJ2025/32 Q9 |
| for vs for…in loops | Difference in use case and how they iterate | ON2024/32 Q1, ON2025/33 Q7 |
| String methods (substring, indexOf) | Trace or predict output of given code | ON2024/33 Q1 |
| Arithmetic operators (++, **, %) | Define and write a code example | MJ2025/31 Q4 |
| HTML events (onclick, onload) | Name events and describe what triggers them | ON2024/32 Q10, ON2025/32 Q10 |
| visibility property | How getElementById().style.visibility works | FM2026/32 Q1 |
| while vs do…while | Key difference (pre-test vs post-test condition) | MJ2024/33 Q1 |
⚠️ Always give a code example — "=== checks value AND type" earns 1 mark; "5 === '5' returns false because one is number and one is string" earns the second mark.
exam_technique
PEEL cho câu dài: Arrays in JavaScript
Với câu hỏi mở rộng: dùng cấu trúc PEEL — Point, Evidence, Explain, Link. Luyện viết 1 đoạn PEEL trong 5 phút. [Chủ đề: Arrays in JavaScript, T21]
exam_technique
Từ lệnh Cambridge: Objects in JavaScript
Ghi nhớ: State = 1 từ/cụm, Describe = đặc điểm/cách hoạt động, Explain = lý do/vì sao, Discuss = ưu + nhược + đánh giá. [Chủ đề: Objects in JavaScript, T21]
exam_technique
Bảng so sánh 2 cột: DOM manipulation getElementById
Tạo bảng so sánh 2 cột: ưu vs nhược, phương pháp A vs B. Đây chính là dạng câu hỏi thi phổ biến nhất của Cambridge. [Chủ đề: DOM manipulation getElementById, T21]
exam_technique
Kiểm tra syllabus Cambridge: onchange event handler
Luôn đối chiếu mã syllabus Cambridge 9626 cho chủ đề này. Biết chính xác AO1/AO2/AO3 nào được áp dụng. [Chủ đề: onchange event handler, T21]
exam_technique
Phân tích mark scheme: onmouseover/onmouseout
Phân tích 3 mark scheme đề thi thật cho chủ đề này. Tô sáng từ vựng Cambridge dùng để cho điểm rồi chép lại vào ghi chú. [Chủ đề: onmouseover/onmouseout, T21]
time_management
Luyện có thời gian: onload event handler
Luyện trả lời câu hỏi theo thời gian: 1 điểm = 1 phút. Câu 6 điểm = tối đa 7 phút. Tập kỷ luật thời gian từ bây giờ. [Chủ đề: onload event handler, T21]
time_management
Lịch ôn tập cá nhân: Practical JavaScript in P4
Tạo lịch ôn tập cá nhân cho chủ đề này. Dành nhiều thời gian hơn cho các phần bạn tự kiểm tra dưới 70% điểm. [Chủ đề: Practical JavaScript in P4, T21]
practical_skill
Chú thích hình vẽ: Event listeners
Luyện gắn nhãn và chú thích sơ đồ cho chủ đề này. Cambridge cho điểm với sơ đồ được chú thích đúng, không chỉ mô tả bằng lời. [Chủ đề: Event listeners, T21]