अभिकलन

From Vigyanwiki
Revision as of 11:47, 3 November 2022 by alpha>Arti Shah
File:GalvesLocherbach - Low resolution.gif
कंप्यूटर सिमुलेशन, मुख्य क्रॉस-कंप्यूटिंग पद्धतियों में से एक।[1]

कम्प्यूटिंग कोई भी लक्ष्य-उन्मुख गतिविधि है जिसमें संगणक की आवश्यकता होती है, इससे लाभ होता है या कंप्यूटर बनाना होता है। इसमें कलन विधि प्रक्रियाओं का अध्ययन और प्रयोग, और कंप्यूटर हार्डवेयर और सॉफ़्टवेयर दोनों का विकास शामिल है। कंप्यूटिंग में वैज्ञानिक, इंजीनियरिंग, गणितीय, तकनीकी और सामाजिक पहलू हैं। प्रमुख कंप्यूटिंग विषयों में कंप्यूटर इंजीनियरिंग , कंप्यूटर विज्ञान , साइबर सुरक्षा , डेटा विज्ञान , सूचना प्रणाली, सूचना प्रौद्योगिकी और सॉफ्टवेयर इंजीनियरिंग शामिल हैं।[2] कंप्यूटिंग शब्द भी गिनती और गणना का पर्याय है। पहले के समय में, इसका उपयोग यांत्रिक कंप्यूटर द्वारा की जाने वाली क्रिया के संदर्भ में और उससे पहले मानव कंप्यूटर ों के लिए किया जाता था।[3]

File:ENIAC-changing a tube.jpg
ENIAC, पहला प्रोग्राम करने योग्य सामान्य-उद्देश्य इलेक्ट्रॉनिक डिजिटल कंप्यूटर


इतिहास

कंप्यूटिंग का इतिहास कंप्यूटिंग हार्डवेयर और कंप्यूटर के इतिहास से अधिक लंबा है, और इसमें टेबल की सहायता के साथ या बिना पेन और पेपर (या चाक और स्लेट के लिए) के तरीकों का इतिहास शामिल है। कम्प्यूटिंग संख्या ओं के प्रतिनिधित्व के साथ घनिष्ठ रूप से जुड़ा हुआ है, हालांकि कंप्यूटिंग के लिए आवश्यक गणितीय अवधारणाएं अंक प्रणाली से पहले मौजूद थीं। इन अवधारणाओं में एक-से-एक पत्राचार (गिनती का आधार), एक मानक की तुलना (माप के लिए प्रयुक्त), और 3-4-5 समकोण त्रिभुज (एक समकोण सुनिश्चित करने के लिए एक उपकरण) शामिल हैं।[citation needed] गणना में उपयोग के लिए सबसे पहला ज्ञात उपकरण अबेकस है, और माना जाता है कि इसका आविष्कार लगभग 2400 ईसा पूर्व बेबीलोन में हुआ था।[citation needed] उपयोग की इसकी मूल शैली कंकड़ के साथ रेत में खींची गई रेखाओं द्वारा थी। अधिक आधुनिक डिजाइन के अबासी का उपयोग आज भी गणना उपकरण के रूप में किया जाता है। यह पहली ज्ञात गणना सहायता थी - 2,000 वर्षों से ग्रीक विधियों से पहले।[4][better source needed] कंप्यूटिंग में डिजिटल इलेक्ट्रॉनिक्स का उपयोग करने के लिए पहला रिकॉर्ड किया गया प्रस्ताव 1931 का पेपर द यूज ऑफ थायराट्रॉन फॉर हाई स्पीड ऑटोमैटिक काउंटिंग ऑफ फिजिकल फेनोमेना द्वारा सी। ई। व्यान-विलियम्स था।[5] क्लाउड शैनन के 1938 के पेपर रिले और स्विचिंग सर्किट का एक प्रतीकात्मक विश्लेषण ने फिर बूलियन बीजीय संचालन के लिए इलेक्ट्रॉनिक्स का उपयोग करने का विचार पेश किया।

1925 में जूलियस एडगर लिलिएनफेल्ड द्वारा एक फील्ड-इफेक्ट ट्रांजिस्टर की अवधारणा का प्रस्ताव दिया गया था। जॉन बार्डीन और वाल्टर ब्रेटन ने बेल लैब्स में विलियम शॉक्ले के अधीन काम करते हुए 1947 में पहला काम करने वाला ट्रांजिस्टर, बिंदु-संपर्क ट्रांजिस्टर बनाया।[6][7] 1953 में, मैनचेस्टर विश्वविद्यालय ने पहला ट्रांजिस्टरकृत कंप्यूटर बनाया, जिसे मैनचेस्टर कंप्यूटर कहा जाता है।[8] हालांकि, प्रारंभिक जंक्शन ट्रांजिस्टर अपेक्षाकृत भारी उपकरण थे जिनका बड़े पैमाने पर उत्पादन करना मुश्किल था, जो उन्हें कई विशिष्ट अनुप्रयोगों तक सीमित कर देता था।[9] MOSFET | मेटल-ऑक्साइड-सिलिकॉन फील्ड-इफेक्ट ट्रांजिस्टर (MOSFET, या MOS ट्रांजिस्टर) का आविष्कार मोहम्मद छुट्टी और डॉन कहंग ने 1959 में बेल लैब्स में किया था।[10][11] यह पहला सही मायने में कॉम्पैक्ट ट्रांजिस्टर था जो MOSFET स्केलिंग और मूर के नियम | बड़े पैमाने पर उपयोगों की एक विस्तृत श्रृंखला के लिए उत्पादित किया जा सकता था।[9]MOSFET ने बहुत बड़े पैमाने पर एकीकरण | उच्च घनत्व एकीकृत सर्किट चिप्स बनाना संभव बनाया,[12][13] जिसके कारण कंप्यूटर क्रांति के रूप में जाना जाता है[14] या माइक्रो कंप्यूटर क्रांति [15]


कंप्यूटर

कंप्यूटर एक मशीन है जो निर्देशों के एक सेट के अनुसार डेटा (कंप्यूटिंग) में हेरफेर करती है जिसे कंप्यूटर प्रोग्राम कहा जाता है। प्रोग्राम का एक निष्पादन योग्य रूप होता है जिसे कंप्यूटर सीधे निर्देशों को निष्पादित करने के लिए उपयोग कर सकता है। अपने मानव-पठनीय स्रोत कोड रूप में एक ही कार्यक्रम, एक प्रोग्रामर को एल्गोरिदम के रूप में ज्ञात चरणों के अनुक्रम का अध्ययन और विकास करने में सक्षम बनाता है। चूंकि निर्देश विभिन्न प्रकार के कंप्यूटरों में किए जा सकते हैं, स्रोत निर्देशों का एक सेट केंद्रीय प्रसंस्करण इकाई प्रकार के अनुसार मशीन निर्देशों में परिवर्तित हो जाता है।[citation needed] निष्पादन प्रक्रिया (कंप्यूटिंग) कंप्यूटर प्रोग्राम में निर्देशों को पूरा करती है। निर्देश कंप्यूटर द्वारा की गई गणनाओं को व्यक्त करते हैं। वे निष्पादन मशीन पर सरल क्रियाओं के अनुक्रमों को ट्रिगर करते हैं। वे क्रियाएं निर्देशों की प्रोग्रामिंग भाषाओं के औपचारिक शब्दार्थ के अनुसार प्रभाव उत्पन्न करती हैं।

कंप्यूटर हार्डवेयर

कंप्यूटर हार्डवेयर में कंप्यूटर के भौतिक भाग शामिल हैं, जिसमें सेंट्रल प्रोसेसिंग यूनिट, स्मृति और इनपुट / आउटपुट शामिल हैं। कंप्यूटर हार्डवेयर के क्षेत्र में कम्प्यूटेशनल तर्क और कंप्यूटर आर्किटेक्चर प्रमुख विषय हैं।[citation needed]


कंप्यूटर सॉफ्टवेयर

कंप्यूटर सॉफ्टवेयर, या सिर्फ सॉफ्टवेयर, कंप्यूटर प्रोग्राम और संबंधित डेटा का एक संग्रह है, जो कंप्यूटर को निर्देश प्रदान करता है। सॉफ्टवेयर एक या एक से अधिक कंप्यूटर प्रोग्राम और कंप्यूटर के स्टोरेज में रखे डेटा को संदर्भित करता है। यह प्रोग्रामों, प्रक्रियाओं, एल्गोरिदम का एक सेट है, साथ ही डेटा प्रोसेसिंग सिस्टम के संचालन से संबंधित इसके दस्तावेज भी हैं।[citation needed] प्रोग्राम सॉफ़्टवेयर उस कंप्यूटर प्रोग्राम का कार्य (इंजीनियरिंग) करता है जिसे वह लागू करता है, या तो सीधे संगणक धातु सामग्री को निर्देश (कंप्यूटर विज्ञान) प्रदान करके या सॉफ़्टवेयर के किसी अन्य भाग में इनपुट के रूप में सेवा करके। शब्दावली को पुराने शब्द कंप्यूटर हार्डवेयर (अर्थात् भौतिक उपकरण) के विपरीत बनाया गया था। हार्डवेयर के विपरीत, सॉफ्टवेयर अमूर्त है।[16] सॉफ़्टवेयर का उपयोग कभी-कभी अधिक संकीर्ण अर्थों में भी किया जाता है, जिसका अर्थ केवल एप्लिकेशन सॉफ़्टवेयर है।

सिस्टम सॉफ्टवेयर

सिस्टम सॉफ़्टवेयर, या सिस्टम सॉफ़्टवेयर, कंप्यूटर हार्डवेयर को संचालित करने और नियंत्रित करने के लिए और एप्लिकेशन सॉफ़्टवेयर चलाने के लिए एक प्लेटफ़ॉर्म प्रदान करने के लिए डिज़ाइन किया गया कंप्यूटर सॉफ़्टवेयर है। सिस्टम सॉफ्टवेयर में ऑपरेटिंग सिस्टम , उपयोगिता सॉफ्टवेयर , डिवाइस ड्राइवर , खिड़की प्रणाली और फर्मवेयर शामिल हैं। अक्सर उपयोग किए जाने वाले विकास उपकरण जैसे कि संकलक , लिंकर (कंप्यूटिंग) और डिबगिंग को सिस्टम सॉफ्टवेयर के रूप में वर्गीकृत किया जाता है।[17] सिस्टम सॉफ्ट्वेयर और मध्यस्थ कंप्यूटर की क्षमताओं का प्रबंधन और एकीकरण करते हैं, लेकिन आम तौर पर एप्लिकेशन सॉफ़्टवेयर के विपरीत, उपयोगकर्ता को लाभ पहुंचाने वाले कार्यों के प्रदर्शन में उन्हें सीधे लागू नहीं करते हैं।

एप्लीकेशन सॉफ्टवेयर

एप्लिकेशन सॉफ़्टवेयर, जिसे एप्लिकेशन या ऐप के रूप में भी जाना जाता है, कंप्यूटर सॉफ्टवेयर है जिसे उपयोगकर्ता को विशिष्ट कार्य करने में मदद करने के लिए डिज़ाइन किया गया है। उदाहरणों में उपक्रम सॉफ्टवेयर , लेखांकन सॉफ्टवेयर , कई कमरों वाला कार्यालय , ग्राफिक्स सॉफ्टवेयर और मीडिया प्लेयर (एप्लिकेशन सॉफ्टवेयर) शामिल हैं। कई एप्लिकेशन प्रोग्राम मुख्य रूप से दस्तावेज़ फ़ाइल स्वरूप से संबंधित हैं।[citation needed] ऐप्स कंप्यूटर और उसके सिस्टम सॉफ़्टवेयर के साथ उत्पाद बंडलिंग हो सकते हैं, या अलग से प्रकाशित किए जा सकते हैं। कुछ उपयोगकर्ता बंडल किए गए ऐप्स से संतुष्ट हैं और उन्हें कभी भी अतिरिक्त एप्लिकेशन इंस्टॉल करने की आवश्यकता नहीं है। सिस्टम सॉफ्टवेयर हार्डवेयर का प्रबंधन करता है और एप्लिकेशन की सेवा करता है, जो बदले में उपयोगकर्ता की सेवा करता है।

शैक्षिक सॉफ्टवेयर किसी विशेष कंप्यूटिंग मंच या सिस्टम सॉफ़्टवेयर की शक्ति को किसी विशेष उद्देश्य पर लागू करता है। कुछ ऐप, जैसे कि माइक्रोसॉफ्ट ऑफिस , कई अलग-अलग प्लेटफॉर्म के लिए कई संस्करणों में विकसित किए गए हैं; दूसरों की आवश्यकताएं कम होती हैं और आमतौर पर उन्हें उनके द्वारा चलाए जाने वाले प्लेटफॉर्म द्वारा संदर्भित किया जाता है। उदाहरण के लिए, Microsoft Windows के लिए भौगोलिक सूचना प्रणाली अनुप्रयोग या शैक्षिक सॉफ़्टवेयर या Linux गेमिंग के लिए Android (ऑपरेटिंग सिस्टम) अनुप्रयोग। एप्लिकेशन जो केवल एक प्लेटफॉर्म पर चलते हैं और एप्लिकेशन की लोकप्रियता के कारण उस प्लेटफॉर्म की वांछनीयता को बढ़ाते हैं, जिसे हत्यारा आवेदन के रूप में जाना जाता है।[citation needed]


कंप्यूटर नेटवर्क

एक कंप्यूटर नेटवर्क , जिसे अक्सर केवल एक नेटवर्क के रूप में संदर्भित किया जाता है, हार्डवेयर घटकों और कंप्यूटरों का एक संग्रह है जो संचार चैनलों द्वारा कंप्यूटर नेटवर्क है जो संसाधनों और सूचनाओं को साझा करने की अनुमति देता है।[18] जब एक डिवाइस में कम से कम एक प्रक्रिया रिमोट डिवाइस में रहने वाली कम से कम एक प्रक्रिया से डेटा भेजने या प्राप्त करने में सक्षम होती है, तो दो उपकरणों को नेटवर्क में कहा जाता है। नेटवर्क को विभिन्न प्रकार की विशेषताओं के अनुसार वर्गीकृत किया जा सकता है जैसे कि डेटा के परिवहन के लिए उपयोग किया जाने वाला माध्यम, संचार प्रोटोकॉल का उपयोग, स्केल, नेटवर्क टोपोलॉजी और संगठनात्मक क्षेत्र।

संचार प्रोटोकॉल एक कंप्यूटर नेटवर्क में सूचनाओं के आदान-प्रदान के लिए नियमों और डेटा स्वरूपों को परिभाषित करते हैं, और कंप्यूटर नेटवर्क प्रोग्रामिंग के लिए आधार प्रदान करते हैं। एक प्रसिद्ध संचार प्रोटोकॉल ईथरनेट है, एक हार्डवेयर और लिंक परत मानक जो स्थानीय क्षेत्र नेटवर्क में सर्वव्यापी है। एक अन्य सामान्य प्रोटोकॉल इंटरनेट प्रोटोकॉल सूट है, जो इंटरनेटवर्किंग के लिए प्रोटोकॉल के एक सेट को परिभाषित करता है, अर्थात कई नेटवर्क के बीच डेटा संचार के लिए, होस्ट-टू-होस्ट डेटा ट्रांसफर और एप्लिकेशन-विशिष्ट डेटा ट्रांसमिशन प्रारूप।[citation needed] कंप्यूटर नेटवर्किंग को कभी-कभी विद्युत अभियन्त्रण , दूरसंचार , कंप्यूटर विज्ञान, सूचना प्रौद्योगिकी या कंप्यूटर इंजीनियरिंग का उप-विषय माना जाता है, क्योंकि यह इन विषयों के सैद्धांतिक और व्यावहारिक अनुप्रयोग पर निर्भर करता है।[citation needed]


इंटरनेट

इंटरनेट इंटरकनेक्टेड कंप्यूटर नेटवर्क की एक वैश्विक प्रणाली है जो अरबों उपयोगकर्ताओं की सेवा के लिए मानक इंटरनेट प्रोटोकॉल सूट (टीसीपी/आईपी) का उपयोग करती है। इसमें लाखों निजी, सार्वजनिक, शैक्षणिक, व्यावसायिक और सरकारी नेटवर्क शामिल हैं, जो स्थानीय से लेकर वैश्विक तक के दायरे में हैं। ये नेटवर्क इलेक्ट्रॉनिक, वायरलेस और ऑप्टिकल नेटवर्किंग प्रौद्योगिकियों की एक विस्तृत श्रृंखला से जुड़े हुए हैं। इंटरनेट में सूचना संसाधनों और सेवाओं की एक विस्तृत श्रृंखला है, जैसे वर्ल्ड वाइड वेब के इंटर-लिंक्ड हाइपरटेक्स्ट दस्तावेज़ और ईमेल का समर्थन करने के लिए सूचना आधारभूत संरचना।[citation needed]


कंप्यूटर प्रोग्रामिंग

कंप्यूटर प्रोग्रामिंग कंप्यूटर प्रोग्राम के सोर्स कोड और प्रलेखन को लिखने, परीक्षण करने, डिबग करने और बनाए रखने की प्रक्रिया है। यह स्रोत कोड एक प्रोग्रामिंग भाषा में लिखा गया है, जो एक कृत्रिम भाषा है जो अक्सर प्राकृतिक भाषा ओं की तुलना में अधिक प्रतिबंधात्मक होती है, लेकिन कंप्यूटर द्वारा आसानी से अनुवादित होती है। प्रोग्रामिंग का उपयोग मशीन से कुछ वांछित व्यवहार (अनुकूलन) को लागू करने के लिए किया जाता है।[citation needed] उच्च गुणवत्ता वाले सोर्स कोड को लिखने के लिए कंप्यूटर साइंस डोमेन और उस डोमेन दोनों का ज्ञान होना आवश्यक है जिसमें एप्लिकेशन का उपयोग किया जाएगा। इस प्रकार उच्चतम गुणवत्ता वाला सॉफ़्टवेयर अक्सर डोमेन विशेषज्ञों की एक टीम द्वारा विकसित किया जाता है, प्रत्येक विकास के किसी न किसी क्षेत्र में विशेषज्ञ होता है।[citation needed] हालाँकि, प्रोग्रामर शब्द हैकर (शौकिया) से लेकर हैकर (प्रोग्रामर उपसंस्कृति) से लेकर पेशेवर तक कार्यक्रम की गुणवत्ता की एक श्रृंखला पर लागू हो सकता है। एक नए किलर एप्लिकेशन को लॉन्च करने के लिए अवधारणा के प्रमाण को उत्पन्न करने के लिए आवश्यक अधिकांश या सभी कंप्यूटर प्रोग्रामिंग करना एक एकल प्रोग्रामर के लिए भी संभव है| हत्यारा आवेदन।[citation needed]


कंप्यूटर प्रोग्राम

एक प्रोग्रामर, कंप्यूटर प्रोग्रामर या कोडर वह व्यक्ति होता है जो कंप्यूटर सॉफ्टवेयर लिखता है। कंप्यूटर प्रोग्रामर शब्द कंप्यूटर प्रोग्रामिंग के एक क्षेत्र में एक विशेषज्ञ या एक सामान्यवादी को संदर्भित कर सकता है जो कई प्रकार के सॉफ़्टवेयर के लिए कोड लिखता है। जो प्रोग्रामिंग के लिए औपचारिक दृष्टिकोण का अभ्यास या दावा करता है उसे प्रोग्रामर विश्लेषक के रूप में भी जाना जा सकता है।[citation needed] एक प्रोग्रामर की प्राथमिक कंप्यूटर भाषा (सी (प्रोग्रामिंग भाषा) , सी ++, जावा (प्रोग्रामिंग भाषा) , लिस्प (प्रोग्रामिंग भाषा) , पायथन प्रोग्रामिंग भाषा , आदि) अक्सर उपरोक्त शीर्षकों से पहले होती है, और जो अक्सर वेब वातावरण में काम करते हैं वेब के साथ उनके शीर्षकों को उपसर्ग करें। प्रोग्रामर शब्द का उपयोग सॉफ्टवेयर डेवलपर , सॉफ्टवेयर इंजीनियर , कंप्यूटर वैज्ञानिक या सॉफ्टवेयर विश्लेषक के संदर्भ में किया जा सकता है। हालांकि, इन व्यवसायों के सदस्यों के पास प्रोग्रामिंग से परे अन्य सॉफ्टवेयर इंजीनियरिंग कौशल हैं।[19]


कंप्यूटर उद्योग

कंप्यूटर उद्योग कंप्यूटर सॉफ्टवेयर विकसित करने, कंप्यूटर हार्डवेयर और कम्प्यूटर नेट्वर्किंग इन्फ्रास्ट्रक्चर को डिजाइन करने, कंप्यूटर घटकों के निर्माण और सिस्टम प्रशासक और रखरखाव सहित सूचना प्रौद्योगिकी सेवाएं प्रदान करने में शामिल व्यवसायों से बना है।[citation needed]

सॉफ्टवेयर उद्योग में सॉफ्टवेयर विकास, सॉफ्टवेयर रखरखाव और सॉफ्टवेयर के सॉफ्टवेयर प्रकाशक में लगे व्यवसाय शामिल हैं। उद्योग में सॉफ्टवेयर सेवा (अर्थशास्त्र) भी शामिल है, जैसे प्रशिक्षण , सॉफ्टवेयर प्रलेखन और परामर्श।[citation needed]


कंप्यूटिंग के उप-विषय

कंप्यूटर इंजीनियरिंग

कंप्यूटर इंजीनियरिंग एक अकादमिक अनुशासन है जो कंप्यूटर हार्डवेयर और सॉफ्टवेयर विकसित करने के लिए आवश्यक इलेक्ट्रिकल इंजीनियरिंग और कंप्यूटर विज्ञान के कई क्षेत्रों को एकीकृत करता है।[20] कंप्यूटर इंजीनियरों के पास आमतौर पर केवल सॉफ्टवेयर इंजीनियरिंग या इलेक्ट्रॉनिक इंजीनियरिंग के बजाय इलेक्ट्रॉनिक इंजीनियरिंग (या इलेक्ट्रिकल इंजीनियरिंग), सॉफ्टवेर डिज़ाइन और हार्डवेयर-सॉफ्टवेयर एकीकरण में प्रशिक्षण होता है। कंप्यूटर इंजीनियर अलग-अलग माइक्रोप्रोसेसर , निजी कंप्यूटर और सुपर कंप्यूटर के डिजाइन से लेकर सर्किट डिज़ाइन तक, कंप्यूटिंग के कई हार्डवेयर और सॉफ्टवेयर पहलुओं में शामिल हैं। इंजीनियरिंग के इस क्षेत्र में न केवल अपने स्वयं के डोमेन के भीतर हार्डवेयर का डिज़ाइन शामिल है, बल्कि हार्डवेयर और उस संदर्भ के बीच की बातचीत भी शामिल है जिसमें यह संचालित होता है।[21]


सॉफ्टवेयर इंजीनियरिंग

सॉफ्टवेयर अभियांत्रिकी (एसई) सॉफ्टवेयर के डिजाइन, विकास, संचालन और रखरखाव और इन दृष्टिकोणों के अध्ययन के लिए एक व्यवस्थित, अनुशासित और मात्रात्मक दृष्टिकोण का अनुप्रयोग है। यानी सॉफ्टवेयर के लिए इंजीनियरिंग का अनुप्रयोग।[22][23][24] यह किसी समस्या के समाधान की कल्पना, मॉडल और पैमाने के लिए अंतर्दृष्टि का उपयोग करने का कार्य है। शब्द का पहला संदर्भ 1968 नाटो सॉफ्टवेयर इंजीनियरिंग सम्मेलन है, और उस समय कथित सॉफ्टवेयर संकट के बारे में सोचा गया था।[25][26][27] सॉफ्टवेयर विकास, एक व्यापक रूप से इस्तेमाल किया जाने वाला और अधिक सामान्य शब्द, जरूरी नहीं कि इंजीनियरिंग प्रतिमान को समाहित करे। एक इंजीनियरिंग अनुशासन के रूप में सॉफ्टवेयर इंजीनियरिंग की आम तौर पर स्वीकृत अवधारणाओं को गाइड टू द ज्ञान का सॉफ्टवेयर इंजीनियरिंग निकाय (SWEBOK) में निर्दिष्ट किया गया है। SWEBOK ISO/IEC TR 19759:2015 में अंतरराष्ट्रीय स्तर पर स्वीकृत मानक बन गया है।[28]


कंप्यूटर विज्ञान

कंप्यूटर विज्ञान या कंप्यूटिंग विज्ञान (संक्षिप्त सीएस या कॉम्प विज्ञान) गणना और इसके अनुप्रयोगों के लिए विज्ञान और व्यावहारिक दृष्टिकोण है। एक कंप्यूटर वैज्ञानिक गणना के सिद्धांत और कम्प्यूटेशनल सिस्टम के डिजाइन में माहिर हैं।[29] इसके उपक्षेत्रों को कंप्यूटर प्रणाली में इसके कार्यान्वयन और अनुप्रयोग के लिए व्यावहारिक तकनीकों और विशुद्ध रूप से सैद्धांतिक क्षेत्रों में विभाजित किया जा सकता है। कुछ, जैसे कि कम्प्यूटेशनल जटिलता सिद्धांत , जो कम्प्यूटेशनल समस्या ओं के मौलिक गुणों का अध्ययन करता है, अत्यधिक सारगर्भित हैं, जबकि अन्य, जैसे कंप्यूटर ग्राफिक्स (कंप्यूटर विज्ञान) , वास्तविक दुनिया के अनुप्रयोगों पर जोर देते हैं। अन्य कम्प्यूटेशंस को लागू करने में चुनौतियों पर ध्यान केंद्रित करते हैं। उदाहरण के लिए, प्रोग्रामिंग भाषा सिद्धांत अध्ययन गणनाओं के विवरण के लिए दृष्टिकोण करता है, जबकि कंप्यूटर प्रोग्रामिंग का अध्ययन प्रोग्रामिंग भाषाओं और जटिल प्रणालियों के उपयोग की जांच करता है। मानव -कंप्यूटर संपर्क का क्षेत्र कंप्यूटर और गणनाओं को उपयोगी, प्रयोग करने योग्य और मनुष्यों के लिए सार्वभौमिक रूप से सुलभ बनाने में चुनौतियों पर केंद्रित है।[citation needed]


साइबर सुरक्षा

साइबर सुरक्षा का क्षेत्र कंप्यूटर सिस्टम और नेटवर्क की सुरक्षा से संबंधित है। इसमें सूचना गोपनीयता , आईटी सेवाओं के सेवा के इनकार को रोकना और हार्डवेयर, सॉफ्टवेयर और डेटा की चोरी और क्षति को रोकना शामिल है।[30]


डेटा विज्ञान

डेटा विज्ञान एक ऐसा क्षेत्र है जो डेटा की बढ़ती मात्रा और उपलब्धता द्वारा संचालित डेटा से जानकारी और अंतर्दृष्टि निकालने के लिए वैज्ञानिक और कंप्यूटिंग टूल का उपयोग करता है।[31] डेटा माइनिंग , बिग डेटा, आंकड़े और मशीन लर्निंग सभी डेटा साइंस से जुड़े हुए हैं।[32]


सूचना प्रणाली

सूचना प्रणाली (आईएस) हार्डवेयर और सॉफ्टवेयर के पूरक नेटवर्क का अध्ययन है (सूचना प्रौद्योगिकी देखें) जिसका उपयोग लोग और संगठन डेटा (कंप्यूटिंग) एकत्र करने, फ़िल्टर करने, संसाधित करने, बनाने और वितरित करने के लिए करते हैं।[33][34][35] कम्प्यूटिंग मशीनरी के कम्प्यूटिंग करियर के लिए एसोसिएशन IS का वर्णन इस प्रकार करता है: