कम्प्युटर विज्ञान एक व्यापक क्षेत्र हो जसले कम्प्युटर र कम्प्यूटेशनल प्रणालीहरूको अध्ययन, डिजाइन, र विश्लेषणलाई समेट्छ। यसले गणित, ईन्जिनियरिङ्, र तर्क जस्ता विभिन्न विषयहरूका अवधारणाहरूलाई गणना मार्फत जटिल समस्याहरू समाधान गर्न एकीकृत गर्दछ। यो पाठले कम्प्यूटर विज्ञानका प्रमुख क्षेत्रहरू परिचय गराउँछ र सम्पूर्ण क्षेत्रमा लागू हुने आधारभूत ज्ञान प्रदान गर्दछ।
कम्प्युटिङ को आधारभूत
कम्प्युटर विज्ञानको मुटुमा के कम्प्युट गर्न सकिन्छ र कसरी गणना गर्ने भन्ने अध्ययन हो। कम्प्यूटरहरू बाइनरी सिद्धान्तहरूमा काम गर्छन्, शून्य (०) र एक (१) को संयोजन प्रयोग गरेर जानकारी प्रतिनिधित्व र हेरफेर गर्न। यो बाइनरी प्रणालीले सबै कम्प्युटिङ प्रक्रियाहरू र डाटा प्रतिनिधित्वको आधार बनाउँछ।
एल्गोरिदम
एक एल्गोरिथ्म राम्रो-परिभाषित निर्देशनहरूको एक सीमित अनुक्रम हो, प्राय: समस्या समाधान गर्न वा गणना गर्न प्रयोग गरिन्छ। एल्गोरिदमहरू सरल हुन सक्छन्, जस्तै सूचीमा सबैभन्दा ठूलो संख्या फेला पार्न, वा जटिल, जस्तै बढ्दो क्रममा संख्याहरूको सूची क्रमबद्ध गर्नुहोस्। उदाहरण को लागी, क्रमबद्ध गर्न को लागी एक साझा एल्गोरिथ्म बबल क्रमबद्ध छ, जो बारम्बार सूची को माध्यम बाट कदम, छेउछाउ तत्वहरु को तुलना गर्दछ, र यदि ती गलत क्रममा छ भने स्वैप गर्दछ। सूची क्रमबद्ध नभएसम्म यो प्रक्रिया दोहोर्याइएको छ।
प्रोग्रामिङ भाषाहरू
प्रोग्रामिङ भाषाहरू एल्गोरिदमहरू लागू गर्न र सफ्टवेयर सिर्जना गर्न प्रयोग गरिने उपकरणहरू हुन्। तिनीहरू जटिलता र उद्देश्यमा भिन्न हुन्छन्, C जस्ता निम्न-स्तरका भाषाहरू, जसले हार्डवेयरमा नजिकको नियन्त्रण प्रदान गर्दछ, Python जस्ता उच्च-स्तरका भाषाहरूमा, जुन सिक्न र प्रयोग गर्न सजिलो छ तर धेरै हार्डवेयर विवरणहरू हटाउँछ।
डाटा संरचनाहरू
डाटा संरचनाहरू कम्प्युटरमा डाटा व्यवस्थित र भण्डारण गर्ने तरिकाहरू हुन् त्यसैले यसलाई पहुँच गर्न र कुशलतापूर्वक परिमार्जन गर्न सकिन्छ। उदाहरणहरू समावेश छन्: - एरेहरू: तत्वहरूको संग्रह, अनुक्रमणिका वा कुञ्जी द्वारा पहिचान गर्न सकिन्छ। - लिङ्क गरिएको सूचिहरू: तत्वहरूको अनुक्रम, जहाँ प्रत्येक तत्व अर्कोमा देखाउँछ। - रूखहरू: एक पदानुक्रमित संरचना, मूल मान र बच्चाहरूको उपरूखहरू, लिङ्क गरिएको नोडहरूको सेटको रूपमा प्रतिनिधित्व गरिन्छ।
सफ्टवेयर विकास को अवधारणा
सफ्टवेयर विकासमा अनुप्रयोगहरू वा प्रणाली सफ्टवेयरहरू डिजाइन, कोडिङ, परीक्षण, र मर्मत समावेश हुन्छ। यसले सफ्टवेयर विकास जीवन चक्र (SDLC) भनेर चिनिने चक्रलाई पछ्याउँछ, जसमा आवश्यकता विश्लेषण, डिजाइन, कार्यान्वयन, परीक्षण, परिनियोजन, र मर्मतसम्भार जस्ता चरणहरू समावेश हुन्छन्।
कम्प्युटर वास्तुकला र संगठन
कम्प्युटर वास्तुकलाले कम्प्युटर प्रणालीको इन्टरफेस र कार्यक्षमताको विशिष्टतालाई बुझाउँछ। कम्प्यूटर संगठन, अर्कोतर्फ, परिचालन एकाइहरू र तिनीहरूको अन्तरसम्बन्धहरूसँग सम्झौता गर्दछ जसले वास्तु विशिष्टताहरू महसुस गर्दछ। उच्च स्तरमा, कम्प्युटर प्रणालीलाई CPU (केन्द्रीय प्रशोधन इकाई), मेमोरी, र I/O (इनपुट/आउटपुट) उपकरणहरूमा विभाजन गर्न सकिन्छ। CPU ले यसको सञ्चालनका लागि दर्ताहरू प्रयोग गरेर कार्यक्रमहरूबाट निर्देशनहरू कार्यान्वयन गर्दछ। मेमोरीले CPU को लागि डाटा र निर्देशनहरू भण्डारण गर्दछ, जबकि I/O उपकरणहरूले बाह्य संसारसँग अन्तरक्रियाहरू ह्यान्डल गर्दछ।
अपरेटिङ सिस्टमहरू
एक अपरेटिङ सिस्टम (OS) ले कम्प्युटर हार्डवेयर र सफ्टवेयर स्रोतहरू प्रबन्ध गर्दछ र कम्प्युटर प्रोग्रामहरूको लागि साझा सेवाहरू प्रदान गर्दछ। मुख्य प्रकार्यहरूमा प्रबन्ध प्रक्रियाहरू, मेमोरी, फाइलहरू, र I/O उपकरणहरू समावेश छन्। अपरेटिङ सिस्टमका उदाहरणहरूमा Windows, macOS र Linux समावेश छन्। प्रक्रिया अनुसूची को अवधारणा OS डिजाइन को एक महत्वपूर्ण भाग हो। यसमा प्रक्रियाहरूले साझा स्रोतहरू पहुँच गर्ने क्रम निर्धारण गर्न समावेश गर्दछ। सामान्य समयतालिका एल्गोरिदममा फर्स्ट-कम, फर्स्ट-सर्भ (FCFS), सबैभन्दा छोटो काम पहिलो (SJF), र राउन्ड रोबिन (RR) समावेश छन्।
डाटाबेसहरू
डाटाबेस सजिलै पहुँच, व्यवस्थापन, र अद्यावधिक गर्न संगठित डाटा को एक संग्रह हो। डाटाबेसहरूलाई दुई प्रमुख प्रकारहरूमा वर्गीकृत गर्न सकिन्छ: - रिलेसनल डाटाबेसहरू, जसले प्रत्येक पङ्क्तिलाई पहिचान गर्ने एक अद्वितीय कुञ्जीको साथ स्तम्भ र पङ्क्तिहरूको एक वा बढी तालिकाहरूमा डेटा व्यवस्थित गर्दछ। - NoSQL डाटाबेसहरू, प्रायः स्पष्ट स्कीमा बिना, वितरित रूपमा डाटाको ठूलो मात्रा भण्डारण गर्न डिजाइन गरिएको। SQL (संरचित क्वेरी भाषा) रिलेशनल डाटाबेसमा डाटा व्यवस्थापन र क्वेरी गर्नको लागि व्यापक रूपमा प्रयोग गरिन्छ।
नेटवर्किङ र इन्टरनेट
कम्प्यूटर सञ्जालले स्रोतहरू र डाटा साझेदारी गर्न कम्प्युटरहरूलाई एकसाथ जडान गर्न समावेश गर्दछ। इन्टरनेट नेटवर्कको एक विशाल सञ्जाल हो, जसले विश्वव्यापी सञ्चार र सूचनामा पहुँचलाई सक्षम पार्छ। नेटवर्किङमा मुख्य अवधारणाहरू समावेश छन्: - IP ठेगाना: नेटवर्कमा सञ्चार गर्न इन्टरनेट प्रोटोकल प्रयोग गरी प्रत्येक यन्त्रलाई पहिचान गर्ने अवधिहरूद्वारा विभाजित संख्याहरूको एक अद्वितीय स्ट्रिङ। - TCP/IP: इन्टरनेटमा सञ्जाल उपकरणहरू आपसमा जडान गर्न प्रयोग गरिने सञ्चार प्रोटोकलहरूको सुइट। TCP/IP ले डाटा कसरी प्याकेज, ट्रान्समिट र प्राप्त गर्ने भनेर निर्दिष्ट गर्दछ।
साइबर सुरक्षा
साइबरसुरक्षाले कम्प्युटर प्रणाली र नेटवर्कहरूलाई चोरी, क्षति, र अनधिकृत पहुँचबाट जोगाउने समावेश गर्दछ। यसले एन्टिभाइरस सफ्टवेयर स्थापना गर्नेदेखि लिएर सुरक्षित सञ्चारको लागि जटिल क्रिप्टोग्राफिक प्रणालीहरू लागू गर्ने अभ्यासहरूको दायरालाई समेट्छ। गोप्य जानकारीलाई सुरक्षित ढाँचामा रूपान्तरण गर्न अनुमति दिँदै एन्क्रिप्शन साइबर सुरक्षाको महत्वपूर्ण पक्ष हो। एन्क्रिप्शनको एक उदाहरण RSA एल्गोरिथ्म हो, जसले सुरक्षित डाटा प्रसारणको लागि कुञ्जीहरूको जोडी प्रयोग गर्दछ। अन्तमा, कम्प्यूटर विज्ञान एक विशाल क्षेत्र हो जसमा आधुनिक जीवनको लगभग हरेक पक्षमा अनुप्रयोगहरू छन्। एल्गोरिदम र डाटा संरचना देखि सफ्टवेयर विकास र साइबर सुरक्षा सम्म, कम्प्युटर विज्ञान को अध्ययन को माध्यम बाट विकसित ज्ञान र सीपहरु जटिल समस्याहरु को समाधान र उन्नत टेक्नोलोजी को लागी महत्वपूर्ण छ।