Datavetenskap
Datavetenskap |
---|
Datavetenskap är studiet av beräkningar , automatisering och information . Datavetenskap spänner över teoretiska discipliner (som algoritmer , beräkningsteori , informationsteori och automation) till praktiska discipliner (inklusive design och implementering av hårdvara och mjukvara ). Datavetenskap anses allmänt vara en akademisk disciplin och skiljer sig från datorprogrammering .
Algoritmer och datastrukturer är centrala för datavetenskap. Beräkningsteorin handlar om abstrakta beräkningsmodeller och allmänna klasser av problem som kan lösas med hjälp av dem . Områdena kryptografi och datorsäkerhet involverar att studera medlen för säker kommunikation och för att förhindra säkerhetssårbarheter . Datorgrafik och beräkningsgeometri adresserar genereringen av bilder. Programmeringsspråksteorin överväger olika sätt att beskriva beräkningsprocesser, och databasteorin handlar om hantering av datalager. Interaktion mellan människa och dator undersöker gränssnitten genom vilka människor och datorer interagerar, och mjukvaruteknik fokuserar på designen och principerna bakom utveckling av programvara. Områden som operativsystem , nätverk och inbyggda system undersöker principerna och designen bakom komplexa system . Datorarkitektur beskriver konstruktionen av datorkomponenter och datorstyrd utrustning. Artificiell intelligens och maskininlärning syftar till att syntetisera målinriktade processer som problemlösning, beslutsfattande, miljöanpassning, planering och lärande som finns hos människor och djur. Inom artificiell intelligens datorseende till att förstå och bearbeta bild- och videodata, medan naturlig språkbehandling syftar till att förstå och bearbeta text- och språkdata.
Datavetenskapens grundläggande oro är att avgöra vad som kan och inte kan automatiseras. Turing -priset är allmänt erkänt som den högsta utmärkelsen inom datavetenskap.
Historia
Historia av |
---|
datorhårdvara |
programvara |
Datavetenskap |
Moderna koncept |
Efter land |
Tidslinje för datoranvändning |
Ordlista för datavetenskap |
De tidigaste grunderna för vad som skulle bli datavetenskap föregick uppfinningen av den moderna digitala datorn . Maskiner för beräkning av fasta numeriska uppgifter som kulramen har funnits sedan antiken, och hjälper till med beräkningar som multiplikation och division. Algoritmer för att utföra beräkningar har funnits sedan antiken, även innan utvecklingen av sofistikerad datorutrustning.
Wilhelm Schickard designade och konstruerade den första fungerande mekaniska räknaren 1623. År 1673 demonstrerade Gottfried Leibniz en digital mekanisk räknare, kallad Stepped Reckoner . Leibniz kan anses vara den första datavetaren och informationsteoretikern, på grund av olika anledningar, inklusive det faktum att han dokumenterade det binära talsystemet. År 1820 lanserade Thomas de Colmar industrin för mekaniska kalkylatorer när han uppfann sin förenklade aritmometer , den första beräkningsmaskinen tillräckligt stark och pålitlig nog att användas dagligen i en kontorsmiljö. Charles Babbage startade designen av den första automatiska mekaniska räknaren , hans Difference Engine , 1822, vilket så småningom gav honom idén om den första programmerbara mekaniska räknaren , hans Analytical Engine . Han började utveckla denna maskin 1834, och "på mindre än två år hade han skissat upp många av de framträdande egenskaperna hos den moderna datorn". "Ett avgörande steg var antagandet av ett hålkortssystem härlett från Jacquardvävstolen" som gör den oändligt programmerbar. År 1843, under översättningen av en fransk artikel om den analytiska motorn, Ada Lovelace , i en av de många anteckningar hon inkluderade, en algoritm för att beräkna Bernoulli-talen , som anses vara den första publicerade algoritmen som någonsin skräddarsytts specifikt för implementering på en dator. Runt 1885 uppfann Herman Hollerith tabulatorn , som använde hålkort för att bearbeta statistisk information; så småningom blev hans företag en del av IBM . Efter Babbage, även om han inte var medveten om hans tidigare arbete, Percy Ludgate 1909 den andra av de enda två designerna för mekaniska analytiska motorer i historien. 1937, hundra år efter Babbages omöjliga dröm, Howard Aiken IBM, som tillverkade alla typer av hålkortsutrustning och som också var i kalkylatorbranschen att utveckla sin gigantiska programmerbara kalkylator, ASCC /Harvard Mark I , baserad på Babbages Analytical Motor, som själv använde kort och en central beräkningsenhet. När maskinen var färdig hyllade några den som "Babbages dröm som gick i uppfyllelse".
Under 1940-talet, med utvecklingen av nya och kraftfullare datormaskiner som Atanasoff-Berry-datorn och ENIAC , kom termen dator att syfta på maskinerna snarare än deras mänskliga föregångare. När det blev tydligt att datorer kunde användas för mer än bara matematiska beräkningar, breddades datavetenskapens område till att studera beräkning i allmänhet. 1945 grundade IBM Watson Scientific Computing Laboratory vid Columbia University i New York City . Det renoverade brödraskapshuset på Manhattans West Side var IBM:s första laboratorium ägnat åt ren vetenskap. Labbet är föregångaren till IBM:s Research Division, som idag driver forskningsanläggningar runt om i världen. I slutändan var det nära förhållandet mellan IBM och Columbia University avgörande för framväxten av en ny vetenskaplig disciplin, där Columbia erbjöd en av de första akademiska poängkurserna i datavetenskap 1946. Datavetenskap började etableras som en distinkt akademisk disciplin i 1950-talet och början av 1960-talet. Världens första datavetenskapliga examensprogram, Cambridge Diploma in Computer Science , började vid University of Cambridge Computer Laboratory 1953. Den första datavetenskapliga avdelningen i USA bildades vid Purdue University 1962. Sedan praktiska datorer blev tillgängliga har många tillämpningar av datorer har blivit distinkta studieområden i sina egna rättigheter.
Etymologi
Även om det först föreslogs 1956, förekommer termen "datavetenskap" i en artikel från 1959 i Communications of the ACM , där Louis Fein argumenterar för skapandet av en Graduate School in Computer Sciences analogt med skapandet av Harvard Business School 1921. Louis motiverar namnet genom att argumentera att ämnet, liksom managementvetenskap , är tillämpat och tvärvetenskapligt till sin natur, samtidigt som det har de egenskaper som är typiska för en akademisk disciplin. Hans ansträngningar, och andras som den numeriska analytikern George Forsythe , belönades: universiteten fortsatte med att skapa sådana avdelningar, med början med Purdue 1962. Trots namnet involverar en betydande mängd datavetenskap inte studier av själva datorerna. På grund av detta har flera alternativa namn föreslagits. Vissa institutioner vid större universitet föredrar termen datavetenskap , för att betona just den skillnaden. Den danska vetenskapsmannen Peter Naur föreslog termen datalogi för att återspegla det faktum att den vetenskapliga disciplinen kretsar kring data och databehandling, samtidigt som den inte nödvändigtvis involverar datorer. Den första vetenskapliga institutionen som använde termen var Institutionen för datalogi vid Köpenhamns universitet, grundad 1969, med Peter Naur som den första professorn i datalogi. Termen används främst i de skandinaviska länderna. En alternativ term, också föreslagen av Naur, är datavetenskap ; detta används nu för ett multidisciplinärt område för dataanalys, inklusive statistik och databaser.
Under de första dagarna av datoranvändning, föreslogs ett antal termer för utövare av datorområdet i ACM:s kommunikation - turingenjör , turolog , flödesdiagram-man , tillämpad meta-matematiker och tillämpad epistemolog . Tre månader senare i samma tidskrift föreslogs comptologist , följt nästa år av hypolog . Termen computics har också föreslagits. I Europa används ofta termer som härrör från avtalade översättningar av uttrycket "automatisk information" (t.ex. "informazione automatica" på italienska) eller "information och matematik", t.ex. informatique (franska), Informatik (tyska), informatica ( italienska , nederländska ) . ), informática (spanska, portugisiska), informatika ( slaviska språk och ungerska ) eller pliroforiki ( πληροφορική , som betyder informatik) på grekiska . Liknande ord har också antagits i Storbritannien (som i School of Informatics, University of Edinburgh) . "I USA är dock informatik kopplat till tillämpad datoranvändning, eller datoranvändning i en annan domän."
Ett folkloristiskt citat, ofta tillskrivet - men nästan säkert inte först formulerat av - Edsger Dijkstra , säger att "datavetenskap handlar inte mer om datorer än om astronomi om teleskop." Design och distribution av datorer och datorsystem anses allmänt vara provinsen för andra discipliner än datavetenskap. Till exempel anses studiet av datorhårdvara vanligtvis vara en del av datateknik , medan studiet av kommersiella datorsystem och deras utplacering ofta kallas informationsteknologi eller informationssystem . Det har dock förekommit utbyte av idéer mellan de olika datorrelaterade disciplinerna. Datavetenskaplig forskning skär också ofta andra discipliner, såsom kognitiv vetenskap , lingvistik , matematik , fysik , biologi , geovetenskap , statistik , filosofi och logik .
Datavetenskap anses av vissa ha ett mycket närmare förhållande till matematik än många vetenskapliga discipliner, med vissa observatörer som säger att datoranvändning är en matematisk vetenskap. Tidig datavetenskap var starkt influerad av matematiker som Kurt Gödel , Alan Turing , John von Neumann , Rózsa Péter och Alonzo Church och det fortsätter att finnas ett användbart utbyte av idéer mellan de två områdena inom områden som matematisk logik , kategori teori , domänteori och algebra .
Förhållandet mellan datavetenskap och mjukvaruteknik är en omtvistad fråga, som ytterligare grumlas av tvister om vad termen "Software Engineering" betyder och hur datavetenskap definieras. David Parnas , som tar en ledtråd från förhållandet mellan andra ingenjörs- och naturvetenskapliga discipliner, har hävdat att datavetenskapens huvudsakliga fokus är att studera egenskaperna hos beräkningar i allmänhet, medan huvudfokuset för mjukvaruteknik är designen av specifika beräkningar för att uppnå praktiska mål, vilket gör de två separata men kompletterande disciplinerna.
De akademiska, politiska och finansieringsaspekterna av datavetenskap tenderar att bero på om en institution bildas med matematisk inriktning eller ingenjörsvetenskap. Datavetenskapliga institutioner med inriktning på matematik och med en numerisk inriktning överväger anpassning till beräkningsvetenskap . Båda typerna av institutioner tenderar att anstränga sig för att överbrygga fältet pedagogiskt om inte över all forskning.
Filosofi
Datavetenskapens epistemologi
Trots ordet "vetenskap" i dess namn, finns det debatt om huruvida datavetenskap är en disciplin inom naturvetenskap, matematik eller ingenjörsvetenskap. Allen Newell och Herbert A. Simon argumenterade 1975,
Datavetenskap är en empirisk disciplin. Vi skulle ha kallat det en experimentell vetenskap, men precis som astronomi, ekonomi och geologi passar några av dess unika former av observation och erfarenhet inte in i en snäv stereotyp av den experimentella metoden. Ändå är de experiment. Varje ny maskin som byggs är ett experiment. Att konstruera maskinen ställer en fråga till naturen; och vi lyssnar efter svaret genom att observera maskinen i drift och analysera den med alla tillgängliga analytiska och mätmedel.
Det har sedan dess hävdats att datavetenskap kan klassificeras som en empirisk vetenskap eftersom den använder sig av empiriska tester för att utvärdera korrektheten av program , men ett problem kvarstår när det gäller att definiera datavetenskapens lagar och teorem (om några finns) och definiera typ av experiment inom datavetenskap. Förespråkare för att klassificera datavetenskap som en ingenjörsdisciplin hävdar att tillförlitligheten hos beräkningssystem undersöks på samma sätt som broar inom civilingenjör och flygplan inom flygteknik . De hävdar också att medan empiriska vetenskaper observerar vad som för närvarande existerar, observerar datavetenskap vad som är möjligt att existera och medan forskare upptäcker lagar från observation, har inga riktiga lagar hittats inom datavetenskap och det handlar istället om att skapa fenomen.
Förespråkare för att klassificera datavetenskap som en matematisk disciplin hävdar att datorprogram är fysiska realiseringar av matematiska enheter och program kan deduktivt resoneras genom matematiska formella metoder . Datavetarna Edsger W. Dijkstra och Tony Hoare betraktar instruktioner för datorprogram som matematiska meningar och tolkar formell semantik för programmeringsspråk som matematiska axiomatiska system .
Datavetenskapens paradigmer
Ett antal datavetare har argumenterat för skillnaden mellan tre separata paradigm inom datavetenskap. Peter Wegner hävdade att dessa paradigm är vetenskap, teknik och matematik. Peter Dennings arbetsgrupp hävdade att de är teori, abstraktion (modellering) och design. Amnon H. Eden beskrev dem som det "rationalistiska paradigmet" (som behandlar datavetenskap som en gren av matematiken, som är förhärskande inom teoretisk datavetenskap och huvudsakligen använder sig av deduktiva resonemang ), det "teknokratiska paradigmet" (som kan hittas inom ingenjörsvetenskap). tillvägagångssätt, mest framträdande inom mjukvaruteknik), och det "vetenskapliga paradigmet" (som närmar sig datorrelaterade artefakter ur naturvetenskapens empiriska perspektiv, identifierbara inom vissa grenar av artificiell intelligens ). Datavetenskap fokuserar på metoder involverade i design, specifikation, programmering, verifiering, implementering och testning av mänskligt skapade datorsystem.
Fält
Som en disciplin spänner datavetenskap över en rad ämnen från teoretiska studier av algoritmer och gränserna för beräkningar till de praktiska frågorna om att implementera datorsystem i hårdvara och mjukvara. CSAB , tidigare kallad Computing Sciences Accreditation Board – som består av representanter för Association for Computing Machinery (ACM) och IEEE Computer Society (IEEE CS) – identifierar fyra områden som den anser vara avgörande för disciplinen datavetenskap: teori av beräkningar , algoritmer och datastrukturer , programmeringsmetodik och språk , samt datorelement och arkitektur . Utöver dessa fyra områden identifierar CSAB också områden som mjukvaruteknik, artificiell intelligens, datornätverk och kommunikation, databassystem, parallell beräkning, distribuerad beräkning, interaktion mellan människa och dator, datorgrafik, operativsystem och numerisk och symbolisk beräkning som är viktiga områden inom datavetenskap.
Datavetenskap handlar inte mer om datorer än om astronomi om teleskop.
Teoretisk datavetenskap
Teoretisk datavetenskap är matematisk och abstrakt till sin anda, men den får sin motivation från den praktiska och vardagliga beräkningen. Dess syfte är att förstå beräkningens natur och, som en konsekvens av denna förståelse, tillhandahålla mer effektiva metoder.
Beräkningsteori
Enligt Peter Denning är den grundläggande frågan bakom datavetenskap: "Vad kan automatiseras?" Beräkningsteorin är inriktad på att svara på grundläggande frågor om vad som kan beräknas och hur mycket resurser som krävs för att utföra dessa beräkningar. I ett försök att besvara den första frågan beräkningsteorin vilka beräkningsproblem som är lösbara på olika teoretiska beräkningsmodeller . Den andra frågan behandlas av beräkningskomplexitetsteorin , som studerar tids- och rumskostnaderna förknippade med olika tillvägagångssätt för att lösa en mängd beräkningsproblem.
Den berömda P = NP? problem, ett av Millennium Prize Problems , är ett öppet problem i teorin om beräkning.
Automatteori | Formella språk | Beräkningsbarhetsteori | Beräkningskomplexitetsteori |
Beräkningsmodeller | Kvantberäkningsteori | Logisk kretsteori | Cellulära automater |
Informations- och kodningsteori
Informationsteori, nära relaterad till sannolikhet och statistik , är relaterad till kvantifiering av information. Detta utvecklades av Claude Shannon för att hitta grundläggande begränsningar för signalbehandlingsoperationer som komprimering av data och pålitlig lagring och kommunikation av data. Kodningsteori är studiet av koders egenskaper (system för att konvertera information från en form till en annan) och deras lämplighet för en specifik tillämpning. Koder används för datakomprimering , kryptografi , feldetektering och korrigering , och på senare tid även för nätverkskodning . Koder studeras i syfte att designa effektiva och tillförlitliga dataöverföringsmetoder .
Kodningsteori | Kanalkapacitet | Algoritmisk informationsteori | Signaldetekteringsteori | Kolmogorov komplexitet |
Datastrukturer och algoritmer
Datastrukturer och algoritmer är studier av vanliga beräkningsmetoder och deras beräkningseffektivitet.
O ( n 2 ) | |||||
Analys av algoritmer | Algoritm design | Data struktur | Kombinatorisk optimering | Beräkningsgeometri | Randomiserade algoritmer |
Programmeringsspråksteori och formella metoder
Programmeringsspråksteori är en gren av datavetenskap som handlar om design, implementering, analys, karakterisering och klassificering av programmeringsspråk och deras individuella egenskaper . Det faller inom disciplinen datavetenskap, både beroende på och påverkar matematik , programvaruteknik och lingvistik . Det är ett aktivt forskningsområde med många dedikerade akademiska tidskrifter.
Formella metoder är en speciell typ av matematiskt baserad teknik för specifikation , utveckling och verifiering av mjukvara och hårdvara . Användningen av formella metoder för mjukvaru- och hårdvarudesign motiveras av förväntningarna att, liksom i andra ingenjörsdiscipliner, att utföra lämplig matematisk analys kan bidra till en designs tillförlitlighet och robusthet. De utgör en viktig teoretisk grund för mjukvaruutveckling, särskilt när säkerhet eller säkerhet är inblandad. Formella metoder är ett användbart komplement till mjukvarutestning eftersom de hjälper till att undvika fel och kan också ge ett ramverk för testning. För industriellt bruk krävs verktygsstöd. Den höga kostnaden för att använda formella metoder gör dock att de vanligtvis endast används vid utveckling av högintegritet och livskritiska system , där säkerhet eller säkerhet är av yttersta vikt. Formella metoder beskrivs bäst som tillämpningen av ett ganska brett utbud av teoretiska datavetenskapliga grunder, i synnerhet logiska kalkyler, formella språk , automatteori och programsemantik , men också typsystem och algebraiska datatyper på problem i mjukvaru- och hårdvaruspecifikation och verifiering.
Formell semantik | Typteori | Kompilatordesign | Programmeringsspråk | Formell verifiering | Automatiserad teorembevisande |
Tillämpad datavetenskap
Datorgrafik och visualisering
Datorgrafik är studiet av digitalt visuellt innehåll och involverar syntes och manipulering av bilddata. Studien är kopplad till många andra områden inom datavetenskap, inklusive datorseende , bildbehandling och beräkningsgeometri , och tillämpas kraftigt inom specialeffekter och videospel .
2D datorgrafik | Datoranimering | Tolkning | Blandad verklighet | Virtuell verklighet | Gedigen modellering |
Bild- och ljudbehandling
Information kan ta formen av bilder, ljud, video eller annan multimedia. Bitar av information kan streamas via signaler . Dess bearbetning är det centrala begreppet informatik , den europeiska synen på datoranvändning , som studerar informationsbehandlingsalgoritmer oberoende av typen av informationsbärare - oavsett om den är elektrisk, mekanisk eller biologisk. Detta område spelar en viktig roll inom informationsteori , telekommunikation , informationsteknik och har tillämpningar inom bland annat medicinsk bildberäkning och talsyntes . Vad är den nedre gränsen för komplexiteten hos snabba Fourier-transformationsalgoritmer ? är ett av olösta problem inom teoretisk datavetenskap .
FFT-algoritmer | Bildbehandling | Taligenkänning | Datakomprimering | Medicinsk bildberäkning | Talsyntes |
Beräkningsvetenskap, ekonomi och teknik
Scientific computing (eller computational science ) är det studieområde som sysslar med att konstruera matematiska modeller och kvantitativ analysteknik och använda datorer för att analysera och lösa vetenskapliga problem. En stor användning av vetenskaplig beräkning är simulering av olika processer, inklusive beräkningsvätskedynamik , fysiska, elektriska och elektroniska system och kretsar, såväl som samhällen och sociala situationer (särskilt krigsspel) tillsammans med deras livsmiljöer, bland många andra. Moderna datorer möjliggör optimering av sådana konstruktioner som kompletta flygplan. Noterbara i design av elektriska och elektroniska kretsar är SPICE, samt mjukvara för fysisk realisering av nya (eller modifierade) konstruktioner. Den senare inkluderar viktig designprogramvara för integrerade kretsar .
Numerisk analys | Beräkningsfysik | Beräkningskemi | Bioinformatik | Neuroinformatik | Psykoinformatik | Medicinsk informatik | Beräkningsteknik | Beräkningsmusikvetenskap |
Social datoranvändning och interaktion mellan människa och dator
Social computing är ett område som handlar om skärningspunkten mellan socialt beteende och beräkningssystem. Forskning om interaktion mellan människa och dator utvecklar teorier, principer och riktlinjer för designers av användargränssnitt.
Mjukvaruutveckling
Programvaruteknik är studiet av att designa, implementera och modifiera programvaran för att säkerställa att den är av hög kvalitet, prisvärd, underhållsbar och snabb att bygga. Det är ett systematiskt tillvägagångssätt för mjukvarudesign, som involverar tillämpning av ingenjörspraxis på programvara. Programvaruteknik handlar om att organisera och analysera programvara – det handlar inte bara om skapandet eller tillverkningen av ny programvara, utan dess interna arrangemang och underhåll. Till exempel mjukvarutestning , systemutveckling , teknisk skuld och mjukvaruutvecklingsprocesser .
Artificiell intelligens
Artificiell intelligens (AI) syftar till eller krävs för att syntetisera målorienterade processer som problemlösning, beslutsfattande, miljöanpassning, lärande och kommunikation som finns hos människor och djur. Från dess ursprung i cybernetik och i Dartmouth-konferensen (1956) har forskningen om artificiell intelligens nödvändigtvis varit tvärvetenskaplig, med hjälp av expertområden som tillämpad matematik , symbolisk logik , semiotik , elektroteknik , sinnesfilosofi , neurofysiologi och social intelligens . AI förknippas i det populära sinnet med robotutveckling , men det huvudsakliga området för praktisk tillämpning har varit som en inbäddad komponent i områden av mjukvaruutveckling, som kräver beräkningsförståelse. Utgångspunkten i slutet av 1940-talet var Alan Turings fråga "Kan datorer tänka?", och frågan förblir i praktiken obesvarad, även om Turing-testet fortfarande används för att bedöma datorutdata på skalan av mänsklig intelligens. Men automatiseringen av utvärderande och förutsägande uppgifter har blivit allt mer framgångsrik som ett substitut för mänsklig övervakning och intervention i domäner av datorapplikationer som involverar komplexa verkliga data.
Datorsystem
Datorarkitektur och organisation
Datorarkitektur, eller digital datororganisation, är den konceptuella designen och den grundläggande operativa strukturen för ett datorsystem. Den fokuserar till stor del på det sätt på vilket centralenheten fungerar internt och får åtkomst till adresser i minnet. Dataingenjörer studerar beräkningslogik och design av hårdvara , från individuella processorkomponenter , mikrokontroller , persondatorer till superdatorer och inbyggda system . Termen "arkitektur" i datorlitteratur kan spåras till arbetet av Lyle R. Johnson och Frederick P. Brooks, Jr. , medlemmar av Machine Organization-avdelningen i IBM:s huvudforskningscenter 1959.
Processor | Mikroarkitektur | Multiprocessing | Processor design |
Ubiquitous computing | Systemarkitektur | Operativsystem | Ingång/utgång |
Inbyggda system | Realtidsberäkning | Pålitlighet | Tolk |
Samtidig, parallell och distribuerad beräkning
Samtidighet är en egenskap hos system där flera beräkningar körs samtidigt och potentiellt interagerar med varandra. Ett antal matematiska modeller har utvecklats för allmän samtidig beräkning, inklusive Petri-nät , processkalkyler och Parallel Random Access Machine- modellen. När flera datorer är anslutna i ett nätverk medan du använder samtidighet kallas detta ett distribuerat system. Datorer inom det distribuerade systemet har sitt eget privata minne och information kan utbytas för att uppnå gemensamma mål.
Dator nätverk
Denna gren av datavetenskap syftar till att hantera nätverk mellan datorer över hela världen.
Datorsäkerhet och kryptografi
Datorsäkerhet är en gren av datorteknik med syftet att skydda information från obehörig åtkomst, avbrott eller modifiering samtidigt som systemets tillgänglighet och användbarhet bibehålls för dess avsedda användare.
Historisk kryptografi är konsten att skriva och dechiffrera hemliga meddelanden. Modern kryptografi är den vetenskapliga studien av problem relaterade till distribuerade beräkningar som kan attackeras. Teknologier som studeras inom modern kryptografi inkluderar symmetrisk och asymmetrisk kryptering , digitala signaturer , kryptografiska hashfunktioner , nyckelavtalsprotokoll , blockchain , nollkunskapsbevis och förvrängda kretsar .
Databaser och datautvinning
En databas är avsedd att enkelt organisera, lagra och hämta stora mängder data. Digitala databaser hanteras med hjälp av databashanteringssystem för att lagra, skapa, underhålla och söka data, genom databasmodeller och frågespråk . Datautvinning är en process för att upptäcka mönster i stora datamängder.
Upptäckter
Beräkningsfilosofen Bill Rapaport noterade tre stora insikter inom datavetenskap :
- Gottfried Wilhelm Leibniz , George Booles , Alan Turings , Claude Shannons och Samuel Morses insikt: det finns bara två objekt som en dator måste hantera för att representera "vad som helst".
- All information om alla beräkningsbara problem kan representeras med endast 0 och 1 (eller vilket annat bistabilt par som helst som kan flip-flop mellan två lätt urskiljbara tillstånd, såsom "på/av", "magnetiserat/avmagnetiserat", "högt" -spänning/lågspänning", etc.).
- Alan Turings insikt: det finns bara fem åtgärder som en dator måste utföra för att göra "vad som helst".
- Varje algoritm kan uttryckas på ett språk för en dator som består av endast fem grundläggande instruktioner:
- flytta vänster en plats;
- flytta åt höger en plats;
- läs symbol på aktuell plats;
- skriv ut 0 på aktuell plats;
- skriv ut 1 på aktuell plats.
- Varje algoritm kan uttryckas på ett språk för en dator som består av endast fem grundläggande instruktioner:
- Corrado Böhm och Giuseppe Jacopinis insikt: det finns bara tre sätt att kombinera dessa handlingar (till mer komplexa) som behövs för att en dator ska kunna göra "vad som helst".
- Endast tre regler behövs för att kombinera en uppsättning grundläggande instruktioner till mer komplexa:
- sekvens : gör först detta, gör sedan det;
- urval : OM sådant-och-så är fallet, gör DÅ detta, ANNARS gör det;
- upprepning : MEDAN det och det är fallet, GÖR det här.
- Observera att de tre reglerna för Boehms och Jacopinis insikter kan förenklas ytterligare med användningen av goto (vilket betyder att det är mer elementärt än strukturerad programmering ).
- Endast tre regler behövs för att kombinera en uppsättning grundläggande instruktioner till mer komplexa:
Programmeringsparadigm
Programmeringsspråk kan användas för att utföra olika uppgifter på olika sätt. Vanliga programmeringsparadigm inkluderar:
- Funktionell programmering , en stil att bygga strukturen och elementen i datorprogram som behandlar beräkning som utvärdering av matematiska funktioner och undviker tillstånd och föränderlig data. Det är ett deklarativt programmeringsparadigm, vilket innebär att programmering görs med uttryck eller deklarationer istället för påståenden.
- Imperativ programmering , ett programmeringsparadigm som använder påståenden som ändrar ett programs tillstånd. På ungefär samma sätt som imperativstämningen i naturliga språk uttrycker kommandon, består ett imperativprogram av kommandon som datorn ska utföra. Imperativ programmering fokuserar på att beskriva hur ett program fungerar.
- Objektorienterad programmering , ett programmeringsparadigm baserat på begreppet "objekt", som kan innehålla data, i form av fält, ofta kända som attribut; och kod, i form av procedurer, ofta kända som metoder. En egenskap hos objekt är att ett objekts procedurer kan komma åt och ofta ändra datafälten för objektet som de är associerade med. Således är objektorienterade datorprogram gjorda av objekt som interagerar med varandra.
- Serviceorienterad programmering , ett programmeringsparadigm som använder "tjänster" som enheten för datorarbete, för att designa och implementera integrerade affärsapplikationer och affärskritiska programvaror
Många språk erbjuder stöd för flera paradigm, vilket gör skillnaden mer en fråga om stil än om tekniska möjligheter.
Forskning
Konferenser är viktiga evenemang för datavetenskaplig forskning. Under dessa konferenser presenterar forskare från offentlig och privat sektor sitt senaste arbete och träffas. Till skillnad från de flesta andra akademiska områden, inom datavetenskap, är prestigen för konferensbidrag större än för tidskriftspublikationer. En föreslagen förklaring till detta är den snabba utvecklingen av detta relativt nya område kräver snabb granskning och distribution av resultat, en uppgift som hanteras bättre av konferenser än av tidskrifter.
Utbildning
Datavetenskap , känd för sina närmaste synonymer, Computing , Computer Studies , har lärts ut i brittiska skolor sedan dagarna av batchbearbetning , markera känsliga kort och papperstejp men vanligtvis till ett fåtal utvalda elever. 1981 producerade BBC ett mikrodator- och klassrumsnätverk och datorstudier blev vanligt för elever på GCE O-nivå (11–16-åringar) och datavetenskap till A-nivå . Dess betydelse erkändes, och den blev en obligatorisk del av den nationella läroplanen för nyckelstadiet 3 och 4. I september 2014 blev det en rättighet för alla elever över 4 år.
I USA , med 14 000 skoldistrikt som bestämmer läroplanen, bröts utbudet. Enligt en rapport från 2010 från Association for Computing Machinery (ACM) och Computer Science Teachers Association (CSTA), har endast 14 av 50 stater antagit betydande utbildningsstandarder för gymnasiedatavetenskap. Enligt en rapport från 2021 erbjuder endast 51 % av gymnasieskolorna i USA datavetenskap.
Israel, Nya Zeeland och Sydkorea har inkluderat datavetenskap i sina nationella läroplaner för gymnasieutbildning, och flera andra följer efter.
Se även
- Datorteknik
- Dataprogramering
- Digital revolution
- Information och kommunikationsteknologi
- Informationsteknologi
- Lista över datavetare
- Lista över datavetenskapspriser
- Lista över viktiga publikationer inom datavetenskap
- Lista över pionjärer inom datavetenskap
- Lista över olösta problem inom datavetenskap
- Programmeringsspråk
- Mjukvaruutveckling
Anteckningar
Vidare läsning
Översikt
-
Tucker, Allen B. (2004). Datavetenskaplig handbok (2:a uppl.). Chapman och Hall/CRC. ISBN 978-1-58488-360-9 .
- "Inom mer än 70 kapitel, vart och ett nytt eller väsentligt reviderat, kan man hitta all slags information och referenser om datavetenskap man kan tänka sig. [...] Sammantaget finns det absolut ingenting om datavetenskap som inte kan vara finns i uppslagsverket på 2,5 kilogram med dess 110 undersökningsartiklar [...]." (Christoph Meinel, Zentralblatt MATH )
-
van Leeuwen, Jan (1994). Handbok i teoretisk datavetenskap . MIT Press. ISBN 978-0-262-72020-5 .
- "[...] denna uppsättning är den mest unika och möjligen den mest användbara för [teoretisk datavetenskap] gemenskapen, till stöd för både undervisning och forskning [...]. Böckerna kan användas av alla som bara vill vinna en förståelse för ett av dessa områden, eller av någon som vill forska i ett ämne, eller av instruktörer som vill hitta aktuell information om ett ämne de undervisar utanför sina huvudsakliga expertområden." (Rocky Ross, SIGACT News )
-
Ralston, Anthony ; Reilly, Edwin D.; Hemmendinger, David (2000). Encyclopedia of Computer Science (4:e upplagan). Groves ordböcker. ISBN 978-1-56159-248-7 . Arkiverad från originalet den 8 juni 2020 . Hämtad 6 februari 2011 .
- "Sedan 1976 har detta varit det definitiva referensverket om datorer, datorer och datavetenskap. [...] Alfabetiskt ordnade och klassificerade i breda ämnesområden täcker inläggen hårdvara, datorsystem, information och data, mjukvara, matematiken av datorer, teori om beräkning, metoder, tillämpningar och datormiljö. Redaktörerna har gjort ett berömvärt jobb med att blanda historiskt perspektiv och praktisk referensinformation. Uppslagsverket är fortfarande viktigt för de flesta offentliga och akademiska biblioteksreferenssamlingar." (Joe Accardin, Northeastern Illinois Univ., Chicago)
- Edwin D. Reilly (2003). Milstolpar inom datavetenskap och informationsteknologi . Greenwood Publishing Group. ISBN 978-1-57356-521-9 .
Utvald litteratur
- Knuth, Donald E. (1996). Utvalda artiklar om datavetenskap . CSLI Publications, Cambridge University Press .
- Collier, Bruce (1990). Den lilla motorn som kunde ha: Charles Babbages beräkningsmaskiner . Garland Publishing Inc. ISBN 978-0-8240-0043-1 . Arkiverad från originalet den 20 januari 2007 . Hämtad 4 maj 2013 .
- Cohen, Bernard (2000). Howard Aiken, Porträtt av en datorpionjär . MIT pressen. ISBN 978-0-262-53179-5 .
- Tedre, Matti (2014). The Science of Computing: Shaping a Discipline . CRC Press, Taylor & Francis .
-
Randell, Brian (1973). Ursprunget till digitala datorer, Selected Papers . Springer-Verlag. ISBN 978-3-540-06169-4 .
- "Dess intresse täcker en period från 1966 till 1993 och ligger inte bara i innehållet i var och en av dessa tidningar – som fortfarande är aktuell idag – utan också i att de sätts ihop så att idéer som uttrycks vid olika tidpunkter kompletterar varandra på ett bra sätt." (N. Bernard, Zentralblatt MATH )
Artiklar
- Peter J. Denning. Är datavetenskap? , ACM:s kommunikation, april 2005.
- Peter J. Denning, Great principles in computing curricula , Technical Symposium on Computer Science Education, 2004.
- Forskningsutvärdering för datavetenskap, Informatics Europe -rapport Arkiverad 18 oktober 2017, på Wayback Machine . Kortare tidskriftsversion: Bertrand Meyer, Christine Choppy, Jan van Leeuwen och Jorgen Staunstrup, Forskningsutvärdering för datavetenskap, i Communications of the ACM , vol. 52, nr. 4, s. 31–34, april 2009.
Läroplan och klassificering
- Föreningen för Datormaskiner . 1998 ACM Computing Classification System . 1998.
- Joint Task Force of Association for Computing Machinery (ACM), Association for Information Systems (AIS) och IEEE Computer Society (IEEE CS). Beräkningsplaner 2005: Översiktsrapporten . 30 september 2005.
- Norman Gibbs , Allen Tucker. "En modell för läroplanen för en liberal arts-examen i datavetenskap". Communications of the ACM , volym 29, nummer 3, mars 1986.
externa länkar
Biblioteksresurser om datavetenskap |
- Datavetenskap på Curlie
- Scholarly Societies in Computer Science Arkiverad 23 juni 2011 på Wayback Machine
- Vad är datavetenskap?
- Best Papers Awards i datavetenskap sedan 1996
- Fotografier av datavetare av Bertrand Meyer
- EECS.berkeley.edu
Bibliografi och akademiska sökmotorer
- CiteSeer x ( artikel ): sökmotor, digitalt bibliotek och arkiv för vetenskapliga och akademiska artiklar med inriktning på data- och informationsvetenskap.
- DBLP Computer Science Bibliography ( artikel ): datavetenskaplig bibliografiwebbplats på Universität Trier i Tyskland.
- Samlingen av datavetenskapliga bibliografier ( Samling av datavetenskapliga bibliografier )
Professionella organisationer
Övrigt
- Datavetenskap—Stack Exchange : en community-driven fråge-och-svar-webbplats för datavetenskap
- Vad är datavetenskap Arkiverad 18 februari 2015 på Wayback Machine
- Är datavetenskap?
- Datavetenskap (programvara) måste betraktas som en självständig disciplin.