2 poin oleh GN⁺ 2024-02-17 | 1 komentar | Bagikan ke WhatsApp
  • 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

1 komentar

 
GN⁺ 2024-02-17
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

    • Aku sangat suka Think Bayes dan Think Stats, tetapi saat semua orang lain memakai notebook, rasanya agak tidak selaras
      Saat belajar bahasa baru dengan sesuatu seperti AdventOfCode, tugas pertamaku selalu membuat image Jupyter untuk bahasa tersebut
    • Kode yang bisa disembunyikan seperti ini tampaknya sangat bagus untuk dokumentasi. Sudah lama aku mencari hal seperti ini
  • 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

    • Ini tepat seperti yang perlu kubaca sekarang
      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
    • Sebagai contoh kebalikannya, aku mulai dari bash/Perl lalu pindah ke Python, dan awalnya sangat menyukainya, tetapi kemudian mulai mengalami masalah karena dynamic typing
      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 juga mirip. Aku sempat belajar sedikit Java, Matlab, C, dan Perl, tetapi baru benar-benar terpikat setelah membaca Think Python edisi 2, lalu membaca beberapa buku lain dan beralih ke karier software
    • Aku juga begitu. Saat pindah kota dan sedang mencari pekerjaan, aku mencetak buku ini lalu mulai membacanya per bab, dan berkat buku ini aku menjadi software engineer
    • Setelah melewati kelas C++, kelas Java, dan sebagainya, aku baru pertama kali benar-benar memahami object-oriented programming berkat Think Python
  • 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

    • Putra temanku sedang di tingkat akhir kuliah dan mungkin akan masuk Olin yang kurekomendasikan. Aku juga tahu Olin berkat Think Python
  • 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

    • Aku mulai belajar dari dokumentasi resmi pada masa Python 1.5.2, dan menurutku itu masih sumber yang bagus sampai sekarang
      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
    • Effective Python bagus. Itu buku bergaya tip yang berisi rekomendasi lengkap dengan use case dan contoh penerapannya
    • Fluent Python adalah buku yang bagus untuk level itu, dan juga cocok dipakai sebagai buku referensi sambil bekerja
    • Aku suka https://effectivepython.com/
      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
    • Fluent Python dan Effective Python adalah buku yang bagus. Yang pertama sangat tebal, nyaris seperti beberapa buku dijadikan satu volume
  • 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

    • Ada baiknya mempertimbangkan buku yang menunjukkan bagaimana teknik-teknik diterapkan dalam kode praktis nyata
      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 Python sudah cukup. Fitur bahasa lainnya akan dipahami dengan membaca manual referensi resmi
    • Anda juga bisa melihat buku yang lebih umum tentang algoritma dan struktur data atau buku terkait perancangan
      https://www.redblobgames.com/ juga punya banyak tulisan yang sangat cerdas dan menarik
    • Edisi ke-2 Exercises in Programming Style karya Cristina Videira Lopes juga layak dilihat
      Buku ini memang tidak terlalu dikenal, tetapi mengeksplorasi berbagai gaya pemrograman dalam memecahkan masalah yang sama di bawah kendala yang berbeda-beda
    • Pada akhirnya bukankah yang tersisa hanyalah dokumentasi dan source code?
      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:

    Hal keren yang terjadi berikutnya adalah ini. Jeff Elkner, seorang guru SMA di Virginia, mengadopsi buku saya [Think Java] dan menerjemahkannya ke Python. Dia mengirimkan hasil terjemahannya kepada saya, dan saya mengalami pengalaman yang tidak biasa: belajar Python dengan membaca buku saya sendiri."