Python là một trong những ngôn ngữ lập trình phổ biến và có tính ứng dụng cao trong nhiều lĩnh vực cũng như nhu cầu tuyển dụng lớn. Vì vậy codecamp sẽ đưa ra khóa học python miễn phí nhằm mục đích cung cấp cho các bạn kiến thức để làm chủ python. Toàn bộ khóa học sẽ được rút ngắn trong 2 tuần với những nội dung cô đọng và giúp bạn dễ hiểu nhất.

Khóa học python miễn phí

Khóa học này dành cho ai?

Khóa học này được thiết kế dành cho những người mới bắt đầu học về lập trình cũng như bắt đầu học python. Nội dung kiến thức sẽ được trình bày ở mức cơ bản từ giới thiệu, giải thích cho đến áp dụng để giúp các bạn dễ hình dung về bài học.

Trong nội dung bài học ngoài ví dụ bằng code mình sẽ trình bày thêm một số hình ảnh minh họa như sơ đồ thuật toán, video.... Kết thúc một số phần lý thuyết sẽ có các video nhằm hướng dẫn thực hành code.

Thời lượng khóa học này bao lâu?

Khóa học này được thiết kế dành cho các bạn tự học trong vòng 2 tuần. Sau 2 tuần mình tin các bạn sẽ làm chủ python nếu tập trung học và theo dõi đầy đủ.

Nội dung khóa học

BUỔI 01 : Introduction to Python

Giới thiệu ngôn ngữ lập trình Python, lịch sử và sự phát triển hiện tại

Thiết lập môi trường và công cụ lập trình

Cấu trúc một chương trình viết với Python

 Các từ khóa, biến và các kiểu dữ liệu.

Labguide: Cài đặt tool lập trình tạo project, biên dịch và chạy chương trình.

BUỔI 02: Các cấu trúc cơ bản trong Python

 Các phép toán số học, phép quan hệ, phép gán.

Vào, ra dữ liệu trong chương trình.

Cấu trúc rẽ nhánh

Cấu trúc lặp: xác định và không xác định.

Labguide: Luyện tập các thuật toán sử dụng cấu trúc rẽ nhánh, cấu trúc lặp

BUỔI 03: Cấu trúc lặp (continute), Mảng và Strings

Cấu trúc lặp (tiếp tục)

Mảng 1 chiều và mảng 2 chiều

Chuỗi và các phương thức xử lý chuỗi.

Numbers, List và Tuples

Labguide: Các bài tập lưu trữ với mảng và xử lý chuỗi, List

BUỔI 04: Làm việc với Numbers, Lists, Tuples và Dictionary

Giới thiệu về Python Lists: creating, updating, delete, accessing value.

Numbers, Tuples, Dictionary

Labguide: Các bài tập làm việc với Numbers, Lists, Tuples và Dictinary

BUỔI 05: Funtions và Modules

Giới thiệu Funtions: Defining a Funtion, Calling a Funtion, Pass by reference vs value

Giới thiệu Modules: Import, Namespaces và Scoping

Labguide: Hướng dẫn làm việc với Functions và Modules

BUỔI 06: Lập trình hướng đối tượng

Giới thiệu về lập trình hướng đối tượng: Data Abstraction, Encapsulation, Modularity, Polymorphism, Inheritance.

Tìm hiểu về Class và Object. Variables và Methods.

Hàm khởi tạo: Constructor.

Package và hướng dẫn cấu trúc lập trình trong project.

Labguide: Thực hành tạo các Class (Học viên, Giảng viên, Môn học…) và khai báo Object gọi phương thức ra xử lý.

BUỔI 07 + BUỔI 08: Lập trình hướng đối tượng (Tiếp)

Tính kế thừa, đa kế thừa trong Python.

Phạm vi truy nhập: public, private.

Tính đa hình (Polymorphism).

Trừu tượng (Abstraction) và giao diện (Interface).

Labguide: Cấu trúc lại chương trình sử dụng đặc tính kế thừa, đa hình, trừu tượng.

BUỔI 09 : Xử lý ngoại lệ (Exception) & Files I/O

Tổng quan về ngoại lệ.

Check Exception và Uncheck Exception.

Throwing Exception.

Kỹ thuật debug, kiểm soát ngoại lệ.

The file object attributes.

File & Directory Related Methods.

Các kỹ thuật đọc ghi file hiệu quả với chương trình.

Labguide: Luyện tập xử lý ngoại lệ và sử dụng kỹ thuật debug để kiểm soát ngoại lệ.

Các kỹ thuật đọc, ghi file, các kỹ thuật sử dụng bộ đệm.

 BUỔI 10: Đa luồng (Multithread) Luồng (Thread).

Tạo và quản lý Thread.

Sự đồng bộ hóa trong lập trình đa luồng.

Labguide: Luyện tập các bài toán xử lý đa luồng và đồng bộ trong nghiệp vụ ngân hàng (chuyển tiền, truy vấn tài khoản, rút tiền…).

 BUỔI 11: Python Networking

What is Socket? TCP, UDP Protocol.

Mô hình Client – Server. Socket Client and Server.

Labgiude: Luyện tập về socket TCP, UDP.

BUỔI 12 + BUỔI 13: Database Giới thiệu về database.

Hệ quản trị database.

Cơ bản về SQL (Structured Query Language).

Table, Record, Column. Select, Insert, Update, Delete.

Join, Group, Having, Order by. Index, Partition.

Trigger.

Labguide: Luyện tập cài đặt, tạo bảng và làm việc truy vấn SQL với cơ sở dữ liệu.

BUỔI 14 + BUỔI 15: Database Access Python DB Connector: connecting to MySQL, PostgreSQL, Oracle…

Database connection. Cursor. Select, Insert, Update, Delete Operation.

Transactions.

Labguide: Tạo bảng, kết nối cơ sở dữ liệu MySQL/PostgreSQL, thêm, sửa, xóa dữ liệu trên bảng.

Lịch sử phát triển của python

Python là ngôn ngữ lập trình bậc cao ra đời khá lâu, do Guido van Rossum tạo ra và ra mắt lần đầu vào năm 1991. Python là ngôn ngữ được thiết kế với tiêu chí trở thành ngôn ngữ dễ đọc, dễ học, cú pháp đơn giản nhưng hiệu quả và dễ triển khai. Ban đầu python được thiết kế để chạy trên hệ điều hành Unix, nhưng về sau python được mở rộng để chạy trên mọi hệ điều hành từ MS-DOS, window, linux... Hiện nay python đã được đưa vào thay thế pascal ở chương trình lập trình ở phổ thông, chứng tỏ việc dễ tiếp cận cho người mới bắt đầu.

Python ra đời năm 1991, cho đến nay đã trả qua gần 30 năm, ngôn ngữ này đã có một số giai đoạn phát triển trước khi trở thành ngôn ngữ phổ biến như bây giờ.

Python phiên bản 1.x: Phiên bản này bắt đầu từ đầu đến cuối những năm 90 và chủ yếu phổ biến tại nơi tác giả của ngôn ngữ này làm việc, đó là  tại CWI (Centrum voor Wiskunde en Informatica - Trung tâm Toán-Tin học tại Amsterdam, Hà Lan). Tuy nhiên từ bản 1.6 python bắt đầu dịch chuyển sang theo chuẩn mã nguồn mở GPL

Phiên bản python 2: Phiên bản ra mắt năm 2000, dần được cộng trình lập trình viên đón nhận rộng rãi. Bản quyền của phiên bản này được đổi thành Python Software Foundation License. Phiên bản python 2 mới được PSF thông báo ngưng hỗ trợ mới gần đây, trước đó cộng đồng lập trình viên vẫn có thể sử dụng 2 phiên bản python2 và python 3.

Phiên bản python 3: 3.x là phiên bản hiện tại đang được hỗ trợ. Python 3 sẽ không tương thích với python 2 do phiên bản mới đã cập nhật thay đổi một số cách viết cũ. Tuy nhiên vẫn có công cụ để chuyển đổ từ phiên bản 2 sang phiên bản 3.

Đặc điểm của ngôn ngữ lập trình python

Python là ngôn ngữ với triết lý đơn giản hóa mọi thứ, có thể tóm gọn trong một số đặc điểm sau:

- Đẹp đẽ tốt hơn xấu xí

- Minh bạch tốt hơn che đậy

- Đơn giản tốt hơn phức tạp

- Phức tạp tốt hơn rắc rối

- Dễ đọc

Dễ học: 

Python có ít từ khóa, và sử dụng tiếng Anh cho các từ khóa đó. Ngoài ra nó sử dụng ít các ký hiệu đặc biệt trong cú pháp.

Python phân biệt chữ hoa, chữ thường. ví dụ biến 'example' sẽ khác với biến 'Example'.

Dễ viết

Với triết lý đơn giản hóa mọi thứ, python rất dễ viết. Cảm giác viết python giống như bạn đang viết nội dung cho một cuốn sách, nó khá gần với ngôn ngữ thường ngày của con người. Ngoài ra python không dùng đến các ký hiệu không cần thiết của các ngôn ngữ khác ví dụ như dấu { }. Thay vì đưa một khối lệnh vào giữa dấu { } thì python viết các khối lệnh này thụt vào về bên phải so với cấu trúc bên ngoài nó. Dấu chấm phẩy cũng không cần thiết ở python, chúng đã loại bỏ dấu chấm phẩy ở cuối mỗi dòng lệnh

Python hiện tại có phổ biến không?

Chính vì tính đơn giản của python, python đang được áp dụng để xây dựng nhiều phần mềm, hệ thống cực kỳ phổ biến. Đặc biệt là cộng đồng người sử dụng python rất đông. Nếu bạn gặp phải một vấn đề gì khi lập trình python thì chắc chắn sẽ có rất nhiều người có thể giúp đỡ bạn. Hiện nay python là ngôn ngữ phổ biến thứ nhất trên toàn thế giới theo thống kê của Github

Xếp hạng phổ biến của ngôn ngữ python

Có nên học python

Chính vì python có nhiều ưu điểm hơn so với các ngôn ngữ khác nên để bắt đầu, tôi khuyên bạn nên bắt đầu với python. Có rất nhiều ứng dụng bạn có thể tạo ra với python. Ngoài ra nhu cầu tuyển dụng hiện nay đối với các lập trình viên rất lớn và mức lương cũng khá cao so với mặt bằng. Nếu học tốt bạn có thể tham gia vào các dự án web, lập trình hệ thống, trí tuệ nhân tạo, phân tích và khai phá dữ liệu..v.v...