---
# System prepended metadata

title: Buổi 1 <4h>

---

# Buổi 1 <4h>

## Nội dung 1: Biến - Kiểu dữ liệu
- Biến là gì
- Làm thế nào để khởi tạo biến. So sánh việc khởi tạo giữa 1 c,js và php.
- biến var là biến gì?
- Biến có thể chứa cái gì?
- Các Operator: + - * / % == != !<not>
## Nội dung 2: Hàm
- Hàm là cái gì?
- Hàm hoạt động như thế nào
    - Ví dụ về việc bỏ nguyên liệu vào một đâu máy làm bánh và sinh ra cái bánh
        - Nguyên liệu là các parameters
        - Các thành phần: Nhào bột tự động, rắc tự động. <Phần thân hàm, xử lý hàm đó>
        - Nếu lấy bánh ra, cái bánh là output
    - Block là gì?
        - Blog nằm trong 1 cặp dấu {}
        - biến toàn cục, và biến cục bộ
    - Cách viết 1 hàm. So sánh giữa c, javascript và php
    - Parameters: là giá trị truyền vào.
        - Parameter có thể truyền vào các struct
        - Parameter có thể truyền vào các object
        - Parameter có thể là một hàm
    - Trả về
        - Trả về void: Không trả về cái gì cả
        - Trả về giá trị: <Có trả về 1 cái gì đó>
            - Trả về chuỗi
            - Trả về số
            - Trả về true/false
            - Trả về object
            - Trả về null
            - Phân biệt giữa null và undefined
    - Gọi hàm: 
        - gọi vào tên
        - Truyền vào Parameter có kiểu dữ liệu tương ứng
        - Gán kết quả vào biến với hàm có trả về và chạy chay với kết quả ko có trả về (void)
## Nội dung 3: If - else
- Pesuo code if-else: Code giả. 
- if - else
- Pesuo Code nested if
- nested
- pesuo code if else-if 
- else-if
- pesuo switch-case
## Nội dung 4: Mảng - Vòng lặp
- Mảng là gì
- Khi nào thì sử dụng mảng
- Trong mảng chứa gì? 
    - Các thành phần trong mảng (element): Có cùng kiểu dữ liệu
    - Mảng chứa các kiểu dữ liệu này thành một TẬP HỢP và CÓ XẾP HÀNG 
    - Vị trí <index> của phần tử trong mảng là gì. Cách lấy ra một mảng cụ thể 
- Sử dụng vòng lặp trong mảng
    - Vòng lặp for
    - Vòng lặp for-each
    - Vòng lặp while (Chỉ mô tả trên pesuo code)
    - Vòng lặp do - while (chỉ mô tả trên pesuo code)
    - Vòng lặp vô hạn
- CRUD với Index
    - Thêm một phần tử vào mảng
    - Sửa một phân tủ có thông tin <key> trong mảng
    - Xóa một phần tử có <key> trong mảng
    - Tìm kiếm một phần tử trong mảng bằng cách lặp xuyên qua mảng(Chỉ sử dụng vòng lặp for)

# Buổi 2 <4>

## Nội dung 5: Object <Cấp độ JSON, chưa đạt cấp độ CLASS>
- Cách tạo 1 object
    - Thành phần biến lưu object
    - Scope của Object
    - property của object
        - Property là gì
        - Property kiểu struct
        - Property kiểu mảng
        - Property kiểu Object
    - Cách gọi một object
    - Cách gọi 1 property cụ thể của 1 object và object trong object
    - Nói sơ qua về CLASS và lập trình hướng đối tượng
## Nội dung 6: HTML/CSS/JQuery-AngularJS
- Làm bài tập về một mảng object Học sinh. In ra màn hình
- Cắt HTML: Bảng có 5 học sinh. Đưa thư viện DATATABLE vào
    - Thẻ p, thẻ div, thẻ input và thế nào là element selector trong JQUERY
    - Các attribute của thẻ thường và thẻ input
        - Attribute là gì
        - Attribute Id. cách gọi 1 element với Attribute Id trong HTML
        - Attribute class. Cách gọi 1 element với Attribute class trong html
        - Attribute value. Cách lấy giá trị attribute value của một element <nên được sử dụng selector JQUERY lấy ra để kết hợp>
        - Value của Input. cách lấy.
        - Khai báo một attribute mới
    - Tư duy của lập trình JQUERY
        - Tư duy hướng vào giá trị trên DOM <Trên từng html element cụ thể. Thay đổi giá trị của các attribute <và giá trị text trong thẻ> và sử dụng các giá trị của các attribute để chứa các dữ liệu cụ thể nào đó/
        - Tư duy sử dụng giá trị của các attribute với object để xác định, thêm mới, chỉnh sửa, xóa thông tin của mảng
        - So sánh tư duy lập trình JQUERY và AngularJS
    - Thẻ a, thẻ button và Sự kiện click
        - Sự kiện click
            - Bắt sự kiện
                - Trỏ đến DOM bằng jquery
                    - Trường hợp Trỏ đến DOM có ID
                    - Trường hợp trỏ đến DOM có class
                        - DOM this
                        - Ví dụ về việc trỏ vào DOM, click, lấy ra giá trị 1 attr trong DOM đó
    - DOM cha, DOM con 
        - Dom cha là DOM nằm ở ngoài, DOM con là DOM nằm ở trong cặp mở - Đóng của DOM cha
        - Đứng từ DOM con, gọi DOM cha
            - Ví dụ bằng CODE JQUERY
        - Đứng từ DOM cha, gọi DOM con
            - Trường hợp gọi chỉ ra một (Gọi Id)
            - Trường hợp gọi nó ra 1 list (Gọi Class)
        - Kết hợp gọi cha rồi gọi 1 thằng con cùng tầng <hoặc có thể sâu tầng hơn>
        - Kết hợp với sự kiện click để bấm 1 nút, gọi DOM cha, thay thế giá trị của thẻ cùng tầng
    - Sự kiện
        - Sự kiện là khi có bất cứ tác động nào từ bên ngoài được nhập từ chuột hoặc bàn phím
        - Sự kiện thường dùng:
            - Sự kiện click: Khi click vào nút, vào link
            - Sự kiện change: Với giá trị của input
            - các sự kiện khác
        - Cách khai báo sự kiện
            - Review lại code của sự kiện click phía trên với thành phần off click, on click (Tại sao lại phải vừa on vừa off)
            - Thân hàm sự kiện
            - Cách xuống hàm: Kỹ thuật coding convention, thay vì viết vào 1 sự kiện cho code dài lê thê thì viết thêm ra 1 lệnh để 
        - Vấn đề về việc bất đồng bộ của Javascript
        - Kỹ thuật viết code Javascript JQUERY có refresh sự kiện
            - Hàm init
            - Hàm registerEvent
            - Các hàm xử lý khi xuống hàm
- AngularJS
    - So sánh AngularJS với JQUERY thông qua vấn đề về giá trị của biến trong javascript và biến chứa dữ liệu lấy ra từ DOM của jquery. Từ đó suy được ra sự tối ưu
    - Scope object Binding với v-model và {{}}
    - v-model là một giá trị hoặc 1 object
        - v-model của DOM cha sẽ là tên scope object
        = v-model của DOM con sẽ là property của scope object
    - v-for, v-if, v-hide, v-show
    - Sự kiện
## Nội dung 7: Kiểm tra
- Pass bài kiểm tra lý thuyết trên w3school về html, jquery, javascript thuần trên w3school trong 90p
- Pass bài kiểm tra thực hành với đề một MODULE CRUD bằng javascript đơn giản với object có 3 phần tử bằng JQUERY (90p) - Cho xem code mẫu thoải mái
- ***Trong phòng thi không được trao đổi bài nếu muốn đánh giá kỹ năng lực***
    


        
    




    
        