Netherlands HAVO 4 (bovenbouw, 2e fase) Computer Science
अध्याय: 4
1. Skills
General skills · Scientific skills · Computing-specific skills
- शोध कौशल: प्रश्न से पूरे प्रोजेक्ट तक – शोध उत्तर खोजने का सावधान तरीका है। आप एक साफ़, सीमित प्रश्न पूछते हैं, उसका उत्तर पाने की योजना बनाते हैं, जानकारी खोजते हैं और हर स्रोत पर भरोसे की जाँच करते हैं, अपने आँकड़े जुटाकर विश्लेषण करते हैं, सबूत पर टिका निष्कर्ष निकालते हैं, और हर स्रोत को श्रेय देते हुए उसे साझा करते हैं।
- डिज़ाइन प्रक्रिया: समस्या से उत्पाद तक – डिज़ाइन प्रक्रिया कदमों का एक चक्र है जिससे डिज़ाइनर असली लोगों की असली समस्या हल करते हैं: ज़रूरत की खोजबीन, उसे ब्रीफ़ और नापने लायक विनिर्देश में लिखना, कई विचार बनाना, प्रोटोटाइप बनाना, और विनिर्देश पर परीक्षण व मूल्यांकन। जो फ़ेल हो, वह आपको चक्र में वापस भेजता है। इस दोहराव को पुनरावृत्ति (iteration) कहते हैं, और लगभग हर उत्पाद, ऐप, इमारत और कलाकृति ऐसे ही बेहतर बनती है।
2. Foundations
Algorithms · Data structures · Automata · Grammars
- समस्या समाधान का परिचय – कंप्यूटर से समस्या हल करने के चरण: समस्या का विश्लेषण (इनपुट, आउटपुट, नियम), एल्गोरिद्म बनाना (सीमित, स्पष्ट, क्रमबद्ध चरण), प्रोग्रामिंग भाषा में कोड करना, अलग-अलग इनपुट से जाँचना (टेस्ट), और डीबग (गलतियाँ ढूँढकर हटाना)। एल्गोरिद्म को फ़्लोचार्ट (अंडाकार = शुरू/रुको, समांतर चतुर्भुज = इनपुट/आउटपुट, आयत = प्रक्रिया, हीरा = निर्णय, तीर = दिशा) या स्यूडोकोड (सरल संरचित भाषा) में दिखाते हैं। विघटन बड़ी समस्या को छोटी उप-समस्याओं में तोड़ता है।
- डेटा संरचना: ऐरे, लिस्ट, स्टैक, क्यू और ट्री – डेटा संरचना मेमोरी में डेटा को ऐसे जमाने का तरीका है कि प्रोग्राम उसे अच्छे से इस्तेमाल कर सके। ऐरे चीज़ों को क्रमांकित डिब्बों में रखता है ताकि सूचकांक से तुरंत पहुँच हो। लिंक्ड लिस्ट नोड्स को पॉइंटर से जोड़ती है, इसलिए बीच में डालना आसान है। स्टैक LIFO (अंतिम आया, पहले गया) और क्यू FIFO (पहले आया, पहले गया) पर चलते हैं। डिक्शनरी कुंजी (key) से मान खोजती है और ट्री डेटा को स्तरों में रखता है ताकि खोज तेज़ हो।
- परिमित अवस्था मशीन और औपचारिक भाषाएँ – परिमित अवस्था मशीन (FSM) में अवस्थाओं का एक सीमित समूह, इनपुट चिह्नों की वर्णमाला, एक आरंभ अवस्था, हर चिह्न पर अगली अवस्था बताने वाला संक्रमण नियम, और (स्वीकारक के लिए) स्वीकार अवस्थाएँ होती हैं। यह इनपुट स्ट्रिंग को एक-एक चिह्न पढ़ती है; अंत में स्वीकार अवस्था में हो तो स्ट्रिंग स्वीकार। मीली मशीन हर संक्रमण पर आउटपुट भी देती है। FSM जिन स्ट्रिंग्स को स्वीकार करती है वे रेगुलर भाषा बनाती हैं, जिसे रेगुलर एक्सप्रेशन से भी लिखा जा सकता है। कोष्ठकों जैसी नेस्टिंग वाली भाषाएँ कॉन्टेक्स्ट-फ़्री हैं और BNF नियमों या सिंटैक्स आरेख से लिखी जाती हैं।
3. Information
Goals of information processing · Identifying information · Representing data · Standard representations · Structured 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; यूनिकोड में हर लिपि है। बिटमैप चित्र पिक्सेल का जाल है; साइज़ = चौड़ाई × ऊँचाई × कलर डेप्थ। ध्वनि के सैंपल लिए जाते हैं: साइज़ = सैंपल रेट × बिट डेप्थ × सेकंड। वेक्टर चित्र पिक्सेल की जगह आकृतियाँ रखता है। कम्प्रेशन फ़ाइल छोटी करता है: लॉसलेस हर बिट बचाता है, लॉसी कुछ बारीकी हटा देता है।
- डेटा संरचना: ऐरे, लिस्ट, स्टैक, क्यू और ट्री – डेटा संरचना मेमोरी में डेटा को ऐसे जमाने का तरीका है कि प्रोग्राम उसे अच्छे से इस्तेमाल कर सके। ऐरे चीज़ों को क्रमांकित डिब्बों में रखता है ताकि सूचकांक से तुरंत पहुँच हो। लिंक्ड लिस्ट नोड्स को पॉइंटर से जोड़ती है, इसलिए बीच में डालना आसान है। स्टैक LIFO (अंतिम आया, पहले गया) और क्यू FIFO (पहले आया, पहले गया) पर चलते हैं। डिक्शनरी कुंजी (key) से मान खोजती है और ट्री डेटा को स्तरों में रखता है ताकि खोज तेज़ हो।
- MySQL के साथ SQL: तालिका बनाना, पंक्तियाँ बदलना और सवाल पूछना – SQL (स्ट्रक्चर्ड क्वेरी लैंग्वेज) MySQL जैसे रिलेशनल DBMS से बात करने की भाषा है। DDL कमांड (CREATE, ALTER, DROP) तालिकाएँ परिभाषित करते हैं; DML कमांड (INSERT, UPDATE, DELETE) पंक्तियाँ बदलते हैं; DQL (SELECT) डेटा पढ़ता है। हर स्तंभ का डेटा प्रकार होता है, जैसे INT, FLOAT, CHAR, VARCHAR या DATE। SELECT … WHERE संबंधात्मक ऑपरेटर, BETWEEN, AND/OR/NOT और IS NULL से पंक्तियाँ छाँटता है।
4. Programming
Developing programs · Inspecting and adapting programs
- प्रोग्रामिंग की मूल बातें: अनुक्रम, चयन, लूप और फ़ंक्शन – प्रोग्राम सटीक निर्देशों का समूह है जिसे कंप्यूटर मानता है। हर प्रोग्राम तीन संरचनाओं से बनता है: अनुक्रम (क्रम से कदम), चयन (if/else से चुनाव) और पुनरावृत्ति (लूप)। चर मान संभालकर रखते हैं। फ़ंक्शन कोड को नाम वाले, दोबारा इस्तेमाल होने वाले खंडों में बाँटते हैं, जिससे प्रोग्राम मॉड्यूलर बनता है और उसे जाँचना, सुधारना और सँभालना आसान होता है।