Buổi 1: Giới thiệu tổng quan java
- Tổng quan về ngôn ngữ Java
- Các đặc trưng cơ bản của Java so với ngôn ngữ C++
- Cài đặt môi trường
- Môi trường chạy Java JVM JRE, môi trường phát triển Java JDK
- Sử dụng IDE trong chương trình Intellij phiên bản Ultimate
- Cài đặt biến môi trường và giải thích ý nghĩa (Compile chương trình)
- Chương trình Helloworld, các phím tắt thông dụng
- Chương trình In ra màn hình và nhập vào từ bàn phím chuỗi và số
- Hướng dẫn sử dụng Git, thực hành các thao tác trên Git
Buổi 2: Biến, kiểu dữ liệu nguyên thủy, các phép toán số học
- Cấu trúc chuẩn chương trình trong Java, câu lệnh khối lệnh, quy tắc đặt tên biến, hàm class trong java
- Biến trong Java
- 8 Kiểu dữ liệu nguyên thủy và ví dụ, ép kiểu trong java
- Toán tử (số học, bit, quan hệ và logic, ép kiểu, điều kiện, thứ tự ưu tiên) và biểu thức trong java
- Cấu trúc điều khiển rẽ nhánh (if else, switch case)
Buổi 3: Câu trúc rẽ nhánh, vòng lặp
- Cấu trúc điều khiển rẽ nhánh (if else, switch case) - Tiếp theo
- Cấu trúc lặp (for, while, do while)
- Hàm trong Java (hàm và hàm đệ quy)
- Toán tử 3 ngôi trong Java.
Buổi 4: Mảng và xử lý chuỗi
- String trong Java (String pool, equals vs ==), StringBuilder, StringBuffer,
- Xử lý chuỗi trong Java
- Mảng 1 chiều và n chiều trong Java, Xử lý mảng trong Java
Buổi 5: OOP (Lập trình hướng đối tượng)
- Bài kiểm tra cuối module lập trình căn bản
- Lý thuyết và thực hành về hướng đối tượng trong Java(tại sao tư duy hướng đối tượng lại càn thiết?)
- Cách viết 1 class trong java (Khái niệm lớp và đối tượng)
- Các thành phần của 1 class (thuộc tính và phương thức), hàm getter setter
- Giải bài tập cộng trừ phân số
Buổi 6: Tính kế thừa và đa hình
- Hàm khởi tạo mặc định, hàm khởi tạo nhiều tham số
- Con trỏ this
- Tính chất kế thừa trong Java (từ khóa extend)
- Overloading và override trong Java
- Phạm vi truy cập (private, default, protected, public) trong Java
- Package trong java
Buổi 7: Trừu tượng và đóng gói
- Từ khóa static trong java (biến static hàm static, class static)
- Inner class trong java
- Abstract class trong Java (Phân biệt với class thường)
- Phương thức abstract trong Java
- Interface class trong java (Phân biệt với abstract class)
Buổi 8: Collection trong java
- Thực hành 4 tính chất đặc trưng của hướng đối tượng(đóng gói, kế thừa, trừu tượng, đa hình)
- Equal và Hashcode trong Java
- Collection và Map trong java và ứng dụng
- Sắp xếp trong Java
Buổi 9: Exception, Stream API
- Stream API trong java
- Xử lý Ngoại lệ (exception handling) trong java (Checked và unchecked trong java)
- Lớp bao kiểu dữ liệu nguyên thủy (wrapper class)
- Lambda Expression & Functional Interface
Buổi 10: I/O, Thread, Java advance
- Input/Output trong Java
- Thread và MultiThread trong Java
- Generic cách sử dụng
Buổi 11: MySQL, các câu lệnh căn bản
- Bài kiểm tra cuối module OOP
- Cài đặt môi trường MySQL,giới thiệu về MySQL, Làm quen với công cụ
- Làm quen Dữ liệu, CSDL với Hệ quản trị CSDL,.
- Các kiểu dữ liệu trong MySQL
- Hướng dẫn tạo TABLE, COLUMN, cài đặt khóa chính,UNIQUE..
- Hướng dẫn câu lên INSERT, UPDATE, DELETE, DROP
- Hướng dẫn câu lệnh QUERY căn bản
Buổi 12: Frontend support (final project)
- QUERY dữ liệu cần toán tử (><>=<=, LIKE, IN...)
- Thực hành LIMIT OFFSET, DISTINCT
- GROUP BY HAVING, ORDER BY
- Các hàm thông dụng trong SQL (sum, avg....)
- Khóa ngoại
- Các phép JOIN (INNER JOIN, LEFT JOIN, RIGHT JOIN)
- Subquery
- VIEW, FUNCTION, PROCEDURE trong SQL
Buổi 13: JDBC và Phân tích thiết kế hệ thống
Tạo lược đồ Use-Case
Tạo lược đồ Activity Diagram
Tạo sơ đồ mô hình ER Diagram
Các chiến lược phân tích ERD
Từ mô hình Thực thể kết hợp thành mô hình quan hệ
Tạo Cơ Sở dữ liệu từ mô hình quan hệ
Thiết kế giao diện người dùng
Thiết kế sơ đồ Kiến trúc phần mềm
Buổi 14: Servlet
- Bài kiểm tra cuối module MYSQL
- Tạo dự án sử dụng Servlet
- Khái niệm về web server, giao thức, kiến trúc web...
- Cấu hình Servlet
- Http Header
- Vòng đời của Servlet
- Request – Response
- Phương thức GET – POST
- Redirect – Forward
Buổi 15: Servlet và JDBC sử dụng reflection
- Java Servlet và JDBC làm việc với cơ sở dữ liệu
- Java Servlet Cookies
- Login sử dụng Servlet Cookie
- Java Servlet Session
- Login và Logout sử dụng Servlet Session
- Java Servlet Filter
- Java Servlet Filter dùng XML config
- Java Servlet Filter sử dụng Java config
- Java Servlet Filter tính số lượt truy cập website
- Java Servlet FilterConfig"
Buổi 16: JSP, Session, cookie
- Phân biệt JSP & Servlet
- Thực hành về JSP
- JSP - HttpServletRequest
- JSP - HttpServletResponse
- JSP Form
- JSP và JDBC
Buổi 17: JSTL, Filter, MVC
- JSP Filter
- JSP Session
- JSP Cookies
- JSP Upload File
- JSP - Expression Language (EL)
- JSP Tag Library (JSTL)
- JSP - Tự Tạo JSTL
Buổi 18: Spring framework, Spring MVC
Hướng dẫn sinh viên chọn đề tài (demo 1 số project các khóa trước đã làm, và gợi ý đề tài gợi ý các chức năng), đưa danh sách đề tài tham khảo
- Spring framework là gì ?/Tại sao lựa chọn Spring?/ Thành phần/ Tính chất chính trong Spring
- Spring Boot là gì, vị trí Springboot trong hệ sinh thái Spring, vai trò của Spring Boot,và tại sao cần học Spring Boot
- Tạo project Spring Boot bằng Intellij
- Tìm hiểu các thành phần cấu trúc các thành phần trong 1 project Spring Boot
- Tìm hiểu công cụ quản lý thư viện maven
- Rest API là gì ? Giao thức HTTP(Thực lành về phương thức, headerParam, Body, HTTP Code)
- Postman là gì? Cách cài đặt và sử dụng công cụ Test API Postman ?
"- Hướng dẫn sử dụng 1 số phương thức đơn giản @RestController:
+ GET endpoint
+ POST endpoint
+ PUT endpoint
+ DELETE endpoint"
- Làm quen và thực hành Json, thực hành xử lý Json, (hoặc xml, xử lý xml)
- Bài tập : Xây dưng hệ thống quản lý thư viện buổi 14 bằng Rest API và JDBC