Chuyên đề Python: Khoá 1 | Python căn bản – ĐH Michigan – Kiến Học

Chào mừng bạn tham gia vào khoá học “Python căn bản”. Trong khoá học này, chúng ta sẽ học về các kiến thức cơ bản của lập trình và viết một số chương trình đơn giản. Khoá học này tương ứng với các chương từ 1 đến 5 trong quyển sách “Python for Informatics: Exploring Information” (www.pythonlearn.com) của Giáo sư Charles Severance, Đại học Michigan. Chúng tôi sẽ cố gắng hết sức để đảm bảo rằng bạn sẽ thành công trong việc học ngay cả khi bạn chưa có chút kinh nghiệm lập trình nào.

Đây là khoá đầu tiên trong chuỗi 4 khoá học của Chuyên đề Python mà Kiến Học tổ chức. Giáo sư Charles đã xây dựng nội dung để khoá học này phù hợp với cả những người chưa có kinh nghiệm lập trình. Với một quyển sách giáo trình dễ hiểu và các bài tập căn bản tập trung vào những điều cốt lõi của nghệ thuật lập trình, chúng tôi hy vọng rằng, bạn sẽ có được một nền tảng kiến thức vững chắc và sẽ sẵn sàng cho các khoá học tiếp theo trong chương trình.

Chúng tôi nghĩ rằng những bạn đã biết 1 ngôn ngữ lập trình và chỉ đang học thêm Python như 1 ngôn ngữ mới sẽ có thể hoàn tất mọi bài giảng và bài tập trong 2-3 tuần, còn những bạn chưa có kinh nghiệm lập trình sẽ có thể hoàn tất trong 5-6 tuần. Hãy đầu tư thời gian để hiểu cặn kẽ các khái niệm bởi nó sẽ rất hữu ích khi bạn học các khoá sau. Chúng tôi hy vọng bạn sẽ thành công trong khoá học này và tiếp tục với các khoá khác trong chuyên đề.

Nếu bạn thích các bài giảng, hãy khuyến khích các bạn và đồng nghiệp của mình tham gia vào khoá học. Chúng tôi để thời hạn ghi danh rất dài nên các bạn biết đến khoá học muộn hơn cũng sẽ có thể tham gia.

Một lần nữa, chào mừng đến với khoá học và chúc may mắn.

Giới thiệu chuyên đề Python

Chuyên đề Python gồm 4 khoá học nhỏ, có mục tiêu truyền tải đến người học các kỹ năng lập trình Python từ cơ bản đến nâng cao. Sẽ không có các công thức Toán phức tạp và nỗ lực học viên cần cho mỗi tuần chỉ vào khoảng 2 đến 3 giờ. Sau khi học xong, bạn sẽ có khả năng truy xuất, xử lý, và phân tích dữ liệu một cách hiệu quả bằng ngôn ngữ lập trình Python. Bạn cũng sẽ có đủ khả năng học các kiến thức lập trình cao cấp hơn về web, học máy, hay khoa học dữ liệu, là những khoá học mà Kiến Học dự định sẽ đem đến cho các bạn sau khi hoàn tất chuyên đề này.

Python là ngôn ngữ có hình thức đơn giản, gọn gàng, cấu trúc rõ ràng, và thuận tiện cho người mới học lập trình. Tuy nhiên, việc dễ đọc và dễ học không làm cho Python trở thành 1 ngôn ngữ yếu. Ngược lại, Python cực kỳ mạnh mẽ và được dùng trong rất nhiều ngành khoa học khác nhau, từ khoa học máy tính đến sinh học, vật lý, và kinh tế tài chính. Riêng trong ngành khoa học máy tính, Python có thể được sử dụng để phân tích dữ liệu, lập trình web, học máy, xử lý ngôn ngữ tự nhiên, và làm nhiều việc khác. Python cũng là một trong 2 ngôn ngữ lập trình được sử dụng phổ biến nhất bởi các nhà khoa học dữ liệu (data scientist). Chương trình viết bằng Python có thể chạy trên Windows, Mac OS, Linux và nhiều hệ điều hành khác thuộc họ Unix.

Chuyên đề Python này sử dụng tài liệu của khoá học Python for Informatics, do giáo sư Charles Severance, Đại học Michigan, giảng dạy. Bản thân khoá học này được xây dựng dựa trên quyển sách giáo trình nổi tiếng Python for Informatics: Exploring Information mà giáo sư Charles Severance là tác giả. Các tài liệu của khoá học cũng như là chính quyển sách trên được giáo sư Charles chia sẻ miễn phí cho cộng đồng theo giấy phép Creative Commons Attributions 3.0.

Theo khảo sát của trang Online Course Report, khoá học về Python của Giáo sư Charles là khoá học được yêu thích và có nhiều người học nhất về chủ đề Python, đồng thời là một trong những khoá học có nhiều người học nhất tính trên mọi chuyên ngành, với ít nhất 657000 người đã theo học.

Trên Coursera, một chuyên đề Python tương tự với tên gọi Python for Everybody Specialization đã và đang được tổ chức, bao gồm 4 khoá học nhỏ hơn, là (1) Programming for Everybody (Getting Started with Python), (2) Python Data Structures, (3) Using Python to Access Web Data, và (4) Using Databases with Python. Kiến Học cũng tổ chức Chuyên đề Python một cách tương tự với 4 khoá học nhỏ như trên.

Các khoá học trong chuyên đề

KHÓA 1: Python căn bản

Khoá học này dạy các kiến thức lập trình Python cơ bản. Chúng ta sẽ nói về cách thiết kế và tạo ra chương trình từ một dãy các chỉ lệnh trong Python. Bạn không cần biết trước kiến thức gì để có thể học tốt khoá này. Bất kỳ ai có kinh nghiệm sử dụng máy tính một cách thành thạo đều có thể hiểu rõ các bài giảng và tài liệu được cung cấp. Khoá học này tương ứng với các chương từ 1 đến 5 trong quyển sách “Python for Informatics: Exploring Information”. Chúng ta sẽ cùng tìm hiểu về các biến và biểu thức, các câu lệnh điều kiện, vòng lặp và việc thực thi lặp lại nhiều lần, và nhiều chủ đề khác. Dù không phải là lập trình viên, sau khi học xong khoá học này, bạn cũng có thể tự tin viết các chương trình Python nhỏ nhưng hữu ích để làm nhiều công việc cho riêng mình một cách tự động.

KHÓA 2: Các cấu trúc dữ liệu trong Python

Khoá này sẽ giới thiệu các cấu trúc dữ liệu quan trọng nhất của ngôn ngữ lập trình Python. Chúng ta sẽ xem qua các kiến thức căn bản của lập trình thủ tục, sau đó khám phá xem làm cách nào để có thể sử dụng các cấu trúc dữ liệu có sẵn của Python như list, dictionary, và tuple để thực hiện các phân tích dữ liệu phức tạp một cách hiệu quả. Khoá học này tương ứng với các chương từ 6 đến 10 trong quyển sách “Python for Informatics: Exploring Information”.

KHÓA 3: Sử dụng Python để truy xuất dữ liệu Web

Khoá này sẽ cho thấy làm sao ta có thể dùng Internet như một nguồn dữ liệu. Chúng ta sẽ lấy về, phân tích, và đọc dữ liệu web, cũng như là sẽ truy xuất dữ liệu thông qua các web API. Chúng ta sẽ làm việc với các định dạng dữ liệu HTML, XML, và JSON bằng Python. Khoá học này tương ứng với các chương từ 11 đến 13 trong quyển sách “Python for Informatics: Exploring Information”. Để việc học đạt hiệu quả cao nhất, bạn nên chắc chắn rằng mình đã nắm được các kiến thức được trình bày trong các khoá học 1 và 2, hoặc tài liệu trong các chương từ 1 đến 10 của quyển sách trên. Các kiến thức này bao gồm: biến và biểu thức, các câu lệnh điều kiện, vòng lặp, sự rẽ nhánh, các cấu trúc dữ liệu string, list, dictionary, tuple, và việc truy xuất tập tin.

KHÓA 4: Sử dụng cơ sở dữ liệu với Python

Khoá này giới thiệu ngôn ngữ truy vấn có cấu trúc SQL, cũng như là các kỹ thuật thiết kế cơ sở dữ liệu dùng cho việc lưu trữ dữ liệu, như là 1 phần của quá trình thu thập, phân tích, và xử lý dữ liệu. Chúng ta sẽ xây dựng các web crawler và viết mã cho các quá trình thu thập và hiển thị dữ liệu. Chúng ta sẽ dùng cơ sở dữ liệu SQLite3 để lưu trữ và dùng thư viện D3.js để giúp hiển thị dữ liệu. Khoá học này tương ứng với chương 14 và 15 trong quyển sách “Python for Informatics: Exploring Information”. Để việc học đạt hiệu quả cao nhất, bạn nên chắc rằng mình đã nắm vững các kiến thức được trình bày trong các khoá học 1, 2, và 3 trong Chuyên đề Python của Kiến Học, hoặc các tài liệu trong các chương từ 1 đến 13 của quyển sách trên.

Tham khảo:

http://open.umich.edu/education/si/coursera-programming-everybody/winter2014.html

https://www.coursera.org/learn/python/

The 50 Most Popular MOOCs of All Time (Updated For 2021)

Giảng viên

Giáo sư Charles Severance – Đại học Michigan

http://www.dr-chuck.com

Charles Severance (hay còn gọi là Tiến sĩ Chuck, website: www.dr-chuck.com) là giáo sư của Đại học Michigan, nơi ông dạy nhiều môn về công nghệ như lập trình, thiết kế cơ sở dữ liệu, và lập trình web. Chuck là tác giả của nhiều quyển sách, trong đó có “Using Google App Engine” và “Python for Informatics: Exploring Information”. Lĩnh vực nghiên cứu của ông là các hệ thống quản lý môn học, ví dụ như hệ thống Sakai, Moodle, Blackboard, và ANGEL. Ông là kiến trúc sư trưởng của dự án Sakai, một hệ thống quản lý môn học được sử dụng tại khoảng 300 trường trên thế giới, và là tác giả của quyển sách “Sakai: Free as in Freedom”. Hiện nay, ông là người phụ trách của chuyên mục “Computing Conversations” của tạp chí IEEE Computer, nơi hàng tháng ông có bài phỏng vấn các nhà lãnh đạo nổi tiếng trong lĩnh vực công nghệ.

————————-

Đội ngũ dịch và đảm bảo chất lượng: Kiến Học, bao gồm các tình nguyện viên và 2 cố vấn sau:

+ TS. Đặng Ngọc Minh (Swiss Federal Institute of Technology in Lausanne)

+ TS. Mai Hải Thanh (Korea Advanced Institute of Science and Technology)

Sách giáo trình

Python for Informatic: Exploring Information

Bản in của quyển sách này có bán trên Amazon với giá nhỏ hơn 10 USD. Tuy nhiên, bạn có thể tải bản PDF hay HTML của nó và sử dụng cho cá nhân một cách hoàn toàn miễn phí với sự cho phép của Giáo sư Charles, tại đây: http://www.pythonlearn.com/book.php

Mã nguồn của toàn bộ các ví dụ trong sách có thể tải về từ đây: http://www.pythonlearn.com/code.zip, hoặc từ đây: http://www.pythonlearn.com/code/