Home / Tài liệu CNTT / Lập trình Python / Think Python 2nd edition tiếng Việt PDF

Think Python 2nd edition tiếng Việt PDF

  • Sách: Think Python: How to think like a compter scientist
  • Tác giả: Allen B. Downey

Quyển Think Python sẽ giới thiệu các bạn mới bắt đầu đến việc lập trình bằng ngôn ngữ Python. Nó bắt đầu với những ý tưởng cơ bản của lập trình, và được thiết kế cẩn thận để xác định tất cả các điều khoản khi nó được sử dụng trước tiên và để lập trình mỗi ý tưởng mới trong tiến trình logic. Với những phần lớn hơn, như đệ quy hay lập trình hướng đối tượng được chia ra thành chu kỳ nhỏ với từng bước nhỏ và được giới thiệu xuyên suốt khóa học qua các chương.

Ngoài ra sách của sử dụng Python 3, hướng dẫn chạy Python trên trình duyệt hiện có, giới thiệu các tính năng thú vị của Python như cấu trúc dữ liệu bổ sung, list comprehension và các bài tập đòi hỏi tư duy rất thú vị.

Sự ra đời kì lạ của cuốn sách này

(Lời giới thiệu của tác giả)

Tháng Một năm 1999 tôi chuẩn bị dạy một lớp học nhập môn lập trình ngôn ngữ Java. Tôi đã từng dạy khoá học này ba lần và cảm thấy không hài lòng. Sinh viên có tỉ lệ thi trượt rất cao, và ngay cả những người qua được, thì điểm cũng không khả quan.

Một trong những vấn đề tôi thấy được là ở những cuốn sách giáo trình. Chúng thường quá dày, với nhiều chi tiết nhỏ nhặt về Java, và không có đủ những hướng dẫn lập trình theo tầm nhìn bao quát. Và chúng đều bị mắc phải hiệu ứng “cửa sập”: khởi đầu rất dễ dàng, phát triển từ từ, và đến Chương 5 thì lôi ra đủ mọi kiến thức. Sinh viên sẽ tiếp thu quá nhiều tài liệu, quá gấp gáp, và hậu quả cuối cùng là đến cuối kì thì “chữ thầy trả thầy”.

Hai tuần lễ trước khi khoá học bắt đầu, tôi quyết định viết quyển sách của riêng mình. Mục tiêu của tôi là:

  • Viết ngắn gọn. Để sinh viên đọc 10 trang thì hay hơn là 50 trang.
  • Chú ý đến từ ngữ. Tôi cố gắng hạn chế dùng các thuật ngữ, và mỗi khi dùng lần đầu thì định nghĩa chúng luôn.
  • Xây dựng dần dần. Để tránh các tình trạng “cửa sập”, tôi đem chia nhỏ những chủ đề khó thành một chuỗi các bước kế tiếp nhau.
    Chú ý đến lập trình thay vì ngôn ngữ lập trình. Tôi chỉ trình bày phần rất nhỏ nhưng thiết yếu của Java và lược qua tất cả phần còn lại.

Nhan đề cuốn sách tôi chọn theo ý thích của riêng mình, là Cách tư duy như nhà khoa học máy tính.

Phiên bản ban đầu rất sơ lược, nhưng đã có hiệu quả. Sinh viên nghiêm túc đọc tài liệu, và hiểu rằng khi lên lớp tôi chỉ giảng về những phần khó, còn những chủ đề hay (và quan trọng nhất) là để cho sinh viên luyện tập.

Tôi đã phát hành quyển sách theo giấy phép Văn bản tự do của GNU, theo đó người dùng có thể tự sao chép, sửa đổi và phân phối sách.

Câu chuyện tiếp diễn rất thú vị. Jeff Elkner, một giáo viên trung học dạy tại Virginia, đã chọn lấy cuốn sách của tôi và biên tập với ngôn ngữ Python. Ông đã gửi tôi một bản dịch, và tôi đã có một kinh nghiệm thú vị khi học được Python từ chính sách của mình.

Jeff và tôi đã hiệu đính lại quyển sách, thêm vào một phần ví dụ thực tế của Chris Meyers, và năm 2001 chúng tôi phát hành Cách tư duy như nhà khoa học máy tính: Học với ngôn ngữ Python, cũng theo Giấy phép Văn bản tự do của GNU.

Với nhà xuất bản Green Tea, tôi phát hành quyển sách và bắt đầu bán những cuốn sách in, qua Amazon.com và các hiệu sách đại học. Những cuốn sách khác cùng nhà xuất bản Green Tea đều có tại greenteapress.com.

Năm 2003 tôi bắt đầu dạy tại Đại học Olin College, cũng là lần đầu tiên tôi dạy Python. Nét tương phản với Java thật là ấn tượng. Sinh viên đã đỡ vất vả, học được nhiều hơn, tham gia nhiều dự án thú vị hơn, và nói chung đều rất vui vẻ.

Trong khoảng năm năm qua tôi vẫn tiếp tục chỉnh biên cuốn sách, sủa lỗi, cải thiện các ví dụ và thêm vào tư liệu, đặc biệt là các bài tập. Trong năm 2008 tôi đã bắt đầu làm việc với một phiên bản chính—cùng lúc đó tôi có được hợp đồng với một biên tập viên tại Nhà xuất bản Đại học Cambridge. Họ muốn tiếp tục phát hành một ấn bản kế tiếp. Thật kịp thời!

Kết quả là cuốn sách này, bây giờ đã với tên gọi ngắn gọn hơn: Tư duy trong Python. Một số sửa đổi bao gồm:

  • Tôi đã thêm vào một mục ở cuối mỗi chương, chuyên về gỡ lỗi. Mục này trình bày những kĩ thuật chung để phát hiện và tránh lỗi khi lập trình, và cảnh báo những bẫy nhỏ trong Python.
  • Tôi lược bỏ một số phần trong những chương cuối, về tạo lập các danh sách và cấu trúc cây. Mặc dù vẫn thích những chủ đề này, nhưng tôi nghĩ rằng chúng không phù hợp với phần còn lại của cuốn sách.
  • Tôi đã thêm vào các bài tập, từ những bài kiểm tra ngắn về độ hiểu bài cho đến một vài chương trình phần mềm thực sự.
  • Tôi bổ sung thêm một loạt các chương trình cụ thể—những ví dụ dài hơn với bài tập, lời giải, và biện luận. Một số trong đó dựa trên Swampy, một bộ chương trình Python mà tôi đã soạn thảo cho quá trình dạy trên lớp. Swampy, mã lệnh, và lời giải được tải lên trang thinkpython.com.
  • Tôi đã mở rộng các kế hoạch xây dựng chương trình và những kiểu mẫu thiết kế cơ bản.

Cách dùng của Python trong sách đã dựa vào nhiều điểm đặc thù của ngôn ngữ lập trình này. Dù rằng mục đích chủ yếu của cuốn sách là dạy về lập trình chứ chứ không phải Python, song tôi nghĩ rằng nhờ ngôn ngữ này mà chất lượng cuốn sách đã được nâng cao.

Tôi hi vọng bạn thích đọc cuốn sách này, với mục đích giúp cho bạn học cách lập trình và suy nghĩ theo kiểu một nhà khoa học máy tính.

Allen B. Downey
Needham Massachusett, Hoa Kì.

Download: PDF

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *