Computer Science: From Wikipedia, The Free Encyclopedia

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15
At a glance
Powered by AI
Some of the key takeaways from the passage are that computer science deals with theoretical foundations of information and computation as well as practical techniques for implementing these foundations. It also discusses subfields like artificial intelligence, computer engineering, programming languages and more.

Some of the main areas of study in computer science discussed in the passage include theoretical computer science, applied computer science, artificial intelligence, computer architecture, computer graphics, software engineering and more.

Some of the earliest foundations of computer science mentioned include algorithms and methods for calculations that predate modern computers, as well as pioneers like Charles Babbage, Ada Lovelace and Gottfried Leibniz who made early contributions to computing.

18/10/2016

ComputerscienceWikipedia

Computerscience
FromWikipedia,thefreeencyclopedia

Computerscienceisthestudyofthetheory,experimentation,
andengineeringthatformthebasisforthedesignanduseof
computers.Itisthescientificandpracticalapproachto
computationanditsapplicationsandthesystematicstudyof
thefeasibility,structure,expression,andmechanizationofthe
methodicalprocedures(oralgorithms)thatunderliethe
acquisition,representation,processing,storage,communication
of,andaccesstoinformation.Analternate,moresuccinct
definitionofcomputerscienceisthestudyofautomating
algorithmicprocessesthatscale.Acomputerscientist
specializesinthetheoryofcomputationandthedesignof
computationalsystems.[1]
Itsfieldscanbedividedintoavarietyoftheoreticaland
practicaldisciplines.Somefields,suchascomputational
complexitytheory(whichexploresthefundamentalproperties
Computersciencedealswiththetheoretical
ofcomputationalandintractableproblems),arehighlyabstract,
foundationsofinformationandcomputation,
whilefieldssuchascomputergraphicsemphasizerealworld
togetherwithpracticaltechniquesforthe
visualapplications.Otherfieldsstillfocusonchallengesin
implementationandapplicationofthese
implementingcomputation.Forexample,programming
foundations.
languagetheoryconsidersvariousapproachestothe
descriptionofcomputation,whilethestudyofcomputer
programmingitselfinvestigatesvariousaspectsoftheuseofprogramminglanguageandcomplexsystems.
Humancomputerinteractionconsidersthechallengesinmakingcomputersandcomputationsuseful,usable,and
universallyaccessibletohumans.

Contents
1 History
1.1 Contributions
2 Etymology
3 Philosophy
4 Areasofcomputerscience
4.1 Theoreticalcomputerscience
4.1.1 Theoryofcomputation
4.1.2 Informationandcodingtheory
4.1.3 Algorithmsanddatastructures
4.1.4 Programminglanguagetheory
4.1.5 Formalmethods
4.2 Appliedcomputerscience
4.2.1 Artificialintelligence
4.2.2 Computerarchitectureandengineering
4.2.3 Computerperformanceanalysis
4.2.4 Computergraphicsandvisualization
4.2.5 Computersecurityandcryptography
4.2.6 Computationalscience
4.2.7 Computernetworks
https://en.wikipedia.org/wiki/Computer_science

1/15

18/10/2016

ComputerscienceWikipedia

4.2.7 Computernetworks
4.2.8 Concurrent,parallelanddistributedsystems
4.2.9 Databases
4.2.10 Softwareengineering
5 Thegreatinsightsofcomputerscience
6 Academia
7 Education
8 Seealso
9 Notes
10 References
11 Furtherreading
12 Externallinks

History
Theearliestfoundationsofwhatwouldbecomecomputersciencepredatethe
inventionofthemoderndigitalcomputer.Machinesforcalculatingfixednumerical
taskssuchastheabacushaveexistedsinceantiquity,aidingincomputationssuch
asmultiplicationanddivision.Further,algorithmsforperformingcomputations
haveexistedsinceantiquity,evenbeforethedevelopmentofsophisticated
computingequipment.TheancientSanskrittreatiseShulbaSutras,or"Rulesofthe
Chord",isabookofalgorithmswrittenin800BCforconstructinggeometric
objectslikealtarsusingapegandchord,anearlyprecursorofthemodernfieldof
computationalgeometry.
BlaisePascaldesignedandconstructedthefirstworkingmechanicalcalculator,
Pascal'scalculator,in1642.[2]In1673,GottfriedLeibnizdemonstratedadigital
mechanicalcalculator,calledtheSteppedReckoner.[3]Hemaybeconsideredthe
firstcomputerscientistandinformationtheorist,for,amongotherreasons,
documentingthebinarynumbersystem.In1820,ThomasdeColmarlaunchedthe
mechanicalcalculatorindustry[note1]whenhereleasedhissimplifiedarithmometer,
whichwasthefirstcalculatingmachinestrongenoughandreliableenoughtobe
useddailyinanofficeenvironment.CharlesBabbagestartedthedesignofthefirst
automaticmechanicalcalculator,hisDifferenceEngine,in1822,whicheventually
gavehimtheideaofthefirstprogrammablemechanicalcalculator,hisAnalytical
Engine.[4]Hestarteddevelopingthismachinein1834and"inlessthantwoyears
hehadsketchedoutmanyofthesalientfeaturesofthemoderncomputer".[5]"A
crucialstepwastheadoptionofapunchedcardsystemderivedfromtheJacquard
loom"[5]makingitinfinitelyprogrammable.[note2]In1843,duringthetranslation
ofaFrencharticleontheAnalyticalEngine,AdaLovelacewrote,inoneofthe
manynotessheincluded,analgorithmtocomputetheBernoullinumbers,whichis
consideredtobethefirstcomputerprogram.[6]Around1885,HermanHollerith
inventedthetabulator,whichusedpunchedcardstoprocessstatisticalinformation
eventuallyhiscompanybecamepartofIBM.In1937,onehundredyearsafter
Babbage'simpossibledream,HowardAikenconvincedIBM,whichwasmaking
allkindsofpunchedcardequipmentandwasalsointhecalculatorbusiness[7]to

https://en.wikipedia.org/wiki/Computer_science

CharlesBabbageiscredited
withinventingthefirst
mechanicalcomputer.

AdaLovelaceiscredited
withwritingthefirst
algorithmintendedfor
processingonacomputer.

2/15

18/10/2016

ComputerscienceWikipedia

develophisgiantprogrammablecalculator,theASCC/HarvardMarkI,basedonBabbage'sAnalyticalEngine,
whichitselfusedcardsandacentralcomputingunit.Whenthemachinewasfinished,somehaileditas"Babbage's
dreamcometrue".[8]
Duringthe1940s,asnewandmorepowerfulcomputingmachinesweredeveloped,thetermcomputercameto
refertothemachinesratherthantheirhumanpredecessors.[9]Asitbecameclearthatcomputerscouldbeusedfor
morethanjustmathematicalcalculations,thefieldofcomputersciencebroadenedtostudycomputationingeneral.
Computersciencebegantobeestablishedasadistinctacademicdisciplineinthe1950sandearly1960s.[10][11]The
world'sfirstcomputersciencedegreeprogram,theCambridgeDiplomainComputerScience,beganatthe
UniversityofCambridgeComputerLaboratoryin1953.ThefirstcomputersciencedegreeprogramintheUnited
StateswasformedatPurdueUniversityin1962.[12]Sincepracticalcomputersbecameavailable,manyapplications
ofcomputinghavebecomedistinctareasofstudyintheirownrights.
Althoughmanyinitiallybelieveditwasimpossiblethatcomputersthemselvescouldactuallybeascientificfieldof
study,inthelatefiftiesitgraduallybecameacceptedamongthegreateracademicpopulation.[13][14]Itisthenow
wellknownIBMbrandthatformedpartofthecomputersciencerevolutionduringthistime.IBM(shortfor
InternationalBusinessMachines)releasedtheIBM704[15]andlatertheIBM709[16]computers,whichwere
widelyusedduringtheexplorationperiodofsuchdevices."Still,workingwiththeIBM[computer]wasfrustrating
[]ifyouhadmisplacedasmuchasoneletterinoneinstruction,theprogramwouldcrash,andyouwouldhave
tostartthewholeprocessoveragain".[13]Duringthelate1950s,thecomputersciencedisciplinewasverymuchin
itsdevelopmentalstages,andsuchissueswerecommonplace.[14]
Timehasseensignificantimprovementsintheusabilityandeffectivenessofcomputingtechnology.[17]Modern
societyhasseenasignificantshiftintheusersofcomputertechnology,fromusageonlybyexpertsand
professionals,toanearubiquitoususerbase.Initially,computerswerequitecostly,andsomedegreeofhumanaid
wasneededforefficientuseinpartfromprofessionalcomputeroperators.Ascomputeradoptionbecamemore
widespreadandaffordable,lesshumanassistancewasneededforcommonusage.

Contributions
Despiteitsshorthistoryasaformalacademicdiscipline,computersciencehasmadeanumberoffundamental
contributionstoscienceandsocietyinfact,alongwithelectronics,itisafoundingscienceofthecurrentepoch
ofhumanhistorycalledtheInformationAgeandadriveroftheInformationRevolution,seenasthethirdmajor
leapinhumantechnologicalprogressaftertheIndustrialRevolution(17501850CE)andtheAgricultural
Revolution(80005000BC).
Thesecontributionsinclude:
Thestartofthe"digitalrevolution",whichincludesthecurrentInformationAgeandtheInternet.[19]
Aformaldefinitionofcomputationandcomputability,andproofthattherearecomputationallyunsolvable
andintractableproblems.[20]
Theconceptofaprogramminglanguage,atoolforthepreciseexpressionofmethodologicalinformationat
variouslevelsofabstraction.[21]
Incryptography,breakingtheEnigmacodewasanimportantfactorcontributingtotheAlliedvictoryin
WorldWarII.[18]
Scientificcomputingenabledpracticalevaluationofprocessesandsituationsofgreatcomplexity,aswellas
experimentationentirelybysoftware.Italsoenabledadvancedstudyofthemind,andmappingofthehuman
genomebecamepossiblewiththeHumanGenomeProject.[19]Distributedcomputingprojectssuchas
Folding@homeexploreproteinfolding.
https://en.wikipedia.org/wiki/Computer_science

3/15

18/10/2016

ComputerscienceWikipedia

Algorithmictradinghasincreasedtheefficiencyandliquidityoffinancial
marketsbyusingartificialintelligence,machinelearning,andother
statisticalandnumericaltechniquesonalargescale.[22]Highfrequency
algorithmictradingcanalsoexacerbatevolatility.[23]
Computergraphicsandcomputergeneratedimageryhavebecome
ubiquitousinmodernentertainment,particularlyintelevision,cinema,
advertising,animationandvideogames.Evenfilmsthatfeaturenoexplicit
CGIareusually"filmed"nowondigitalcameras,oreditedorpostprocessed
usingadigitalvideoeditor.[24][25]
Simulationofvariousprocesses,includingcomputationalfluiddynamics,
physical,electrical,andelectronicsystemsandcircuits,aswellassocieties
andsocialsituations(notablywargames)alongwiththeirhabitats,among
manyothers.Moderncomputersenableoptimizationofsuchdesignsas
completeaircraft.Notableinelectricalandelectroniccircuitdesignare
SPICE,aswellassoftwareforphysicalrealizationofnew(ormodified)
designs.Thelatterincludesessentialdesignsoftwareforintegratedcircuits.
Artificialintelligenceisbecomingincreasinglyimportantasitgetsmore
efficientandcomplex.TherearemanyapplicationsofAI,someofwhichcan
beseenathome,suchasroboticvacuumcleaners.Itisalsopresentinvideo
gamesandonthemodernbattlefieldindrones,antimissilesystems,and
squadsupportrobots.

Etymology

TheGermanmilitaryused
theEnigmamachine(shown
here)duringWorldWarII
forcommunicationsthey
wantedkeptsecret.The
largescaledecryptionof
EnigmatrafficatBletchley
Parkwasanimportantfactor
thatcontributedtoAllied
victoryinWWII. [18]

Althoughfirstproposedin1956,[14]theterm"computerscience"appearsina1959
articleinCommunicationsoftheACM,[26]inwhichLouisFeinarguesforthecreationofaGraduateSchoolin
ComputerSciencesanalogoustothecreationofHarvardBusinessSchoolin1921,[27]justifyingthenameby
arguingthat,likemanagementscience,thesubjectisappliedandinterdisciplinaryinnature,whilehavingthe
characteristicstypicalofanacademicdiscipline.[26]Hisefforts,andthoseofotherssuchasnumericalanalyst
GeorgeForsythe,wererewarded:universitieswentontocreatesuchprograms,startingwithPurduein1962.[28]
Despiteitsname,asignificantamountofcomputersciencedoesnotinvolvethestudyofcomputersthemselves.
Becauseofthis,severalalternativenameshavebeenproposed.[29]Certaindepartmentsofmajoruniversitiesprefer
thetermcomputingscience,toemphasizepreciselythatdifference.DanishscientistPeterNaursuggestedtheterm
datalogy,[30]toreflectthefactthatthescientificdisciplinerevolvesarounddataanddatatreatment,whilenot
necessarilyinvolvingcomputers.ThefirstscientificinstitutiontousethetermwastheDepartmentofDatalogyat
theUniversityofCopenhagen,foundedin1969,withPeterNaurbeingthefirstprofessorindatalogy.Thetermis
usedmainlyintheScandinaviancountries.Analternativeterm,alsoproposedbyNaur,isdatasciencethisisnow
usedforadistinctfieldofdataanalysis,includingstatisticsanddatabases.
Also,intheearlydaysofcomputing,anumberoftermsforthepractitionersofthefieldofcomputingwere
suggestedintheCommunicationsoftheACMturingineer,turologist,flowchartsman,appliedmeta
mathematician,andappliedepistemologist.[31]Threemonthslaterinthesamejournal,comptologistwas
suggested,followednextyearbyhypologist.[32]Thetermcomputicshasalsobeensuggested.[33]InEurope,terms
derivedfromcontractedtranslationsoftheexpression"automaticinformation"(e.g."informazioneautomatica"in
Italian)or"informationandmathematics"areoftenused,e.g.informatique(French),Informatik(German),
informatica(Italian,Dutch),informtica(Spanish,Portuguese),informatika(SlaviclanguagesandHungarian)or
pliroforiki(,whichmeansinformatics)inGreek.SimilarwordshavealsobeenadoptedintheUK(as
intheSchoolofInformaticsoftheUniversityofEdinburgh).[34]"IntheU.S.,however,informaticsislinkedwith
appliedcomputing,orcomputinginthecontextofanotherdomain."[35]
https://en.wikipedia.org/wiki/Computer_science

4/15

18/10/2016

ComputerscienceWikipedia

Afolkloricquotation,oftenattributedtobutalmostcertainlynotfirstformulatedbyEdsgerDijkstra,statesthat
"computerscienceisnomoreaboutcomputersthanastronomyisabouttelescopes."[note3]Thedesignand
deploymentofcomputersandcomputersystemsisgenerallyconsideredtheprovinceofdisciplinesotherthan
computerscience.Forexample,thestudyofcomputerhardwareisusuallyconsideredpartofcomputer
engineering,whilethestudyofcommercialcomputersystemsandtheirdeploymentisoftencalledinformation
technologyorinformationsystems.However,therehasbeenmuchcrossfertilizationofideasbetweenthevarious
computerrelateddisciplines.Computerscienceresearchalsooftenintersectsotherdisciplines,suchasphilosophy,
cognitivescience,linguistics,mathematics,physics,biology,statistics,andlogic.
Computerscienceisconsideredbysometohaveamuchcloserrelationshipwithmathematicsthanmanyscientific
disciplines,withsomeobserverssayingthatcomputingisamathematicalscience.[10]Earlycomputersciencewas
stronglyinfluencedbytheworkofmathematicianssuchasKurtGdelandAlanTuring,andtherecontinuestobe
ausefulinterchangeofideasbetweenthetwofieldsinareassuchasmathematicallogic,categorytheory,domain
theory,andalgebra.[14]
Therelationshipbetweencomputerscienceandsoftwareengineeringisacontentiousissue,whichisfurther
muddiedbydisputesoverwhattheterm"softwareengineering"means,andhowcomputerscienceisdefined.[36]
DavidParnas,takingacuefromtherelationshipbetweenotherengineeringandsciencedisciplines,hasclaimed
thattheprincipalfocusofcomputerscienceisstudyingthepropertiesofcomputationingeneral,whilethe
principalfocusofsoftwareengineeringisthedesignofspecificcomputationstoachievepracticalgoals,making
thetwoseparatebutcomplementarydisciplines.[37]
Theacademic,political,andfundingaspectsofcomputersciencetendtodependonwhetheradepartmentformed
withamathematicalemphasisorwithanengineeringemphasis.Computersciencedepartmentswithamathematics
emphasisandwithanumericalorientationconsideralignmentwithcomputationalscience.Bothtypesof
departmentstendtomakeeffortstobridgethefieldeducationallyifnotacrossallresearch.

Philosophy
Anumberofcomputerscientistshavearguedforthedistinctionofthreeseparateparadigmsincomputerscience.
PeterWegnerarguedthatthoseparadigmsarescience,technology,andmathematics.[38]PeterDenning'sworking
grouparguedthattheyaretheory,abstraction(modeling),anddesign.[39]AmnonH.Edendescribedthemasthe
"rationalistparadigm"(whichtreatscomputerscienceasabranchofmathematics,whichisprevalentintheoretical
computerscience,andmainlyemploysdeductivereasoning),the"technocraticparadigm"(whichmightbefound
inengineeringapproaches,mostprominentlyinsoftwareengineering),andthe"scientificparadigm"(which
approachescomputerrelatedartifactsfromtheempiricalperspectiveofnaturalsciences,identifiableinsome
branchesofartificialintelligence).[40]

Areasofcomputerscience
Asadiscipline,computersciencespansarangeoftopicsfromtheoreticalstudiesofalgorithmsandthelimitsof
computationtothepracticalissuesofimplementingcomputingsystemsinhardwareandsoftware.[41][42]CSAB,
formerlycalledComputingSciencesAccreditationBoardwhichismadeupofrepresentativesoftheAssociation
forComputingMachinery(ACM),andtheIEEEComputerSociety(IEEECS)[43]identifiesfourareasthatit
considerscrucialtothedisciplineofcomputerscience:theoryofcomputation,algorithmsanddatastructures,
programmingmethodologyandlanguages,andcomputerelementsandarchitecture.Inadditiontothesefourareas,
CSABalsoidentifiesfieldssuchassoftwareengineering,artificialintelligence,computernetworkingand

https://en.wikipedia.org/wiki/Computer_science

5/15

18/10/2016

ComputerscienceWikipedia

communication,databasesystems,parallelcomputation,distributedcomputation,humancomputerinteraction,
computergraphics,operatingsystems,andnumericalandsymboliccomputationasbeingimportantareasof
computerscience.[41]

Theoreticalcomputerscience
TheoreticalComputerScienceismathematicalandabstractinspirit,butitderivesitsmotivationfrompracticaland
everydaycomputation.Itsaimistounderstandthenatureofcomputationand,asaconsequenceofthis
understanding,providemoreefficientmethodologies.Allpapersintroducingorstudyingmathematical,logicand
formalconceptsandmethodsarewelcome,providedthattheirmotivationisclearlydrawnfromthefieldof
computing.
Theoryofcomputation
AccordingtoPeterDenning,thefundamentalquestionunderlyingcomputerscienceis,"Whatcanbe(efficiently)
automated?"[10]Theoryofcomputationisfocusedonansweringfundamentalquestionsaboutwhatcanbe
computedandwhatamountofresourcesarerequiredtoperformthosecomputations.Inanefforttoanswerthefirst
question,computabilitytheoryexamineswhichcomputationalproblemsaresolvableonvarioustheoreticalmodels
ofcomputation.Thesecondquestionisaddressedbycomputationalcomplexitytheory,whichstudiesthetimeand
spacecostsassociatedwithdifferentapproachestosolvingamultitudeofcomputationalproblems.
ThefamousP=NP?problem,oneoftheMillenniumPrizeProblems,[44]isanopenprobleminthetheoryof
computation.

Automata
theory

Computability
theory

P=NP?

GNITIRW
TERCES

Computationalcomplexity
theory

Cryptography

Quantumcomputing
theory

Informationandcodingtheory
Informationtheoryisrelatedtothequantificationofinformation.ThiswasdevelopedbyClaudeShannontofind
fundamentallimitsonsignalprocessingoperationssuchascompressingdataandonreliablystoringand
communicatingdata.[45]Codingtheoryisthestudyofthepropertiesofcodes(systemsforconvertinginformation
fromoneformtoanother)andtheirfitnessforaspecificapplication.Codesareusedfordatacompression,
cryptography,errordetectionandcorrection,andmorerecentlyalsofornetworkcoding.Codesarestudiedforthe
purposeofdesigningefficientandreliabledatatransmissionmethods.
Algorithmsanddatastructures
Algorithmsanddatastructuresisthestudyofcommonlyusedcomputationalmethodsandtheircomputational
efficiency.

https://en.wikipedia.org/wiki/Computer_science

6/15

18/10/2016

ComputerscienceWikipedia

O(n2)

Analysisof
algorithms

Algorithms

Data
structures

Combinatorial
optimization

Computational
geometry

Programminglanguagetheory
Programminglanguagetheoryisabranchofcomputersciencethatdealswiththedesign,implementation,
analysis,characterization,andclassificationofprogramminglanguagesandtheirindividualfeatures.Itfallswithin
thedisciplineofcomputerscience,bothdependingonandaffectingmathematics,softwareengineering,and
linguistics.Itisanactiveresearcharea,withnumerousdedicatedacademicjournals.

Typetheory

Compilerdesign

Programminglanguages

Formalmethods
Formalmethodsareaparticularkindofmathematicallybasedtechniqueforthespecification,developmentand
verificationofsoftwareandhardwaresystems.Theuseofformalmethodsforsoftwareandhardwaredesignis
motivatedbytheexpectationthat,asinotherengineeringdisciplines,performingappropriatemathematical
analysiscancontributetothereliabilityandrobustnessofadesign.Theyformanimportanttheoretical
underpinningforsoftwareengineering,especiallywheresafetyorsecurityisinvolved.Formalmethodsarea
usefuladjuncttosoftwaretestingsincetheyhelpavoiderrorsandcanalsogiveaframeworkfortesting.For
industrialuse,toolsupportisrequired.However,thehighcostofusingformalmethodsmeansthattheyareusually
onlyusedinthedevelopmentofhighintegrityandlifecriticalsystems,wheresafetyorsecurityisofutmost
importance.Formalmethodsarebestdescribedastheapplicationofafairlybroadvarietyoftheoreticalcomputer
sciencefundamentals,inparticularlogiccalculi,formallanguages,automatatheory,andprogramsemantics,but
alsotypesystemsandalgebraicdatatypestoproblemsinsoftwareandhardwarespecificationandverification.

Appliedcomputerscience
Appliedcomputerscienceaimsatidentifyingcertaincomputerscienceconceptsthatcanbeuseddirectlyin
solvingrealworldproblems.
Artificialintelligence

https://en.wikipedia.org/wiki/Computer_science

7/15

18/10/2016

ComputerscienceWikipedia

Artificialintelligence(AI)aimstoorisrequiredtosynthesizegoalorientatedprocessessuchasproblemsolving,
decisionmaking,environmentaladaptation,learningandcommunicationfoundinhumansandanimals.Fromits
originsincyberneticsandintheDartmouthConference(1956),artificialintelligenceresearchhasbeennecessarily
crossdisciplinary,drawingonareasofexpertisesuchasappliedmathematics,symboliclogic,semiotics,electrical
engineering,philosophyofmind,neurophysiology,andsocialintelligence.AIisassociatedinthepopularmind
withroboticdevelopment,butthemainfieldofpracticalapplicationhasbeenasanembeddedcomponentinareas
ofsoftwaredevelopment,whichrequirecomputationalunderstanding.Thestartingpointinthelate1940swas
AlanTuring'squestion"Cancomputersthink?",andthequestionremainseffectivelyunansweredalthoughthe
Turingtestisstillusedtoassesscomputeroutputonthescaleofhumanintelligence.Buttheautomationof
evaluativeandpredictivetaskshasbeenincreasinglysuccessfulasasubstituteforhumanmonitoringand
interventionindomainsofcomputerapplicationinvolvingcomplexrealworlddata.

Machinelearning

Computervision

Imageprocessing

Patternrecognition

Datamining

Evolutionarycomputation

Knowledgerepresentation

Naturallanguageprocessing

Robotics

Computerarchitectureandengineering
Computerarchitecture,ordigitalcomputerorganization,istheconceptualdesignandfundamentaloperational
structureofacomputersystem.Itfocuseslargelyonthewaybywhichthecentralprocessingunitperforms
internallyandaccessesaddressesinmemory.[46]Thefieldofteninvolvesdisciplinesofcomputerengineeringand
electricalengineering,selectingandinterconnectinghardwarecomponentstocreatecomputersthatmeet
functional,performance,andcostgoals.

https://en.wikipedia.org/wiki/Computer_science

8/15

18/10/2016

ComputerscienceWikipedia

Digitallogic

Microarchitecture

Multiprocessing

Ubiquitouscomputing

Systemsarchitecture

Operatingsystems

Computerperformanceanalysis
Computerperformanceanalysisisthestudyofworkflowingthroughcomputerswiththegeneralgoalsof
improvingthroughput,controllingresponsetime,usingresourcesefficiently,eliminatingbottlenecks,and
predictingperformanceunderanticipatedpeakloads.[47]
Computergraphicsandvisualization
Computergraphicsisthestudyofdigitalvisualcontents,andinvolvessynthesisandmanipulationofimagedata.
Thestudyisconnectedtomanyotherfieldsincomputerscience,includingcomputervision,imageprocessing,and
computationalgeometry,andisheavilyappliedinthefieldsofspecialeffectsandvideogames.
Computersecurityandcryptography
Computersecurityisabranchofcomputertechnology,whoseobjectiveincludesprotectionofinformationfrom
unauthorizedaccess,disruption,ormodificationwhilemaintainingtheaccessibilityandusabilityofthesystemfor
itsintendedusers.Cryptographyisthepracticeandstudyofhiding(encryption)andthereforedeciphering
(decryption)information.Moderncryptographyislargelyrelatedtocomputerscience,formanyencryptionand
decryptionalgorithmsarebasedontheircomputationalcomplexity.
Computationalscience
Computationalscience(orscientificcomputing)isthefieldofstudyconcernedwithconstructingmathematical
modelsandquantitativeanalysistechniquesandusingcomputerstoanalyzeandsolvescientificproblems.In
practicaluse,itistypicallytheapplicationofcomputersimulationandotherformsofcomputationtoproblemsin
variousscientificdisciplines.

Numericalanalysis

https://en.wikipedia.org/wiki/Computer_science

Computationalphysics

Computationalchemistry

Bioinformatics

9/15

18/10/2016

ComputerscienceWikipedia

Computernetworks
Thisbranchofcomputerscienceaimstomanagenetworksbetweencomputersworldwide.
Concurrent,parallelanddistributedsystems
Concurrencyisapropertyofsystemsinwhichseveralcomputationsareexecutingsimultaneously,andpotentially
interactingwitheachother.Anumberofmathematicalmodelshavebeendevelopedforgeneralconcurrent
computationincludingPetrinets,processcalculiandtheParallelRandomAccessMachinemodel.Adistributed
systemextendstheideaofconcurrencyontomultiplecomputersconnectedthroughanetwork.Computerswithin
thesamedistributedsystemhavetheirownprivatememory,andinformationisoftenexchangedamongthemselves
toachieveacommongoal.
Databases
Adatabaseisintendedtoorganize,store,andretrievelargeamountsofdataeasily.Digitaldatabasesaremanaged
usingdatabasemanagementsystemstostore,create,maintain,andsearchdata,throughdatabasemodelsandquery
languages.
Softwareengineering
Softwareengineeringisthestudyofdesigning,implementing,andmodifyingsoftwareinordertoensureitisof
highquality,affordable,maintainable,andfasttobuild.Itisasystematicapproachtosoftwaredesign,involving
theapplicationofengineeringpracticestosoftware.Softwareengineeringdealswiththeorganizingandanalyzing
ofsoftwareitdoesn'tjustdealwiththecreationormanufactureofnewsoftware,butitsinternalmaintenanceand
arrangement.Bothcomputerapplicationssoftwareengineersandcomputersystemssoftwareengineersare
projectedtobeamongthefastestgrowingoccupationsfrom2008to2018.

Thegreatinsightsofcomputerscience
ThephilosopherofcomputingBillRapaportnotedthreeGreatInsightsofComputerScience:[48]
GottfriedWilhelmLeibniz's,GeorgeBoole's,AlanTuring's,ClaudeShannon's,andSamuelMorse'sinsight:
thereareonlytwoobjectsthatacomputerhastodealwithinordertorepresent"anything".
Alltheinformationaboutanycomputableproblemcanberepresentedusingonly0and1(oranyother
bistablepairthatcanflipflopbetweentwoeasilydistinguishablestates,suchas"on/off",
"magnetized/demagnetized","highvoltage/lowvoltage",etc.).
AlanTuring'sinsight:thereareonlyfiveactionsthatacomputerhastoperforminordertodo"anything".
Everyalgorithmcanbeexpressedinalanguageforacomputerconsistingofonlyfivebasic
instructions:
moveleftonelocation
moverightonelocation
readsymbolatcurrentlocation
print0atcurrentlocation
print1atcurrentlocation.

https://en.wikipedia.org/wiki/Computer_science

10/15

18/10/2016

ComputerscienceWikipedia

CorradoBhmandGiuseppeJacopini'sinsight:thereareonlythreewaysofcombiningtheseactions(into
morecomplexones)thatareneededinorderforacomputertodo"anything".
Onlythreerulesareneededtocombineanysetofbasicinstructionsintomorecomplexones:
sequence:firstdothis,thendothat
selection:IFsuchandsuchisthecase,THENdothis,ELSEdothat
repetition:WHILEsuchandsuchisthecaseDOthis.
NotethatthethreerulesofBoehm'sandJacopini'sinsightcanbefurthersimplifiedwiththeuseof
goto(whichmeansitismoreelementarythanstructuredprogramming).

Academia
Conferencesareimportanteventsforcomputerscienceresearch.Duringtheseconferences,researchersfromthe
publicandprivatesectorspresenttheirrecentworkandmeet.Unlikeinmostotheracademicfields,incomputer
science,theprestigeofconferencepapersisgreaterthanthatofjournalpublications.[49][50]Oneproposed
explanationforthisisthequickdevelopmentofthisrelativelynewfieldrequiresrapidreviewanddistributionof
results,ataskbetterhandledbyconferencesthanbyjournals.[51]

Education
Sincecomputerscienceisarelativelynewfield,itisnotaswidelytaughtinschoolsanduniversitiesasother
academicsubjects.Forexample,in2014,Code.orgestimatedthatonly10percentofhighschoolsintheUnited
Statesofferedcomputerscienceeducation.[52]A2010reportbyAssociationforComputingMachinery(ACM)and
ComputerScienceTeachersAssociation(CSTA)revealedthatonly14outof50stateshaveadoptedsignificant
educationstandardsforhighschoolcomputerscience.[53]However,computerscienceeducationisgrowing.[54]
Somecountries,suchasIsrael,NewZealandandSouthKorea,havealreadyincludedcomputerscienceintheir
respectivenationalsecondaryeducationcurriculum.[55][56]Severalcountriesarefollowingsuit.[57][58]
Inmostcountries,thereisasignificantgendergapincomputerscienceeducation.Forexample,intheUSabout
20%ofcomputersciencedegreesin2012wereconferredtowomen.[59]Thisgendergapalsoexistsinother
Westerncountries.[60]However,insomepartsoftheworld,thegapissmallornonexistent.In2011,approximately
halfofallcomputersciencedegreesinMalaysiawereconferredtowomen.[61]In2001,womenmadeup54.5%of
computersciencegraduatesinGuyana.[60]

Seealso
Academicgenealogyofcomputerscientists
AssociationforComputingMachinery
ComputerScienceTeachersAssociation
InformaticsandEngineeringinformatics
Listofacademiccomputersciencedepartments
Listofcomputerscientists
Listofpublicationsincomputerscience
Listofpioneersincomputerscience

Listofpioneersincomputerscience
Listofunsolvedproblemsincomputerscience
Outlineofsoftwareengineering
Technologytransferincomputerscience
TuringAward
ComputerscienceWikipediabook

Notes
https://en.wikipedia.org/wiki/Computer_science

11/15

18/10/2016

ComputerscienceWikipedia

1.In1851
2."Theintroductionofpunchedcardsintothenewenginewasimportantnotonlyasamoreconvenientformofcontrolthan
thedrums,orbecauseprogramscouldnowbeofunlimitedextent,andcouldbestoredandrepeatedwithoutthedangerof
introducingerrorsinsettingthemachinebyhanditwasimportantalsobecauseitservedtocrystallizeBabbage'sfeeling
thathehadinventedsomethingreallynew,somethingmuchmorethanasophisticatedcalculatingmachine."Bruce
Collier,1970
3.Seetheentry"Computerscience"onWikiquoteforthehistoryofthisquotation.

References
1."WordNetSearch3.1".Wordnetweb.princeton.edu.Retrieved20120514.
2."BlaisePascal".SchoolofMathematicsandStatisticsUniversityofStAndrews,Scotland.
3."ABriefHistoryofComputing".
4."ScienceMuseumIntroductiontoBabbage".Archivedfromtheoriginalon20060908.Retrieved20060924.
5.AnthonyHyman(1982).CharlesBabbage,pioneerofthecomputer.
6."ASelectionandAdaptationFromAda'sNotesfoundinAda,TheEnchantressofNumbers,"byBettyAlexandraToole
Ed.D.StrawberryPress,MillValley,CA".ArchivedfromtheoriginalonFebruary10,2006.Retrieved20060504.
7."InthissenseAikenneededIBM,whosetechnologyincludedtheuseofpunchedcards,theaccumulationofnumerical
data,andthetransferofnumericaldatafromoneregistertoanother",BernardCohen,p.44(2000)
8.BrianRandell,p.187,1975
9.TheAssociationforComputingMachinery(ACM)wasfoundedin1947.
10.Denning,PeterJ.(2000)."ComputerScience:TheDiscipline"(PDF).EncyclopediaofComputerScience.Archivedfrom
theoriginal(PDF)on20060525.
11."SomeEDSACstatistics".Cl.cam.ac.uk.Retrieved20111119.
12."ComputersciencepioneerSamuelD.Contediesat85".PurdueComputerScience.July1,2002.Retrieved
December12,2014.
13.Levy,Steven(1984).Hackers:HeroesoftheComputerRevolution.Doubleday.ISBN0385191952.
14.Tedre,Matti(2014).TheScienceofComputing:ShapingaDiscipline.TaylorandFrancis/CRCPress.
15."IBM704ElectronicDataProcessingSystemCHMRevolution".Computerhistory.org.Retrieved20130707.
16."IBM709:apowerfulnewdataprocessingsystem"(PDF).ComputerHistoryMuseum.RetrievedDecember12,2014.
17."TimelineofComputerHistory".ComputerHistoryMuseum.RetrievedNovember24,2015.
18.DavidKahn,TheCodebreakers,1967,ISBN0684831309.
19."ComputerScience:AchievementsandChallengescirca2000"(PDF).Archivedfromtheoriginal(PDF)onSeptember11,
2006.RetrievedJanuary11,2007.
20.Constable,R.L.(March2000)."ComputerScience:AchievementsandChallengescirca2000"(PDF).
21.Abelson,H.G.J.SussmanwithJ.Sussman(1996).StructureandInterpretationofComputerPrograms(2nded.).MIT
Press.ISBN0262011530."Thecomputerrevolutionisarevolutioninthewaywethinkandinthewayweexpress
whatwethink.Theessenceofthischangeistheemergenceofwhatmightbestbecalledproceduralepistemologythe
studyofthestructureofknowledgefromanimperativepointofview,asopposedtothemoredeclarativepointofview
takenbyclassicalmathematicalsubjects."
22."Blackboxtradersareonthemarch".TheTelegraph.August26,2006.ArchivedfromtheoriginalonJune21,2008.
23."TheImpactofHighFrequencyTradingonanElectronicMarket".Papers.ssrn.com.doi:10.2139/ssrn.1686004.
Retrieved20120514.
24.Maly,Timy."HowDigitalFilmmakersProducedaGorgeousSciFiMovieonaKickstarterBudget".Wired.Retrieved
November24,2015.
25.Matthau,Charles."HowTechHasShapedFilmMaking:TheFilmvs.DigitalDebateIsPuttoRest".Wired.Retrieved
November24,2015.
26.LouisFine(1959)."TheRoleoftheUniversityinComputers,DataProcessing,andRelatedFields".Communicationsof
theACM.2(9):714.doi:10.1145/368424.368427.
27."StanfordUniversityOralHistory".StanfordUniversity.RetrievedMay30,2013.
28.DonaldKnuth(1972)."GeorgeForsytheandtheDevelopmentofComputerScience"(http://www.stanford.edu/dept/ICM
E/docs/history/forsythe_knuth.pdf).Comms.ACM.Archived(https://web.archive.org/web/20131020200802/http://www.
stanford.edu/dept/ICME/docs/history/forsythe_knuth.pdf)October20,2013,attheWaybackMachine.
29.MattiTedre(2006)."TheDevelopmentofComputerScience:ASocioculturalPerspective"(PDF).p.260.Retrieved
December12,2014.
30.PeterNaur(1966)."Thescienceofdatalogy".CommunicationsoftheACM.9(7):485.doi:10.1145/365719.366510.
https://en.wikipedia.org/wiki/Computer_science

12/15

18/10/2016

ComputerscienceWikipedia

31.Weiss,E.A.Corley,HenryP.T."CommunicationsoftheACM".CommunicationsoftheACM.1(4):6.
doi:10.1145/368796.368802.
32.CommunicationsoftheACM2(1):p.4
33.IEEEComputer28(12):p.136
34.P.MounierKuhn,L'InformatiqueenFrance,delasecondeguerremondialeauPlanCalcul.L'mergenced'unescience,
Paris,PUPS,2010,ch.3&4.
35.[1](http://cacm.acm.org/magazines/2010/2/69363whyaninformaticsdegree)
36.Tedre,M.(2011)."ComputingasaScience:ASurveyofCompetingViewpoints".MindsandMachines.21(3):361
387.doi:10.1007/s1102301192404.
37.Parnas,D.L.(1998)."Softwareengineeringprogrammesarenotcomputerscienceprogrammes".AnnalsofSoftware
Engineering.6:1937.doi:10.1023/A:1018949113292.,p.19:"Ratherthantreatsoftwareengineeringasasubfieldof
computerscience,Itreatitasanelementoftheset,CivilEngineering,MechanicalEngineering,ChemicalEngineering,
ElectricalEngineering,[]"
38.Wegner,P.(October1315,1976).ResearchparadigmsincomputerscienceProceedingsofthe2ndinternational
ConferenceonSoftwareEngineering.SanFrancisco,California,UnitedStates:IEEEComputerSocietyPress,Los
Alamitos,CA.
39.Denning,P.J.Comer,D.E.Gries,D.Mulder,M.C.Tucker,A.Turner,A.J.Young,P.R.(Jan1989)."Computing
asadiscipline".CommunicationsoftheACM.32:923.doi:10.1145/63238.63239.
40.Eden,A.H.(2007)."ThreeParadigmsofComputerScience"(PDF).MindsandMachines.17(2):135167.
doi:10.1007/s1102300790608.
41.ComputingSciencesAccreditationBoard(May28,1997)."ComputerScienceasaProfession".Archivedfromthe
originalon20080617.Retrieved20100523.
42.CommitteeontheFundamentalsofComputerScience:ChallengesandOpportunities,NationalResearchCouncil(2004).
ComputerScience:ReflectionsontheField,ReflectionsfromtheField.NationalAcademiesPress.ISBN9780309
093019.
43."CSABLeadingComputerEducation".CSAB.20110803.Retrieved20111119.
44.ClayMathematicsInstitute(http://www.claymath.org/millennium/P_vs_NP/)P=NPArchived(https://web.archive.org/w
eb/20131014194456/http://www.claymath.org/millennium/P_vs_NP/)October14,2013,attheWaybackMachine.
45.P.Collins,Graham(October14,2002)."ClaudeE.Shannon:FounderofInformationTheory".ScientificAmerican.
RetrievedDecember12,2014.
46.A.Thisted,Ronald(April7,1997)."ComputerArchitecture"(PDF).TheUniversityofChicago.
47.Wescott,Bob(2013).TheEveryComputerPerformanceBook,Chapter3:Usefullaws.CreateSpace.ISBN1482657759.
48."WhatIsComputation?".buffalo.edu.
49.Meyer,Bertrand(April2009)."Viewpoint:Researchevaluationforcomputerscience".CommunicationsoftheACM.25
(4):3134.doi:10.1145/1498765.1498780.
50.Patterson,David(August1999)."EvaluatingComputerScientistsandEngineersForPromotionandTenure".Computing
ResearchAssociation.
51.Fortnow,Lance(August2009)."Viewpoint:TimeforComputerSciencetoGrowUp".CommunicationsoftheACM.52
(8):3335.doi:10.1145/1536616.1536631.
52."ComputerScience:NotJustanElectiveAnymore".EducationWeek.February25,2014.
53."RunningOnEmpty"(PDF).October2010.
54."HowtoTeachComputationalThinkingStephenWolframBlog".blog.stephenwolfram.com.Retrieved20160916.
55."Aisforalgorithm".TheEconomist.April26,2014.
56."ComputingatSchoolInternationalcomparisons"(PDF).Retrieved20July2015.
57.Scott,MichaelGhinea,Gheorghita(17April2013).EducatingProgrammers:AReflectiononBarrierstoDeliberate
Practice(pdf).Proceedingsofthe2ndHEAConferenceonLearningandTeachinginSTEMDisciplines.HEA.pp.85
90.doi:10.11120/stem.hea.2013.0005.RetrievedMarch25,2016.
58."AddingCodingtotheCurriculum".NewYorkTimes.March23,2014.
59."ITgendergap:Wherearethefemaleprogrammers?".Retrieved20July2015.
60."ITgendergap:Wherearethefemaleprogrammers?".
61."whatgenderisscience"(PDF).Retrieved20July2015.

Furtherreading
Overview
https://en.wikipedia.org/wiki/Computer_science

13/15

18/10/2016

ComputerscienceWikipedia

Tucker,AllenB.(2004).ComputerScienceHandbook(2nded.).ChapmanandHall/CRC.ISBN158488360X.
"Withinmorethan70chapters,everyoneneworsignificantlyrevised,onecanfindanykindofinformationand
referencesaboutcomputerscienceonecanimagine.[]allinall,thereisabsolutenothingaboutComputer
Sciencethatcannotbefoundinthe2.5kilogramencyclopaediawithits110surveyarticles[]."(Christoph
Meinel,ZentralblattMATH)
vanLeeuwen,Jan(1994).HandbookofTheoreticalComputerScience.TheMITPress.ISBN0262720205.
"[]thissetisthemostuniqueandpossiblythemostusefultothe[theoreticalcomputerscience]community,in
supportbothofteachingandresearch[].Thebookscanbeusedbyanyonewantingsimplytogainan
understandingofoneoftheseareas,orbysomeonedesiringtobeinresearchinatopic,orbyinstructorswishing
tofindtimelyinformationonasubjecttheyareteachingoutsidetheirmajorareasofexpertise."(RockyRoss,
SIGACTNews)
Ralston,AnthonyReilly,EdwinD.Hemmendinger,David(2000).EncyclopediaofComputerScience(4thed.).Grove's
Dictionaries.ISBN156159248X.
"Since1976,thishasbeenthedefinitivereferenceworkoncomputer,computing,andcomputerscience.[]
Alphabeticallyarrangedandclassifiedintobroadsubjectareas,theentriescoverhardware,computersystems,
informationanddata,software,themathematicsofcomputing,theoryofcomputation,methodologies,
applications,andcomputingmilieu.Theeditorshavedoneacommendablejobofblendinghistoricalperspective
andpracticalreferenceinformation.Theencyclopediaremainsessentialformostpublicandacademiclibrary
referencecollections."(JoeAccardin,NortheasternIllinoisUniv.,Chicago)
EdwinD.Reilly(2003).MilestonesinComputerScienceandInformationTechnology.GreenwoodPublishingGroup.
ISBN9781573565219.
Selectedliterature
Knuth,DonaldE.(1996).SelectedPapersonComputerScience.CSLIPublications,CambridgeUniversityPress.
Collier,Bruce.Thelittleenginethatcould've:ThecalculatingmachinesofCharlesBabbage.GarlandPublishingInc.
ISBN0824000439.
Cohen,Bernard(2000).HowardAiken,Portraitofacomputerpioneer.TheMITpress.ISBN9780262531795.
Tedre,Matti(2014).TheScienceofComputing:ShapingaDiscipline.CRCPress,Taylor&Francis.
Randell,Brian(1973).TheoriginsofDigitalcomputers,SelectedPapers.SpringerVerlag.ISBN354006169X.
"Coveringaperiodfrom1966to1993,itsinterestliesnotonlyinthecontentofeachofthesepapersstill
timelytodaybutalsointheirbeingputtogethersothatideasexpressedatdifferenttimescomplementeach
othernicely."(N.Bernard,ZentralblattMATH)
Articles
PeterJ.Denning.Iscomputersciencescience?(http://portal.acm.org/citation.cfm?id=1053309&coll=&dl=ACM&CFID
=15151515&CFTOKEN=6184618),CommunicationsoftheACM,April2005.
PeterJ.Denning,Greatprinciplesincomputingcurricula(http://portal.acm.org/citation.cfm?id=971303&dl=ACM&coll
=&CFID=15151515&CFTOKEN=6184618),TechnicalSymposiumonComputerScienceEducation,2004.
Researchevaluationforcomputerscience,InformaticsEuropereport(http://www.eqanie.eu/media/Como%20Conference/
TancaResearch_Assessment_A_new_Initiative_by_Informatics_Europe.pdf).Shorterjournalversion:BertrandMeyer,
ChristineChoppy,JanvanLeeuwenandJorgenStaunstrup,Researchevaluationforcomputerscience,in
CommunicationsoftheACM,vol.52,no.4,pp.3134,April2009.
Curriculumandclassification
AssociationforComputingMachinery.1998ACMComputingClassificationSystem(http://www.acm.org/class/1998/ov
erview.html).1998.
JointTaskForceofAssociationforComputingMachinery(ACM),AssociationforInformationSystems(AIS)and
IEEEComputerSociety(IEEECS).ComputingCurricula2005:TheOverviewReport(http://www.acm.org/education/cu
rric_vols/CC2005March06Final.pdf).September30,2005.
NormanGibbs,AllenTucker."Amodelcurriculumforaliberalartsdegreeincomputerscience".Communicationsofthe
ACM,Volume29Issue3,March1986.

Externallinks
https://en.wikipedia.org/wiki/Computer_science

14/15

18/10/2016

ComputerscienceWikipedia

[1]

Computerscience(https://www.dmoz.org/Computers/Computer_Science/)atDMOZ
ScholarlySocietiesinComputerScience(http://www.lib.uwaterloo.ca/society/compsci_soc.html)
WhatisComputerScience?(https://www.youtube.com/watch?v=fjMUkmCso)
BestPapersAwardsinComputerSciencesince1996(http://jeffhuang.com/best_paper_awards.html)
Photographsofcomputerscientists(http://se.ethz.ch/~meyer/gallery/)byBertrandMeyer
EECS.berkeley.edu(http://www.eecs.berkeley.edu/department/history.shtml)
Bibliographyandacademicsearchengines
CiteSeerx(http://citeseerx.ist.psu.edu/)(article):searchengine,digitallibraryandrepositoryforscientific
andacademicpaperswithafocusoncomputerandinformationscience.
DBLPComputerScienceBibliography(http://dblp.unitrier.de/)(article):computersciencebibliography
websitehostedatUniversittTrier,inGermany.
TheCollectionofComputerScienceBibliographies(http://liinwww.ira.uka.de/bibliography/)(article)
Professionalorganizations
AssociationforComputingMachinery(http://www.acm.org/)
IEEEComputerSociety(http://www.computer.org/)
InformaticsEurope(http://www.informaticseurope.org/)
AAAI(http://www.aaai.org/home.html)
AAASComputerScience(http://membercentral.aaas.org/categories/computerscience)
Misc
ComputerScienceStackExchange(http://cs.stackexchange.com/):acommunityrunquestionandanswer
siteforcomputerscience
Whatiscomputerscience(http://www.cs.bu.edu/AboutCS/WhatIsCS.pdf)
Iscomputersciencescience?(http://www.cs.mtu.edu/~john/jenning.pdf)
ComputerScience(Software)MustbeConsideredasanIndependentDiscipline.(https://www.researchgate.
net/publication/306078165_Computer_Science_Software_Must_be_Considered_as_an_Independent_Discipl
ine_Computer_Science_Software_must_not_be_Treated_as_a_SubDomain_or_Subset_of_Mathematics)
1."ComputerScience".ComputerGK.com.

Retrievedfrom"https://en.wikipedia.org/w/index.php?title=Computer_science&oldid=743831653"
Categories: Electricalengineering Electronicengineering Computerengineering Computerscience
Thispagewaslastmodifiedon11October2016,at14:32.
TextisavailableundertheCreativeCommonsAttributionShareAlikeLicenseadditionaltermsmayapply.
Byusingthissite,youagreetotheTermsofUseandPrivacyPolicy.Wikipediaisaregisteredtrademark
oftheWikimediaFoundation,Inc.,anonprofitorganization.

https://en.wikipedia.org/wiki/Computer_science

15/15

You might also like