Think Python, Edisi ke-3
(allendowney.github.io)- Buku pengantar Python untuk orang yang baru belajar pemrograman atau pernah mengalami kesulitan dalam belajar sebelumnya, dan edisi cetak serta ebook Edisi ke-3 dapat dipesan
- Seluruh buku tersedia dalam bentuk notebook Jupyter, sehingga membaca teks, menjalankan kode, dan mengerjakan latihan bisa dilakukan dalam satu alur
- Notebook setiap bab dapat langsung dijalankan di Colab, sehingga mudah memulai belajar tanpa instalasi terpisah
- Edisi ke-3 menata ulang alur pembelajaran melalui revisi isi, penyesuaian urutan beberapa bab, dan perluasan latihan
- Saran penggunaan ChatGPT dan Colab AI di akhir bab berfungsi sebagai sarana bantu untuk mendapatkan penjelasan tambahan dan bantuan mengerjakan latihan saat menemui hambatan
Buku pengantar Python untuk pemula
- Think Python adalah buku pengantar Python untuk orang yang baru pertama kali mengenal pemrograman, atau yang pernah mencoba sebelumnya tetapi mengalami kesulitan
- Edisi cetak dan ebook Edisi ke-3 dapat dipesan di Bookshop.org dan Amazon
- Halaman landing buku dari Green Tea Press dapat dilihat di Think Python 3rd Edition
- Edisi ke-3 menyusun seluruh isi buku dalam bentuk notebook Jupyter agar teks, kode yang bisa dijalankan, dan latihan berada di satu tempat
- Notebook dapat dijalankan di Colab, sehingga beban instalasi berkurang
- Isi buku telah direvisi cukup besar dan urutan beberapa bab diatur ulang
- Jumlah latihan ditambah
- Di akhir setiap bab ada panduan memanfaatkan ChatGPT dan Colab AI untuk belajar dan mengerjakan latihan
Notebook Colab dan materi untuk pengajaran
-
Notebook per bab
- Seluruh notebook tersedia dalam 19 bab
- Bab 1: Programming as a way of thinking — Jalankan di Colab
- Bab 2: Variables and Statements — Jalankan di Colab
- Bab 3: Functions — Jalankan di Colab
- Bab 4: Functions and Interfaces — Jalankan di Colab
- Bab 5: Conditionals and Recursion — Jalankan di Colab
- Bab 6: Return Values — Jalankan di Colab
- Bab 7: Iteration and Search — Jalankan di Colab
- Bab 8: Strings and Regular Expressions — Jalankan di Colab
- Bab 9: Lists — Jalankan di Colab
- Bab 10: Dictionaries — Jalankan di Colab
- Bab 11: Tuples — Jalankan di Colab
- Bab 12: Text Analysis and Generation — Jalankan di Colab
- Bab 13: Files and Databases — Jalankan di Colab
- Bab 14: Classes and Functions — Jalankan di Colab
- Bab 15: Classes and Methods — Jalankan di Colab
- Bab 16: Classes and Objects — Jalankan di Colab
- Bab 17: Inheritance — Jalankan di Colab
- Bab 18: Python Extras — Jalankan di Colab
- Bab 19: Final Thoughts — Jalankan di Colab
-
Materi untuk pengajar
- Notebook yang menyertakan jawaban dapat diunduh dari repositori GitHub ThinkPythonSolutions
- Kuis tiap bab dan kuis komprehensif untuk seluruh buku tersedia berdasarkan permintaan
- Cara menggunakan Jupyter secara efektif di kelas dapat dibaca di buku online Teaching and Learning with Jupyter
- Dalam pembelajaran berbasis notebook, pengajar dapat menggunakan metode live coding, yaitu instruktur menulis kode dan siswa mengikuti di notebook mereka sendiri
- Materi pelatihan guru untuk pengajaran pemrograman dapat dilihat di Instructor Training dari The Carpentries
- Blank notebook yang mempertahankan teks asli tetapi menghapus sebagian besar kode berguna untuk latihan mengikuti dengan mengisi bagian kosong, dan dirangkum di blank notebooks
1 komentar
Komentar Hacker News
Kabar ini benar-benar menggembirakan. Saat menerbitkan Practical Deep Learning for Coders dengan Jupyter Notebook, pernah ada pembicaraan dengan Allen untuk membuat beberapa bukunya juga dengan cara yang sama
Sekarang itu benar-benar sedang berjalan, dan yang lebih bagus lagi, ditambah alat keren seperti turtle berbasis Jupyter yang menampilkan grafik inline di dalam notebook
Sepertinya ini sangat mungkin menjadi cara terbaik untuk belajar pemrograman Python saat dirilis nanti
Aku ingat dulu juga pernah ditunjukkan proof of concept yang mengubah sebagian edisi 2 buku ini ke notebook nbdev: https://github.com/fastai/nbdev_cards/blob/master/01_deck.ip...
Notebook itu dirender menjadi HTML ini: https://fastai.github.io/nbdev_cards/deck.html
Saat belajar bahasa baru dengan sesuatu seperti AdventOfCode, tugas pertamaku selalu membuat image Jupyter untuk bahasa tersebut
Think Python edisi 2 mengubah arah hidupku. Aku pernah mengambil satu kelas Java dan sangat membencinya sampai menyerah pada pemrograman, tetapi beberapa tahun kemudian saat bekerja sebagai network engineer, muncul masalah yang tampaknya bisa diselesaikan dengan skrip, lalu aku mengambil Think Python dan akhirnya jatuh cinta pada Python dan pemrograman itu sendiri
Aku sedang mempertimbangkan mengubah arah hidupku ke peran komunitas/maker/guru, dan punya ide freelance/usaha kecil untuk pekerjaan mengajar, tetapi butuh materi “kurikulum longgar”
Selama bekerja sebagai web developer profesional, aku tidak pernah perlu Python, jadi sekarang sedang mempelajarinya. Aku sudah memakai hampir semua bahasa yang berpusat pada web, termasuk Perl dan Ruby
Python tampaknya bahasa yang cocok untuk mengajarkan konsep umum, dan sepertinya akan membantu jika ada buku yang bisa dijadikan rujukan
Sekitar waktu itu bahasa utama tim ditetapkan menjadi Java, dan setelah melihat kelebihan static typing, aku tidak bisa kembali lagi
Sejak itu Python juga berkembang pesat dengan dukungan optional typing dan IDE yang bisa menegakkannya, tetapi sekarang aku sudah sepenuhnya condong ke bahasa dengan static typing
Saat menulis utility script, aku tetap lebih suka Python yang jauh lebih rapi daripada hanya memakai bash. Namun, jika bisa memilih bahasa untuk aplikasi penuh, aku lebih memilih Java/Scala dan sejenisnya. Rust juga hebat, tetapi learning curve-nya terlalu curam bagi kebanyakan orang
Aku sendiri belum pernah langsung memakai optional typing Python yang didukung alat seperti PyCharm, jadi mungkin saja berkat alat tersebut pengalamannya menjadi mirip bahasa static typing. Jika ada yang pernah menyalakan penegakan tipe Python di IntelliJ Community Edition, aku ingin mendengar pengalamannya
Aku suka Think Python dan sudah merekomendasikannya kepada banyak pelajar. Buku ini benar-benar sangat baik dalam menyeimbangkan berbagai hal yang perlu diperhatikan buku untuk programmer baru
Allen Downey juga menerbitkan beberapa buku lain dengan pendekatan serupa: https://greenteapress.com/wp/
Menurutku beberapa di antaranya agak terlalu jauh dalam mengurangi tingkat ketelitian, tetapi secara umum buku-buku yang pernah kulihat cukup bagus
Aku pernah satu meja dengan Allen di sebuah konferensi, dan ketika kubilang seberapa sering aku merekomendasikan atau membelikan buku-bukunya, sepertinya dia mengira aku melebih-lebihkan
Maaf agak menggeser topik, tetapi jika seseorang sudah punya pengalaman praktis dan terus bertambah lewat pekerjaan, adakah materi dengan kualitas serupa untuk developer Python tingkat menengah/lanjut?
Rasanya selalu ada bagian besar dari bahasa atau standard library yang belum kuketahui
https://docs.python.org/3/tutorial/index.html
https://docs.python.org/3/library/index.html
Setiap kali versi baru keluar, aku membaca dokumen What’s New
Selain itu, aku suka membaca source code dari standard library dan paket pihak ketiga yang populer. Saran ini umumnya berlaku bukan hanya untuk Python, tetapi juga saat mempelajari atau menyegarkan kembali bahasa baru
Dan hanya dengan membaca implementasi Advent of Code tahunan karya Norvig pun, aku sering mendapat wawasan tentang cara menulis kode Python yang elegan dan ringkas
Penulis mengunggah proyek-proyek Python terbaru, terutama pekerjaan analisis data Bayesian, ke blog di https://www.allendowney.com/blog/, dan saya cukup menikmati membacanya
Kira-kira ada buku apa untuk pemrograman Python tingkat menengah hingga lanjut? Saya sudah paham Python dan pemrograman secara umum, tetapi ingin lebih meningkatkan kemampuan Python saya
Saat ini saya hanya tahu Fluent Python dan CPython Internals yang sedang saya baca
Misalnya, Effective Pandas 2 menunjukkan pola-pola umum untuk menangani data tabular. Dalam prosesnya, buku itu memakai comprehension, lambda, unpacking, dan juga menunjukkan cara melakukan refactoring dengan pytest serta memanfaatkan visualisasi untuk memahami data
Sebagai catatan, saya penulisnya
Fluent Pythonsudah cukup. Fitur bahasa lainnya akan dipahami dengan membaca manual referensi resmihttps://www.redblobgames.com/ juga punya banyak tulisan yang sangat cerdas dan menarik
Buku ini memang tidak terlalu dikenal, tetapi mengeksplorasi berbagai gaya pemrograman dalam memecahkan masalah yang sama di bawah kendala yang berbeda-beda
Setelah melewati tingkat kemahiran tertentu, yakni di atas level praktisi dasar, yang tersisa hanyalah membaca dan menulis kode
Tulisan terkait:
Think Python 2e - https://news.ycombinator.com/item?id=35421096 - April 2023, 30 komentar
Think Python: How to Think Like a Computer Scientist - https://news.ycombinator.com/item?id=1586000 - Agustus 2010, 9 komentar
Saya beruntung. Saya baru saja mulai membimbing Python, dan saya penggemar berat Downey. Dia benar-benar pendidik hebat sekaligus sosok Renaissance
Saya pasti akan terus memantau buku ini
Buku ini juga mengubah hidup saya saat pertama kali belajar pemrograman. Bukan sampai membuat saya ganti karier, melainkan karena cara buku ini ditulis dan beberapa konsepnya tiba-tiba menjadi masuk akal bagi saya yang saat itu benar-benar pemula
Sekarang, melihat edisi ke-3 10~15 tahun kemudian, rasa nostalgianya sangat kuat, dan buku ini tidak akan pernah cukup saya rekomendasikan
Saya sangat menyukai kutipan ini dari edisi sebelumnya, Think Java: https://files.catbox.moe/v1vgdc.jpg
Dan bagian keren lainnya adalah ini: