कंप्यूटर विज्ञान एल्गोरिदम के बारे में है और कंप्यूटर (और इलेक्ट्रॉनिक्स) के बारे में नहीं (सख्ती से)।
जैसे, एल्गोरिदम का अध्ययन (यहां तक कि प्राथमिक अंकगणित का) कंप्यूटर विज्ञान और प्रोग्रामिंग की समझ ला सकता है। याद रखें कि शब्द "एल्गोरिथ्म" एक अंकगणित पुस्तक के लेखक ( अल-ख्वारज़मी , लगभग 9 प्रतिशत CE) का एक दृष्टांत है ।
एल्गोरिदम का अध्ययन प्राथमिक साधनों का उपयोग करके किया जा सकता है, लेकिन इस बात की कवरेज देनी चाहिए कि एल्गोरिथ्म क्यों काम करता है, इसके बारे में कैसे आया और कोई वास्तव में कैसे प्रदर्शित कर सकता है कि यह सही तरीके से काम करता है।
कंप्यूटर विज्ञान और एल्गोरिदम और प्रोग्रामिंग के विकास के पीछे के इतिहास को कम करके आंका नहीं जाना चाहिए। उदाहरण के लिए, बैबेज / एडा का कैलकुलेटर, एनिग्मा मशीन, कोनराड ज़ूस का प्लैंककुल , ईएनएसी आदि।
फिर एक एल्गोरिदम को औपचारिक रूप देने के लिए प्रोग्रामिंग (और प्रोग्रामिंग भाषाओं) को पेश कर सकता है। प्राथमिक साधनों का उपयोग करके यह (एक बड़ी सीमा तक) भी किया जा सकता है।
ध्यान दें , कुछ अध्ययनों से पता चला है कि खूंटी सीखने की प्रोग्रामिंग को समझने में दो मुख्य कठिनाइयाँ हैं (उदाहरण के लिए प्रतीक के अतिभार से संबंधित समानता बनाम समानता परीक्षण और एक रैम मशीन के संचालन)।
- पाश निर्माण (उदाहरण के लिए, जबकि आदि ..) मुश्किल लगता है
- असाइनमेंट बनाम समानता परीक्षण, भी मुश्किल लगता है।
तो कोई यह सुनिश्चित कर सकता है कि ये लोगों द्वारा स्पष्ट रूप से समझे और समझे गए हैं।
इसके अलावा यदि कोई कंप्यूटर एक्सेस किया जा सकता है (यहां तक कि एक कैलकुलेटर जिसे प्रोग्राम किया जा सकता है), इसका उपयोग एप्लिकेशन उदाहरण और हाथों के अनुभव प्रदान करने के लिए किया जा सकता है। एक नकली कंप्यूटर का उपयोग कर सकते हैं। यह विभिन्न तरीकों से किया जा सकता है, उदाहरण के लिए लोगों का एक समूह कंप्यूटर के कुछ हिस्सों का अनुकरण कर सकता है और वर्ग इस सिम्युलेटेड कंप्यूटर के लिए विभिन्न समस्याओं को हल करने के लिए एल्गोरिदम डिज़ाइन कर सकता है और देख सकता है कि यह कैसे जाता है। यह एक खेल के रूप में भी देखा जा सकता है, रचनात्मक और मेकअप किया जा सकता है।
तब कुछ (अमूर्त) कम्प्यूटेशन मॉडल (उदाहरण के लिए ट्यूरिंग मशीन ) को एल्गोरिदम पर पिछली सामग्री से और एक औपचारिक (प्रोग्रामिंग) भाषा में फॉर्मेलिसैटिन से संबंधित किया जा सकता है।
यदि कोई एक वास्तविक कंप्यूटर के इलेक्ट्रॉनिक्स को पेश करना चाहता है, तो इसे दो भागों में भी किया जा सकता है।
याद रखें कि विश्वविद्यालयों में भी कुछ इलेक्ट्रॉनिक्स और कंप्यूटर आर्किटेक्चर पाठ्यक्रम सैद्धांतिक हैं (एक वास्तव में सीपीयू या डिज़ाइन एक के संपर्क में नहीं आता है)।
तो कंप्यूटर वास्तुकला से संबंधित इलेक्ट्रॉनिक्स (और अंतर्निहित भौतिकी) के संचालन के कुछ सिद्धांतों को पेश किया जा सकता है ( अर्धचालक , ठोस-राज्य ऊर्जा क्षेत्र, पी-एनपी गेट, आदि)।
फिर कोई प्रोग्रामिंग और एल्गोरिदम के बारे में पिछली सामग्री का लाभ उठा सकता है और सीपीयू डिज़ाइन (और विवरण) की आधुनिक (तकनीक) तकनीकों को पेश कर सकता है (जो उद्योग में उपयोग किए जाते हैं ( तर्क द्वार , फ्लिप-फ्लॉप , FPGA , VHDL , CMOS सर्किट आदि)।
इसे आगे ले जाया जा सकता है, सीपीयू डिजाइन आर्किटेक्चर मुद्दों जैसे कि समानता, पाइपलाइनिंग, कैश मेमोरी, वेक्टर एड्रिंग, माइक्रो-प्रोग्रामिंग, डीएमए, आदि।
ठीक है, ठीक है शायद यह बहुत अधिक हो सकता है, लेकिन उत्तर को आत्म-निहित बनाने के लिए जोड़ा गया है।