Ontario Grade 12 ICS4U Computer Science (Grade 12, University Preparation)
अध्याय: 4
1. A. Programming Concepts and Skills
A1 Data Types and Expressions · A2 Modular Programming · A3 Designing Algorithms · A4 Code Maintenance
- Python में डेटा प्रकार, ऑपरेटर और त्रुटियाँ – Python में हर मान का एक डेटा प्रकार है: संख्याएँ (int, float, complex), bool (True/False), None, अनुक्रम (str, list, tuple) और मैपिंग (dict)। म्यूटेबल प्रकार (list, dict) अपनी जगह बदल सकते हैं; इम्यूटेबल (int, float, bool, str, tuple) नहीं। ऑपरेटर: अंकगणितीय (+ − * / // % **), संबंधपरक (< > <= >= == !=), तार्किक (and, or, not), असाइनमेंट (= += …), पहचान (is) और सदस्यता (in)। प्राथमिकता क्रम तय करती है: ** सबसे ऊपर, or सबसे नीचे। रूपांतरण अंतर्निहित (अपने-आप) या स्पष्ट (int(), float(), str()) होता है। input() हमेशा स्ट्रिंग देता है; print() sep और end के साथ दिखाता है। त्रुटियाँ: सिंटैक्स, रनटाइम (एक्सेप्शन) और लॉजिकल।
- Python मॉड्यूल: math, random और statistics – मॉड्यूल एक Python फ़ाइल (.py) है जिसमें तैयार फ़ंक्शन, स्थिरांक और क्लास होते हैं। इसे import module_name (फिर module.function()), import module as उपनाम, या from module import name1, name2 (फिर नाम सीधे) से लाते हैं; from module import * सब लाता है (सलाह नहीं)। math मॉड्यूल: sqrt(), pow(), ceil(), floor(), fabs(), factorial(), gcd(), log(), log10(), sin(), cos(), tan() और स्थिरांक pi व e। random मॉड्यूल: random() (0 ≤ x < 1), randint(a, b) (a से b, दोनों शामिल) और randrange(start, stop, step) (stop शामिल नहीं)। statistics मॉड्यूल: mean(), median() और mode()।
- खोज (Searching) और छँटाई (Sorting) एल्गोरिदम – खोज एल्गोरिदम सूची में कोई चीज़ ढूँढता है; छँटाई एल्गोरिदम सूची को क्रम में लगाता है। रेखीय खोज एक-एक करके देखती है और किसी भी सूची पर चलती है। द्विआधारी खोज छँटी सूची को हर बार आधा करती है और बहुत तेज़ है। बबल सॉर्ट पड़ोसियों की अदला-बदली करता है; मर्ज सॉर्ट सूची तोड़कर छँटे टुकड़े जोड़ता है, जो बड़ी सूचियों में तेज़ है।
- प्रोग्रामिंग की मूल बातें: अनुक्रम, चयन, लूप और फ़ंक्शन – प्रोग्राम सटीक निर्देशों का समूह है जिसे कंप्यूटर मानता है। हर प्रोग्राम तीन संरचनाओं से बनता है: अनुक्रम (क्रम से कदम), चयन (if/else से चुनाव) और पुनरावृत्ति (लूप)। चर मान संभालकर रखते हैं। फ़ंक्शन कोड को नाम वाले, दोबारा इस्तेमाल होने वाले खंडों में बाँटते हैं, जिससे प्रोग्राम मॉड्यूलर बनता है और उसे जाँचना, सुधारना और सँभालना आसान होता है।
2. B. Software Development
B1 Project Management · B2 Software Project Contribution
- नेतृत्व और प्रबंधन: लोग, टीम और बदलाव को कैसे संभालें – प्रबंधन योजना, संगठन, स्टाफ़िंग, निर्देशन और नियंत्रण से काम करवाता है। नेतृत्व लोगों को साझा लक्ष्य के लिए प्रेरित करता है। नेता लोगों और काम के अनुसार शैली चुनते हैं, संवाद और ईमानदारी जैसे गुण बनाते हैं, टीम को उसके चरणों से गुज़ारते हैं, समय-सारणी से परियोजना चलाते हैं, सही ढंग से काम सौंपते हैं और लोगों को बदलाव अपनाने में मदद करते हैं।
3. C. Designing Modular Programs
C1 Modular Design · C2 Algorithm Analysis
- मॉड्यूलर डिज़ाइन: भागों से प्रोग्राम बनाना – मॉड्यूलर डिज़ाइन का मतलब है बड़े प्रोग्राम को छोटे, अलग-अलग हिस्सों (मॉड्यूल) में बाँटना। हर मॉड्यूल एक ही काम करता है और उसे अलग से लिखा, जाँचा और ठीक किया जा सकता है। फ़ंक्शनल अपघटन (functional decomposition) किसी काम को तब तक छोटे उप-प्रोग्राम (फ़ंक्शन) में तोड़ता है जब तक हर टुकड़ा आसान न हो जाए। क्लास डेटा और उस पर काम करने वाले मेथड को साथ रखती है। एनकैप्सुलेशन मॉड्यूल का डेटा छिपाता है; बाकी हिस्से सिर्फ़ सार्वजनिक इंटरफ़ेस से बात करते हैं। अच्छे मॉड्यूल में उच्च संसंजन (high cohesion) और कम युग्मन (low coupling) होता है, इसलिए उन्हें दूसरे प्रोग्राम में दोबारा इस्तेमाल किया जा सकता है।
- एल्गोरिदम कॉम्प्लेक्सिटी: एल्गोरिदम कितनी तेज़ी से बढ़ता है? – एक ही सवाल को कई एल्गोरिदम हल कर सकते हैं, पर कुछ बहुत ज़्यादा कदम लेते हैं। हम घड़ी के सेकंड नहीं, बल्कि इनपुट के आकार 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)। मेमोरी की बढ़त = स्पेस कॉम्प्लेक्सिटी।
4. D. Topics in Computer Science
D1 Environmental Stewardship and Sustainability · D2 Ethical Practices · D3 Emerging Technologies and Society · D4 Exploring Computer Science
- पर्यावरण संरक्षण: तकनीक इस्तेमाल करते हुए धरती की देखभाल – पर्यावरण संरक्षण (environmental stewardship) का मतलब है धरती के संसाधनों को सोच-समझकर इस्तेमाल करना ताकि वे लंबे समय तक चलें, और जहाँ नुक़सान हुआ हो उसे ठीक करना। फ़ोन हो या अस्पताल की मशीन, हर उत्पाद का एक जीवन-चक्र होता है: कच्चा माल, निर्माण, परिवहन, उपयोग और जीवन का अंत। हर चरण में ऊर्जा लगती है और कचरा बनता है। अच्छा संरक्षक चीज़ें लंबे समय तक चलाता है, कम बिजली वाली मशीनें चुनता है, कचरा-पदानुक्रम मानता है, ई-कचरा सही जगह देता है और प्रकृति बचाने वाले नियमों का साथ देता है।
- कंप्यूटर विज्ञान: कंप्यूटर समस्याएँ कैसे हल करते हैं – कंप्यूटर विज्ञान (जिसे informatics भी कहते हैं) कंप्यूटर से समस्याएँ हल करने का अध्ययन है। हर प्रोग्राम इनपुट लेता है, उसे संसाधित करता है और आउटपुट देता है। कंप्यूटर सारा डेटा बिट (0 और 1) में रखता है; 8 बिट = 1 बाइट, और बाइनरी के स्थानीय मान दोगुने होते जाते हैं: 1, 2, 4, 8 … 128। एल्गोरिदम साफ़ क़दमों की सीमित सूची है; प्रोग्राम वह एल्गोरिदम है जो प्रोग्रामिंग भाषा में क्रम, चयन और दोहराव से लिखा जाता है। डेटा संरचनाएँ (सूची, स्टैक, क्यू, ट्री, ग्राफ़) डेटा को सजाती हैं ताकि प्रोग्राम तेज़ चलें। नेटवर्क और दूरसंचार कंप्यूटरों को जोड़ते हैं: संदेश पैकेट बनकर राउटरों से होते हुए तार, फ़ाइबर और रेडियो पर प्रोटोकॉल के नियमों से चलते हैं। AI, IoT, क्लाउड और रोबोटिक्स जैसी नई तकनीकें बड़े लाभ और निजता, निष्पक्षता, नौकरियों और सुरक्षा के नए सवाल लाती हैं।
- करियर प्लानिंग: ख़ुद को जानने से पहली नौकरी तक – करियर प्लानिंग के पाँच कदम हैं। 1) ख़ुद को जानो: रुचियाँ, कौशल और मूल्य। 2) करियर परिवार खोजो और जानो कि काम क्या है, कौन-सी पढ़ाई चाहिए, वेतन और माँग कितनी है। 3) SMART लक्ष्य और प्लान B के साथ रास्ता बनाओ। 4) CV, आवेदन पत्र, डिजिटल पोर्टफ़ोलियो और इंटरव्यू अभ्यास से नौकरी खोजो। 5) स्कूल से काम की ओर बढ़ो और सीखते रहो, क्योंकि ज़िंदगी भर करियर बदलता है।