Sayansi ya tarakilishi

Sayansi ya tarakilishi ni sayansi kuhusu programu, data na maarifa. Mwanasayansi wa tarakilishi anasoma programu na nadharia ya tarakilishi.

Historia 
Misingi ya mapema zaidi ya kile ambacho kinaweza kuwa sayansi ya kompyuta ilitangulia uvumbuzi wa kompyuta ya kisasa ya dijiti. Mashine za kukokotoa kazi za nambari zisizobadilika kama vile abacus zimekuwepo tangu zamani, zikisaidia katika hesabu kama vile kuzidisha na kugawanya. Algorithms za kufanya hesabu zimekuwepo tangu zamani, hata kabla ya utengenezaji wa vifaa vya kisasa vya kompyuta.

Wilhelm Schickard alibuni na kutengeneza kikokotoo cha kwanza cha kufanya kazi mwaka wa 1623. Mnamo mwaka wa 1673, Gottfried Leibniz alionyesha kikokotoo cha mitambo cha dijiti, kiitwacho Stepped Reckoner.  Leibniz anaweza kuchukuliwa kuwa mwanasayansi wa kwanza wa kompyuta na nadharia ya habari, kwa sababu ya sababu mbalimbali, ikiwa ni pamoja na ukweli kwamba aliandika mfumo wa nambari ya binary. Mnamo 1820, Thomas de Colmar alizindua tasnia ya kikokotoo cha kimakanika[kumbuka alipovumbua hesabu yake iliyorahisishwa, mashine ya kwanza ya kukokotoa yenye nguvu ya kutosha na inayotegemeka vya kutosha kutumika kila siku katika mazingira ya ofisi. Charles Babbage alianza uundaji wa kikokotoo cha kwanza cha kikokotoo kiotomatiki, Difference Engine yake, mwaka wa 1822, ambayo hatimaye ilimpa wazo la kikokotoo cha kwanza cha mitambo kinachoweza kupangwa, Injini yake ya Uchanganuzi.

Alianza kutengeneza mashine hii mwaka wa 1834, na "katika muda wa chini ya miaka miwili, alikuwa amechora vipengele vingi muhimu vya kompyuta ya kisasa".Hatua muhimu ilikuwa kupitishwa kwa mfumo wa kadi ulioboreshwa kutoka kwa kitanzi cha Jacquard" kuifanya iweze kuratibiwa kabisa.

Mnamo 1843, wakati wa tafsiri ya makala ya Kifaransa kuhusu Injini ya Uchambuzi, Ada Lovelace aliandika, katika mojawapo ya madokezo mengi aliyojumuisha, algoriti ya kukokotoa nambari za Bernoulli, ambayo inachukuliwa kuwa algoriti ya kwanza kuchapishwa kuwahi kulengwa mahususi kwa ajili ya utekelezaji kwenye kompyuta.Takriban 1885, Herman Hollerith alivumbua tabulata, ambayo ilitumia kadi zilizopigwa kuchakata taarifa za takwimu; hatimaye kampuni yake ikawa sehemu ya IBM. Kufuatia Babbage, ingawa hakufahamu kazi yake ya awali, Percy Ludgate mwaka wa 1909 alichapisha  miundo ya 2 kati ya mbili pekee za injini za uchanganuzi za kimakanika katika historia.

Mnamo mwaka wa 1913, mhandisi wa Kihispania Leonardo Torres Quevedo aliandika Insha zake juu ya Automatics, na akasanifu, akiongozwa na Babbage, mashine ya kukokotoa ya kieletroniki ya kinadharia ambayo ilipaswa kudhibitiwa na programu ya kusoma tu. Karatasi hiyo pia ilianzisha wazo la hesabu za sehemu zinazoelea.

Mnamo 1920, ili kusherehekea kumbukumbu ya miaka 100 ya uvumbuzi wa hesabu, Torres aliwasilisha huko Paris Arithmometer ya Electromechanical, ambayo ilikuwa na kitengo cha hesabu kilichounganishwa na mashine ya kuandika (inawezekana ya mbali), ambayo amri zinaweza kuchapishwa na matokeo kuchapishwa moja kwa moja.  

Mnamo 1937, miaka mia moja baada ya ndoto isiyowezekana ya Babbage, Howard Aiken alishawishi IBM, ambayo ilikuwa ikitengeneza kila aina ya vifaa vya kadi zilizopigwa na pia alikuwa katika biashara ya kikokotoo kutengeneza kikokotoo chake kikubwa kinachoweza kuratibiwa, ASCC/Harvard Mark I, chenye msingi. kwenye Engine Analytical Engine ya Babbage, ambayo yenyewe ilitumia kadi na kitengo cha kati cha kompyuta. Mashine ilipokamilika, wengine waliipongeza kama "ndoto ya Babbage ilitimia".

Etimolojia 
Ingawa ilipendekezwa kwa mara ya kwanza mwaka wa 1956, neno "sayansi ya kompyuta" linaonekana katika makala ya 1959 katika Mawasiliano ya ACM, ambapo Louis Fein anabishana kuhusu kuundwa kwa Shule ya Wahitimu katika Sayansi ya Kompyuta sawa na kuundwa kwa Harvard. Shule ya Biashara mwaka wa 1921. Louis anahalalisha jina kwa kubishana kwamba, kama sayansi ya usimamizi, somo linatumika na linajumuisha taaluma mbalimbali, huku likiwa na sifa za kawaida za taaluma ya kitaaluma. Juhudi zake, na zile za wengine kama vile mchambuzi wa nambari George Forsythe, zilituzwa: vyuo vikuu viliendelea kuunda idara kama hizo, kuanzia na Purdue mnamo 1962. Licha ya jina lake, kiasi kikubwa cha sayansi ya kompyuta haihusishi utafiti wa kompyuta wenyewe. Kwa sababu hii, majina kadhaa mbadala yamependekezwa. Idara fulani za vyuo vikuu vikuu hupendelea neno sayansi ya kompyuta, ili kusisitiza kwa usahihi tofauti hiyo. Mwanasayansi wa Denmark Peter Naur alipendekeza neno datalojia, ili kuakisi ukweli kwamba taaluma ya kisayansi inahusu data na matibabu ya data, ilhali si lazima kuhusisha kompyuta. Taasisi ya kwanza ya kisayansi kutumia neno hilo ilikuwa Idara ya Datalogy katika Chuo Kikuu cha Copenhagen, iliyoanzishwa mwaka wa 1969, na Peter Naur akiwa profesa wa kwanza katika datalogy. Neno hili linatumika hasa katika nchi za Scandinavia. Neno mbadala, pia lililopendekezwa na Naur, ni sayansi ya data; hii sasa inatumika kwa uwanja wa taaluma nyingi wa uchanganuzi wa data, ikijumuisha takwimu na hifadhidata.

Katika siku za mwanzo za kompyuta, idadi ya masharti ya watendaji wa uwanja wa kompyuta yalipendekezwa katika Mawasiliano ya ACM-turingineer, turologist, flow-charts-man, applyed meta-mathematician, and applied epistemologist. Miezi mitatu baadaye katika jarida hilohilo, mtaalamu wa comptologist alipendekezwa, na kufuatiwa mwaka ujao na mwanahyolojia. Neno kompyuta pia limependekezwa. katika Ulaya, maneno yanayotokana na tafsiri zilizo na mkataba za usemi "habari otomatiki" (k.m. "informazione automatica" katika Kiitalia) au "habari na hisabati" hutumiwa mara nyingi, k.m. informatique (Kifaransa), Informatik (Kijerumani), informatica (Kiitalia, Kiholanzi), informática (Kihispania, Kireno), informatika (Lugha za Slavic na Hungarian) au pliroforiki (πληροφορική, ambayo ina maana ya habari) katika Kigiriki. Maneno sawa na hayo pia yamekubaliwa nchini Uingereza (kama katika Shule ya Informatics, Chuo Kikuu cha Edinburgh). "Nchini Marekani, hata hivyo, habari zinahusishwa na matumizi ya kompyuta, au kompyuta katika muktadha wa kikoa kingine."

Nukuu ya ngano, ambayo mara nyingi huhusishwa na—lakini kwa hakika haijatungwa kwanza na—Edsger Dijkstra, inasema kwamba “sayansi ya kompyuta haihusu kompyuta zaidi ya vile unajimu unavyohusu darubini.” Muundo na usambazaji wa kompyuta na mifumo ya kompyuta ni kwa ujumla inachukuliwa kuwa mkoa wa taaluma zaidi ya sayansi ya kompyuta. Kwa mfano, utafiti wa vifaa vya kompyuta kawaida huchukuliwa kuwa sehemu ya uhandisi wa kompyuta, wakati utafiti wa mifumo ya kompyuta ya kibiashara na kupelekwa kwao mara nyingi huitwa teknolojia ya habari au mifumo ya habari. Hata hivyo, kumekuwa na kubadilishana mawazo kati ya taaluma mbalimbali zinazohusiana na kompyuta. Utafiti wa sayansi ya kompyuta pia mara nyingi huingilia taaluma zingine, kama vile sayansi ya utambuzi, isimu, hisabati, fizikia, biolojia, sayansi ya Dunia, takwimu, falsafa na mantiki.

Sayansi ya kompyuta inachukuliwa na wengine kuwa na uhusiano wa karibu zaidi na hisabati kuliko taaluma nyingi za kisayansi, huku baadhi ya wachunguzi wakisema kwamba kompyuta ni sayansi ya hisabati. Sayansi ya awali ya kompyuta iliathiriwa sana na kazi ya wanahisabati kama vile Kurt Gödel, Alan Turing, John von Neumann, Rózsa Péter na Kanisa la Alonzo na kunaendelea kuwa na ubadilishanaji muhimu wa mawazo kati ya nyanja hizo mbili katika maeneo kama vile mantiki ya hisabati, kitengo. nadharia, nadharia ya kikoa, na aljebra.

Uhusiano kati ya Sayansi ya Kompyuta na Uhandisi wa Programu ni suala lenye utata, ambalo limechafuliwa zaidi na mabishano kuhusu maana ya neno "Uhandisi wa Programu", na jinsi sayansi ya kompyuta inavyofafanuliwa. David Parnas, akichukua kidokezo kutoka kwa uhusiano kati ya taaluma zingine za uhandisi na sayansi, amedai kuwa lengo kuu la sayansi ya kompyuta ni kusoma mali ya hesabu kwa ujumla, wakati lengo kuu la uhandisi wa programu ni muundo wa hesabu maalum ili kufikia vitendo. malengo, kufanya taaluma hizi mbili tofauti lakini zinazokamilishana.

Vipengele vya kitaaluma, kisiasa na ufadhili vya sayansi ya kompyuta hutegemea ikiwa idara inaundwa kwa msisitizo wa hisabati au kwa msisitizo wa uhandisi. Idara za sayansi ya kompyuta zilizo na msisitizo wa hisabati na mwelekeo wa nambari huzingatia upatanishi na sayansi ya ukokotoaji. Aina zote mbili za idara huwa zinafanya juhudi za kuunganisha uwanja wa elimu

Falsafa 
Licha ya neno "sayansi" katika jina lake, kuna mjadala kuhusu kama sayansi ya kompyuta ni taaluma ya sayansi au la, hisabati, au uhandisi. Allen Newell na Herbert A. Simon walibishana mwaka wa 1975.

Sayansi ya kompyuta ni taaluma ya majaribio. Tungeiita sayansi ya majaribio, lakini kama vile unajimu, uchumi, na jiolojia, baadhi ya aina zake za kipekee za uchunguzi na uzoefu hazilingani na aina finyu ya mbinu ya majaribio. Walakini, ni majaribio. Kila mashine mpya inayotengenezwa ni jaribio. Kwa kweli ujenzi wa mashine unaleta swali kwa maumbile; nasi tunasikiliza jibu kwa kutazama mashine inavyofanya kazi na kuichanganua kwa njia zote za uchanganuzi na vipimo vinavyopatikana.

Tangu wakati huo imekuwa ikijadiliwa kuwa sayansi ya kompyuta inaweza kuainishwa kama sayansi ya majaribio kwani hutumia upimaji wa majaribio kutathmini usahihi wa programu, lakini shida inabaki katika kufafanua sheria na nadharia za sayansi ya kompyuta (ikiwa zipo) na kufafanua asili ya majaribio katika sayansi ya kompyuta. Watetezi wa kuainisha sayansi ya kompyuta kama taaluma ya uhandisi wanasema kuwa kutegemewa kwa mifumo ya hesabu huchunguzwa kwa njia sawa na madaraja katika uhandisi wa kiraia na ndege katika uhandisi wa anga. Pia wanahoji kwamba ingawa sayansi ya majaribio inachunguza kile kilichopo sasa, sayansi ya kompyuta inachunguza kile kinachowezekana kuwepo na wakati wanasayansi wanagundua sheria kutokana na uchunguzi, hakuna sheria sahihi ambazo zimepatikana katika sayansi ya kompyuta na badala yake inahusika na kuunda matukio. 

Watetezi wa kuainisha sayansi ya kompyuta kama taaluma ya hisabati hubishana kuwa programu za kompyuta ni utambuzi wa kimwili wa vyombo vya hisabati na programu zinaweza kufikiriwa kwa njia ya kimaadili kupitia mbinu rasmi za hisabati.[47] Wanasayansi wa kompyuta Edsger W. Dijkstra na Tony Hoare wanaona maagizo ya programu za kompyuta kama sentensi za hisabati na kutafsiri semantiki rasmi kwa lugha za programu kama mifumo ya hisabati aksiomatiki.

Vigezo vya sayansi ya kompyuta
Wanasayansi kadhaa wa kompyuta wamebishana kwa tofauti ya dhana tatu tofauti katika sayansi ya kompyuta. Peter Wegner alidai kwamba dhana hizo ni sayansi, teknolojia, na hisabati. Kikundi kazi cha Peter Denning kilidai kuwa wao ni nadharia, uchukuaji (kubuni), na muundo. Amnon H. Eden alizitaja kama "mtazamo wa kimantiki" (ambao huchukulia sayansi ya kompyuta kama tawi la hisabati, ambalo limeenea katika sayansi ya nadharia ya kompyuta, na hasa hutumia mawazo ya kukariri), "mtazamo wa kiteknolojia" (unaoweza kupatikana katika uhandisi. mbinu, maarufu zaidi katika uhandisi wa programu), na "mtazamo wa kisayansi" (ambao huangazia mabaki yanayohusiana na kompyuta kutoka kwa mtazamo wa kimajaribio wa sayansi asilia, unaotambulika katika baadhi ya matawi ya akili bandia). Sayansi ya kompyuta inazingatia mbinu zinazohusika katika kubuni, vipimo, upangaji programu, uthibitishaji, utekelezaji na majaribio ya mifumo ya kompyuta iliyotengenezwa na binadamu.

Viwanja 
Hii ni orodha inayobadilika na huenda kamwe isiweze kukidhi viwango fulani vya ukamilifu. Unaweza kusaidia kwa kuongeza vitu vilivyokosekana na vyanzo vya kuaminika.

Kama taaluma, sayansi ya kompyuta inahusisha mada mbalimbali kutoka kwa masomo ya kinadharia ya algoriti na mipaka ya ukokotoaji hadi masuala ya vitendo ya kutekeleza mifumo ya kompyuta katika maunzi na programu. CSAB, ambayo zamani iliitwa Bodi ya Uidhinishaji wa Sayansi ya Kompyuta—ambayo inaundwa na wawakilishi wa Chama cha Mashine za Kompyuta (ACM), na Jumuiya ya Kompyuta ya IEEE (IEEE CS)—inabainisha maeneo manne ambayo inaona kuwa muhimu kwa taaluma ya kompyuta. sayansi: nadharia ya hesabu, algoriti na miundo ya data, mbinu ya programu na lugha, na vipengele vya kompyuta na usanifu. Mbali na maeneo haya manne, CSAB pia inabainisha nyanja kama vile uhandisi wa programu, akili bandia, mitandao ya kompyuta na mawasiliano, mifumo ya hifadhidata, ukokotoaji sambamba, ukokotoaji uliosambazwa, mwingiliano wa binadamu na kompyuta, michoro ya kompyuta, mifumo ya uendeshaji, na ukokotoaji wa nambari na ishara kama kuwa maeneo muhimu ya sayansi ya kompyuta.

    Sayansi ya kompyuta haihusu zaidi kompyuta kuliko unajimu unavyohusu darubini.

   — Edsger Dijkstra

Sayansi ya kompyuta ya kinadharia 
Sayansi ya Kompyuta ya Kinadharia ni ya kihisabati na dhahania katika roho, lakini inapata motisha yake kutoka kwa hesabu ya vitendo na ya kila siku. Kusudi lake ni kuelewa asili ya hesabu na, kama matokeo ya ufahamu huu, kutoa mbinu bora zaidi.

Nadharia ya hesabu
Kulingana na Peter Denning, swali la msingi linalohusu sayansi ya kompyuta ni, "Ni nini kinachoweza kuwa otomatiki?" Nadharia ya ukokotoaji inalenga kujibu maswali ya kimsingi kuhusu kile kinachoweza kukokotwa na ni kiasi gani cha rasilimali kinachohitajika kutekeleza hesabu hizo. Katika jitihada za kujibu swali la kwanza, nadharia ya upatanifu huchunguza ni matatizo yapi ya kikokotozi yanaweza kusuluhishwa kwenye miundo mbalimbali ya kinadharia ya ukokotoaji. Swali la pili linashughulikiwa na nadharia ya ugumu wa hesabu, ambayo inasoma gharama za muda na nafasi zinazohusiana na mbinu tofauti za kutatua matatizo mengi ya computational.

Nadharia otomatiki Lugha rasmi Nadharia ya utengamano Nadharia ya uchangamano ya kimahesabu

Wavu wa Mwingiliano kama Configuration.png Blochsphere.svg XNOR ANSI Inayo lebo.svg Kellerautomat.svg

Miundo ya hesabu Nadharia ya tarakilishi ya Quantum Nadharia ya mzunguko wa mantiki

Nadharia ya habari na usimbaji
Nadharia ya habari, inayohusiana kwa karibu na uwezekano na takwimu, inahusiana na upimaji wa habari. Hii ilitengenezwa na Claude Shannon ili kupata vikomo vya kimsingi vya uchakataji wa mawimbi kama vile kubana data na kuhifadhi na kuwasiliana data kwa uhakika. Nadharia ya usimbaji ni utafiti wa mali ya misimbo (mifumo ya kubadilisha habari kutoka fomu moja hadi nyingine) na usawa wao kwa matumizi maalum. Misimbo hutumiwa kwa ukandamizaji wa data, usimbaji fiche, kutambua makosa na kusahihisha, na hivi majuzi pia kwa usimbaji mtandao. Misimbo inasomwa kwa madhumuni ya kubuni mbinu bora na za kuaminika za uwasilishaji wa data.

Miundo ya data na algoriti
Miundo ya data na algoriti ni masomo ya mbinu za ukokotoaji zinazotumiwa sana na ufanisi wake wa kukokotoa.

Nadharia ya lugha ya programu na mbinu rasmi
Nadharia ya lugha ya upangaji ni tawi la sayansi ya kompyuta ambalo hujishughulisha na muundo, utekelezaji, uchambuzi, uainishaji, na uainishaji wa lugha za programu na sifa zao za kibinafsi. Inaangukia ndani ya taaluma ya sayansi ya kompyuta, kutegemea na kuathiri hisabati, uhandisi wa programu, na isimu. Ni eneo amilifu la utafiti, lenye majarida mengi ya kitaaluma yaliyojitolea.

Mbinu rasmi ni aina mahususi ya mbinu ya kihisabati ya kubainisha, ukuzaji na uthibitishaji wa programu na mifumo ya maunzi. Utumiaji wa mbinu rasmi za usanifu wa programu na maunzi huchochewa na matarajio kwamba, kama ilivyo katika taaluma nyingine za uhandisi, kufanya uchanganuzi ufaao wa hisabati kunaweza kuchangia kutegemewa na uimara wa muundo. Zinaunda msingi muhimu wa kinadharia kwa uhandisi wa programu, haswa ambapo usalama au usalama unahusika. Mbinu rasmi ni kiambatisho muhimu cha majaribio ya programu kwani husaidia kuzuia makosa na pia zinaweza kutoa mfumo wa majaribio. Kwa matumizi ya viwandani, msaada wa zana unahitajika. Hata hivyo, gharama ya juu ya kutumia mbinu rasmi ina maana kwamba kwa kawaida hutumiwa tu katika maendeleo ya mifumo ya juu ya uadilifu na muhimu kwa maisha, ambapo usalama au usalama ni muhimu sana. Mbinu rasmi zinafafanuliwa vyema kama matumizi ya anuwai pana ya misingi ya kinadharia ya sayansi ya kompyuta, haswa calculi ya mantiki, lugha rasmi, nadharia ya kiotomatiki, na semantiki za programu, lakini pia chapa mifumo na aina za data za aljebra kwa shida katika uainishaji wa programu na maunzi na uthibitishaji. 

Kompyuta
Teknolojia
Sayansi