5 poin oleh GN⁺ 2023-12-23 | 1 komentar | Bagikan ke WhatsApp
  • Nand2Tetris menyediakan materi bagi pembelajar yang ingin memahami sistem komputer dari dasar dengan membangun sendiri sistem komputer serbaguna dan lapisan perangkat lunak modern
  • Kuliah, materi proyek, dan alat tersedia di satu tempat, serta dapat digunakan sebagai open source gratis di lingkungan nirlaba
  • Kursus ini digunakan di lebih dari 400 universitas, sekolah menengah, dan bootcamp, dengan peserta mulai dari siswa SMA hingga mahasiswa doktoral dan engineer senior
  • Pembelajar mandiri dapat mengikuti catatan kuliah dan bagian Projects di situs web, sedangkan di Coursera tersedia opsi berbayar dan penerbitan sertifikat resmi
  • Susunannya ditujukan untuk pembelajaran pribadi maupun kelas di institusi pendidikan, dan pengajar dapat memperoleh materi tambahan dengan menghubungi secara terpisah

Materi belajar untuk membangun komputer dari dasar

  • Situs web resmi Nand to Tetris courses mengumpulkan dan menyediakan materi yang dibutuhkan untuk membangun sistem komputer serbaguna dan lapisan perangkat lunak modern dari nol
  • Materinya terdiri dari kuliah, materi proyek, dan alat, serta ditujukan untuk siswa, pengajar, dan pembelajar mandiri
  • Buku terkaitnya adalah The Elements of Computing Systems karya Noam Nisan dan Shimon Schocken
  • Materi CACM terkait kursus tersedia dalam bentuk teks dan video

Jalur mengikuti kursus dan pemanfaatan di dunia pendidikan

  • Kursus Nand to Tetris diajarkan di lebih dari 400 universitas, sekolah menengah, dan bootcamp
    • Pesertanya mencakup siswa SMA, mahasiswa doktoral, hingga engineer senior
    • Anda dapat melihat silabus diperluas untuk versi akademik umum kursus ini
  • Untuk mengikuti secara bebas, Anda dapat mengikuti catatan kuliah dan bagian Projects di situs web
  • Kursus Coursera bersifat berbayar dan menyediakan sertifikat resmi
  • Materi tambahan untuk pengajar dapat diperoleh dengan menghubungi nand2tetris@gmail.com

1 komentar

 
GN⁺ 2023-12-23
Komentar Hacker News
  • Saat pertama kali mencobanya setelah lulus kuliah 7 tahun lalu, saya hanya sampai bab 2. Rasanya sangat memuaskan, tapi saya berhenti karena proyek sampingan lain.
    Saya mulai lagi 3 bulan lalu, dan sekarang sudah sampai bab 8: sudah menyelesaikan logic gate, ALU, CPU, assembler, dan separuh virtual machine. Di setiap bab selalu ada momen “ini sebenarnya bagaimana bisa bekerja?”, lalu ketika benar-benar jalan rasanya sangat memuaskan.
    Sebagai proyek sampingan murni untuk belajar, ini yang paling memuaskan yang pernah saya lakukan, dan saya cukup bangga pada diri sendiri karena tetap bertahan sampai akhir. Sangat direkomendasikan.

    • Saya juga pernah mencobanya, dan butuh tiga kali sampai akhirnya menyelesaikan semuanya.
      Musim gugur/dingin lalu saya mengerjakannya bersamaan dengan seri hebat Ben Eater tentang membuat komputer 8-bit di breadboard. Selama beberapa bulan saya membeli komponen dari Tiongkok dan sepanjang musim dingin membuat subsistem begitu komponennya tiba.
      Ini bagus untuk dicoba berikutnya; sangat memuaskan, dan adegan melihat LED berkedip sambil memahami apa yang terjadi di dalamnya benar-benar terasa keren.
    • Melihat proses seperti ini dan buku seperti Code membuat saya merasa sangat hormat kepada orang-orang yang pertama kali menemukan semua ini.
    • Saya penasaran bagaimana mempelajari pengetahuan fisika zat padat yang diperlukan untuk benar-benar memahami latar belakang dua bab pertama.
      Misalnya mekanisme nyata bagaimana integrated circuit mengubah input menjadi output yang berguna. Bahkan untuk integrated circuit nyata yang paling sederhana seperti TI SN7400, saya belum menemukan materi yang menjelaskan dengan benar bagaimana sebenarnya ia bekerja.
    • Saya mengerjakan seluruh proyek ini sebagai bagian dari sebuah kelas, dan itu salah satu kelas terbaik yang pernah saya ambil dalam program ilmu komputer; benar-benar luar biasa.
  • Saya sangat menyukai kuliah ini, dan sangat merekomendasikannya bagi siapa pun yang bekerja dengan komputer tanpa pernah mengambil kelas ilmu komputer tingkat rendah.
    Kuliah ini memberi pemahaman intuitif tentang bagian-bagian inti dari cara kerja komputer yang memengaruhi program tingkat tinggi dan bahasa pemrograman. Bagi saya pribadi, pencerahan terbesar adalah akhirnya benar-benar memahami perbedaan stack dan heap.
    Rasanya juga seperti sihir melihat rangkaian sederhana terus ditumpuk hingga menjadi mesin kompleks yang kita gunakan, dan para pengajarnya berhasil membuat kita cepat menangkap inti topik seperti bahasa assembly tanpa terlalu menyederhanakan materi yang sebenarnya bisa menjadi beberapa semester.
    Kalau ada waktu, saya benar-benar merekomendasikannya. Bagian 1, dari gerbang NAND sampai membuat CPU, menyenangkan dan cukup mudah, tetapi Bagian 2, dari komputer menuju sistem operasi lengkap, jauh lebih banyak pekerjaannya.

    • Saya penasaran apakah kuliah online dan bukunya memakai materi yang sama.
      Saya sedang mencoba menentukan apakah perlu keduanya, atau cukup salah satu saja.
  • Saya sangat merekomendasikan kuliah/buku ini.
    Kalau dikerjakan sampai selesai, rasanya sangat memuaskan.

  • Setelah menyelesaikan seri komputer 8-bit Ben Eater yang luar biasa (https://eater.net/8bit/), beralih ke nand2tetris terasa sangat alami.
    Ini benar-benar membantu memahami konsep dasar desain komputer yang sering dilewati begitu saja, dan merupakan proyek yang pas untuk dimulai saat liburan.

    • Saya setuju dengan rekomendasi Ben Eater.
      Saya suka video-videonya, terutama episode tentang pengenalan loop dan interrupt.
      Sangat memuaskan melihat kode yang ia tulis ditulis ulang dengan jauh lebih elegan menggunakan konsep-konsep itu.
    • Musim panas lalu saya mencoba komputer 6502 dari Ben Eater, dan itu juga layak direkomendasikan.
      Sekarang sepertinya saya harus melihat NAND to Tetris juga.
    • Saat berada di Recurse, saya mengerjakan nand2tetris, dan pada masa itu juga banyak menonton Ben Eater.
      Keduanya cocok sekali.
  • Ada game NAND menarik yang terinspirasi dari kuliah ini: https://nandgame.com/

    • Ada juga yang lebih menyenangkan dengan ulasan Steam yang overwhelmingly positive: https://store.steampowered.com/app/1444480/Turing_Complete/
    • Agak berbeda, tetapi saya juga merekomendasikan TIS-100 dan Shenzhen IO.
      Keduanya ditulis dengan bahasa mirip assembly, dan sangat seru untuk dipelajari.
  • Kalau sedang mencoba memahami komputer di level yang lebih rendah, saya juga merekomendasikan kuliah Digital Design and Computer Architecture dari ETH Zürich.
    https://www.youtube.com/playlist?list=PL5Q2soXY2Zi-EImKxYYY1...

    • Ini tambang emas.
      Saya pernah mengambil kelas pengantar arsitektur komputer, tetapi sayangnya tidak terlalu jauh; hal-hal magis yang dilakukan CPU modern seperti out-of-order execution sama sekali tidak dibahas.
      Sepertinya playlist ini akan jadi topik liburan saya kali ini.
  • Saya punya kenangan indah tentang buku ini dan masa ketika saya mengambilnya.
    Saat minum kopi dengan pacar, saya bilang bahwa saya membaca semua logic gate bisa dibuat hanya dengan NAND. Karena penasaran, kami menulis NAND di beberapa lembar napkin dan mencoba memastikan apakah semuanya bisa dibuat.
    Akhirnya berhasil, dan itu benar-benar menyenangkan.
    Setiap kali berhasil membuat satu gate dari NAND, kami menuliskan nama gate baru itu di napkin, lalu saya membawa pulang napkin dan kegembiraan itu. Beberapa hari kemudian, saya mencoba menggabungkan gate-gate tersebut hingga akhirnya memahami seluruh ALU.
    Dari situ muncul multiplexer dan berbagai hal menarik lain, dan akhirnya saya mentok, tetapi karena pernah mendengar buku ini, saya memutuskan untuk memesannya.
    Bab-bab berikutnya sangat membantu saya memahami level rendah yang selalu terasa misterius bagi saya yang hanya punya pengalaman software.
    Namun saya tidak pernah benar-benar membuat semuanya sampai selesai.
    Begitu masuk ke sisi software tingkat rendah, saya merasa sudah cukup memahaminya sehingga pekerjaan membangunnya sendiri tidak lagi terlalu menarik, tetapi membacanya saja sudah luar biasa.

  • Ada juga repositori dari george hotz ini, dan cukup menarik.
    https://github.com/geohot/fromthetransistor

    • Awalnya saya tidak yakin sedang melihat apa.
      Tidak ada materi, hanya garis besar kasar untuk kuliah hipotetis, tetapi commit awal membuatnya sedikit lebih jelas.
      “Saya menulis ini beberapa tahun lalu dan ingin mengunggahnya online. Merekrut orang itu sulit, banyak pendidikan ilmu komputer modern benar-benar buruk, dan terlalu sulit menemukan orang yang memahami stack komputer modern dari first principles. Mungkin suatu hari nanti, kalau saya punya 12 minggu kosong lagi, saya akan menyediakannya sebagai kuliah yang bisa diikuti dari rumah. Saya juga ingin ikut bermain.”
    • Menarik mendengar klaim bahwa pendidikan ilmu komputer modern itu buruk.
      Saat S1 saya mengambil teknik komputer, bukan CS, dan sekitar 80% topik dalam daftar itu dibahas.
      Saya mengambil beberapa mata kuliah Verilog dan sistem operasi, dan juga banyak membahas mikrokontroler/FPGA.
      Puncaknya jelas membuat CPU dengan Verilog lalu menulis assembler/compiler.
      Itu program yang sulit, tetapi saat lulus saya merasa cukup memahami seluruh stack.
      Mungkin dia kurang mengenal sisi teknik komputer.
  • Saya penasaran apakah prekuelnya, “sand2nand”, juga mungkin dibuat sebagai proyek DIY.

  • Saat bekerja sebagai analis data, saya mengikuti kuliah ini dengan santai, dan itu menjadi pemicu peralihan karier saya.
    Ini kuliah yang benar-benar luar biasa, jadi kalau ada waktu, saya sangat menyarankan untuk mencobanya.

    • Selamat.
      Saya penasaran apakah Anda pindah ke jalur yang lebih dekat dengan pemrograman tingkat rendah.