United Grade 11 Computer Science (CSTA Level 3B, grades 11-12)
अध्याय: 5
1. Computing Systems
Roles of operating systems · Logic gates, input and output
- कंप्यूटिंग सिस्टम: ऐप से लेकर लॉजिक गेट तक – कंप्यूटिंग सिस्टम इनपुट लेता है, प्रोसेस करता है, आउटपुट देता है और डेटा भंडारित करता है। हार्डवेयर भौतिक हिस्से हैं; सॉफ़्टवेयर निर्देश हैं। सिस्टम अमूर्तन (abstraction) की परतों में बने होते हैं: ऊपर ऐप, बीच में ऑपरेटिंग सिस्टम, नीचे हार्डवेयर, और हार्डवेयर के अंदर लॉजिक गेट। हर परत अपनी बारीकियाँ ऊपर वाली परत से छिपाती है। ऑपरेटिंग सिस्टम मेमोरी संभालता है, CPU का समय बाँटता है, फ़ाइलें सजाता है, ड्राइवर से डिवाइस चलाता है और सिस्टम सुरक्षित रखता है। लॉजिक गेट (AND, OR, NOT आदि) 1 और 0 से फ़ैसले बनाते हैं। अच्छे डिवाइस उपयोग में आसान बनाए जाते हैं, और समस्या आने पर व्यवस्थित तरीक़े से सुधार किया जाता है: बताओ, आसान जाँच, एक बार में एक बदलाव, जाँचो, लिखो।
2. Networks and the Internet
Bandwidth, load, delay and topology · Protecting devices and information
- नेटवर्क के प्रकार, टोपोलॉजी और प्रोटोकॉल: आकार, ढाँचा और नियम – नेटवर्क आकार से बँटते हैं: PAN (एक व्यक्ति के आस-पास कुछ मीटर), LAN (कमरा, इमारत या परिसर), MAN (शहर) और WAN (देश या दुनिया)। टोपोलॉजी नोड्स के जुड़ने का ढाँचा है: बस (सब एक बैकबोन केबल पर), स्टार (सब एक केंद्रीय हब या स्विच से) और ट्री (स्तरों में जुड़े स्टार)। प्रोटोकॉल नियमों का समूह है: TCP/IP इंटरनेट पर डेटा तोड़ता और रास्ता देता है, HTTP और HTTPS वेब पेज लाते हैं, FTP फ़ाइलें भेजता है, SMTP ईमेल भेजता है, POP3 ईमेल डाउनलोड करता है, PPP दो उपकरण सीधे जोड़ता है, TELNET दूर के कंप्यूटर में लॉग-इन कराता है, और VoIP इंटरनेट पर आवाज़ ले जाता है।
- साइबर सुरक्षा: ख़तरे और उनसे बचाव – साइबर सुरक्षा कंप्यूटर, नेटवर्क और डेटा की रक्षा करती है। इसके लक्ष्य हैं गोपनीयता, अखंडता और उपलब्धता (CIA त्रिक)। आम ख़तरे: मालवेयर, फ़िशिंग व सोशल इंजीनियरिंग, ब्रूट फ़ोर्स और डिनायल ऑफ़ सर्विस। बचाव: मज़बूत प्रमाणीकरण, कूटलेखन, फ़ायरवॉल, एंटी-मालवेयर, अपडेट, पहुँच नियंत्रण और बैकअप।
3. Data and Analysis
Data analysis tools and patterns · Data collection techniques · Evaluating models and simulations
- डेटा विश्लेषण – डेटा विश्लेषण यानी कच्चे आँकड़ों को जवाब में बदलना। इसका एक चक्र है: सवाल पूछो, डेटा इकट्ठा करो, साफ़ करो (ग़लती, दोहराव और खाली जवाब हटाओ), व्यवस्थित करो, माध्य, माध्यिका, परास और पैटर्न से विश्लेषण करो, सही चार्ट बनाओ और सावधानी से निष्कर्ष निकालो। बाहरी मान, छोटे नमूने और पक्षपात पर नज़र रखो, और याद रखो कि दो चीज़ों का साथ बढ़ना (सहसंबंध) यह साबित नहीं करता कि एक दूसरे का कारण है। डेटा को सुरक्षित रखना और अनुमति से इस्तेमाल करना भी ज़रूरी है।
4. Algorithms and Programming
How artificial intelligence works · Implementing a game-playing AI algorithm · Classic algorithms · Algorithm efficiency and correctness · Data structures compared · Recursion · Student-created components and APIs · Generalizable patterns in large problems · Code reuse with libraries · Software life cycle · Security issues in programs · Multiple platforms · Version control and IDEs · Test cases · Modifying existing programs · Code review · Comparing programming languages
- कृत्रिम बुद्धिमत्ता (AI): मशीनें सोचना कैसे सीखती हैं – कृत्रिम बुद्धिमत्ता (Artificial Intelligence, AI) कंप्यूटर प्रणाली की वह क्षमता है जिससे वह ऐसे काम करती है जिनमें आम तौर पर इंसानी दिमाग़ लगता है: देखना, बोली समझना, फ़ैसला करना और सीखना। AI प्रणाली एक एजेंट है जो महसूस करती है, सोचती है और काम करती है। पुरानी AI इंसानों के लिखे नियमों पर चलती थी। आज की AI ज़्यादातर मशीन लर्निंग से चलती है: वह ढेर सारे लेबल वाले उदाहरणों (डेटा) से ख़ुद नियम ढूँढती है। न्यूरल नेटवर्क सरल इकाइयों की परतें हैं जिनकी कड़ियों की ताकत (भार) प्रशिक्षण में बदलती है। AI नक्शों, अनुवाद, स्वास्थ्य, खेती और खेलों में काम आती है। एकतरफ़ा डेटा से यह ग़लत या पक्षपाती हो सकती है, इसलिए इंसान को इसे जाँचना, निजता बचाना और ज़िम्मेदार रहना चाहिए।
- समस्या समाधान का परिचय – कंप्यूटर से समस्या हल करने के चरण: समस्या का विश्लेषण (इनपुट, आउटपुट, नियम), एल्गोरिद्म बनाना (सीमित, स्पष्ट, क्रमबद्ध चरण), प्रोग्रामिंग भाषा में कोड करना, अलग-अलग इनपुट से जाँचना (टेस्ट), और डीबग (गलतियाँ ढूँढकर हटाना)। एल्गोरिद्म को फ़्लोचार्ट (अंडाकार = शुरू/रुको, समांतर चतुर्भुज = इनपुट/आउटपुट, आयत = प्रक्रिया, हीरा = निर्णय, तीर = दिशा) या स्यूडोकोड (सरल संरचित भाषा) में दिखाते हैं। विघटन बड़ी समस्या को छोटी उप-समस्याओं में तोड़ता है।
- एल्गोरिदम कॉम्प्लेक्सिटी: एल्गोरिदम कितनी तेज़ी से बढ़ता है? – एक ही सवाल को कई एल्गोरिदम हल कर सकते हैं, पर कुछ बहुत ज़्यादा कदम लेते हैं। हम घड़ी के सेकंड नहीं, बल्कि इनपुट के आकार n के साथ बढ़ते कदम गिनते हैं। बिग O इस बढ़त का नाम है: O(1) स्थिर, O(log n), O(n) रैखिक, O(n log n) और O(n²)। लीनियर सर्च O(n), बाइनरी सर्च O(log n); बबल सॉर्ट O(n²), मर्ज सॉर्ट O(n log n)। मेमोरी की बढ़त = स्पेस कॉम्प्लेक्सिटी।
- ऐरे और लिस्ट: एक नाम में बहुत सारे मान – ऐरे (array) नंबर वाले डिब्बों की एक पंक्ति है जिनका नाम एक ही होता है। हर डिब्बे में एक मान होता है और उसका इंडेक्स 0 से शुरू होता है। इंडेक्स से हम डिब्बा पढ़ते या बदलते हैं, लूप से हर डिब्बे पर जाते हैं (ट्रैवर्सल), और इसी लूप से योग, औसत, सबसे बड़ा मान, गिनती और लीनियर सर्च करते हैं। 2D ऐरे पंक्तियों और स्तंभों का ग्रिड है, जिसे दो इंडेक्स और दो नेस्टेड लूप से पढ़ते हैं। ऐरे का आकार तय होता है; लिस्ट बढ़-घट सकती है।
- रिकर्शन: ख़ुद को पुकारने वाले फ़ंक्शन – रिकर्शन (recursion) तब होता है जब कोई फ़ंक्शन किसी प्रश्न को हल करने के लिए उसी प्रश्न के छोटे रूप पर ख़ुद को पुकारता है। हर रिकर्सिव फ़ंक्शन में एक आधार स्थिति (base case) चाहिए, जहाँ वह रुककर सीधे उत्तर देता है, और एक रिकर्सिव स्थिति जो आधार स्थिति की ओर बढ़ती है। हर पुकार को कॉल स्टैक पर अपना स्टैक फ़्रेम मिलता है; पुकार लौटने पर फ़्रेम हट जाता है।
- ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOP) – ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में प्रोग्राम ऑब्जेक्ट्स से बनता है। क्लास एक ब्लूप्रिंट है जो बताता है कि उसके ऑब्जेक्ट्स के पास कौन-सा डेटा (एट्रिब्यूट) और कौन-से काम (मेथड) होंगे। हर ऑब्जेक्ट क्लास से बनता है और अपना डेटा ख़ुद रखता है। चार बड़े विचार हैं: एनकैप्सुलेशन (डेटा को मेथड के पीछे छिपाना), इनहेरिटेंस (नई क्लास पुरानी को दोबारा इस्तेमाल करे), पॉलीमॉर्फ़िज़्म (एक ही मेथड हर ऑब्जेक्ट के लिए सही ढंग से चले) और एब्स्ट्रैक्शन (ज़रूरी चीज़ ही दिखाना)।
- प्रोग्रामिंग की मूल बातें: अनुक्रम, चयन, लूप और फ़ंक्शन – प्रोग्राम सटीक निर्देशों का समूह है जिसे कंप्यूटर मानता है। हर प्रोग्राम तीन संरचनाओं से बनता है: अनुक्रम (क्रम से कदम), चयन (if/else से चुनाव) और पुनरावृत्ति (लूप)। चर मान संभालकर रखते हैं। फ़ंक्शन कोड को नाम वाले, दोबारा इस्तेमाल होने वाले खंडों में बाँटते हैं, जिससे प्रोग्राम मॉड्यूलर बनता है और उसे जाँचना, सुधारना और सँभालना आसान होता है।
- सॉफ़्टवेयर विकास: विचार से चलते ऐप तक – अच्छा सॉफ़्टवेयर चरणों में बनता है: समस्या का विश्लेषण करके आवश्यकताएँ लिखो, हल डिज़ाइन करो, छोटे हिस्सों में कोड करो, सामान्य, सीमा और गलत डेटा से परीक्षण करो, उपयोगकर्ताओं तक पहुँचाओ और रखरखाव करो। वॉटरफ़ॉल हर चरण एक बार क्रम से करता है; एजाइल छोटे चक्र दोहराता है। मज़बूत प्रोग्राम इनपुट जाँचते हैं, और टीमें वर्ज़न कंट्रोल, साफ़ भूमिकाएँ और उपयोगकर्ता की राय इस्तेमाल करती हैं।
- साइबर सुरक्षा: ख़तरे और उनसे बचाव – साइबर सुरक्षा कंप्यूटर, नेटवर्क और डेटा की रक्षा करती है। इसके लक्ष्य हैं गोपनीयता, अखंडता और उपलब्धता (CIA त्रिक)। आम ख़तरे: मालवेयर, फ़िशिंग व सोशल इंजीनियरिंग, ब्रूट फ़ोर्स और डिनायल ऑफ़ सर्विस। बचाव: मज़बूत प्रमाणीकरण, कूटलेखन, फ़ायरवॉल, एंटी-मालवेयर, अपडेट, पहुँच नियंत्रण और बैकअप।
5. Impacts of Computing
Maximizing benefits of artifacts · Equity and access in computing · Predicting impacts of innovations · Laws and regulations for software
जल्द आ रहा है