## 1. Invent Your Own Computer Games with Python


Invent Your Own Computer Games with Python sẽ hướng dẫn bạn làm thế nào để tạo ra các trò chơi máy tính sử dụng ngôn ngữ lập trình Python - ngay cả khi bạn chưa biết gì về lập trình trước đó. Bắt đầu bằng cách xây dựng trò chơi cổ điển như Hangman, đoán số, Tic-Tac-Toe, rồi đến các trò chơi phức tạp hơn như trò chơi săn kho báu, trò chơi va

chạm với hiệu ứng âm thanh,…. Xuyên suốt quyển sách, bạn sẽ học được các khái niệm về lập trình và toán học quan trọng, các kiến thức khoa học máy tính cơ bản. Đọc sách và làm theo các hướng dẫn, bài tập bạn sẽ có được nền tảng vững chắc về lập trình Python và rất thú vị khi bạn có được những game do chính tay bạn lập trình.

## 2. Making Games with Python & Pygame


Cuốn sách Making Games with Python & Pygame là một cuốn sách lập trình hướng dẫn sử dụng thư viện trò chơi Pygame trên ngôn ngữ lập trình Python. Thay vì giảng dạy các
khái niệm lập trình và để bạn loay hoay xây dựng chương trình với các khái niệm đó, cuốn sách này sẽ giới thiệu bạn các chương trình, các game rồi sau đó giải thích các khái niệm lập trình được ứng dụng thế nào trong game đó.

Bạn nên đọc lần lượt các chương của sách theo thứ tự. Mỗi chương sẽ tập trung vào một chương trình trò chơi và đều có giải thích kỹ ý nghĩa của các đoạn mã lệnh của trò chơi. Bạn sẽ gặp lại nhiều lần cùng khái niệm trong nhiều ứng dụng trò chơi khác nhau, nhưng thường thì chương đầu tiên thì các khái niệm mới sẽ được giải thích kỹ nhất. Cuốn sách này rất phù hợp cho các trẻ em từ 10 đến 12 tuổi để tự học lập trình game trên Python nhưng cuốn sách cũng rất tuyệt cho những ai muốn tự học Python qua lập trình game.

## 3. Think Python – 2 edition


Think Python – How to think like a computer scientist là cuốn sách nhập môn lập trình Python khá hay dành cho người mới bắt đầu. Cuốn sách được thiết kế cẩn thận giúp bạn dễ dàng nắm vững các khái niệm cơ bản về lập trình và các thuật ngữ lập trình từ dễ đến khó, rất logic và có nhắc lại, bổ sung thêm sau đó để bạn dễ hiểu các khái niệm này. Những phần phức tạp như lập trình đệ quy hay lập trình hướng đối tượng, bạn sẽ gặp trong nhiều chương và có nâng cấp từng chút một từ cơ bản đến chuyên sâu. Bài tập của sách khá hay, đôi lúc bạn phải “động não” mới có thể thực hiện được.

## 4. Python for everybody


Có thể xem cuốn sách Python for Everybody – Exploring Data in Python 3 như là phần bổ sung, mở rộng cho sách Think Python – How to think like a computer scientist với các ví dụ minh họa và bài tập liên quan đến việc xử lý dữ liệu hơn. Nếu bạn không phải là chuyên CNTT, không muốn trở thành lập trình viên Python chuyên nghiệp trong tương lai nhưng bạn muốn ứng dụng CNTT hiệu quả trong công việc kinh doanh, nghiên cứu, quản lý,… của mình thì đây là quyển sách dành cho bạn. Cuốn sách gồm 16 chương tập trung xử lý các vấn đề, tình huống trong thực tế liên quan đến dữ liệu với Python, rất hay và hữu ích cho những bạn lập trình Python không chuyên.

## 5. Automate the boring stuff with Python


Bạn sẽ tìm thấy trong cuốn sách Autom ate the Boring Stuff with Python những bài tập, ví dụ đơn giản, thấy ngay kết quả cho dù bạn mới bắt đầu làm quen với lập trình Python. Bạn sẽ được học lập trình Python qua các ví dụ nhỏ, thực hiện tự động hóa các công việc đơn giản nhưng lặp đi lặp lại khá thông dụng trong thực tế như :

• Tìm kiếm những tập tin có đoạn văn bản cần thiết
• Tạo, cập nhật, di chuyển, và đổi tên cùng lúc nhiều tập tin và thư mục
• Tìm kiếm thông tin trên Web và download về máy tính
• Cập nhật và định dạng dữ liệu trong bảng tính Excel một cách tự động.
• Tự động gửi email và kích hoạt các thông báo nhắc
• ….

## 6. Problem Solving with Algorithms and Data Structures using Python


Cuốn sách viết khá kỹ và chi tiết về thuật giải, cấu trúc dữ liệu và giải thuật với các ví dụ minh họa có đầy đủ mô hình flow diagrams và mã lệnh Python. Đây là các kiến thức mà bất kỳ sinh viên CNTT nào cũng phải học và nhắc đi nhắc lại trong các chương trình chính quy. Rèn luyện các kiến thức này giúp bạn nâng cao kỹ năng giải quyết vấn đề, và kỹ năng tư duy logic rất nhiều. Nếu bạn mới bắt đầu học lập trình và muốn có kiến thức nền tảng về giải thuật, giải quyết vấn đề thì đây là cuốn sách bạn nên đọc và nên đọc nhiều lần. Ngoài ra, bạn sẽ tìm thấy nhiều vấn đề cơ bản về khoa học máy tính rất hay trong cuốn sách này bên cạnh những khái niệm liên quan đến lập trình Python.

## 7. Test-Driven Development with Python


Cuốn sách Test-Driven Development with Python sẽ đưa bạn qua lần lượt các giai đoạn xây dựng ứng dụng web trong thực tế với Python, bạn không những được học về Python mà còn biết thêm rất nhiều, từ việc xây dựng cơ sở dữ liệu cho ứng dụng, sử dụng JavaScript đến các công cụ test tự động như Selenium, cùng các chủ đề nâng cao như NoSQL, Web Sockets và lập trình async. Cuốn sách không những hướng dẫn bạn lập trình web với Python trên Django mà còn giúp bạn hiểu phương pháp phát triển ứng dụng và làm sao để có những đoạn mã lệnh có phong cách, làm sao xây dựng ứng dụng web chuyên nghiệp, dễ bảo trì sau này hơn.

## 8. Python CookBook


Python CookBook không phải là một cuốn sách được thiết kế cho người mới bắt đầu học lập trình Python. Cuốn sách này dành riêng cho các lập trình viên Python đã có những kiến thức nhất định về lập trình Python, muốn hiểu sâu hơn về ngôn ngữ Python, cốt lõi của các vấn đề và các kỹ thuật nâng cao để có thể lập trình tốt hơn, xây dựng được các ứng dụng có tốc độ xử lý tối ưu và sử dụng hiệu quả tài nguyên hệ thống hơn. Cuốn sách không giúp bạn tra cứu nhanh các hàm, module nào đó mà tập trung vào các chủ đề lập trình cụ thể, đưa cho bạn các giải pháp khả thi cùng các link trực tuyến để bạn dễ dàng tham khảo tiếp.

## 9. Think Complexity


Think Complexity là cuốn sách chuyên về thuật toán, cấu trúc dữ liệu dành cho các lập trình viên Python muốn nâng cao kỹ năng lập trình trên Python. Để hiểu rõ các nội dung trình bày trong sách, người đọc cần đọc kỹ về kỹ thuật, thực hành và đánh giá cách giải, nghĩ thêm cách giải quyết khác để có thể hiểu sâu – hiểu chắc về Python.

## 10. Python for Biologists


Nếu bạn làm trong lĩnh vực sinh học, công nghệ sinh học,… thì sách Python for Biologists là dành cho bạn. Sách tập trung vào việc ứng dụng lập trình Python trong lĩnh vực sinh học, xử lý chuỗi DNA và protein,… Thông qua các ví dụ có liên quan trong sinh học, mã lệnh và bài tập trong sách bạn có thể hiểu rõ hơn về việc ứng dụng lập trình Python trong các công việc không chuyên, đặc biệt là lĩnh vực sinh học.

Trung Tâm Tin Học ĐH KHTN