Chuyển tới nội dung chính

TỔNG QUAN KHÓA HỌC

“LÀM WEB HOÀN CHỈNH VỚI HTML, CSS, JAVASCRIPT” Thời lượng: 12 buổi × 90 phút


I. MỤC TIÊU KHÓA HỌC

  • Học sinh hiểu và sử dụng HTML, CSS, JS để tạo website từ đầu
  • Biết cách xây dựng layout, giao diện, hiệu ứng, và tương tác
  • Có thể thiết kế và triển khai một dự án web cá nhân (portfolio, landing page, blog...)
  • Phát triển kỹ năng học qua dự án thực tế, tự học từ tài liệu nước ngoài, dùng công cụ chuyên nghiệp

II. ĐỐI TƯỢNG HỌC

  • Học sinh từ 12–18 tuổi
  • Đã biết sử dụng máy tính cơ bản
  • Chưa cần biết lập trình trước đó
  • Có khả năng làm việc độc lập và theo nhóm

III. NỘI DUNG KHÓA HỌC (12 BUỔI)

BuổiChủ đềKết quả đạt được
1HTML cơ bảnTạo trang giới thiệu bản thân
2HTML nâng cao + thực hành layoutLàm form đăng ký, bảng thông tin
3CSS cơ bản: màu, font, class, idTrang giới thiệu có style cá nhân
4Box model + FlexboxChia layout 2–3 cột linh hoạt
5CSS nâng cao: hover, transitionGiao diện web sống động, đẹp mắt
6Dự án Mini 1: Giới thiệu sản phẩmWeb có layout, style, nội dung thật
7JavaScript cơ bản: biến, sự kiện, DOMLàm nút ẩn/hiện, đổi theme, xử lý click
8Form validation và xử lý inputCảnh báo khi điền sai, phản hồi người dùng
9Dự án Mini 2: Landing Page tương tácWeb có nội dung, hiệu ứng, xử lý bằng JS
10Responsive web + media queryWeb xem tốt trên cả điện thoại và máy tính
11Tự làm Portfolio cá nhânWeb giới thiệu cá nhân có thông tin, liên kết
12Tổng kết + Deploy web onlineĐăng web lên GitHub Pages hoặc Netlify

IV. PHƯƠNG PHÁP GIẢNG DẠY

  • Học qua dự án thật → làm trước, giải thích sau
  • Cung cấp mẫu web để phân tích và bắt chước
  • Khuyến khích sáng tạo, tự chọn màu, bố cục, nội dung
  • Học sinh được chấm điểm theo checklist chuyên nghiệp

V. SẢN PHẨM CUỐI KHÓA

Mỗi học sinh sẽ có:

  • 1 website cá nhân (Portfolio)
  • 2 website nhỏ (giới thiệu sản phẩm, landing page)
  • Tài khoản GitHub chứa toàn bộ project đã deploy online

VI. CÔNG CỤ HỌC TẬP

  • VS Code + Live Server
  • Trình duyệt Chrome
  • Figma (để xem mẫu web nếu cần)
  • GitHub Pages / Netlify

VII. ĐỊNH HƯỚNG PHÁT TRIỂN SAU KHÓA HỌC

  • Tiếp tục học JavaScript nâng cao (API, animation, game)
  • Làm web kết hợp framework: React, Tailwind, Vue
  • Học lên lập trình web backend (Node.js, Firebase, PHP...)
  • Tham gia các cuộc thi web design hoặc lập trình

GỢI Ý TÀI LIỆU THAM KHẢO

BuổiChủ đề chínhMục tiêuNội dung chi tiếtBài tập
1Biến, kiểu dữ liệu, toán tửNắm vững cú pháp cơ bản JSvar, let, const, kiểu dữ liệu, toán tử so sánh, logicViết chương trình kiểm tra số chẵn/lẻ, tuổi hợp lệ
2Câu điều kiện & vòng lặpThành thạo if, switch, for, whileif-else, switch, for, while, do-whileIn bảng cửu chương, kiểm tra số nguyên tố
3Hàm trong JavaScriptHiểu cách khai báo & gọi hàmHàm thường, arrow function, tham số mặc định, returnViết hàm kiểm tra số nguyên tố, tính tổng dãy số
4Mảng và các phương thứcSử dụng thành thạo map, filter, reduceMảng, duyệt mảng, các hàm xử lý mảngLọc số chẵn/lẻ, tính trung bình mảng
5Đối tượng & Object nâng caoQuản lý dữ liệu dạng đối tượngObject literal, truy xuất, thêm/xóa key, destructuringTạo object học sinh, quản lý danh sách
6Hàm callback & ClosureHiểu cách JS xử lý hàm nộiCallback, closure, scopeViết hàm tạo bộ đếm (counter) bằng closure
7DOM cơ bảnLàm việc với HTML bằng JSgetElementById, querySelector, thao tác DOM, sự kiệnLàm form đơn giản: nhập tên, in ra greeting
8DOM nâng cao & FormBiết cách xử lý form bằng JSDOM event (submit, keyup), validation cơ bảnForm tính chỉ số BMI
9Bất đồng bộ & Fetch APIGửi HTTP request trong JSPromise, async/await, fetchGọi API giả (JSONPlaceholder), hiển thị danh sách
10Tổng ôn JS + Mini ProjectCủng cố kiến thức JS cơ bảnÔn lại toàn bộ phần JSLàm mini project: To-do List đơn giản
11Làm quen TypeScriptHiểu sự khác biệt JS/TSKiểu dữ liệu trong TS, type alias, union, tuple, enumChuyển project todo JS sang dùng TS
12Interface & Function TSSử dụng type & interface đúng cáchInterface, optional property, function với TSViết function kiểm tra dữ liệu học sinh
13Class và OOP trong TSViết class theo kiểu TSClass, access modifier, kế thừa, constructorTạo class Student, Classroom
14Generic trong TSViết hàm tổng quát linh hoạtGeneric function, generic class, extends, constraintTạo DataStore<T> lưu nhiều loại dữ liệu
15Tổng ôn TypeScriptCủng cố kiến thức OOP & typeTổng kết các kiến thức TS đã họcViết ứng dụng quản lý sản phẩm nhỏ
16Làm quen React & JSXHiểu cấu trúc componentCreate React App, JSX, render componentHello World component, hiển thị biến
17Props & StateTruyền dữ liệu và thay đổi dữ liệuprops, useState, sự kiện (event handler)Counter App: nút tăng giảm
18Component nâng caoHiểu danh sách, điều kiệnmap, key, conditional rendering, ternaryHiển thị danh sách sản phẩm
19useEffect & Fetch APITích hợp dữ liệu bên ngoàiuseEffect, fetch dữ liệu từ APIGọi API user, hiển thị danh sách người dùng
20Form & Input ControlXử lý form ReactControlled component, onChange, validationForm nhập thông tin người dùng
21React Router DOMTạo SPA nhiều trangreact-router-dom, Routes, Link, useParamsTạo 2 trang: Home / Detail
22React + TS cơ bảnSử dụng TypeScript trong ReactĐịnh nghĩa type cho props, state, FCTodo App viết lại với React + TS
23Tổng kết & Hoàn thiện projectKết hợp kiến thức JS, TS, ReactLàm project: Blog/Todo App hoàn chỉnhThêm chức năng xoá/sửa/lọc
24Thuyết trình và triển khaiThuyết trình & deploy sản phẩmHướng dẫn triển khai lên Vercel/NetlifyThuyết trình sản phẩm nhóm/cá nhân