Khóa học Python Toàn Diện

Khóa học Python chuyên sâu 50 buổi (100 giờ) tập trung vào Generative AI với Ollama, LangChain và phát triển ứng dụng GUI với DearPyGui.

Tại sao chọn khóa học
  • 9 Lý Do nên lựa chọn Fullhouse Dev mà không phải trung tâm khác.
  • 1. 100% Giáo viên đạt giải lập trình thi đấu quốc gia hoặc làm việc doanh nghiệp lớn.
  • 2. Lộ trình, Slide bài giảng được biên soạn cẩn thận và chuyên sâu.
  • 3. Giáo viên giảng dạy vô cùng dễ hiểu được kiểm duyệt kỹ trước khi vào lớp.
  • 4. Hệ thống Website chấm tự động với 300-500 bài tập chuyên sâu có lời hướng dẫn giải.
  • 5. Kèm 1:1 bất kỳ khi nào học viên cần.
  • 6. Đo lường đánh giá được số bài tập làm được, số bài đúng, số bài sai, thời gian tham gia học từng bạn.
  • 7. Phương pháp học châu âu Flipped Classroom, Mind Map, Mentor System.
  • 8. cuộc thi định kỳ, quà tặng, nhắc nhở thúc đẩy học tập.
  • 9. Chứng nhận sau khoá học.
Mục tiêu khóa học
  • Nắm vững nền tảng Python và lập trình hướng đối tượng
  • Thành thạo tương tác với APIs và web scraping
  • Hiểu và ứng dụng Generative AI với Ollama cục bộ
  • Xây dựng ứng dụng GUI chuyên nghiệp với DearPyGui
  • Tích hợp AI với giao diện người dùng thực tế
Kết quả mong đợi
  • Phát triển được ứng dụng AI hoàn chỉnh với GUI
  • Thành thạo sử dụng Ollama và LangChain
  • Xây dựng được chatbot cục bộ với giao diện đẹp
  • Hiểu sâu về Prompt Engineering và tối ưu AI
  • Có khả năng tạo ra sản phẩm AI thương mại
Đối tượng hướng đến
  • Người mới bắt đầu với Python
  • Developer muốn chuyển sang AI
  • Sinh viên CNTT quan tâm đến Generative AI
  • Freelancer muốn phát triển ứng dụng AI
  • Doanh nghiệp muốn tích hợp AI cục bộ

Nội dung chương trình học

PHẦN 1 – PYTHON CƠ BẢN ( buổi 1-12)
Buổi 1 – Giới thiệu Python, ứng dụng, môi trường lập trình và cách chạy chương trình

Python được dùng ở đâu (AI, Web, Data, Automation).

Cài đặt Python & VSCode + mở terminal chạy file.

Chạy chương trình đầu tiên "Hello World".

Giải thích interpreter, runtime, error.

Bài tập: chạy 5 chương trình đơn giản.

Buổi 2 – Biến, kiểu dữ liệu cơ bản và các toán tử trong Python

Kiểu dữ liệu: int, float, bool, string.

Cách khai báo và đặt tên biến chuẩn.

Toán tử số học và toán tử so sánh.

Ép kiểu và lỗi thường gặp khi ép kiểu.

Bài tập: tính toán đơn giản, format số.

Buổi 3 – Câu điều kiện if/elif/else và xử lý nhiều nhánh điều kiện

Cú pháp if – elif – else đầy đủ.

Toán tử logic: and, or, not.

Điều kiện lồng nhau (nested condition).

Sai lầm thường gặp trong logic.

Bài tập: phân loại học sinh, tính điểm

Buổi 4 – Ôn tập tổng hợp: biến, kiểu dữ liệu, toán tử và điều kiện

Chữa bài tập buổi 1–3.

Sửa lỗi và phân tích code sai.

Hướng dẫn tư duy chia nhỏ bài toán.

Bài tập nâng cao theo tình huống thực tế.

Mini test 10 câu.

Buổi 5 – Vòng lặp for/while và ứng dụng trong xử lý dữ liệu

Cấu trúc vòng lặp for và while.

break, continue, vòng lặp vô hạn.

Lặp qua list, string, range.

Tối ưu logic loop.

Bài tập: tính tổng, duyệt chuỗi, duyệt mảng.

Buổi 6 – Xử lý chuỗi nâng cao: slicing, f-string và các hàm quan trọng

slicing chuỗi.

Các hàm: split, join, replace, upper, lower,...

f-string format.

Làm sạch dữ liệu text (trim, remove spaces).

Bài tập: xử lý tên, chuẩn hóa văn bản.

Buổi 7 – List, Tuple, Set và thao tác dữ liệu dạng tập hợp

List – thao tác thêm, xóa, tìm kiếm.

Tuple – đặc điểm bất biến.

Set – loại trùng, toán tử giao/hiệu/hợp.

Chọn đúng cấu trúc phù hợp từng bài toán.

Bài tập: phân loại dữ liệu.

Buổi 8 – Ôn tập lớn: vòng lặp, chuỗi và cấu trúc dữ liệu

Chữa bài tập 5–7.

Debug lỗi khó trong loop.

Bài tập tổng hợp dạng mini-project.

Tăng kỹ năng đọc đề bài.

Test 10 bài nhỏ.

Buổi 12 – Ôn tập lớn: hàm cơ bản – hàm nâng cao

Chữa bài tập buổi 9–11.

Viết lại code theo chuẩn hàm hóa.

Bài tập mini: xử lý dữ liệu bằng hàm.

Test mini 15 phút.

Chuẩn bị sang File & Data.

Buổi 9 – Dictionary và xử lý dữ liệu dạng key–value

Gán key–value, CRUD.

Truy cập lồng dict.

Duyệt dict hiệu quả.

Chuyển đổi giữa dict – list.

Bài tập: hồ sơ học sinh, sản phẩm.

Buổi 10 – Hàm: tham số, return và tư duy viết hàm sạch

Khai báo hàm, tham số – return.

Scope biến (global/local).

Tách code thành hàm nhỏ.

Lỗi phổ biến khi dùng hàm.

Bài tập viết 10 hàm tiện ích.

Buổi 11 – Hàm nâng cao: lambda, *args, kwargs và default param

lambda function.

*args – nhận nhiều tham số.

**kwargs – nhận tham số dạng key-value.

Default param & lỗi mutable default.

Bài tập áp dụng trong thực tế.

PHẦN 2 – FILE & DATA + PANDAS (buổi 13-19)
Buổi 13 – Xử lý file văn bản: đọc và ghi file

open(), read(), readline().

Ghi file với write().

with open – tránh lỗi file leak.

try/except khi xử lý file lỗi.

Bài tập: đọc danh sách học sinh từ file.

Buổi 14 – JSON: đọc, ghi và chuyển đổi dữ liệu

json.load / json.dump.

dict ↔ JSON.

Validate dữ liệu JSON.

Bắt lỗi file JSON sai.

Bài tập: lưu cấu hình chương trình

Buổi 15 – CSV: đọc, ghi và xử lý dữ liệu dạng bảng

reader / DictReader.

Ghi CSV chuẩn UTF-8.

Xử lý dữ liệu thiếu hoặc lỗi.

Tách – lọc dữ liệu.

Bài tập: đọc điểm học sinh từ CSV.

Buổi 16 – Ôn tập lớn: File, JSON, CSV

Chữa lỗi file của học viên.

Mini project: công cụ đọc – ghi file.

Chuẩn hóa dữ liệu đầu vào.

Bài tập tổng hợp.

Kiểm tra nhanh 10 câu.

Buổi 17 – NumPy cơ bản: mảng, shape, toán tử vector

Tạo array, dtype, shape.

slicing + indexing.

toán tử vector hóa.

reshape, flatten.

Bài tập tính toán dữ liệu số.

Buổi 18 – Pandas cơ bản: DataFrame, Series và thao tác dữ liệu

Tạo DataFrame từ nhiều nguồn.

Lọc + chọn cột + query.

fillna, dropna.

Xuất file.

Bài tập xử lý bảng dữ liệu.

Buổi 19 – Pandas nâng cao: groupby, apply và tiền xử lý dữ liệu

groupby theo nhiều cột.

apply theo từng dòng.

xử lý giá trị trống/phân loại.

gộp dữ liệu nhiều bảng.

Bài tập mini: báo cáo thống kê.

PHẦN 3 – LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG OOP (Buổi 20–25)
Buổi 20 – Khái niệm OOP: Class, Object và thuộc tính

Class vs Object: Khái niệm và sự khác nhau.

Thuộc tính và phương thức trong class.

Cách tạo và khởi tạo object.

Thực hành mô phỏng thực tế với Student, Product.

Bài tập thực hành tạo class và object cơ bản.

Buổi 21 – Constructor, method và thuộc tính riêng của đối tượng

Constructor (__init__) và truyền tham số khi khởi tạo object.

Ý nghĩa của self và cách sử dụng.

Phương thức đối tượng (instance method).

Gán thuộc tính động sau khi tạo object.

Bài tập thực hành với class Car, thêm phương thức và thuộc tính.

Buổi 22 – Đóng gói dữ liệu, thuộc tính private, getter/setter và property

Đóng gói dữ liệu (Encapsulation) trong OOP.

Thuộc tính private với __attribute.

Getter và setter để truy cập thuộc tính private.

Sử dụng @property cho getter/setter Pythonic.

Bài tập tạo class BankAccount với thuộc tính private.

Buổi 23 – Kế thừa: mở rộng class và override method

Kế thừa class cha – con và cơ chế reuse code.

Sử dụng super() gọi constructor hoặc phương thức của class cha.

Ghi đè phương thức (override) để thay đổi hành vi.

Luồng chạy khi khởi tạo object lớp con.

Bài tập mô hình thực tế: Vehicle → Car, Bike.

Buổi 24 – Đa hình và áp dụng OOP trong mô hình thực tế

Polymorphism: cùng tên phương thức, hành vi khác nhau.

Overriding nâng cao với nhiều lớp và super().

Interface bằng abstract class (abc).

Bài toán demo thực tế: Employee → Manager, Engineer.

Chữa bài tập OOP, so sánh code tốt và chưa chuẩn.

Buổi 25 – Ôn tập OOP toàn bộ

Chữa bài tập OOP từ buổi 20–24.

Viết lại dự án nhỏ theo chuẩn OOP.

Refactor code xấu → code đẹp.

Kiểm tra nhỏ: lý thuyết và thực hành OOP.

Chuẩn bị kiến thức sang API.

PHẦN 4 – API BACKEND FASTAPI (Buổi 26–35)
Buổi 26 – Giới thiệu API, HTTP và tạo server đầu tiên bằng FastAPI

Khái niệm API, request/response.

HTTP methods: GET/POST/PUT/DELETE.

Cài đặt FastAPI và uvicorn.

Tạo route đầu tiên và trả về dữ liệu.

Test API trên browser và Postman.

Buổi 27 – Route nâng cao: path param, query param và validate

Path param: nhận dữ liệu từ URL.

Query param: nhận dữ liệu từ query string.

Validate dữ liệu đầu vào.

Response model chuẩn hóa dữ liệu trả về.

Bài tập CRUD với FastAPI.

Buổi 28 – Pydantic: tạo schema và validate dữ liệu chuẩn

BaseModel trong Pydantic.

Tạo schema input/output.

Optional, default value và kiểu dữ liệu.

Strict validation dữ liệu.

Bài tập CRUD áp dụng Pydantic.

Buổi 29 – CRUD cơ bản không dùng database (dùng list)

Tạo model sản phẩm/tài khoản sử dụng class.

CRUD thao tác trên list thay cho DB.

Kiểm tra dữ liệu trùng (ID, tên, email).

Tổ chức file dự án nhỏ: main.py, models.py, schemas.py.

Bài tập mở rộng: thêm search, sort, filter.

Buổi 30 – SQL cơ bản: SELECT, WHERE, INSERT, UPDATE, DELETE

Cấu trúc bảng: table, cột, khóa chính/khóa ngoại.

SELECT với nhiều điều kiện, AND, OR, LIKE.

INSERT, UPDATE, DELETE cơ bản.

JOIN cơ bản: INNER JOIN, LEFT JOIN.

Bài tập thực hành trên bảng Users và Orders.

Buổi 31 – SQLAlchemy: tạo model, kết nối DB và migration

ORM là gì và cơ chế hoạt động.

Tạo Base và model class.

Kết nối SQLite/MySQL với SQLAlchemy.

Tạo bảng và migration tự động.

Bài tập tạo bảng Product và Category, thêm dữ liệu.

Buổi 32 – CRUD chuẩn với SQLAlchemy

CRUD thao tác trên database thật bằng session.

Xử lý lỗi DB với try/except và rollback.

Quan hệ 1–n và n–n: ForeignKey, relationship.

Tách service – repository quản lý CRUD.

Bài tập API hoàn chỉnh: CRUD Product + Category.

Buổi 33 – Dependency Injection & tổ chức dự án theo chuẩn

Dependency Injection (DI) trong FastAPI.

Tách router – schema – service để quản lý dự án.

Tái sử dụng kết nối DB bằng dependency.

Cấu trúc folder chuẩn production: app/routers, app/schemas, app/services.

Bài tập refactor dự án CRUD Product theo DI.

Buổi 34 – JWT Authentication: đăng nhập, cấp token và bảo vệ API

Nguyên lý hoạt động JWT: header, payload, signature.

Hash mật khẩu với bcrypt/passlib.

Tạo access token và validate token.

Bảo vệ route cần đăng nhập bằng dependency.

Tích hợp authentication vào dự án CRUD.

Buổi 35 – Deploy FastAPI & Dự án cuối khóa

Chuẩn bị project hoàn chỉnh với CRUD và Auth.

Deploy lên nền tảng miễn phí: Render, Railway, Vercel.

Chạy thử API thật trên môi trường production.

Báo cáo dự án: giới thiệu flow, các tính năng đã hoàn thiện.

Đánh giá kết thúc khóa: kiểm tra OOP, SQL, FastAPI và JWT.