United Grade 10 AP Computer Science Principles
अध्याय: 5
1. Big Idea 1: Creative Development
Collaboration · Program Function and Purpose · Program Design and Development · Identifying and Correcting Errors
- सॉफ़्टवेयर विकास: विचार से चलते ऐप तक – अच्छा सॉफ़्टवेयर चरणों में बनता है: समस्या का विश्लेषण करके आवश्यकताएँ लिखो, हल डिज़ाइन करो, छोटे हिस्सों में कोड करो, सामान्य, सीमा और गलत डेटा से परीक्षण करो, उपयोगकर्ताओं तक पहुँचाओ और रखरखाव करो। वॉटरफ़ॉल हर चरण एक बार क्रम से करता है; एजाइल छोटे चक्र दोहराता है। मज़बूत प्रोग्राम इनपुट जाँचते हैं, और टीमें वर्ज़न कंट्रोल, साफ़ भूमिकाएँ और उपयोगकर्ता की राय इस्तेमाल करती हैं।
2. Big Idea 2: Data
Binary Numbers · Data Compression · Extracting Information from Data · Using Programs with Data
- डेटा निरूपण: कंप्यूटर संख्या, अक्षर, चित्र और आवाज़ कैसे रखता है – डेटा कच्चे तथ्य हैं; अर्थ मिलने पर वह सूचना (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; यूनिकोड में हर लिपि है। बिटमैप चित्र पिक्सेल का जाल है; साइज़ = चौड़ाई × ऊँचाई × कलर डेप्थ। ध्वनि के सैंपल लिए जाते हैं: साइज़ = सैंपल रेट × बिट डेप्थ × सेकंड। वेक्टर चित्र पिक्सेल की जगह आकृतियाँ रखता है। कम्प्रेशन फ़ाइल छोटी करता है: लॉसलेस हर बिट बचाता है, लॉसी कुछ बारीकी हटा देता है।
- डेटा विश्लेषण – डेटा विश्लेषण यानी कच्चे आँकड़ों को जवाब में बदलना। इसका एक चक्र है: सवाल पूछो, डेटा इकट्ठा करो, साफ़ करो (ग़लती, दोहराव और खाली जवाब हटाओ), व्यवस्थित करो, माध्य, माध्यिका, परास और पैटर्न से विश्लेषण करो, सही चार्ट बनाओ और सावधानी से निष्कर्ष निकालो। बाहरी मान, छोटे नमूने और पक्षपात पर नज़र रखो, और याद रखो कि दो चीज़ों का साथ बढ़ना (सहसंबंध) यह साबित नहीं करता कि एक दूसरे का कारण है। डेटा को सुरक्षित रखना और अनुमति से इस्तेमाल करना भी ज़रूरी है।
3. Big Idea 3: Algorithms and Programming
Variables and Assignments · Data Abstraction · Mathematical Expressions · Strings · Boolean Expressions · Conditionals · Nested Conditionals · Iteration · Developing Algorithms · Lists · Binary Search · Calling Procedures · Developing Procedures · Libraries · Random Values · Simulations · Algorithmic Efficiency · Undecidable Problems
- पायथन की मूल बातें: मोड, वेरिएबल, डेटा प्रकार और ऑपरेटर – पायथन इंटरैक्टिव मोड (एक-एक पंक्ति) या स्क्रिप्ट मोड (सहेजी गई .py फ़ाइल) में चलता है। ब्लॉक इंडेंटेशन से पहचाने जाते हैं। वेरिएबल मान से बँधे नाम हैं; हर मान का एक डेटा प्रकार होता है, और कुछ प्रकार परिवर्तनशील हैं। ऑपरेटर व्यंजक बनाते हैं जिन्हें पायथन प्राथमिकता के क्रम से हल करता है। input() टेक्स्ट पढ़ता है, int()/float()/str() प्रकार बदलते हैं, और डिबगिंग से सिंटैक्स, रनटाइम और तार्किक त्रुटियाँ ठीक होती हैं।
- डेटा विश्लेषण – डेटा विश्लेषण यानी कच्चे आँकड़ों को जवाब में बदलना। इसका एक चक्र है: सवाल पूछो, डेटा इकट्ठा करो, साफ़ करो (ग़लती, दोहराव और खाली जवाब हटाओ), व्यवस्थित करो, माध्य, माध्यिका, परास और पैटर्न से विश्लेषण करो, सही चार्ट बनाओ और सावधानी से निष्कर्ष निकालो। बाहरी मान, छोटे नमूने और पक्षपात पर नज़र रखो, और याद रखो कि दो चीज़ों का साथ बढ़ना (सहसंबंध) यह साबित नहीं करता कि एक दूसरे का कारण है। डेटा को सुरक्षित रखना और अनुमति से इस्तेमाल करना भी ज़रूरी है।
- प्रोग्रामिंग की मूल बातें: अनुक्रम, चयन, लूप और फ़ंक्शन – प्रोग्राम सटीक निर्देशों का समूह है जिसे कंप्यूटर मानता है। हर प्रोग्राम तीन संरचनाओं से बनता है: अनुक्रम (क्रम से कदम), चयन (if/else से चुनाव) और पुनरावृत्ति (लूप)। चर मान संभालकर रखते हैं। फ़ंक्शन कोड को नाम वाले, दोबारा इस्तेमाल होने वाले खंडों में बाँटते हैं, जिससे प्रोग्राम मॉड्यूलर बनता है और उसे जाँचना, सुधारना और सँभालना आसान होता है।
- पायथन में नियंत्रण कथन: if-else, while और for – सामान्यतः पायथन पंक्तियाँ एक के बाद एक चलाता है (क्रम)। नियंत्रण कथन यह बहाव बदलते हैं। if-else दो में से एक रास्ता चुनता है; if-elif-else कई में से पहली सच्ची शर्त चुनता है। while शर्त सच रहने तक ब्लॉक दोहराता है; for किसी क्रम, जैसे range(start, stop, step), के हर आइटम के लिए एक बार चलता है।
- समस्या समाधान का परिचय – कंप्यूटर से समस्या हल करने के चरण: समस्या का विश्लेषण (इनपुट, आउटपुट, नियम), एल्गोरिद्म बनाना (सीमित, स्पष्ट, क्रमबद्ध चरण), प्रोग्रामिंग भाषा में कोड करना, अलग-अलग इनपुट से जाँचना (टेस्ट), और डीबग (गलतियाँ ढूँढकर हटाना)। एल्गोरिद्म को फ़्लोचार्ट (अंडाकार = शुरू/रुको, समांतर चतुर्भुज = इनपुट/आउटपुट, आयत = प्रक्रिया, हीरा = निर्णय, तीर = दिशा) या स्यूडोकोड (सरल संरचित भाषा) में दिखाते हैं। विघटन बड़ी समस्या को छोटी उप-समस्याओं में तोड़ता है।
- पायथन में 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) से काम करते हैं।
- डेटा निरूपण: कंप्यूटर संख्या, अक्षर, चित्र और आवाज़ कैसे रखता है – डेटा कच्चे तथ्य हैं; अर्थ मिलने पर वह सूचना (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. Big Idea 4: Computer Systems and Networks
The Internet · Fault Tolerance · Parallel and Distributed Computing
- कंप्यूटर नेटवर्क और इंटरनेट कैसे चलता है – नेटवर्क यानी आपस में जुड़े उपकरण जो डेटा बाँटते हैं। हर उपकरण का एक IP पता होता है। डेटा छोटे क्रमांकित पैकेटों में कटता है। राउटर हर पैकेट को एक-एक कदम उसके पते की ओर भेजते हैं, और TCP अंत में पैकेटों को क्रम से जोड़ता है। DNS वेबसाइट के नाम को IP पते में बदलता है। क्लाइंट माँगता है, सर्वर देता है। फ़ायरवॉल, पासवर्ड, अपडेट और एन्क्रिप्शन नेटवर्क को सुरक्षित रखते हैं।
- नेटवर्क कैसे बढ़े और डेटा कैसे चलता है – कंप्यूटर नेटवर्क जुड़े हुए उपकरणों का समूह है जो डेटा साझा करते हैं। नेटवर्किंग ARPANET (1969) से शुरू हुई, 1980 के दशक में विश्वविद्यालयों के लिए NSFNET बना, और दूसरे नेटवर्कों से जुड़कर इंटरनेट बना — नेटवर्कों का नेटवर्क। हर डेटा संचार के पाँच भाग हैं: प्रेषक, प्राप्तकर्ता, संदेश, संचार माध्यम और प्रोटोकॉल। बैंडविड्थ वह आवृत्ति-सीमा है जो चैनल ले जा सकता है (Hz में); डेटा दर प्रति सेकंड जाने वाले बिट (bps) हैं। नेटवर्क के हर उपकरण का IP एड्रेस होता है। डेटा सर्किट स्विचिंग (पहले पक्का रास्ता बुक) या पैकेट स्विचिंग (डेटा पैकेटों में कटकर अलग-अलग चलता है) से जाता है।
5. Big Idea 5: Impact of Computing
Beneficial and Harmful Effects · Digital Divide · Computing Bias · Crowdsourcing · Legal and Ethical Concerns · Safe Computing
- साइबर सुरक्षा: ख़तरे और उनसे बचाव – साइबर सुरक्षा कंप्यूटर, नेटवर्क और डेटा की रक्षा करती है। इसके लक्ष्य हैं गोपनीयता, अखंडता और उपलब्धता (CIA त्रिक)। आम ख़तरे: मालवेयर, फ़िशिंग व सोशल इंजीनियरिंग, ब्रूट फ़ोर्स और डिनायल ऑफ़ सर्विस। बचाव: मज़बूत प्रमाणीकरण, कूटलेखन, फ़ायरवॉल, एंटी-मालवेयर, अपडेट, पहुँच नियंत्रण और बैकअप।