Môn học "Lập trình nâng cao với Python" trang bị cho sinh viên những kiến thức chuyên sâu và kỹ năng thực hành cần thiết để xây dựng các ứng dụng Python phức tạp. Sinh viên sẽ được tiếp cận các khái niệm như lập trình hướng đối tượng, thao tác dữ liệu nâng cao, xử lý song song, lập trình mạng và phát triển ứng dụng thực tế. Môn học nhằm phát triển tư duy thuật toán, khả năng giải quyết vấn đề và sẵn sàng cho các dự án lớn trong học tập và công việc thực tế.
Chương trình môn học: LẬP TRÌNH NÂNG CAO VỚI PYTHON
Chương 1: Ôn tập và mở rộng kiến thức Python cơ bản
1.1. Cấu trúc dữ liệu nâng cao: list, tuple, set, dict
1.2. Hàm nâng cao: hàm lambda, map, filter, reduce
1.3. Quản lý tệp và xử lý tệp nâng cao (CSV, JSON)
1.4. Xử lý lỗi, ngoại lệ và logging
Chương 2: Lập trình hướng đối tượng (OOP)
2.1. Lớp và đối tượng trong Python
2.2. Thuộc tính, phương thức, hàm khởi tạo và hàm đặc biệt
2.3. Kế thừa, đa hình và nạp chồng
2.4. Thiết kế lớp trừu tượng và interface (sử dụng abc)
2.5. Quản lý nhiều đối tượng và module OOP thực tế
Chương 3: Xử lý dữ liệu và thao tác với thư viện
3.1. Thư viện NumPy: mảng, phép toán đại số tuyến tính
3.2. Thư viện Pandas: DataFrame, xử lý dữ liệu bảng
3.3. Trực quan hóa dữ liệu với Matplotlib, Seaborn
3.4. Làm việc với dữ liệu thời gian thực và APIs (requests)
Chương 4: Lập trình đa tiến trình, bất đồng bộ và xử lý tệp lớn
4.1. Giới thiệu về đa luồng (threading)
4.2. Lập trình song song với multiprocessing
4.3. Lập trình bất đồng bộ với asyncio
4.4. Xử lý tệp lớn, stream dữ liệu
Chương 5: Lập trình mạng và giao tiếp máy – máy
5.1. Giao thức TCP/IP, HTTP
5.2. Lập trình socket trong Python
5.3. Gửi – nhận dữ liệu và xây dựng máy chủ mini
5.4. Làm việc với RESTful API: client và server cơ bản
Chương 6: Ứng dụng thực tiễn và phát triển dự án
6.1. Xây dựng ứng dụng web đơn giản với Flask/FastAPI
6.2. Quản lý cơ sở dữ liệu với SQLite và SQLAlchemy
6.3. Giao diện người dùng đơn giản với Tkinter hoặc Streamlit
6.4. Dự án cuối kỳ: Phát triển ứng dụng tổng hợp
- Teacher: Admin User