5 पॉइंट द्वारा GN⁺ 2023-12-23 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Nand2Tetris उन शिक्षार्थियों के लिए सामग्री प्रदान करता है जो कंप्यूटर सिस्टम को बुनियाद से समझना चाहते हैं, और इसके लिए general-purpose computer system तथा आधुनिक software layers को खुद बनवाता है
  • lectures, project materials और tools एक ही जगह उपलब्ध हैं, और non-profit environment में इन्हें मुफ्त open source के रूप में इस्तेमाल किया जा सकता है
  • यह कोर्स 400 से अधिक universities, high schools, और bootcamps में इस्तेमाल होता है, और हाई-स्कूल छात्रों से लेकर PhD छात्रों और senior engineers तक इसे करते हैं
  • self-learners वेबसाइट के lecture notes और Projects section का अनुसरण कर सकते हैं, और Coursera पर paid enrollment तथा official certificate उपलब्ध है
  • इसकी संरचना व्यक्तिगत learning और शैक्षणिक संस्थानों की classes दोनों को ध्यान में रखकर बनाई गई है, और instructors अलग से संपर्क कर अतिरिक्त सामग्री प्राप्त कर सकते हैं

बुनियाद से कंप्यूटर बनाने की सीखने की सामग्री

  • Nand to Tetris courses आधिकारिक वेबसाइट general-purpose computer system और आधुनिक software layers को शुरू से बनाने के लिए आवश्यक सामग्री एकत्रित कर उपलब्ध कराती है
  • सामग्री lectures, project materials, और tools से बनी है, और students, instructors, और self-learners के लिए है
  • संबंधित पुस्तक Noam Nisan और Shimon Schocken की The Elements of Computing Systems है
  • कोर्स से संबंधित CACM सामग्री text और video के रूप में उपलब्ध है

सीखने के रास्ते और शिक्षा क्षेत्र में उपयोग

  • Nand to Tetris कोर्स 400 से अधिक universities, high schools, और bootcamps में पढ़ाया जाता है
    • इसमें हाई-स्कूल छात्र, PhD छात्र, और senior engineers तक शामिल हैं
    • सामान्य academic version कोर्स की विस्तृत syllabus देखी जा सकती है
  • स्वतंत्र रूप से पढ़ने वाले लोग वेबसाइट के lecture notes और Projects section का अनुसरण करके सीख सकते हैं
  • Coursera course paid है और official certificate प्रदान करता है
  • instructors के लिए अतिरिक्त सामग्री nand2tetris@gmail.com पर संपर्क करके प्राप्त की जा सकती है

1 टिप्पणियां

 
GN⁺ 2023-12-23
Hacker News की राय
  • 7 साल पहले कॉलेज से ग्रेजुएट होने के बाद जब पहली बार कोशिश की थी, तो केवल चैप्टर 2 तक ही पहुंचा था; बहुत संतोषजनक था, लेकिन दूसरे side projects की वजह से छोड़ दिया
    3 महीने पहले फिर से शुरू किया और अब चैप्टर 8 तक पहुंच गया हूं: logic gates, ALU, CPU, assembler और virtual machine का आधा हिस्सा पूरा कर लिया है। हर चैप्टर में पहले लगता है, “यह आखिर कैसे होगा?”, और जब सच में चलने लगता है तो जबरदस्त संतोष मिलता है
    शुद्ध learning-focused side project के तौर पर यह अब तक किए गए प्रोजेक्ट्स में सबसे संतोषजनक रहा, और इसे अंत तक जारी रखने पर खुद पर काफी गर्व है; जोरदार सिफारिश करता हूं

    • मैंने भी किया है और पूरा खत्म करने में मुझे तीन बार कोशिश करनी पड़ी
      पिछली autumn/winter में मैंने Ben Eater की breadboard पर 8-bit computer बनाने वाली शानदार series के साथ-साथ इसे किया, और कई महीनों तक चीन से parts खरीदकर, सर्दियों भर जैसे-जैसे वे आते गए, subsystems बनाता रहा
      अगली बार यह करना अच्छा रहेगा; यह भी बहुत rewarding है, लेकिन टिमटिमाती LEDs देखते हुए अंदर क्या हो रहा है यह समझना वाकई शानदार लगता है
    • ऐसे course और Code जैसी किताबें देखकर उन लोगों के लिए गहरा सम्मान पैदा होता है जिन्होंने यह सब पहली बार खोजा था
    • उत्सुक हूं कि शुरुआती दो चैप्टर्स की background पूरी तरह समझने के लिए जरूरी solid-state physics का ज्ञान आपने कैसे सीखा
      जैसे integrated circuit inputs को useful outputs में बदलता है, उसका वास्तविक mechanism; TI SN7400 जैसे सबसे सरल real-world integrated circuit तक असल में कैसे काम करते हैं, इसे ठीक से समझाने वाला material मुझे नहीं मिला
    • मैंने यह पूरा project एक class के हिस्से के रूप में किया था, और यह computer science program में ली गई सबसे अच्छी classes में से एक थी; सचमुच बेहतरीन
  • मुझे यह course बहुत पसंद आया, और जो लोग low-level computer science class लिए बिना computers के साथ काम करते हैं, उन्हें मैं इसकी मजबूत सिफारिश करता हूं
    यह intuitively समझाता है कि computer कैसे काम करता है, खासकर वे core हिस्से जो high-level programs और programming languages को प्रभावित करते हैं। मेरे लिए सबसे बड़ा aha moment stack और heap के फर्क को ठीक से समझना था
    यह भी जादुई लगता है कि simple circuits को लगातार जोड़ते-जोड़ते हम वे complex machines बनाते हैं जिन्हें हम इस्तेमाल करते हैं। Teachers कई semesters जितना material बिना जरूरत से ज्यादा simplify किए assembly language जैसे topics का सार जल्दी पकड़वा देते हैं
    अगर समय हो तो सचमुच recommend करूंगा। Part 1, NAND gate से CPU बनाने तक, मजेदार और काफी आसान है, लेकिन Part 2 में computer से complete operating system तक जाने की प्रक्रिया में काफी ज्यादा काम है

    • जानना चाहता हूं कि online course और book वही same material हैं या नहीं
      यह तय करने की कोशिश कर रहा हूं कि दोनों चाहिए या केवल एक काफी है
  • इस course/book की जोरदार सिफारिश करता हूं
    अंत तक करने पर बहुत संतोष मिलता है

  • Ben Eater की बेहतरीन 8-bit computer series(https://eater.net/8bit/) खत्म करने के बाद nand2tetris पर जाना बहुत natural लगा
    यह computer design के उन basic concepts को सच में समझाता है जिन्हें अक्सर सतही तौर पर छोड़ दिया जाता है, और holidays में शुरू करने के लिए बिल्कुल सही project है

    • Ben Eater की recommendation से सहमत हूं
      मुझे उनके videos पसंद हैं, खासकर loops introduce करने वाला और interrupts introduce करने वाला episode
      यह देखना बहुत satisfying था कि उनका लिखा code इन concepts के साथ कितनी ज्यादा elegant तरह से फिर लिखा गया
    • पिछली गर्मियों में मैंने Ben Eater का 6502 computer किया था और यह भी recommend करने लायक है
      अब NAND to Tetris भी देखना होगा
    • Recurse में रहते हुए मैंने nand2tetris किया था, और उस दौर में Ben Eater भी बहुत देखा था
      दोनों अच्छी तरह साथ चलते थे
  • इस course से inspired एक मजेदार NAND game है: https://nandgame.com/

    • Steam पर overwhelmingly positive reviews वाला एक और ज्यादा मजेदार विकल्प भी है: https://store.steampowered.com/app/1444480/Turing_Complete/
    • थोड़ा अलग है, लेकिन TIS-100 और Shenzhen IO भी recommend करूंगा
      दोनों में assembly जैसी language में लिखना होता है और सीखने में बहुत मजा आता है
  • अगर आप computers को और lower level पर समझना चाहते हैं, तो ETH Zürich का Digital Design and Computer Architecture course भी recommend करूंगा
    https://www.youtube.com/playlist?list=PL5Q2soXY2Zi-EImKxYYY1...

    • यह तो सोने की खान है
      मैंने computer architecture की introductory class ली थी, लेकिन दुर्भाग्य से वह बहुत आगे नहीं गई, और modern CPU के out-of-order execution जैसे magic को बिल्कुल cover नहीं किया
      लगता है इस holiday का topic यही playlist होगी
  • इस किताब और उस समय की अच्छी यादें हैं जब मैंने इसे उठाया था
    girlfriend के साथ coffee पीते हुए मैंने बताया कि मैंने पढ़ा है कि सिर्फ NAND से सभी logic gates बनाए जा सकते हैं। curiosity हुई, तो कई napkins पर NAND लिखते हुए सोचा कि क्या सच में सब बना सकते हैं
    आखिरकार कर लिया और बहुत मजा आया
    हर gate को NAND से बनाते समय हमने नए gate का नाम napkin पर लिखा, और वे napkins और वह excitement घर ले आए। कुछ दिनों बाद उन्हीं gates को जोड़कर आखिरकार पूरी ALU तक figure out करने की कोशिश की
    इसी दौरान multiplexers और कई दिलचस्प चीजें निकलीं, और अंत में अटक गया, लेकिन इस किताब के बारे में सुना था इसलिए order करने का फैसला किया
    बाद के chapters ने, केवल software experience रखने वाले मेरे लिए, उस low level को समझने में सचमुच मदद की जो हमेशा रहस्यमय लगता था
    हालांकि मैंने असल में इसे अंत तक बनाकर पूरा नहीं किया
    जैसे ही low-level software वाले हिस्से में पहुंचा, लगा कि मैं पहले ही पर्याप्त समझ चुका हूं, इसलिए actual work उतना आकर्षक नहीं रहा, लेकिन केवल पढ़ना भी बेहतरीन था

  • george hotz का यह repository भी है और काफी interesting है
    https://github.com/geohot/fromthetransistor

    • शुरू में पक्का नहीं था कि मैं क्या देख रहा हूं
      material नहीं है, बस एक hypothetical course की rough outline है, लेकिन initial commits देखने पर बात थोड़ी साफ होती है
      “इसे कुछ साल पहले लिखा था और online डालना चाहता था। hiring मुश्किल है, modern computer science education का बड़ा हिस्सा सच में काफी खराब है, और modern computer stack को first principles से समझने वाले लोगों को ढूंढना बहुत कठिन है। कभी फिर से 12 हफ्ते खाली मिले तो शायद इसे घर से follow किए जा सकने वाले course के रूप में दूंगा। मैं भी साथ खेलना चाहता हूं।”
    • modern computer science education खराब है, यह कहना दिलचस्प है
      undergrad में मैंने CS नहीं बल्कि computer engineering किया था, और उस list के करीब 80% topics cover हुए थे
      Verilog और operating systems के कई courses लिए, और microcontrollers/FPGAs भी काफी किए
      Verilog में CPU बनाना और फिर assembler/compiler लिखना साफ तौर पर highlight था
      course कठिन था, लेकिन graduation के समय लगा कि पूरे stack को काफी अच्छी तरह समझता हूं
      शायद उन्हें computer engineering side की ज्यादा जानकारी नहीं है
  • सोच रहा हूं कि इसका prequel जैसा “sand2nand” भी DIY project के तौर पर संभव होगा या नहीं

  • जब मैं data analyst के रूप में काम कर रहा था, तब हल्के-फुल्के मन से यह course लिया था, और यही मेरे career transition की वजह बना
    सचमुच शानदार course है; अगर समय हो तो जरूर करने की सलाह दूंगा

    • बधाई
      उत्सुक हूं कि क्या आप ज्यादा low-level programming वाले path पर गए