United Grade 9 Computer Science (CSTA Level 3A, grades 9-10)
अध्याय: 5
1. Computing Systems
Abstraction hides implementation details · Levels of abstraction: apps, OS, hardware · Systematic troubleshooting guidelines
- कंप्यूटिंग सिस्टम: ऐप से लेकर लॉजिक गेट तक – कंप्यूटिंग सिस्टम इनपुट लेता है, प्रोसेस करता है, आउटपुट देता है और डेटा भंडारित करता है। हार्डवेयर भौतिक हिस्से हैं; सॉफ़्टवेयर निर्देश हैं। सिस्टम अमूर्तन (abstraction) की परतों में बने होते हैं: ऊपर ऐप, बीच में ऑपरेटिंग सिस्टम, नीचे हार्डवेयर, और हार्डवेयर के अंदर लॉजिक गेट। हर परत अपनी बारीकियाँ ऊपर वाली परत से छिपाती है। ऑपरेटिंग सिस्टम मेमोरी संभालता है, CPU का समय बाँटता है, फ़ाइलें सजाता है, ड्राइवर से डिवाइस चलाता है और सिस्टम सुरक्षित रखता है। लॉजिक गेट (AND, OR, NOT आदि) 1 और 0 से फ़ैसले बनाते हैं। अच्छे डिवाइस उपयोग में आसान बनाए जाते हैं, और समस्या आने पर व्यवस्थित तरीक़े से सुधार किया जाता है: बताओ, आसान जाँच, एक बार में एक बदलाव, जाँचो, लिखो।
2. Networks and the Internet
Network scalability and reliability · Malware and sensitive data · Security measures and trade-offs · Encryption and cryptography · Trade-offs in cybersecurity recommendations
- कंप्यूटर नेटवर्क और इंटरनेट कैसे चलता है – नेटवर्क यानी आपस में जुड़े उपकरण जो डेटा बाँटते हैं। हर उपकरण का एक IP पता होता है। डेटा छोटे क्रमांकित पैकेटों में कटता है। राउटर हर पैकेट को एक-एक कदम उसके पते की ओर भेजते हैं, और TCP अंत में पैकेटों को क्रम से जोड़ता है। DNS वेबसाइट के नाम को IP पते में बदलता है। क्लाइंट माँगता है, सर्वर देता है। फ़ायरवॉल, पासवर्ड, अपडेट और एन्क्रिप्शन नेटवर्क को सुरक्षित रखते हैं।
- नेटवर्क कैसे बढ़े और डेटा कैसे चलता है – कंप्यूटर नेटवर्क जुड़े हुए उपकरणों का समूह है जो डेटा साझा करते हैं। नेटवर्किंग ARPANET (1969) से शुरू हुई, 1980 के दशक में विश्वविद्यालयों के लिए NSFNET बना, और दूसरे नेटवर्कों से जुड़कर इंटरनेट बना — नेटवर्कों का नेटवर्क। हर डेटा संचार के पाँच भाग हैं: प्रेषक, प्राप्तकर्ता, संदेश, संचार माध्यम और प्रोटोकॉल। बैंडविड्थ वह आवृत्ति-सीमा है जो चैनल ले जा सकता है (Hz में); डेटा दर प्रति सेकंड जाने वाले बिट (bps) हैं। नेटवर्क के हर उपकरण का IP एड्रेस होता है। डेटा सर्किट स्विचिंग (पहले पक्का रास्ता बुक) या पैकेट स्विचिंग (डेटा पैकेटों में कटकर अलग-अलग चलता है) से जाता है।
- साइबर सुरक्षा: ख़तरे और उनसे बचाव – साइबर सुरक्षा कंप्यूटर, नेटवर्क और डेटा की रक्षा करती है। इसके लक्ष्य हैं गोपनीयता, अखंडता और उपलब्धता (CIA त्रिक)। आम ख़तरे: मालवेयर, फ़िशिंग व सोशल इंजीनियरिंग, ब्रूट फ़ोर्स और डिनायल ऑफ़ सर्विस। बचाव: मज़बूत प्रमाणीकरण, कूटलेखन, फ़ायरवॉल, एंटी-मालवेयर, अपडेट, पहुँच नियंत्रण और बैकअप।
3. Data and Analysis
Bit representations of real-world data · Organizing and storing data: trade-offs · Interactive data visualizations · Computational models and simulations
- डेटा निरूपण: कंप्यूटर संख्या, अक्षर, चित्र और आवाज़ कैसे रखता है – डेटा कच्चे तथ्य हैं; अर्थ मिलने पर वह सूचना (information) बनता है; जिस सूचना से हम काम ले सकें वह ज्ञान है। कंप्यूटर सारा डेटा बिट (0 या 1) में रखता है। 8 बिट = 1 बाइट; 1 kB = 1000 बाइट, 1 MB = 1000 kB, 1 GB = 1000 MB, 1 TB = 1000 GB। संख्याएँ बाइनरी में रहती हैं, जहाँ स्थानीय मान दोगुने होते जाते हैं: 1, 2, 4, 8… अक्षरों के लिए कैरेक्टर सेट होता है: ASCII में 'A' = 65; यूनिकोड में हर लिपि है। बिटमैप चित्र पिक्सेल का जाल है; साइज़ = चौड़ाई × ऊँचाई × कलर डेप्थ। ध्वनि के सैंपल लिए जाते हैं: साइज़ = सैंपल रेट × बिट डेप्थ × सेकंड। वेक्टर चित्र पिक्सेल की जगह आकृतियाँ रखता है। कम्प्रेशन फ़ाइल छोटी करता है: लॉसलेस हर बिट बचाता है, लॉसी कुछ बारीकी हटा देता है।
- डेटा विश्लेषण – डेटा विश्लेषण यानी कच्चे आँकड़ों को जवाब में बदलना। इसका एक चक्र है: सवाल पूछो, डेटा इकट्ठा करो, साफ़ करो (ग़लती, दोहराव और खाली जवाब हटाओ), व्यवस्थित करो, माध्य, माध्यिका, परास और पैटर्न से विश्लेषण करो, सही चार्ट बनाओ और सावधानी से निष्कर्ष निकालो। बाहरी मान, छोटे नमूने और पक्षपात पर नज़र रखो, और याद रखो कि दो चीज़ों का साथ बढ़ना (सहसंबंध) यह साबित नहीं करता कि एक दूसरे का कारण है। डेटा को सुरक्षित रखना और अनुमति से इस्तेमाल करना भी ज़रूरी है।
4. Algorithms and Programming
Prototyping algorithms · Lists to generalize solutions · Choosing control structures · Iterative development of artifacts · Decomposition into components · Procedures, modules and objects · Designing for broad audiences · Software licenses · Evaluating and refining usability · Team development with collaboration tools · Documenting design decisions
- समस्या समाधान का परिचय – कंप्यूटर से समस्या हल करने के चरण: समस्या का विश्लेषण (इनपुट, आउटपुट, नियम), एल्गोरिद्म बनाना (सीमित, स्पष्ट, क्रमबद्ध चरण), प्रोग्रामिंग भाषा में कोड करना, अलग-अलग इनपुट से जाँचना (टेस्ट), और डीबग (गलतियाँ ढूँढकर हटाना)। एल्गोरिद्म को फ़्लोचार्ट (अंडाकार = शुरू/रुको, समांतर चतुर्भुज = इनपुट/आउटपुट, आयत = प्रक्रिया, हीरा = निर्णय, तीर = दिशा) या स्यूडोकोड (सरल संरचित भाषा) में दिखाते हैं। विघटन बड़ी समस्या को छोटी उप-समस्याओं में तोड़ता है।
- ऐरे और लिस्ट: एक नाम में बहुत सारे मान – ऐरे (array) नंबर वाले डिब्बों की एक पंक्ति है जिनका नाम एक ही होता है। हर डिब्बे में एक मान होता है और उसका इंडेक्स 0 से शुरू होता है। इंडेक्स से हम डिब्बा पढ़ते या बदलते हैं, लूप से हर डिब्बे पर जाते हैं (ट्रैवर्सल), और इसी लूप से योग, औसत, सबसे बड़ा मान, गिनती और लीनियर सर्च करते हैं। 2D ऐरे पंक्तियों और स्तंभों का ग्रिड है, जिसे दो इंडेक्स और दो नेस्टेड लूप से पढ़ते हैं। ऐरे का आकार तय होता है; लिस्ट बढ़-घट सकती है।
- Python में नियंत्रण प्रवाह – नियंत्रण प्रवाह वह क्रम है जिसमें कथन चलते हैं। Python में तीन प्रकार: क्रमिक (ऊपर से नीचे), चयन (if, if-else, if-elif-else) और पुनरावृत्ति (for और while लूप)। ब्लॉक इंडेंटेशन से बनते हैं (कोलन के बाद आमतौर पर 4 स्पेस)। range(start, stop, step) start से stop तक, पर stop शामिल नहीं। while तब तक दोहराता है जब तक शर्त सत्य है। break लूप तुरंत छोड़ता है; continue अगली बारी पर जाता है। लूप के अंदर लूप नेस्टेड लूप है, जो पैटर्न में काम आता है; जोड़ने वाले चर (accumulator) से श्रेणी का योग निकलता है।
- प्रोग्रामिंग की मूल बातें: अनुक्रम, चयन, लूप और फ़ंक्शन – प्रोग्राम सटीक निर्देशों का समूह है जिसे कंप्यूटर मानता है। हर प्रोग्राम तीन संरचनाओं से बनता है: अनुक्रम (क्रम से कदम), चयन (if/else से चुनाव) और पुनरावृत्ति (लूप)। चर मान संभालकर रखते हैं। फ़ंक्शन कोड को नाम वाले, दोबारा इस्तेमाल होने वाले खंडों में बाँटते हैं, जिससे प्रोग्राम मॉड्यूलर बनता है और उसे जाँचना, सुधारना और सँभालना आसान होता है।
- ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOP) – ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में प्रोग्राम ऑब्जेक्ट्स से बनता है। क्लास एक ब्लूप्रिंट है जो बताता है कि उसके ऑब्जेक्ट्स के पास कौन-सा डेटा (एट्रिब्यूट) और कौन-से काम (मेथड) होंगे। हर ऑब्जेक्ट क्लास से बनता है और अपना डेटा ख़ुद रखता है। चार बड़े विचार हैं: एनकैप्सुलेशन (डेटा को मेथड के पीछे छिपाना), इनहेरिटेंस (नई क्लास पुरानी को दोबारा इस्तेमाल करे), पॉलीमॉर्फ़िज़्म (एक ही मेथड हर ऑब्जेक्ट के लिए सही ढंग से चले) और एब्स्ट्रैक्शन (ज़रूरी चीज़ ही दिखाना)।
- सॉफ़्टवेयर विकास: विचार से चलते ऐप तक – अच्छा सॉफ़्टवेयर चरणों में बनता है: समस्या का विश्लेषण करके आवश्यकताएँ लिखो, हल डिज़ाइन करो, छोटे हिस्सों में कोड करो, सामान्य, सीमा और गलत डेटा से परीक्षण करो, उपयोगकर्ताओं तक पहुँचाओ और रखरखाव करो। वॉटरफ़ॉल हर चरण एक बार क्रम से करता है; एजाइल छोटे चक्र दोहराता है। मज़बूत प्रोग्राम इनपुट जाँचते हैं, और टीमें वर्ज़न कंट्रोल, साफ़ भूमिकाएँ और उपयोगकर्ता की राय इस्तेमाल करती हैं।
5. Impacts of Computing
Impacts of computing on society · Reducing bias in artifacts · Algorithms across disciplines · Collaboration tools for connection · Intellectual property · Privacy and data collection · Social and economic implications of privacy
जल्द आ रहा है