### Tìm hiểu về HTML và JS
1. Tìm hiểu về HTML và Javascript
- Viết mã html cho trang
- Hiển thị text trên html
- Công cụ làm việc với html
- Tìm hiểu về javascript
- Tìm hiểu về console.log, alert, confirm, prompt trong javascript
- Viết Hello world với html và Javascript
- Slide sử dụng: Slide 1,2
2. Formatting Text, link với HTML, hình ảnh trong HTML và Biến - Kiểu dữ liệu với Javascript (B1)
- Tìm hiểu về các thẻ formatting trong html: h, span, b, i, u...
- Tìm hiểu về hyperlink trong Html5
- Tìm hiểu về đường dẫn tương đối, đường dẫn tuyệt đối trong Html5 qua thẻ img
- Thực hành soạn thảo một đoạn văn bản trong html đầy đủ các thẻ formatting
- Slide sử dụng: Slide 3,4, 12
3. Biến - Kiểu dữ liệu - Toán tử với Javascript
- Tìm hiểu về biến trong Javascript: Cách khai báo biến, gọi biến
- Tìm hiểu về các kiểu dữ liệu thường dùng trong Javascript
- Chuỗi, ghép chuỗi, nối chuỗi trong Javascript
- Các toán tử trong Javascript với Number
- Các toán tử so sánh với boolean
- Null - Undefined
- Thực hành việc khai báo, sử dụng biến, sử dụng toán tử trong Javascript
- Slide sử dụng : 13
4. Khối lệnh trong Javascript = Biến toàn cục - Biến cục bộ - Câu lệnh rẽ nhánh trong Javascript - Thực hành 1 với Javascript
- Khối mã lệnh trong Javascript - Trình tự chạy của code trong Javascript
- Câu lệnh điều kiện rẽ nhánh if-else
- Câu lệnh điều kiện rẽ nhánh switch - case
- Thực hành các nội dung: biến - kiểu dữ liệu - điều kiện trong JAvascript
- Slide sử dụng: 13
5. CSS - Selector trong HTML 5 - Cấu trúc DOM trong HTML - Liên kết giữa Javascript và HTML thông qua các attribute `id`, `class` , `tag`
- Giới thiệu về CSS và một số thuộc tính cơ bản của CSS liên quan đến format văn bản
- Inline CSS - Internal CSS - Extenal CSS
- Selector trong CSS
- Một số thuộc tính liên quan đến formatting text với CSS
- Tìm hiểu về các attribute liên quan đến selector :`id`, `class`, `tag`
- Thực hành Sử dụng document.getElement của JAVASCRIPT để thay đổi giá trị trên HTML bằng JAVASCRIPT
- Slide sử dụng: 5,6,13
6. Layout web - Thẻ div - CSS liên quan đến khối (block)
- Giới thiệu về layout web: header, footer, navbar,
- Giới thiệu về khối trong css: Khối inline - Khối dòng
- Giới thiệu về margin, padding trong CSS
- Giới thiệu về display: block, flex trong CSS
- Thực hành viết HTML với từng phần theo màu sắc và text căn giữa theo các chiều, theo 2 chiều
- Slide sử dụng: 8
7. Cấu trúc HTML cha - con - Ảnh hưởng của CSS trong cấu trúc HTML - Sử dụng Javascript để xác định cha - con dựa trên selector
- Cấu trúc DOM với các Element cha - con
- CSS với kích thước phần tử con trong phần tử cha
- Di chuyển phần tử con trong phần tử cha sử dụng thuộc tính `position`
- Sử dụng JAVASCRIPT để truy cập phần tử cha - con thông qua một địa chỉ cho trước dựa vào `id`, `class`, `tag`
- Thực hành tạo trang tin tức/giới thiệu với HTML/CSS/JS
- Slide sử dụng : 8
8. LIST trong HTML5 - Mảng - Vòng lặp trong Javascript
- Giới thiệu về ul - ol - dl trong HTML 5
- Giới thiệu về mảng trong JAVASCRIPT
- Giới thiệu về vòng lặp trong Javascript: for, foreach, while
- Thực hành Kỹ thuật tạo mã HTML và in danh sách thông qua ul-li và Javascript với innerHtml ở khối mục tiêu
- Slide sử dụng: 3, 14
9. TABLE trong HTML5 - Object trong Javascript
- Giới thiệu về `table` trong HTML 5
- Cấu trúc table - tr - td trong HTML 5
- Một số CSS sử dụng trong `table`
- Khái niệm về lập trình hướng đối tượng đơn giản thông qua bảng dữ liệu
- Object - Đối tượng trong Javascript: Tạo ra đối tượng, property, method, cập nhật đối tượng, mảng đối tượng
- Thực hành kết hợp vòng lặp và dối tượng để in ra bảng dữ liệu trong Javascript
- Slide sử dụng: 9, 15
10. Attribute trong HTML 5 - Attribute mang theo giá trị trong HTML 5 - Hàm - Sự kiện trong JAVASCRIPT (B1)
- Giới thiệu sâu hơn về attribute trong HTML 5
- Khai báo attribute trong HTML 5
- Hàm trong Javascript: cách viết hàm, tham số đầu vào, return đầu ra, coding convention
- Giới thiệu về sự kiện trong HTML 5
- Giới thiệu về sự kiện click trong HTML 5
- Thực hành viết hàm và Bắt sự kiện click với hàm trong HTML 5
- Slide sử dụng: 15
11. Attribute trong HTML 5 - Attribute mang theo giá trị trong HTML 5 - Hàm - Sự kiện trong JAVASCRIPT (B2)
- `this` trong HTML và Javascript. sử dụng `this` làm địa chỉ khi gọi sự kiện
- Thực hành triển khai bài toán tạo slide hình ảnh dựa vào sự kiện trong Javascript: Ấn chuyển trang, tự động chuyển trang...
- Slide sử dụng: 15
12. HTML FORM - Giới thiệu về JQUERY
- Các thẻ input dữ liệu trong html
- Thẻ form và sự kiện submit trong HTML
- Validate form trong html
- Giá trị của input trong HTML
- Giới thiệu về JQUERY và cách sử dụng JQUERY thông qua selector để lấy dữ liệu từ input, attribute, Dom cha - Dom con (Rút gọn hơn so với mã JS gốc)
- Thực hành xây dựng form CRUD bảng dữ liệu với kiến thức đã học
- Slide sử dụng: 10
13. HTML 5 Video - Audio - Thực hành làm trang web xem phim - nghe nhạc với HTML - CSS - JAVASCRPT
- các thẻ liên quan đến audio và video
- các thuộc tính css liên quan
- hàm play, pause, autoplay với JS
- Thực hành dựa vào một Array phim (gồm file tĩnh), tạo web xem phim - nghe nhạc có chức năng next-preview-list phim với HTML/CSS/JS
- Slide sử dụng: 11
14. HTML 5 Storage - Thực hành tạo playlist yêu thích với storage
- Khái niệm về lưu trữ dữ liệu
- Khái niệm về localStorage/SessionStorage trong JAvascript
- CÁch sử dụng local/session trong JS
- Giới thiệu về Cookie/BrowserTableData
- Thực hành xây dựng trang playlist cho web xem phim - nghe nhạc
- Slide sử dụng: 18
15. Mobile Website - Responsive trong HTML 5 - Giới thiệu về thư viện Bootstrap
- Khái niệm responsive trong HTML 5
- Thuộc tính CSS @media trong HTML 5
- Giới thiệu về Bootstrap: Cách sử dụng thư viện, cách đọc docs, container - container=fluid, grid (col - row), các thành phần dựng sẵn như navbar, button, card, color...
- Modal trong bootstrap
- Thực hành xây dựng WEBSITE RESPONSIVE bằng bootstrap
- Slide sử dụng: 16
16. CANVAS - GEO LOCATION - Thực hành vẽ biểu đồ với JAVASCRIPT sử dụng thư viện ChartJS - Thực hành gắn MAp lên Website
- Canvas trong HTML 5
- Sử dụng canvas để vẽ hình với JAVASCRIPT
- Giới thiệu về thư viện chartJS và sử dụng thư viện CharJS với JAvascript
17. API - AJAX trong Javascript
- Giới thiệu về khái niệm JSON
- Giới thiệu về API
- AJAX trong JAvascript: Cách gọi request, bắt kết quả, kiểm soát lỗi
- Vấn đề bất đồng bộ với Javascript - Giải quyết vấn đề bất đồng bộ với cơ chế Init - RegisterEvent - Method
- Thực hành gọi AJAX đơn giản để lấy ra dữ liệu bảng
18. BÀI TẬP TỔNG HỢP (Buổi 1) - Xây dựng Website tin tức với layout
19. BÀI TẬP TỔNG HỢP (Buổi 2) - Xây dựng bảng dư liệu với CRUD
20. AngularJS - Giới thiệu về cơ chế MVVM
- DEMO cấu trúc dạng MVC thông qua JSON/Biến - JS - View HTML
- Vấn đề của cấu trúc MVC
- Giới thiệu vè MVVM thông quan AngularJS và biến $scope để chuẩn bị cho môn tiếp theo
- Thực hành viết bài tập nhỏ với AngularJS và so sánh với JS thuần
- Chuẩn bị kiến thwucs cho môn tiếp theo là react