Ontario Grade 12 ICS4C Computer Programming (Grade 12, College Preparation)
अध्याय: 4
1. A. Programming Concepts and Skills
A1 Data Structures · A2 Using Standard Algorithms · A3 Object-oriented Programming · A4 Code Maintenance
- Python में लिस्ट – लिस्ट किसी भी प्रकार के मानों का क्रमबद्ध, म्यूटेबल अनुक्रम है, जो वर्ग कोष्ठक में लिखा जाता है: [4, 'a', 2.5]। आइटम इंडेक्स से मिलते हैं (बाएँ से 0, दाएँ से −1) और उसी जगह बदले जा सकते हैं। संक्रियाएँ: + (जोड़ना), * (दोहराना), in / not in (सदस्यता) और स्लाइसिंग। ट्रैवर्सल for या while से। फ़ंक्शन और मेथड: len(), list(), append(), extend(), insert(), count(), index(), remove(), pop(), reverse(), sort(), sorted(), min(), max(), sum()। नेस्टेड लिस्ट में लिस्ट के अंदर लिस्ट होती है, तालिका जैसी (M[पंक्ति][स्तंभ])। मानक प्रोग्राम: अधिकतम, न्यूनतम, औसत, रैखिक खोज और बारंबारता।
- पायथन में list: बनाना, ट्रैवर्स, बदलना और list मेथड – list वर्ग कोष्ठक में लिखा क्रमबद्ध, बदलने योग्य संग्रह है, जैसे [10, 20, 30]। आइटम इंडेक्स (0 से, या अंत से ऋणात्मक) और स्लाइस से मिलते हैं। for लूप से list ट्रैवर्स करते हैं, list परिवर्तनशील है इसलिए आइटम वहीं बदलते हैं, और फ़ंक्शन (len, max, min, sum, sorted, list) व मेथड (append, insert, extend, remove, pop, sort, reverse, count, index, clear) से काम करते हैं।
- खोज (Searching) और छँटाई (Sorting) एल्गोरिदम – खोज एल्गोरिदम सूची में कोई चीज़ ढूँढता है; छँटाई एल्गोरिदम सूची को क्रम में लगाता है। रेखीय खोज एक-एक करके देखती है और किसी भी सूची पर चलती है। द्विआधारी खोज छँटी सूची को हर बार आधा करती है और बहुत तेज़ है। बबल सॉर्ट पड़ोसियों की अदला-बदली करता है; मर्ज सॉर्ट सूची तोड़कर छँटे टुकड़े जोड़ता है, जो बड़ी सूचियों में तेज़ है।
- ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOP) – ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में प्रोग्राम ऑब्जेक्ट्स से बनता है। क्लास एक ब्लूप्रिंट है जो बताता है कि उसके ऑब्जेक्ट्स के पास कौन-सा डेटा (एट्रिब्यूट) और कौन-से काम (मेथड) होंगे। हर ऑब्जेक्ट क्लास से बनता है और अपना डेटा ख़ुद रखता है। चार बड़े विचार हैं: एनकैप्सुलेशन (डेटा को मेथड के पीछे छिपाना), इनहेरिटेंस (नई क्लास पुरानी को दोबारा इस्तेमाल करे), पॉलीमॉर्फ़िज़्म (एक ही मेथड हर ऑब्जेक्ट के लिए सही ढंग से चले) और एब्स्ट्रैक्शन (ज़रूरी चीज़ ही दिखाना)।
- प्रोग्रामिंग की मूल बातें: अनुक्रम, चयन, लूप और फ़ंक्शन – प्रोग्राम सटीक निर्देशों का समूह है जिसे कंप्यूटर मानता है। हर प्रोग्राम तीन संरचनाओं से बनता है: अनुक्रम (क्रम से कदम), चयन (if/else से चुनाव) और पुनरावृत्ति (लूप)। चर मान संभालकर रखते हैं। फ़ंक्शन कोड को नाम वाले, दोबारा इस्तेमाल होने वाले खंडों में बाँटते हैं, जिससे प्रोग्राम मॉड्यूलर बनता है और उसे जाँचना, सुधारना और सँभालना आसान होता है।
2. B. Software Development
B1 Designing Standard Algorithms · B2 Object-oriented Software Solutions · B3 Graphical User Interfaces · B4 Student-managed Project
- प्रोग्रामिंग की मूल बातें: अनुक्रम, चयन, लूप और फ़ंक्शन – प्रोग्राम सटीक निर्देशों का समूह है जिसे कंप्यूटर मानता है। हर प्रोग्राम तीन संरचनाओं से बनता है: अनुक्रम (क्रम से कदम), चयन (if/else से चुनाव) और पुनरावृत्ति (लूप)। चर मान संभालकर रखते हैं। फ़ंक्शन कोड को नाम वाले, दोबारा इस्तेमाल होने वाले खंडों में बाँटते हैं, जिससे प्रोग्राम मॉड्यूलर बनता है और उसे जाँचना, सुधारना और सँभालना आसान होता है।
- ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOP) – ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में प्रोग्राम ऑब्जेक्ट्स से बनता है। क्लास एक ब्लूप्रिंट है जो बताता है कि उसके ऑब्जेक्ट्स के पास कौन-सा डेटा (एट्रिब्यूट) और कौन-से काम (मेथड) होंगे। हर ऑब्जेक्ट क्लास से बनता है और अपना डेटा ख़ुद रखता है। चार बड़े विचार हैं: एनकैप्सुलेशन (डेटा को मेथड के पीछे छिपाना), इनहेरिटेंस (नई क्लास पुरानी को दोबारा इस्तेमाल करे), पॉलीमॉर्फ़िज़्म (एक ही मेथड हर ऑब्जेक्ट के लिए सही ढंग से चले) और एब्स्ट्रैक्शन (ज़रूरी चीज़ ही दिखाना)।
- Tkinter से GUI प्रोग्रामिंग: विंडो, विजेट और इवेंट – GUI (ग्राफ़िकल यूज़र इंटरफ़ेस) से लोग कमांड टाइप करने की जगह विंडो, बटन और बॉक्स से प्रोग्राम चलाते हैं। पायथन की अंतर्निर्मित Tkinter लाइब्रेरी यह आसान बनाती है: Tk() से विंडो बनाओ, Label, Entry, Button जैसे विजेट जोड़ो, pack, grid या place से सजाओ, और हर बटन को एक फ़ंक्शन से जोड़ो। फिर प्रोग्राम mainloop() में इंतज़ार करता है और क्लिक या कुंजी दबाने जैसे इवेंट होने पर आपके फ़ंक्शन चलाता है।
- नेतृत्व और प्रबंधन: लोग, टीम और बदलाव को कैसे संभालें – प्रबंधन योजना, संगठन, स्टाफ़िंग, निर्देशन और नियंत्रण से काम करवाता है। नेतृत्व लोगों को साझा लक्ष्य के लिए प्रेरित करता है। नेता लोगों और काम के अनुसार शैली चुनते हैं, संवाद और ईमानदारी जैसे गुण बनाते हैं, टीम को उसके चरणों से गुज़ारते हैं, समय-सारणी से परियोजना चलाते हैं, सही ढंग से काम सौंपते हैं और लोगों को बदलाव अपनाने में मदद करते हैं।
3. C. Programming Environment
C1 Project Management Tools · C2 Software Development Tools
- नेतृत्व और प्रबंधन: लोग, टीम और बदलाव को कैसे संभालें – प्रबंधन योजना, संगठन, स्टाफ़िंग, निर्देशन और नियंत्रण से काम करवाता है। नेतृत्व लोगों को साझा लक्ष्य के लिए प्रेरित करता है। नेता लोगों और काम के अनुसार शैली चुनते हैं, संवाद और ईमानदारी जैसे गुण बनाते हैं, टीम को उसके चरणों से गुज़ारते हैं, समय-सारणी से परियोजना चलाते हैं, सही ढंग से काम सौंपते हैं और लोगों को बदलाव अपनाने में मदद करते हैं।
- सॉफ़्टवेयर विकास: विचार से चलते ऐप तक – अच्छा सॉफ़्टवेयर चरणों में बनता है: समस्या का विश्लेषण करके आवश्यकताएँ लिखो, हल डिज़ाइन करो, छोटे हिस्सों में कोड करो, सामान्य, सीमा और गलत डेटा से परीक्षण करो, उपयोगकर्ताओं तक पहुँचाओ और रखरखाव करो। वॉटरफ़ॉल हर चरण एक बार क्रम से करता है; एजाइल छोटे चक्र दोहराता है। मज़बूत प्रोग्राम इनपुट जाँचते हैं, और टीमें वर्ज़न कंट्रोल, साफ़ भूमिकाएँ और उपयोगकर्ता की राय इस्तेमाल करती हैं।
4. D. Computers and Society
D1 Environmental Stewardship and Sustainability · D2 Ethical Practices · D3 Emerging Technologies · D4 Computer-related Careers
- पर्यावरण संरक्षण: तकनीक इस्तेमाल करते हुए धरती की देखभाल – पर्यावरण संरक्षण (environmental stewardship) का मतलब है धरती के संसाधनों को सोच-समझकर इस्तेमाल करना ताकि वे लंबे समय तक चलें, और जहाँ नुक़सान हुआ हो उसे ठीक करना। फ़ोन हो या अस्पताल की मशीन, हर उत्पाद का एक जीवन-चक्र होता है: कच्चा माल, निर्माण, परिवहन, उपयोग और जीवन का अंत। हर चरण में ऊर्जा लगती है और कचरा बनता है। अच्छा संरक्षक चीज़ें लंबे समय तक चलाता है, कम बिजली वाली मशीनें चुनता है, कचरा-पदानुक्रम मानता है, ई-कचरा सही जगह देता है और प्रकृति बचाने वाले नियमों का साथ देता है।
- प्रोग्रामिंग भाषाएँ और उभरती तकनीकें – कंप्यूटर सिर्फ़ मशीन कोड (0 और 1) समझता है। प्रोग्रामिंग भाषाएँ इंसानों को आसान शब्दों में निर्देश लिखने देती हैं, जिन्हें कंपाइलर या इंटरप्रेटर मशीन कोड में बदलता है। भाषाएँ मशीन कोड और असेंबली (निम्न-स्तरीय) से Fortran, C, Java, Python जैसी उच्च-स्तरीय भाषाओं तक, और फिर Swift, Kotlin, Rust जैसी नई भाषाओं तक विकसित हुईं। इनकी शैलियाँ (paradigm) होती हैं: प्रक्रियात्मक, ऑब्जेक्ट-ओरिएंटेड और फ़ंक्शनल। हर उभरती तकनीक (AI, मोबाइल, वेब, IoT, क्लाउड, क्वांटम) की अपनी ज़रूरतें हैं, जैसे लाइब्रेरी, गति, सुरक्षा या छोटे उपकरण पर चलना, इसलिए वह कुछ ख़ास भाषाएँ चुनती है। IT के नए आविष्कारों पर रिपोर्ट में फ़ायदे और ख़तरे दोनों लिखे जाते हैं।
- करियर प्लानिंग: ख़ुद को जानने से पहली नौकरी तक – करियर प्लानिंग के पाँच कदम हैं। 1) ख़ुद को जानो: रुचियाँ, कौशल और मूल्य। 2) करियर परिवार खोजो और जानो कि काम क्या है, कौन-सी पढ़ाई चाहिए, वेतन और माँग कितनी है। 3) SMART लक्ष्य और प्लान B के साथ रास्ता बनाओ। 4) CV, आवेदन पत्र, डिजिटल पोर्टफ़ोलियो और इंटरव्यू अभ्यास से नौकरी खोजो। 5) स्कूल से काम की ओर बढ़ो और सीखते रहो, क्योंकि ज़िंदगी भर करियर बदलता है।