Học Python ngon mà không dai (web, data analytics)
Python, git, GitLab, GitHub, unittest, Linux, PEP8, CI
Python, git, GitLab, GitHub, unittest, Linux, PEP8, CI
Là lớp học lập trình Python dành cho mọi trình độ học viên. Lúc bắt đầu, bạn có thể chưa biết gì, nhưng khi kết thúc khóa học, bạn đã là một lập trình viên Python chuyên nghiệp, có kiến thức chính xác và đầy đủ. Thành thạo các công cụ cần thiết của lập trình viên chuyên nghiệp: git, GitLab, GitHub, unittest, Linux, PEP8, CI..., có kinh nghiệm trong nhiều lĩnh vực khác nhau như:
thu thập dữ liệu (web crawling/scraping)
làm website, làm web API
phân tích dữ liệu khoa học (pandas, numpy, matplotlib)
viết tool tự động hóa
Ngoài ra lớp học còn:
Cung cấp cho người học tất cả các khái niệm quan trọng trong Python. Những lỗi hay mắc phải, và cách dùng tốt nhất đối với mỗi khái niệm.
Chia sẻ các kinh nghiệm, kiến thức thực tế để trở thành lập trình viên Python (Pythonista), sử dụng các công cụ cần thiết liên quan đến Python như pip pep8 pdb virtualenv... và các công cụ khác (command line/TDD/git/github/IDE...).
Giới thiệu các khái niệm cơ bản trong ngành khoa học máy tính như thuật toán, độ phức tạp về thời gian
Giới thiệu các khái niệm cơ bản trong ngành khoa học máy tính như thuật toán, độ phức tạp về thời gian
Giới thiệu các khái niệm cơ bản trong ngành khoa học máy tính như thuật toán, độ phức tạp về thời gian
Khu vực Câu hỏi thường gặp trống
Type conversion - biến đổi kiểu dữ liệu
Bài tập: ProjectEuler 16
Bài giải ProjectEuler 16
Giới thiệu list comprehension
List comprehension mapping
List comprehension filter
List comprehension reduce
Giới thiệu MapReduce, BigData
Kiểu tuple
Vì sao có list còn có tuple, khi nào dùng tuple
Giới thiệu blockchain và mối liên quan tới tuple
Tuple unpacking
Kiểu set
Import math
Import random, cảnh báo bảo mật
Import this, cách đọc code của các module có sẵn
Import antigravity, mối quan hệ giữa bia và code
Giới thiệu đầu ra/ đầu vào - input/output
Ghi file
Đọc file
Kiểu dictionary
Các methods của dictionary
Giới thiệu độ phức tạp thuật toán Big O - tốc độ tìm kiếm trong dict
Đọc ghi file lớn
Đọc file từng dòng
Serde: serialization, deserialization
Giới thiệu JSON và thư viện json
Ứng dụng JSON trong thực tế
Tự đóng file với with
Xử lý exception: try/except/else
Xử lý exception: ví dụ KeyError
Naming: vấn đề đặt tên
Naming: 3 mức độ chuyên nghiệp - 3 mức lương
Naming: đặt tên rất khó
Function: builtin functions - function có sẵn
Function: tạo function với từ khóa lambda
Sắp xếp dictionary theo value sử dụng lambda
Bài tập: lambda function không nhận đầu vào
Function: định nghĩa function - def
Function: return
List.sort so với sorted
Progress check point
Dict key
Import syntax
Dict hash function
Import hoạt động thế nào
Name binding
Name binding & id function
Programming paradigms
Shallow copy vs Deep copy
GIới thiệu class - OOP
Function: docstring
Class attributes - thuộc tính
Function: default argument
Dunder methods
Function: call by keyword argument
Inheritance - kế thừa
Function: *args
Multiple inheritance - đa kế thừa
Function: **kwargs
Tự định nghĩa Exception
Type annotation
Cây gia phả Exception - hierarchy
Mypy: kiểm tra kiểu dựa trên type annotation
Ứng dụng OOP: làm giao diện đồ họa GUI
Function: scope
Ứng dụng OOP: làm game với pygame
Function: namespace
Standard library - thư viện tiêu chuẩn có sẵn, pymotw
Function: global
Tạo môi trường ảo venv, cài package pip
Function: call by assignment
__name__ và __main__
Không yêu cầu kiến thức về lập trình trước khi tham gia khóa học.
Cung cấp đầy đủ các khái niệm quan trọng trong Python, các lỗi sai và cách sửa
Viết code theo các tiểu chuẩn của Python (pep8, pythonic), tối ưu hơn
Kiến thức thực tế để trở thành lập trình viên Python (Pythonista), sử dụng các công cụ cần thiết liên quan đến Python và các công
Giúp học viên có kinh nghiệm thực tế với hệ thống quản lý mã nguồn hiện đại (sử dụng Git)