Halaman ini berisi detail project penulisan teknis yang diterima untuk Google Season of Docs.
Ringkasan proyek
- Organisasi open source:
- CircuitVerse
- Penulis teknis:
- dvls
- Nama proyek:
- Penggabungan dan Peningkatan Buku Interaktif CircuitVerse
- Durasi project:
- Durasi standar (3 bulan)
Project description
1 Abstrak
CircuitVerse adalah project open source yang bertujuan menyediakan platform tempat sirkuit dapat dirancang dan disimulasikan menggunakan antarmuka pengguna grafis berbasis web. Simulator logika dapat digunakan untuk mendesain hingga menyelesaikan implementasi CPU, meskipun dirancang terutama untuk penggunaan pendidikan. Selain dokumentasi teknis untuk software, buku interaktif online memandu pengguna dalam mempelajari desain logika digital. Buku ini memungkinkan pengguna mencoba sirkuit langsung dari dalam buku untuk pengalaman interaktif.
Buku ini masih dalam tahap pengembangan awal dan saat ini tidak memiliki beberapa bagian yang relevan, struktur umumnya longgar dalam hal alur yang menghubungkan bagian-bagian yang berbeda, dan memerlukan konten yang lebih detail. Selain itu, menurut organisasi ini, tidak ada panduan untuk membantu kontributor berkolaborasi dengan project, juga tidak ada rencana atau peta jalan untuk memandu kontribusi terkait konten mana yang diperlukan dan prioritasnya.
Tujuan proposal ini adalah untuk berkolaborasi dengan mentor untuk membuat panduan kontribusi, membuat rencana pengembangan topik, dan berkontribusi untuk meningkatkan kualitas konten yang ada, serta membuat konten baru sesuai dengan rencana pengembangan.
2 Status Buku Interaktif Saat Ini
Sejak dimulainya project ini di Google Summer of Code 2019, project ini telah menunjukkan "pertumbuhan yang tidak dikelola", dengan bantuan komunitas siswa. Organisasi project ini sendiri dibentuk terutama oleh developer. Oleh karena itu, mereka telah mengambil bagian dari GSoD untuk mencari bantuan eksternal guna meningkatkan kualitas Buku Interaktif. Developer project telah mengidentifikasi bahwa buku tersebut saat ini memerlukan penulisan ulang beberapa bagian, penambahan konten baru, dan membuatnya lebih mendetail dan komprehensif. Selain itu, setelah GSoD, tim berharap memiliki panduan untuk kontribusi baru serta "rencana master" umum untuk pengembangan konten setelah GSoD.
3 Apa kontribusi proposal ini
Proposal ini akan berkontribusi dengan pembuatan bersama versi pertama panduan kontribusi, yang bertujuan untuk memastikan proses kolaborasi yang lebih harmonis bagi kontributor, sehingga menghasilkan konten yang lebih konsisten. Rencana pengembangan untuk topik buku juga akan diuraikan. Penambahan dan perubahan yang paling mendesak sesuai dengan rencana pengembangan baru juga akan disertakan.
4 Analisis alternatif yang tersedia
Beberapa project open source yang sudah matang dengan karakteristik serupa telah mengembangkan panduan kontribusi untuk dokumentasi, seperti Wikibooks ([Help:Contributing], [Wikibooks:Policies and guidelines]), OpenStreetMap ([Organised Editing Guidelines]) atau Project Dokumentasi Linux ([LDP Author Guide]). Contoh-contoh berikut dapat digunakan untuk membangun pedoman project berdasarkan pengalaman project open source yang sukses.
Untuk rencana pengembangan topik, Anda dapat membandingkan silabus kursus terbuka (misalnya [MIT Open Courseware]) serta buku referensi tentang sirkuit logika digital, termasuk buku terbuka seperti [Lessons In Electronic Circuits -- Volume IV -Digital], [Wikibooks: Digital Circuits], dan [Wikibooks: Digital Electronics].
[Help:Contributing] https://en.wikibooks.org/wiki/Help:Contributing
[Wikibooks:Kebijakan dan pedoman] https://en.wikibooks.org/wiki/Wikibooks:Policies_and_guidelines
[Panduan Pengeditan Terorganisir] https://wiki.osmfoundation.org/wiki/Organised_Editing_Guidelines
[Panduan Penulis LDP] https://www.tldp.org/LDP/LDP-Author-Guide/html/index.html
[MIT Open Courseware] https://ocw.mit.edu/
[Lessons In Electric Circuits -- Volume IV -Digital] https://www.ibiblio.org/kuphaldt/electricCircuits/Digital/index.html
[Wikibooks: Sirkuit Digital] https://en.wikibooks.org/wiki/Digital_Circuits
[Wikibooks: Elektronik Digital] https://en.wikibooks.org/wiki/Digital_Electronics
5 Struktur dokumentasi yang diusulkan
Buku interaktif ini berpotensi bermanfaat bagi banyak audiens, mulai dari penggemar elektronik amatir dan siswa pendidikan menengah, hingga siswa pendidikan menengah dan profesional yang membutuhkan penyegaran atau memperkuat keterampilan mereka dalam sirkuit logika digital.
Untuk mengatasi heterogenitas pengguna buku, struktur "multi-lapisan" diusulkan, dengan setiap lapisan sesuai dengan peningkatan tingkat kompleksitas dan kedalaman teoretis konten.
Oleh karena itu, struktur dokumentasi berkembang dalam dua dimensi, dimensi pertama sesuai dengan urutan topik yang logis atau tradisional dalam sistem logika digital, sedangkan dimensi kedua mewakili level.
Dalam daftar terstruktur berikut, struktur dua dimensi yang diusulkan ditampilkan. Urutan topik standar disajikan di tingkat paling atas. Untuk memudahkan, hanya tiga lapisan kompleksitas yang ditentukan untuk setiap topik, yang sesuai dengan tingkat dasar, sedang, dan lanjutan. Untuk setiap tingkat, konten yang terkait dengan topik umum tertentu akan dicantumkan.
- Representasi menggunakan bilangan binarty:
- Tingkat dasar: Bilangan biner, Jumlah negatif, Basis lain, Kodifikasi.
- Level sedang: [tidak ada konten tertentu]
- Tingkat lanjut: Modul dan ring
- Operasi matematika dengan bilangan biner:
- Tingkat dasar: Penambahan, Pengurangan, Perkalian, Pembagian
- Tingkat sedang: Aljabar Boolean, fungsi Boolean
- Tingkat lanjutan: Aljabar lainnya, dekomposisi Shannon
- Komponen SSI kombinasi:
- Tingkat dasar: Simbol, Logic gate, Tabel kebenaran
- Level sedang: Keluarga logika, Gate universal
- Tingkat lanjutan: Perilaku waktu (model waktu, bahaya)
- Desain logika kombinasional:
- Tingkat dasar: Deskripsi fungsi, Penerapan
- Level sedang: Fungsi kanonis, k-Maps
- Tingkat lanjut: Variabel yang dimasukkan peta, Quine McCluskey, Representasi kubus biner
- Komponen MSI kombinasi:
- Tingkat dasar: MUX, DEMUX, Encoder, Decoder, Half adder, Full adder
- Tingkat sedang: Fungsi berbasis MUX
- Tingkat lanjutan: [tidak ada konten spesifik]
- Komponen LSI kombinasi:
- Level dasar: ROM, ALU
- Level sedang: PLD (PLA, PAL, GAL)
- Tingkat lanjutan: [tidak ada konten tertentu]
- Komponen SSI berurutan:
- Tingkat dasar: Kait Pengaman, Sandal jepit, Sinyal jam, Diagram waktu
- Tingkat sedang: Memori Feedback, Sistem sinkron, Sistem asinkron
- Tingkat lanjutan: [tidak ada konten tertentu]
- Komponen MSI berurutan:
- Tingkat dasar: Register, Penghitung
- Level sedang: [tidak ada konten tertentu]
- Tingkat lanjutan: [tidak ada konten spesifik]
Desain berurutan:
- Tingkat dasar: [tidak ada konten spesifik]
- Level sedang: Sintesis berurutan, FSM (Mealy, Moore), Diagram status, Minimalisasi status, Penetapan status, Kondisi race
- Tingkat lanjut: Desain berbasis MSI, desain berbasis LSI, Diagram alur, Diagram MDS
Tingkat dasar akan memungkinkan pengguna memahami cara kerja rangkaian logika digital dan cara menggunakannya, tanpa memerlukan pengetahuan matematika yang lebih tinggi. Dengan demikian, aplikasi ini bisa cocok untuk penggemar amatir dan siswa pendidikan menengah. Jika pengguna ini memiliki keterampilan yang diperlukan dan ingin membangun pemahaman yang lebih dalam, mereka dapat mengerjakan sebagian atau semua konten tingkat menengah.
Tingkat menengah harus setara dalam konten dan persyaratan dengan kursus pengantar tingkat pendidikan tinggi dalam sistem logika digital.
Terakhir, tingkat lanjut mencakup konten yang biasanya dapat ditemukan di kursus lanjutan pelengkap atau opsional tentang sistem digital di universitas.
Struktur yang diusulkan ini akan didiskusikan dengan mentor pada fase awal project (Minggu 3), yang kemudian akan digunakan sebagai masukan untuk menguraikan rencana pengembangan topik jangka panjang.
Struktur yang diusulkan dapat menggunakan sebagian besar, jika tidak semua, konten dokumentasi saat ini, yang akan direvisi dan diperluas atau dikoreksi sebagaimana mestinya, jika diperlukan. Selain itu, bagian baru akan ditulis untuk konten yang belum dicakup oleh dokumentasi yang ada.
6 Sasaran
- Buat draf pertama panduan kontribusi untuk project Buku Interaktif.
- Buat garis besar pengembangan untuk topik buku.
- Menulis ulang dan menyusun ulang konten saat ini.
- Buat konten baru sesuai dengan rencana pengembangan.
7 Linimasa
Minggu 1: (14 - 20 September) Menganalisis dan berdiskusi dengan mentor tentang panduan terbaik berdasarkan contoh project lain serta pengalaman yang diperoleh sejauh ini dalam project. Minggu ke-2: (21 - 27 September) Menulis draf panduan Minggu ke-3: (28 September - 4 Oktober) Membahas draf rencana pengembangan topik dengan mentor. Minggu 4: (5 Oktober - 11 Oktober) Menulis rencana pengembangan. Minggu ke-5 hingga 11: (12 Oktober - 29 November) Tulis kontribusi, yang terdiri dari konten yang disusun ulang serta topik baru. Minggu ke-12: (30 November - 5 Desember) Penyerahan laporan proyek. Evaluasi project: (3 Desember - 10 Desember) - Pengiriman evaluasi penulis teknis. - Pengiriman evaluasi mentor.
8 Alasan Buku Interaktif CircuitVerse
Karena krisis global COVID-19, saya mulai mencari referensi online yang akan membantu siswa saya dalam kursus sarjana tentang sistem logika digital. Saya telah menjadi advokat teknologi Open Source Free-Libre selama beberapa dekade hingga saat ini, jadi saya memberikan prioritas pada project semacam ini. Saya menemukan simulator CircuitVerse dan saya memutuskan bahwa ini adalah alat yang bagus untuk melengkapi kurangnya aktivitas laboratorium karena pembatasan COVID-19 di Universitas kami. Saat menguji simulator, saya juga menemukan Buku Interaktif mereka, dan meskipun kontennya belum cukup sebagai referensi utama untuk kursus lengkap tentang sistem logika digital, kontennya saat ini sudah benar dan mudah dipahami sehingga saya menyertakannya ke referensi pembelajaran.
Karena saya menggunakan simulator dan buku mereka secara intensif, saya dihubungi oleh organisasi tersebut untuk diberi tahu tentang GSoD. Saya melihat hal ini sebagai peluang untuk berkontribusi kembali ke project langsung dari area keahlian saya.
9 Referensi
- [Bantuan Wikibooks:Berkontribusi],
- [Wikibooks:Kebijakan dan pedoman]
- [Panduan Pengeditan Terorganisasi OpenStreetMap]
- [The Linux Documentation Project (LDP) Author Guide]
- [MIT Open Courseware Introductory Digital Systems Laboratory Syllabus]
- [Lessons In Electric Circuits -- Volume IV -Digital]
- [Wikibooks: Sirkuit Digital]
- [Wikibooks: Digital Electronics]
[The Linux Brochure Project]
[Wikibooks Help:Contributing] https://en.wikibooks.org/wiki/Help:Contributing
[Wikibooks:Kebijakan dan pedoman] https://en.wikibooks.org/wiki/Wikibooks:Policies_and_guidelines
[Panduan Pengeditan Terorganisir OpenStreetMap] https://wiki.osmfoundation.org/wiki/Organised_Editing_Guidelines
[Panduan Penulis Proyek Dokumentasi Linux (LDP)] https://www.tldp.org/LDP/LDP-Author-Guide/html/index.html
[MIT Open Courseware Introductory Digital Systems Laboratory Syllabus] https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-111-introductory-digital-systems-laboratory-spring-2006/syllabus/
[Pelajaran Dalam Sirkuit Listrik -- Volume IV -Digital] https://www.ibiblio.org/kuphaldt/electricCircuits/Digital/index.html
[Wikibooks: Sirkuit Digital] https://en.wikibooks.org/wiki/Digital_Circuits
[Wikibooks: Digital Electronics] https://en.wikibooks.org/wiki/Digital_Electronics
[The Linux Brochure Project] http://lbproject.sourceforge.net/