Phù hợp với
- Người mới bắt đầu học lập trình từ số 0
- Người muốn học Java trước khi sang Spring Boot
- Người cần nền tảng OOP, Collections và Java I/O
Nền tảng bắt buộc
Học Java từ cú pháp, class, method đến OOP, Collections, Lambda và Java I/O bằng ví dụ đơn giản, có project theo từng phase.
Sau khóa học, bạn có thể đọc hiểu code Java cơ bản, tự viết chương trình console có cấu trúc và sẵn sàng bước sang Spring Boot.
Study method
Mỗi khóa được thiết kế theo nhịp: hiểu khái niệm, làm bài tập nhỏ, áp dụng vào project và review lại bằng checklist.
Xem bài học ngắn, ghi lại khái niệm bằng ví dụ của chính bạn
Gõ lại code thay vì chỉ xem, sau đó đổi yêu cầu nhỏ để kiểm tra hiểu bài
Hoàn thành từng phase project trước khi qua module tiếp theo
Cuối tuần review lỗi sai, refactor tên biến, method và class cho dễ đọc
Syllabus chi tiết
Lesson nào cũng có mục tiêu học và bài thực hành cụ thể để người mới biết mình cần làm gì sau khi xem tài liệu.
5 bài học
Thiết lập môi trường, hiểu cấu trúc chương trình Java và làm quen với biến, kiểu dữ liệu, output, method.
Mục tiêu: Cài JDK, IDE và chạy được chương trình Java đầu tiên.
Bài tập: Tạo project Hello Java, in tên, tuổi và mục tiêu học của bạn.
Mục tiêu: Hiểu class, main method, statement và cách chương trình bắt đầu chạy.
Bài tập: Viết class StudentPrinter in thông tin một học viên.
Mục tiêu: Phân biệt primitive type, String và cách chọn kiểu dữ liệu phù hợp.
Bài tập: Khai báo thông tin sản phẩm gồm tên, giá, số lượng, trạng thái còn hàng.
Mục tiêu: Dùng print, println, printf để trình bày dữ liệu rõ ràng.
Bài tập: In hóa đơn mini với format giá tiền và tổng tiền.
Mục tiêu: Tách logic thành method có input, output và tên rõ nghĩa.
Bài tập: Viết method tính điểm trung bình và xếp loại học lực.
11 bài học
Học object, class, encapsulation, constructor, inheritance và cách chia trách nhiệm trong code Java.
Mục tiêu: Hiểu object là gì và vì sao OOP giúp code dễ mở rộng.
Bài tập: Thiết kế class Student có thuộc tính và hành vi cơ bản.
Mục tiêu: Hiểu wrapper type và tình huống dùng với Collections.
Bài tập: Chuyển đổi String input sang Integer, Double và xử lý lỗi nhập sai.
Mục tiêu: Phân biệt field/method static và instance.
Bài tập: Tạo StudentCounter đếm số lượng object đã tạo.
Mục tiêu: Hiểu scope để tránh lỗi biến không tồn tại hoặc dùng sai nơi.
Bài tập: Sửa một đoạn code cố tình đặt biến sai scope.
Mục tiêu: Gọi method giữa các object và truyền tham số đúng kiểu.
Bài tập: Tạo CalculatorService và gọi từ class Main.
Mục tiêu: Nhập dữ liệu với Scanner và kiểm soát input cơ bản.
Bài tập: Viết menu nhập thông tin học viên từ bàn phím.
Mục tiêu: Xử lý chuỗi, so sánh chuỗi và dùng method String thông dụng.
Bài tập: Chuẩn hóa họ tên: trim, viết hoa chữ cái đầu, kiểm tra email.
Mục tiêu: Dùng regex cơ bản để validate dữ liệu.
Bài tập: Validate email, số điện thoại và mã học viên.
Mục tiêu: Ẩn dữ liệu bằng private field, getter/setter và validation.
Bài tập: Chặn điểm số ngoài khoảng 0-10 trong class Student.
Mục tiêu: Khởi tạo object đúng trạng thái ngay từ đầu.
Bài tập: Tạo nhiều constructor cho Student và Course.
Mục tiêu: Hiểu kế thừa và khi nào nên dùng thay vì copy code.
Bài tập: Tạo Person, Student, Teacher với thuộc tính dùng chung.
7 bài học
Đi sâu vào polymorphism, abstraction, final và áp dụng vào project quản lý học viên theo từng phase.
Mục tiêu: Tạo model và menu đầu tiên cho project quản lý học viên.
Bài tập: Tạo Student, Course, MainMenu và in danh sách mẫu.
Mục tiêu: Thêm chức năng nhập và hiển thị dữ liệu.
Bài tập: Thêm học viên từ bàn phím và in danh sách dạng bảng.
Mục tiêu: Tách service layer để logic không dồn vào Main.
Bài tập: Tạo StudentService với add, find, printAll.
Mục tiêu: Hiểu override và cách object có nhiều hình thái khi chạy.
Bài tập: Tạo nhiều loại user và override method getRoleName.
Mục tiêu: Dùng abstract class/interface để mô tả hợp đồng hành vi.
Bài tập: Tạo Printable interface cho các object cần in thông tin.
Mục tiêu: Biết dùng final cho biến, method, class đúng mục đích.
Bài tập: Định nghĩa hằng số MAX_SCORE và thử bảo vệ method không cho override.
Mục tiêu: Refactor project theo interface và service rõ trách nhiệm.
Bài tập: Tách validation, printing và student management thành các class riêng.
7 bài học
Làm việc với danh sách object, sắp xếp, lambda cơ bản và lưu dữ liệu bằng file.
Mục tiêu: Lưu nhiều object và thao tác thêm, sửa, xóa, tìm kiếm.
Bài tập: Quản lý danh sách học viên bằng ArrayList.
Mục tiêu: Sắp xếp object theo tên, điểm hoặc ngày tạo.
Bài tập: Sắp xếp học viên theo điểm giảm dần và tên tăng dần.
Mục tiêu: Hiểu lambda ở mức nhập môn để đọc được code hiện đại.
Bài tập: Viết Comparator bằng lambda.
Mục tiêu: Kết hợp nhiều tiêu chí sort rõ ràng.
Bài tập: Sort theo trạng thái, điểm, sau đó tên.
Mục tiêu: Hoàn thiện CRUD và tìm kiếm trong project.
Bài tập: Thêm update/delete/findByKeyword cho StudentService.
Mục tiêu: Đọc ghi file text để lưu dữ liệu đơn giản.
Bài tập: Lưu danh sách học viên ra file và load lại khi mở app.
Mục tiêu: Hoàn thiện project cuối khóa và README.
Bài tập: Test toàn bộ menu, xử lý input sai và viết hướng dẫn chạy project.
Project cuối khóa
Ứng dụng quản lý học viên bằng Java console, áp dụng OOP, ArrayList, sort, validate input và đọc ghi file.
Tài liệu học tập
Các tài liệu này giúp người học tự kiểm tra, luyện tập và hoàn thiện project theo chuẩn dễ theo dõi.
Checklist cú pháp biến, method, class, constructor, if/else, loop.
Bộ bài tập thiết kế class, encapsulation, inheritance và interface.
Mẫu README giúp trình bày project Java console chuyên nghiệp.
Next steps
Đừng học rời rạc. Mỗi khóa đều dẫn sang kỹ năng hoặc project kế tiếp trong lộ trình full-stack.
Học SQL căn bản để biết dữ liệu được lưu trong database như thế nào
Học Spring Boot để biến logic Java thành REST API
Ghép backend Java với frontend Next.js trong project course platform
