Skip to content

Latest commit

 

History

History
142 lines (95 loc) · 18.5 KB

README_id.md

File metadata and controls

142 lines (95 loc) · 18.5 KB

PERMULAAN BELAJAR HASKELL

Tolong bantu saya lokalisasikan repo ini!

Jalankan Kelompok Belajar Haskell Anda Sendiri

Belajar Haskell adalah ide yang bagus, namun anda tidak perlu melakukannya sendirian. Buku Haskell Programming from First Principles by Chris Allen dan Julie Moronuki menyediakan kurikulum yang sempurna untuk kelompok belajar. Dengan menjalankan kelompok belajar saya sendiri untuk mengerjakan buku ini, saya dapat membuktikan keberhasilannya: membuat anda termotivasi, tetap pada jalur, dan mempertahankan kejujuran anda. Anda mungkin dapat bergabung kelompok yang sudah ada, namun dapat dikatakan lebih baik jika anda bisa memulainya sendiri, walaupun anda tidak merasa pantas. Saya pada dasarnya tidak tahu sama sekali tentang Haskell atau pemrograman fungsional ketika memulai kelompok pertama saya di kota New York. Faktanya, menurut saya hal tersebut adalah situasi terbaik yang memungkinkan pelajaran anda tidak terhambat atau penilaian anda tersamarkan dengan pengalaman sebelumnya atau ekspektasi yang tidak relevan, dan anda dapat belajar bersama dengan rekan-rekan pemula. Kalian semua didalamnya bersama-sama! Lagipula, kebanyakan pengembang Haskell -yang kita harapkan- bahkan belum terlahir. Mulai belajar hari ini, dan anda akan tetap menjadi bagian dari pelopor.

Menggunakan repo ini

Repo ini menyatukan beberapa sumber untu orang yang mau memulai kelompok belajar Haskellnya sendiri namun tidak yakin harus bagaimana melakukannya. Termasuk didalamnya adalah saran untuk mempublikasikan kelompok anda, pedoman untuk peserta, jadwal yang direkomendasikan, dan sumber-sumber lainnya. Jika anda menyukai apa yang anda lihat, berikut adalah yang menurut saya anda harus lakukan:

  • Jika anda memulai kelompok belajar anda sendiri, fork repo ini dan modifikasi repo ini sesuai kebutuhan anda. Jika kamu melakukannya, Saya hanya meminta anda untuk menghargai ruh dari materias yang diberikan dan tidak menambahkan kepada saya perubahan apapun terhadap proses atau teknik pengajarannya.

  • Tambahkan kelompok belajar anda ke dalam daftar dibawah ini, dan ajukan pull request kepada repo ini untuk menjadikannya publik. Mintakan penambahan hanya jika anda ingin (kurang atau lebih) mengikuti rekomendasi saya.

  • Dalam repo anda sendiri, Saya menyarankan anda untuk membuat berkas guidelines.md sebagai berkas README.md anda, buatlah perubahan yang anda anggap perlu. Anda mungkin dapat menaruh tautan ke repo ini jika anda suka.

  • Beberapa tambahan sumber telah termasuk di dalam repo ini. Gunakan mereka. Tambahkan lagi. are included with this repo. Use them. Add more. Saya berharap untuk menambahkannya lebih banyak secara berangsur-kemungkinan.

Haskell Book

Haskell Programming from First Principles, yang sehari-hari dikenal sebagai the Haskell Book, merupakan dasar dari pelajaran kelompok belajar yang ditawarkan repo ini. Jangan mengharapkan untuk mencari alternatif yang memadai. Penulisnya menyediakan kode diskon kepada anggota kelompok belajar sebelumnya seperti yang diindikasikan oleh panduan yang diberikan. Namun saya secara personal tidak dapat memberikan jaminan untuk diskon. Kontak penulisnya dan tanyakan secara pribadi sebelum anda mengumumkan penawaran tersebut ke kelompok anda.

Memulai sebuah kelompok belajar Haskell

Langkah pertama

Kamu dapat melakukannya semua sendiri, tapi saya menemukan Meetup sebagai tempat yang bermanfaat dikarenakan efek jaringan yang tersedia didalamnya. Para pengembang dan yang antusias terhadap teknologi sepertinya telah terwakili untuk memulainya disana, dan kelompok anda akan diumumkan kepada semua orang yang sebelumnya memiliki ketertarikan yang sama. Jika kota atau wilayah kamu memiliki Kelompok Pengguna Haskell (seperti Depok Haskell User Group (DHUG) -pent.) atau bahkan kelompok Meetup yang secara tangensial berhubungan, anda sebaiknya bertanya kepada mereka untuk membuat anda sebagai Pembuat Acara sehingga anda dapat menjadwalkan pertemuan anda sendiri dan tidak perlu membayar untuk memulay sebuah Meetup sendiri. Anda mungkin mendapatkan dukungan yang berguna dari komunitas lokal, jadi saya tidak mengharuskannya bergantung pada mereka. Tapi itu tidak menyakitkan untuk menghubungi setiap pengembang Haskell di area anda dan untuk secara personal mendatangi beberapa meetup terkait pemrograman (Haskell atau lainnya) untuk mengumumkan bahwa anda memulai sebuah kelompok belajar. Sentuhan personal tetap terhitung untuk sebuah kesepakatan yang bagus.

Mengumumkan acara keluar

Setelah anda berkomitmen untuk memulai sebuah kelompok, anda perlu mencari anggota. Percaya pada saya, mereka diluaran sana, menunggu untuk seseorang dengan inisiatif lebih (yaitu anda) untuk mencari mereka. Saya menyarankan untuk melakukan pencarian secara luas. Secara jelas, anda harus mengumumkan keinginan anda untuk sebuah komunitas Haskell dan pemrograman fungsional yang lebih besar. Tapi itu juga merupakan ide bagus untuk menjangkau pengembang manstream, yang mungkin memiliki ketertarikan di FP, dan bahkan non-pengembang, yang mungkin ingin menjelajahi hal baru atau karir baru. Untuk pilihan pertama, dibawah ini adalah saran saya. Untuk yang kemudian, anda harus mencoba untuk melakukan bujukan secara personal, bergantung kepa ucapan atau gunakan imajinasi anda sendiri.

Lokasi

Ini adalah bagian yang susah-mencari tempat fisik untuk bertemu. Meskipun anda dapat melakukannya di cafe (atau selama jam istirahat di sebuah tempat makan, yang mana umumnya luas), namun akan lebih baik jika anda memiliki tempat yang privat. Sebuah papan tulis dan proyektor adalah fisilitas yang ideal. Tanyakan pada calon anggota, terutama para pengembang, untuk menanyakannya di tempat mereka bekerja. Hubungi perusahaan IT lokal. Jika mereka telah mendukung Haskell atau bahasa fungsional lainnya, mereka mungkin akan lebih tertarik. Atau cari sekitaran tempat di Meetup untuk mempelajari dimana kelompok lain melakukannya. Saya menyarankan anda memiliki tempat cadangan, jika memungkinkan, dalam hal tempat utama anda tiba-tiba menjadi tidak dapat digunakan.

Jadwal

Begitu anda menemukan tempat untuk berkumpul, anda dapat merancang halaman info untuk Meetup (jika anda menggunakannya) dan tetap pada jadwal. Saya menyarankan agar anda bertemu paling sedikit 1 minggu sekali jika anda ingin membuat kemajuan yang berarti. Ini adalah contoh halaman dari kelompok belajar saya di New York.

Cara Belajar dan Kurikulum

Repo ini mengandung This repo contains kumpulan panduan dasar yang terpisah, termasuk kurikulum 12 minggu yang direkomendasikan sebagai 18 Bab awal dari Haskell Book, yang mana anda akan gunakan untuk kelompok belajar anda. Saya sangat menyarankan anda untu mengimplementasikan secara sederhana panduan ini sebagaimana adanya dan tahan keinginan untu "mempermudahnya". Panduan ini terbukti bekerja. Tentunya, anda harus menambahkan setiap rincian yang sesuai dengan keadaan anda. Sebagai contoh, halaman Meetup anda sendiri dan/atau channel Slack.

Akan atau tidaknya anda menambah kurikulum adalah terserah pada anda. Pertama kalinya saya menjalankan sebuah kelompok belajar, kami melewait seluruh buku, satu bab seminggu (satu dari beberapa bab yang panjang kami bagi selama dua minggu). Saya tidak lagi merekomendasi pendekatan tersebut, pasalnya sangat susah untuk mengajak orang untuk komitmen pada pertemuan mingguan selama 39 minggu berturut-turut. Saya menyarankan untuk anda memulai dengan 12 minggu atau berapapun yang anda rasa pantas untuk memenuhi 18 bab pertama dari buku ini, yang mana anda akan sampai pada bahasan monad. 18 Bab itu mencakup material untuk tingkat Pemula. Jika ada keinginan untuk melanjutkan kelompok belajar, anda dapat melanjutkannya dan memenuhi materi lanjutan. Sangat disarankan juga untuk mengharapkan peserta untuk mendapatkan kompetensi cukup dan disiplin untuk membaca materi ini sendiri.

Sebagai tambahan dari saran dan sumber-sumber yang ada pada repo ini, Saya telah sebelumnya menuliskan tentang tata cara belajar yang pantas untuk kelompok belajar serupa di Medium:

Pertemuan pertama anda

Kamu akan pada dasarnya menarik perhatian sejumlah orang yang banyak pada pertemuan pertama. Sebagian dari mereka akan menjadi turis. Secara umum, anda dapat mengharapkan beberapa orang untuk RSVP setiap pertemuan ketimbang yang sebenarnya datang. Dan anda akan menemukan tingkat pengurangan dari waktu ke waktu. Namun, untuk pertemuan ini, lakukan penjelasan terbaik anda tentang tujuan adanya kelompok belajar dan bagaimana anda ingin menjalankannya. Anda dapat menanyakannya kepada saya jika mau, namun saya tidak akan melayani saran, pertanyaan umum seputar Haskell atau ingin mempertahankan Bahasa Pemrograman Fungsional dalam praktek.

Secepat mungkin, masuk pada latihan. Karena ini adalah pertemuan pertama, penjelasan umum tentang lambda calculus dapat berguna untuk mencairkan suasana, namun saya merekomendasikan untuk hanya memberikan pengenalan singkat dan temu sapa serta membagi beberapa orang kedalam kelompok kecil untuk melakukan pekerjaan rumah mereka, kecuali anda memiliki tingkat partisipasi yang kecil. Anda dapat membacakan jawaban secara kolektif setelah semua orang telah mendapat kesempatan membagikan pekerjaan mereka. Hal ini sangat penting untuk menciptakan standarisasi kelompok di awal pertemuan.

Pertemuan selanjutnya

Kurang lebih, lakukan apa yang anda telah lakukan pada minggu pertama namun tanpa temu sapa. Pendatang baru harus secara mandiri mengejar ketertinggalan, karena anda tidak dapat terus menerus diganggu oleh orang yang tidak dapat datang dari awal. Dengan kata lain, jangan menjadi korban, tapi undang mereka untuk mengambil inisiatif pribadi menghubungi rekan mereka diluar pertemuan reguler untuk menutupi pekerjaan yang mereka lewatkan. Saya menemukannya berguna, ketika melakukan latihan secara kolektif, untuk meminta semua orang untuk menyingkirkan komputer mereka dan melakukannya lagi dengan cepat. Pengulangan sangatlah bermanfaat dan hal itu juga menimbulkan solidaritas di kelompok. Orang yang mengerjakan pekerjaan rumahnya akan tetap berusaha untuk mengingatnya sedikit sementara orang yang tidak akan dengan cepat melihat kesalahan cara mereka.

Anda dapat juga mempersiapkan sebuah file kerangka code yang akan diisi selama pertemuan. Disinilah sebuah proyektor sangat berguna. Ekstensi GHC InstanceSigs sangat berguna untuk keperluan ini. Seperti biasa, anda harus membagi rata monitor anda antara PDF Haskell Book dan REPL dan/atau file kode anda. Pastikan anda memberikan setiap orang kesempatan untuk berkontribusi dalam meeting anda, termasuk (mungkin khususnya) yang enggan, memiliki personalitas yang kurang dominan dapat mulai mengambil alih. Sabar. Semangati. Bersenang-senanglah. Berbagi kudapan dan minuman setelahnya. Tetap terus melaju.

Ketentuan Pengajaran dan Peserta

Mengajar adalah sesuatu yang anda akan atau tidak menjadi lebih baik dengan latihan. Bagi kebanyakan koordinator kelompok belajar, anggapan terbaik anda adalah untuk berasumsi hanya sebagai koordinator dan tidak untuk mengajar (ya benar, mengajar). Anda akan cukup untuk memastikan bahwa pertemuan anda berjalan dengan baik. Untuk interaksi yang lingkupnya kecil, cobalah untuk mendengarkan dan bertemu dengan peserta didik sesuai dengan ketentuan mereka. Chris Done telah menulis sebuah tulisan blog yang menarik tentang hal tersebut. Saya secara penuh tidak teryakini akan keberhasilan dari sebuah metode Sokratik, tapi I pastinya setuju bahwa metode tersebut tidak produktif untuk memberikan jawaban atas masalah yang sulit.

Anda sebaiknya menentukan beberapa panduan kepada kelompok anda sebelumnya, sehingga partisipan setidaknya secara tidak langsung setuju untuk kooperatif dan baik. Recurse Center's social rules adalah tempat awal yang baik untuk memulai. Jika anda merasa butuh untuk memperluas formula saya, maka lakukanlah. Namun jangan pernah menjadikan aturan membuat anda tidak sopan atau, sebaliknya, memaksa anda melakukan tindakan yang bertolak belakang dengan penilaian terbaik anda.

Meneruskannya Kemudian

Setelah kelompok belajar anda telah selesai, apa kemudian? Anda dapat berpindah ke materi menengah atau atas. Lebih baik lagi, anda dapat memulai kembali dari awal. Komunitas ini perlu tambahan orang, dan akan selalu ada kebutuhan akan kelompok belajar yang ramah untuk pemula. Jika pengalaman anda seperti saya, anda akan menemukan banyak orang yang baru mengetahui kelompok belajar anda dan terlambat untuk bergabung. Jika anda tidak mau melakukannya lagi sendiri, solusi lain yang lebih baik adalah untuk menunjuk "lulusan" yang sukses pada kelompok belajar pertama anda untuk melakukan kedua kalinya. Dan seterusnya. Ini adalah yang paling sedikit mereka dapat lakukan untuk membayar kerja keras anda sebagai penyelenggara, ya kan?

Mencari kelompok belajar yang sudah ada

Daftar kelompok belajar berikut telah mengadopsi atau terbiasa dengan format dan panduan yang diberikan dalam repo ini. Setiap kelompok dapat mendaftarkan pull request untuk ditambahkan kedalam daftar ini. Daftar berikut bukanlah sebuah dukungan atau penilaian.

Eropa

Amerika Utara

Sumber dan referensi untuk belajar