Ciències de la computació

estudi teòric de la base formal que permet el processament o el càlcul automatitzat de la informació

Les ciències de la computació estudien les bases teòriques de la informació i la computació, i la seva aplicació en sistemes computacionals.[1][2][3] El cos de coneixement de les ciències de la computació és descrit sovint com l'estudi sistemàtic dels processos algorítmics que descriuen i transformen informació: teoria, anàlisi, disseny, eficiència, implementació, algorismes sistematitzats i aplicació.[4]

large capital lambda Representación gráfica de del algoritmo de ordenamiento quicksort
Tetera de Utah representando los gráficos por computadora Ratón Microsoft Tastenmaus representando la interacción hombre-máquina
Les Ciències de la computació estudien els fonaments teòrics de la informació i el còmput, juntament amb tècniques pràctiques per a la implementació i aplicació d'aquests fonaments teòrics.

Hi ha diverses branques o disciplines dins les ciències de la computació o ciències computacionals; algunes ressalten els resultats específics del còmput (com els gràfics per computadora), mentre que d'altres (com la teoria de la complexitat computacional) es relacionen amb propietats dels algorismes usats al realitzar còmput i unes altres s'enfoquen en els problemes que requereixen la implementació de sistemes computacionals. Per exemple, els estudis de la teoria de llenguatges de programació descriuen un còmput, mentre que la programació de computadores aplica llenguatges de programació específics per desenvolupar una solució a un problema computacional específic. Un computòleg s'especialitza en teoria de la computació i en el disseny i implementació de sistemes computacionals.[5]

Segons Peter J. Denning, la qüestió fonamental en què es basa la ciència de la computació és: «Què pot ser (eficientment) automatitzat?».[6]

Història

modifica
 
Charles Babbage és reconegut per inventar la primera computadora mecànica.
 
Ada Lovelace és reconeguda per escriure el primer algorisme processat per una computadora.

La història de la ciència de la computació antecedeix a la invenció del computador digital modern. Abans de la dècada de 1920, el terme computador es referia a un ésser humà que realitzava càlculs.[7] Els primers fonaments del que es convertiria en ciències de la computació són anteriors a la invenció de la computadora digital moderna. Es tractava de màquines per al càlcul de les tasques numèriques fixes, com l'àbac, que han existit des de l'antiguitat, ajudant en càlculs tals com la multiplicació i la divisió. A més, els algorismes per realitzar càlculs han existit des de l'antiguitat, fins i tot abans que es creessin equips de computació sofisticats. Els antics sánscritos tractadistes Shulba Sutras, o "Regles de la corda", és un llibre d'algorismes escrits en 800 a. C. per a la construcció d'objectes geomètrics com a altars utilitzant una clavilla i corda, un precursor del camp modern de la geometria computacional.

Blaise Pascal va dissenyar i va construir la primera calculadora mecànica de treball, la Pascalina, l'any 1642.[8] El 1673 Gottfried Leibniz va crear una calculadora mecànica digital, anomenada el 'Stepped Reckoner'. Ell pot ser considerat el primer computòleg i teòric de la informació, entre altres raons, perquè va ser el primer en documentar el sistema numèric binari.[9] El 1820, Charles Xavier Thomas de Satisfer va llançar la calculadora mecànica industrial quan va llançar el seu simplificat aritmòmetre, que va ser la primera màquina de calcular prou robusta i fiable per ser utilitzada diàriament en un entorn industrial.[10] Charles Babbage va iniciar el disseny de la primera calculadora automàtica mecànica, la seva màquina diferencial, el 1822, que finalment li va donar la idea de la primera calculadora mecànica programable, la seva màquina analítica. Ell va començar a desenvolupar aquesta màquina el 1834 i "en menys de dos anys havia esbossat moltes de les característiques més destacades del modern equip.[11] Un pas fonamental va ser l'adopció d'un sistema de targetes perforades derivat del teler de Jacquard" fent-ho infinitament programable.[12][13] El 1843, durant la traducció d'un article francès sobre la màquina analítica, Ada Lovelace va escriure, en una de les moltes notes que inclou l'article, un algorisme per calcular els nombres de Bernoulli, que és considerat com el primer programa d'ordinador.[14] Al voltant de 1885, Herman Hollerith va inventar la màquina tabuladora, que usava targetes perforades per processar informació estadística; finalment, la seva companyia es va convertir en part d'IBM. El 1937, cent anys després del somni impossible de Babbage, Howard Aiken i d'altres, per desenvolupar la calculadora programable gegant d'IBM, l'ASCC/Harvard Mark I, es van basar en la màquina analítica de Babbage, que al seu torn utilitza les targetes perforades i una unitat central de càlcul.[15] Quan es va acabar de construir la màquina, algunes persones ho van aclamar com "el somni de Babbage fet realitat".[16]

Durant la dècada de 1940, conforme es desenvolupaven les noves i més poderoses màquines per computar, el terme computador es va començar a utilitzar per referir-se a les màquines i ja no als seus antecessors humans.[17] Quan es va fer evident que les computadores no solament podrien utilitzar-se per realitzar càlculs matemàtics, el camp de les ciències de la computació es va ampliar per estudiar còmput en general. Les ciències de la computació van començar a establir-se com una disciplina acadèmica diferent de les altres en la dècada de 1950 i principis de 1960.[18] Llavors va sorgir el primer programa de grau universitari del món, el Cambridge Diploma in Computer Science, del Cambridge Computer Lab (Departament de Ciències de la Computació) de la Universitat de Cambridge, el 1953. El primer programa de grau universitari en ciències de la computació als Estats Units es va formar a la Universitat de Purdue el 1962.[19] Des que es disposa d'ordinadors pràctics, moltes aplicacions de les ciències de la computació s'han convertit en diferents àrees d'estudi en els seus propis termes.

Encara que inicialment molts van creure que era impossible que les computadores en si mateixes podrien constituir en realitat un camp científic d'estudi, a final dels anys cinquanta es va anar tornant gradualment acceptat aquest fet entre la població acadèmica.[20][21] És la marca IBM la que va formar part de la revolució de les ciències de la computació durant aquest temps. IBM (abreujament de International Business Machines) va llançar l'IBM 704 i més tard les computadores d'IBM 709 que van ser àmpliament utilitzades durant el període d'exploració d'aquest tipus de dispositius.[22][23] "No obstant això, el treball amb les IBM [computadores] va ser frustrant ... si haguessis perdut tant com una lletra en una instrucció, el programa xocaria, i vostè hauria de començar tot el procés una altra vegada". A finals dels cinquanta, les disciplines de les ciències de la computació estaven en les seves etapes de desenvolupament més primordials, i tals qüestions eren comunes.

La disciplina científica de les ciències de la computació neix a principis de 1940 amb la confluència de la teoria d'algorismes, lògica matemàtica i la invenció del programa emmagatzemat en una computadora electrònica.[24] Exemples d'això són els treballs d'Alan Turing, Alonzo Church i Kurt Gödel el 1930 sobre els algorismes i el seu treball en sistemes de regles (vegeu Càlcul Lambda, Màquina de Turing i Problemes Indecidibles), els algorismes creats per Augusta Ada seixanta anys abans, la computadora analògica construïda per Vannevar Bush el 1920 i les computadores elèctriques construïdes per Howard Aiken i Konrad Zuse el 1930. Els escrits de John Von Neumann van donar una profunditat intel·lectual considerable a aquesta disciplina emergent a mitjan dècada dels 40.

Durant 1960, hi havia suficientment cos de coneixement per justificar la creació de departaments acadèmics i programes de grau universitari per a aquesta disciplina.[24] IBM és reconeguda com la marca que va formar part de la revolució de les ciències de la computació durant aquest temps. IBM (abreujament de International Business Machines) va llançar la IBM 704 i més tard la IBM 709 computadores, que van anar àmpliament utilitzades durant el període d'exploració d'aquest tipus de dispositius.[25][26] "No obstant això, el treball amb la IBM [equip] era frustrant ... si t'equivoques en una lletra d'alguna instrucció, el programa s'arruïnaria, i s'hauria de començar tot el procés una altra vegada". Durant la dècada de 1950, la disciplina de les ciències de la computació estava en la seva etapa de desenvolupament, i aquests problemes eren comuns.

El temps ha donat millores significatives en la capacitat d'ús i l'eficàcia de la tecnologia de la computació. La societat moderna ha presenciat un canvi significatiu en els usuaris de la tecnologia de còmput, de ser utilitzada únicament per experts, professionals i científics, ha passat a ser utilitzada per una base d'usuaris que és gairebé omnipresent a la teoria amb la qual es va desenvolupar i funciona aquest tipus de tecnologia. Inicialment, les computadores eren bastant costoses, i era necessari un cert grau d'ajuda humana per a l'ús eficient - ajuda d'operadors de computadores professionals. Com que l'adopció d'equip es va fer més generalitzada i assequible, es necessitava menys assistència humana en l'ús comú.

Majors assoliments

modifica
 
L'exèrcit alemany va usar la màquina Enigma durant la Segona Guerra Mundial; el seu sistema de xifrat va ser finalment descobert per Alan Turing, considerat el pare de la Computació. La lectura de la informació que contenien els missatges suposadament encriptats són considerats, de vegades, com la causa d'haver pogut concloure la Segona Guerra Mundial almenys dos anys abans del que hagués estat sense el seu desxifrat. El desxifrat a gran escala del tràfic d'Enigma al Bletchley Park va ser un dels factors més importants que van contribuir a la victòria Aliada.

Malgrat el poc temps que porta com a disciplina científica formal, les ciències de la computació han fet un gran nombre de contribucions importants a la ciència i la societat –de fet, juntament amb l'electrònica, és una ciència fundacional de l'època actual de la història humana anomenada Era de la informació i la Revolució de la Informació, vist com el tercer gran salt en el progrés tecnològic humà després de la Revolució Industrial (1750-1850) i la revolució neolítica (8000-5000 a. C.)–.

Aquestes contribucions a la humanitat inclouen:

  • El començament de la "Revolució digital", la qual inclou l'actual Era de la informació i d'Internet.[27]
  • Una definició formal de computació i computabilidad, i una demostració formal que existeixen problemes que són computacionalment irresolubles i intractables.[28]
  • El concepte de llenguatge de programació, una eina per a l'expressió precisa d'informació metodològica a diversos nivells d'abstracció.[29]
  • En criptologia, la criptoanàlisi d'Enigma va ser un factor important, el qual va contribuir a la victòria Aliada en la Segona Guerra Mundial.[30]
  • Còmput Científic va permetre l'avaluació de processos i situacions de gran complexitat, així com l'experimentació mitjançant programari. També va permetre l'avanç en recerca de la ment humana i el mapatge del genoma humà junt el Projecte Genoma Humà. projectes de Còmput Distribuït tals com Folding@home que van estudiar el plegament de proteïnes.
  • El trading algorítmic ha incrementat l'eficiència i la liquiditat dels mercats financers mitjançant tècniques d'intel·ligència artificial, aprenentatge automàtic, i altres mètodes estadístics i numèrics a gran escala.[31] L'alta freqüència de comerç algorítmic també pot incrementar la volatilitat financera.[32]
  • Computació gràfica i imatges generades per computadora es van tornar omnipresents en l'era moderna de l'entreteniment, sobretot en televisió, cinema, publicitat, animació i videojocs.
  • Simulació de diversos processos, incloent dinàmica de fluids computacionals, sistemes físics, elèctrics, electrònics i de circuits, així com les societats i les situacions socials (sobretot jocs de guerra), juntament amb els seus hàbitats, entre molts altres. Les computadores modernes permeten l'optimització de dissenys tals com a avions complets. Es destaca el disseny de circuits elèctrics i electrònics amb SPICE, així com programari per a la realització física de nous dissenys. Aquest últim inclou programari de disseny essencial per a circuit integrats.
  • La Intel·ligència artificial (IA) és cada vegada més important, ja que es torna més eficient i complexa amb el pas del temps. Existeixen moltes aplicacions de la IA, algunes es poden veure en la llar, tals com a aspiradors robòtics. També està present en els videojocs i en el camp de batalla modern en avions no tripulats, sistemes antimíssils, i robots de suport per a esquadrons.

Filosofia

modifica

Un gran nombre de científics de la computació han argumentat a favor de la distinció de tres paradigmes diferents en ciències de la computació. Peter Wegner ha argumentat que aquests paradigmes són la ciència, la tecnologia i les matemàtiques.[33] El grup de recerca de Peter Denning va argumentar que són l'abstracció (modelatge), i disseny. Amnon H. Eden ho descriu com el “paradigma racionalista” (el qual tracta a les ciències de la computació com una branca de les matemàtiques, la qual preval en ciències de la computació teòrica i principalment fa ús del raonament deductiu), el paradigma tecnocràtic (que podria ser trobat en enfocaments d'enginyeria, més prominent en l'enginyeria de programari) i el paradigma científic (que s'enfoca a objectes relacionats amb la computació des de la perspectiva empírica de les ciències naturals identificable en algunes branques de la intel·ligència artificial).

Nom del camp

modifica

Malgrat la seva primera proposició el 1956, el terme “ciències de la computació” apareix el 1959 en un article de la revista Communications of the ACM (prestigiosa publicació científica destinada a lectors amb experiència en tots els àmbits de la computació i els sistemes d'informació),[34] en la qual Louis Fein discuteix sobre la creació d'una Escola d'Estudis de Postgrau en Ciències Computacionals anàloga a la creació d'Harvard Business School el 1921,[35] justificant el nom amb l'argument que: Com la ciència administrativa, el tema o àrea de coneixement pot ser aplicat, és de caràcter interdisciplinari i compta amb les característiques típiques d'una disciplina acadèmica.[36] Els seus esforços i els d'uns altres, com l'analista numèric George Forsythe, van ser recompensats: universitats van passar a crear aquest tipus de programes d'estudi, a partir de 1962 a Purdue.[37] Malgrat el nom d'aquesta disciplina acadèmica, una quantitat significativa de tòpics en ciències de la computació no involucren l'estudi de les computadores, per aquesta raó molts noms alternatius han estat proposats.[38]

Alguns departaments d'universitats prefereixen el terme “ciències de la computació” per fer èmfasi en aquesta diferència. El científic danès Peter Naur va suggerir el terme datologia,[39] per reflectir el fet que aquesta disciplina científica gira entorn de les dades i del tractament d'aquests, mentre que no necessàriament involucra als ordinadors. La primera institució científica que usar aquest terme va ser el Departament de Datologia de la Universitat de Copenhaguen, fundat en 1969, amb Peter Naur com a professor de datologia. El terme és usat en països escandinaus. En els primers anys de la computació, un nombre de termes per als practicants del camp de la computació van ser proposats a la revista Communications of the ACMturinginyer, turòleg, home dels diagrames de flux, matemàtic meta-aplicat, i epistemòleg aplicat.[40] Tres mesos després en aquesta mateixa publicació científica, el terme computòleg va ser suggerit. El següent any a la mateixa publicació va sorgir el terme hypòleg.[41] El terme computica també ha estat suggerit.[42] A Europa, termes derivats de traduccions de l'expressió "automatic information" (i.g. "informazione automatica" en Italià) o "informació i matemàtiques" són freqüentment usats, i.g. informatique (francès), Informatik (alemany), Informàtica (Itàlia, Països Baixos), Informàtica (Espanya i Portugal), informatika (llengües eslaves) o pliroforiki (πληροφορική, que significa informàtica) en Grec. Paraules similars han estat adoptades en alguns llocs del Regne Unit, per exemple a la Universitat d'Edimburg.[43] Però aquestes no reflecteixen l'aspecte de la computabilidad, per aquesta raó en un context de recerca científica tant acadèmica com industrial el terme ciències de la computació és majoritàriament usat en publicacions i conferències científiques.

Camps de les ciències de la computació

modifica

Com a disciplina científica, les ciències de la computació abasten una gran gamma de temes, des dels estudis teòrics dels algorismes i els límits de la computació als problemes pràctics de la implementació de sistemes computacionals en maquinari i programari.[44][45] Computing Sciences Acreditation Board o la Junta d'Acreditació en Ciències de la Computació. –Formada per representants de l'Association for Computing Machinery (ACM), i la Societat de Computació IEEE (IEEE-CS) – identifica quatre àrees que considera crucials per a la disciplina de ciències de la computació: teoria de la computació, algorismes i estructures de dades, metodologia i llenguatges de programació, arquitectura de computadores.[46] A més d'aquestes quatre àrees, C.S.A.B. també identifica àmbits com l'enginyeria de programari, intel·ligència artificial, xarxes de computadores i de telecomunicacions, sistemes de bases de dades, computació paral·lela, computació distribuïda, la interacció persona-computador, gràfics per ordinador, sistemes operatius, càlcul numèric i simbòlic, essent importants àrees de les ciències de la computació.

Ciències de la computació teòriques

modifica

El camp més ampli de la ciència de la computació teòrica abasta la teoria clàssica de la computació i una àmplia gamma d'altres temes que se centren els aspectes més abstractes, lògics i matemàtics de la computació.

Teoria de la computació

modifica

Segons Peter J. Denning, la pregunta fonamental en ciències de la computació és, «Què pot ser eficientment automatitzat?» L'estudi de la teoria de la computació està enfocat a respondre preguntes fonamentals sobre què pot ser computat i quina quantitat de recursos són requerits per executar tals còmputs. En un esforç per resoldre aquesta pregunta, la teoria de la computabilidad examina quins problemes computacionals es poden resoldre a partir de varis models teòrics de còmput. La segona pregunta és abordada per la teoria de la complexitat computacional, que estudia els costos de temps i espai associats a diferents enfocaments per resoldre una multitud de problemes computacionals.

El famós problema "P=NP?" és un dels Problemes del mil·lenni, és un problema obert en ciències de la computació.[47]

    P = NP ? GNITIRW-TERCES  
Teoria d'autòmats Teoria de la computabilitat Teoria de la complexitat computacional Criptografia Computació quàntica

Teoria de la informació i codis

modifica

La teoria de la informació està relacionada amb la quantificació de la informació. Va ser desenvolupada per Claude I. Shannon per desenvolupar els límits fonamentals del processament de senyals així com les seves operacions, tals com a compressió i emmagatzematge de dades així com la comunicació de les dades de manera fiable.[48] La teoria de codis és una àrea de les matemàtiques que busca resoldre el problema de detectar i corregir errors durant el moment de transmetre informació.[49] Els codis són usats per comprimir dades, criptografia i més recentment per a la codificació de xarxes. Els codis són estudiats amb el propòsit de dissenyar mètodes eficients i segurs per a la transmissió de dades.

Algorismes i estructures de dades

modifica

Els algorismes i les estructures de dades són l'estudi de mètodes computacionals comunament usats així com la seva eficiència computacional.

       
Anàlisi d'algorismes Algorismes Estructures de dades Optimització combinatòria Geometria computacional

Teoria de llenguatges de programació

modifica

La teoria del llenguatge de programació és una branca de les ciències de la computació que s'ocupa del disseny, implementació, anàlisi, caracterització i classificació dels llenguatge de programació i les seves característiques individuals, entra dins de la disciplina de les ciències de la computació, depenent de les matemàtiques, enginyeria del software i la lingüística. És una àrea de recerca activa, amb nombroses revistes acadèmiques i conferències especialitzades en el tema.

     
Teoria de tipus Compiladors Llenguatges de programació

Mètodes formals

modifica

Els mètodes formals són un tipus particular de la tècnica basada en les matemàtiques per a l'especificació formal, desenvolupament i verificació formal dels sistemes de programari i maquinari. L'ús de mètodes formals per al disseny de programari i maquinari està motivat per l'expectativa que, la realització d'una anàlisi matemàtica adequada pot contribuir a la fiabilitat i robustesa d'un disseny. Aquests formen una important base teòrica per a l'enginyeria de programari, especialment quan està involucrada la seguretat o robustesa. Els mètodes formals són un complement útil per a les proves de programari, ja que ajuden a evitar errors i també poden oferir un marc per fer proves. Per al seu ús industrial, es requereix el suport d'eines. No obstant això, l'alt cost de la utilització de mètodes formals significa que en general només s'utilitzen en el desenvolupament de sistemes crítics d'alta integritat on la vida o la seguretat és molt important. Els mètodes formals es descriuen millor com l'aplicació d'una àmplia varietat de fonaments teòrics de la informàtica, en particular, els càlculs lògics, els llenguatges formals, la teoria d'autòmats, i la semàntica dels programes, així com els sistemes de tipus i els tipus de dades algebraiques a problemes d'especificació i verificació de programari i maquinari.

Ciències de la computació aplicades

modifica

Les ciències de la computació aplicades tracten d'identificar certs aspectes conceptuals i teòrics de les ciències de la computació que poden ser aplicats directament per resoldre problemes del món real.

Intel·ligència artificial

modifica

Aquesta branca de les ciències de la computació pretén o té com a objectiu la síntesi de processos orientats tals com la resolució de problemes, presa de decisions, l'adaptació al medi ambient, l'aprenentatge i la capacitat de comunicació que es troba en els éssers humans i els animals. Des dels seus orígens en la cibernètica i en la Conferència de Dartmouth (1956), la recerca en intel·ligència artificial (IA) ha estat necessàriament multidisciplinària, aprofitant àrees d'especialització, tals com les matemàtiques, la lògica simbòlica, la semiòtica, l'enginyeria elèctrica, la filosofia de la ment, la neurofisiologia, i la intel·ligència social. La IA erròniament s'associa popularment al desenvolupament robòtic, però el principal camp d'aplicació pràctica ha estat com un component integrat en àrees de desenvolupament de programari que requereixen comprensió computacional, tals com les finances i l'economia, la mineria de dades i les ciències físiques. El terme va ser creat pel científic de la computació i matemàtic John McCarthy en 1955.

       
Aprenentatge automàtic Visió artificial Processament d'imatges Reconeixement de patrons
       
Ciència cognitiva Mineria de dades Computació evolutiva Cerca i recuperació d'informació
       
Representació del coneixement Processament de llenguatge natural Robòtica Còmput d'imatges mèdiques

Arquitectura d'ordinadors

modifica

L'arquitectura d'ordinadors o organització d'ordinadors digitals és el disseny conceptual i l'estructura operacional fonamental d'un sistema còmput. Se centra en gran manera en la manera en què la unitat central de processament executa internament i com accedeix a les adreces en la memòria.[50] El camp involucra disciplines de l'enginyeria en computació i l'enginyeria elèctrica, la selecció i la interconnexió dels components de maquinari per crear els equips que compleixen funcions, de rendiment, i costos.

     
Lògica digital Microarquitectures Multiprocessament
       
Sistemes operatius Xarxes de computadores Sistemes de gestió de bases de dades Seguretat de la informació
       
Computació ubiqua Arquitectura de programari Disseny de compiladors Llenguatges de programació

Anàlisi de rendiment de computadores

modifica

Anàlisi del rendiment de l'equip és l'estudi del treball que flueix a través dels equips amb l'objectiu general de millora del rendiment i control de temps de resposta, utilitzant els recursos de manera eficient, l'eliminació dels colls d'ampolla, i la predicció de rendiment sota càrregues màximes previstes.[51]

Còmput científic

modifica

La ciència computacional (o computació científica) és el camp d'estudi que tracta la construcció de models matemàtics i tècniques d'anàlisis quantitatives, així com l'ús de computadores per analitzar i resoldre problemes científics. En l'ús pràctic, és típicament l'aplicació de simulació per ordinador i altres formes de càlcul als problemes en diverses disciplines científiques.

       
Anàlisi numèrica Física computacional Química computacional Bioinformática

Xarxes de computadores

modifica

Aquesta branca de les ciències de la computació té com a objectiu gestionar la connectivitat entre xarxes (LAN / WAN) de computadores a nivell mundial.

Sistemes concurrents, paral·lels i distribuïts

modifica

Concurrència és una propietat dels sistemes en els quals diversos càlculs s'executen de forma simultània, i, potencialment, interactuen entre si. Un nombre de models matemàtics han estat desenvolupats per al càlcul concurrent general, incloent les xarxes de Petri, càlculs de procés i del model de màquina d'accés aleatori en paral·lel. Un sistema distribuït amplia la idea de la simultaneïtat a diversos ordinadors connectats a través d'una xarxa. Computadores dins del mateix sistema distribuït tenen la seva pròpia memòria privada, i la informació és sovint intercanviada entre si per aconseguir un objectiu comú.

Bases de dades

modifica

Una base de dades té la intenció d'organitzar, emmagatzemar i recuperar grans quantitats de dades de forma senzilla. Bases de dades digitals es gestionen mitjançant sistemes de gestió de base de dades per emmagatzemar, crear, mantenir i consultar les dades, a través de models de bases de dades i llenguatges de consulta. Una base de dades és un conjunt de dades interrelacionades entre elles mateixes.

Informàtica en salut

modifica

Informàtica de la Salut s'ocupa de les tècniques computacionals per a la solució de problemes en la cura de la salut.

Ciència de la informació

modifica

Aquest camp estudia l'estructura, algorismes, comportament i interaccions dels sistemes naturals i artificials que desen, processen, accedeixen a i comuniquen informació. També desenvolupa els seus propis fonaments conceptuals i teòrics i utilitza fonaments desenvolupats en altres camps. Una aplicació moderna és el Big Data, que consisteix en el processament d'un conjunt de dades (provinents de fonts com per exemple: transaccions comercials, formularis web, imatges, videos, emails, xarxes socials, entre altres), les quals són sotmeses a eines informàtiques d'anàlisis que permeten extreure informació valuosa per predir comportaments futurs i formular estratègies de presa de decisions.[52]

       
Cerca i recuperació d'informació Representació del coneixement Processament de llenguatge natural Interacció persona-computador

Enginyeria de programari

modifica

Enginyeria de programari és l'estudi del disseny, implementació i modificació del programari amb la finalitat d'assegurar-se que és d'alta qualitat, assequible, fàcil de mantenir, i ràpid de construir. És un enfocament sistemàtic per al disseny de programari, que implica l'aplicació de pràctiques d'enginyeria de programari. Els enginyers de programari tracten amb l'organització i anàlisi del programari — no només treballen en la creació o fabricació d'un nou programari, sinó també amb el seu manteniment i disposició interna. Es preveu que estiguin entre les ocupacions de més ràpid creixement entre 2008 i 2018. A causa de la novetat d'aquest subcamp, l'educació formal en Enginyeria de programari generalment és part dels plans d'estudi de ciències de la computació. La gran majoria d'enginyers de programari tenen un grau acadèmic en ciències de la computació sense tenir relació amb l'enginyeria.[53]

Relació amb altres camps

modifica

Per ser una disciplina recent, existeixen diverses definicions alternatives per a la ciència de la computació. Aquesta pot ser vista com una forma de ciència, matemàtiques o una nova disciplina que no pot ser categoritzada segons els models actuals.

Les ciències de la computació freqüentment es relacionen amb altres àrees de recerca, tals com la física i la lingüística. Però és amb les matemàtiques amb les quals es considera que té un grau major de relació. Això és evidenciat pel fet que els primers treballs en l'àrea fossin fortament influenciats per matemàtics com Kurt Gödel i Alan Turing. En l'actualitat segueix havent-hi un intercanvi d'idees útil entre tots dos camps en àrees com la lògica matemàtica, la teoria de categories, la teoria de dominis, l'àlgebra i la geometria.

Un altre punt a destacar és que, malgrat el seu nom, les ciències de la computació rarament involucren l'estudi mateix de les màquines conegudes com a computadores. De fet, el reconegut científic Edsger Dijkstra és molt citat per la frase «Les ciències de la computació estan tan poc relacionades amb les computadores com l'astronomia amb els telescopis». La recerca en ciències de la computació també sol relacionar-se amb altres disciplines, com la ciència cognitiva, la física (vegeu computació quàntica), la lingüística, etc.

La relació entre les ciències de la computació i l'enginyeria de programari és un tema molt discutit, per disputes sobre el que realment significa el terme "enginyeria de programari" i sobre com es defineix a les ciències de la computació. Algunes persones creuen que l'enginyeria de programari seria un subconjunt de les ciències de la computació. Unes altres, tenint en compte la relació entre altres disciplines científiques i l'enginyeria, creuen que el principal objectiu de les ciències de la computació seria estudiar les propietats del còmput en general, mentre que l'objectiu de l'enginyeria de programari seria dissenyar còmputs específics per aconseguir objectius pràctics, amb el que es convertirien en disciplines diferents. Aquest punt de vista és el que sosté, per exemple, Parnas (1998). Fins i tot hi ha uns altres que sostenen que no podria existir una enginyeria de programari.

Els aspectes acadèmics, polítics i de finançament a les àrees de ciències de la computació tendeixen a veure's influïts dràsticament pel criteri del departament encarregat de la recerca i l'educació a cada universitat, que pot estar orientat a les matemàtica o a l'enginyeria. Els departaments de ciències de la computació orientats a les matemàtiques teòriques solen alinear-se del costat de la computació científica i les aplicacions de càlcul numèric.

El terme "computació científica", que no deu confondre's amb ciència de la computació, designa a totes aquelles pràctiques destinades a modelar, plantejar experiments i validar teories científiques servint-se de mitjans computacionals. En aquests casos la computació és una mera eina i l'esforç es dirigeix a avançar en els camps objectiu (física, biologia, mecànica de fluids, radiotransmissió...), més que en la pròpia ciència de la computació.

Finalment, el públic en general algunes vegades confon la ciència de la computació amb àrees vocacionals que treballen amb computadores o pensen que tracta sobre la seva pròpia experiència amb les computadores, la qual cosa sol incloure activitats com els jocs, la navegació web i el processament de text. No obstant això, el punt central de la ciència de la computació va més enllà d'entendre les propietats dels programes que s'empren per implementar aplicacions de programari com jocs i navegadors web, i utilitza aquest enteniment per crear nous programes o millorar els existents.[54]

Referències

modifica
  1. "Computer science is the study of information" Department of Computer and Information Science, Guttenberg Information Technologies
  2. "Computer science is the study of computation." Computer Science Department, College of Saint Benedict Arxivat 2007-02-03 a Wayback Machine., Saint John's University
  3. "Computer Science is the study of all aspects of computer systems, from the theoretical foundations to the very practical aspects of managing large software projects." Massey University
  4. «What is Computer Science?» (  PDF) (en anglès). Boston University (Department of Computer Science). Arxivat de l'original el 2015-02-18. [Consulta: 2 novembre 2018].
  5. «WordNet Search - 3.1». Wordnetweb.princeton.edu. [Consulta: 14 maig 2012].
  6. Denning, P.J. «Computer Science: The Discipline». Encyclopedia of Computer Science, 2000. Arxivat de l'original el 25 de maig de 2006. Arxivat 2006-05-25 a Wayback Machine.
  7. David Alan Grier. When computers were human. Princeton University Press, 2005. ISBN 84-89660-00-X. 
  8. «Blaise Pascal». School of Mathematics and Statistics University of St Andrews, Scotland.
  9. «A Brief History of Computing». Arxivat de l'original el 2012-06-29. [Consulta: 2 novembre 2018].
  10. En 1851
  11. «Science Museum - Introduction to Babbage». Arxivat de l'original el 8 de setembre de 2006. [Consulta: 24 setembre 2006].
  12. Anthony Hyman. Charles Babbage, pioneer of the computer, 1982. 
  13. "La introducció de targetes perforades al nou motor era important no només com una forma més convenient de control que els tambors, sinó perquè es podria programar de forma il·limitada, i aquests programes podrien ser emmagatzemats i repetits sense el perill d'introduir errors en la configuració a mà de la màquina; era important també perquè va servir per cristal·litzar la sensació de Babbage de que havia inventat alguna cosa realment nova, una cosa molt més que una màquina calculadora sofisticada." Bruce Collier, 1970
  14. «A Selection and Adaptation From Ada's Notes found in Ada, The Enchantress of Numbers, by Betty Alexandra Toole Ed.D. Strawberry Press, Mill Valley, CA». Arxivat de l'original el 10 de febrer de 2006. [Consulta: 4 maig 2006].
  15. "En aquest sentit Aiken necessitava d'IBM, ja que la seva tecnologia incloia l'ús de targetes perforades, l'acumulació de dades numèriques, i la transferència de les dades numèriques d'un registre a un altre ", Bernard Cohen, p.44 (2000)
  16. Brian Randell, p. 187, 1975
  17. L'Association for Computing Machinery (ACM) fou fundada el 1947.
  18. «Some EDSAC statistics». Cl.cam.ac.uk. [Consulta: 19 novembre 2011].
  19. «Computer science pioneer Samuel D. Conte dies at 85». Purdue Computer Science, 01-07-2002. [Consulta: 12 desembre 2014].
  20. Levy, Steven. Hackers: Heroes of the Computer Revolution. Doubleday, 1984. ISBN 0-385-19195-2. 
  21. Tedre, Matti. The Science of Computing: Shaping a Discipline. Taylor and Francis / CRC Press, 2014. 
  22. «IBM 704 Electronic Data Processing System - CHM Revolution» (en anglès). Computerhistory.org. [Consulta: 7 juliol 2013].
  23. «IBM 709: a powerful new data processing system» (en anglès). Computer History Museum. Arxivat de l'original el 4 de març de 2016. [Consulta: 12 desembre 2014].
  24. 24,0 24,1 Anthony Ralston, Edwin D. Reilly, David Hemmendinger. Encyclopedia of Computer Science. Wiley, 2000. 978-0-470-86412-8. 
  25. «IBM 704 Electronic Data Processing System - CHM Revolution». Computerhistory.org. [Consulta: 7 juliol 2013].
  26. «IBM 709: a powerful new data processing system». Computer History Museum. Arxivat de l'original el 4 de març de 2016. [Consulta: 12 desembre 2014].
  27. «Computer Science : Achievements and Challenges circa 2000» (  PDF) (en anglès). Cornell University. Arxivat de l'original el 2006-09-11. [Consulta: 2 novembre 2018].
  28. Constable, R.L. «Computer Science: Achievements and Challenges circa 2000» (  PDF). Cornell CIS, març 2000. Arxivat de l'original el 2010-07-21 [Consulta: 3 desembre 2018].
  29. Abelson, H.; G.J. Sussman with J. Sussman Structure and Interpretation of Computer Programs. 2a edició. MIT Press, 1996. ISBN 978-0262011532. «The computer revolution is a revolution in the way we think and in the way we express what we think. The essence of this change is the emergence of what might best be called procedural epistemology – the study of the structure of knowledge from an imperative point of view, as opposed to the more declarative point of view taken by classical mathematical subjects.» 
  30. Kahn, David. The Codebreakers (en anglès). ISBN 0-684-83130-9. 
  31. «Black box traders are on the march.» Arxivat 2008-06-21 a Wayback Machine. The Telegraph, 26 de agosto de 2006.
  32. «The Impact of High Frequency Trading on an Electronic Market». Papers.ssrn.com. DOI: 10.2139/ssrn.1686004. [Consulta: 14 maig 2012].
  33. Wegner, P. (October 13–15, 1976). «Research paradigms in computer science». San Francisco, California, United States: IEEE Computer Society Press, Los Alamitos, CA.
  34. Louis Fine «The Role of the University in Computers, Data Processing, and Related Fields». Communications of the ACM, 2, 9, 1959, pàg. 7–14. DOI: 10.1145/368424.368427.
  35. «Stanford University Oral History». Stanford University. [Consulta: 30 maig 2013].
  36. id., p. 11
  37. Donald Knuth (1972). "George Forsythe and the Development of Computer Science" Arxivat 2013-10-20 a Wayback Machine.. Comms. ACM.
  38. Matti Tedre (2006). The Development of Computer Science: A Sociocultural Perspective, p.260
  39. Peter Naur «The science of datalogy». Communications of the ACM, 9, 7, 1966, pàg. 485. DOI: 10.1145/365719.366510.
  40. Communications of the ACM 1(4):p.6
  41. Communications of the ACM 2(1):p.4
  42. IEEE Computer 28(12):p.136
  43. P. Mounier-Kuhn, L'Informatique en France, de la seconde guerre mondiale au Plan Calcul. L'émergence d'une science, Paris, PUPS, 2010, ch. 3 & 4.
  44. Computing Sciences Accreditation Board. «Computer Science as a Profession», 28-05-1997. Arxivat de l'original el 17 de juny de 2008. [Consulta: 23 maig 2010].
  45. Committee on the Fundamentals of Computer Science: Challenges and Opportunities, National Research Council. Computer Science: Reflections on the Field, Reflections from the Field. National Academies Press, 2004. ISBN 978-0-309-09301-9. 
  46. «Csab, Inc». Csab.org, 03-08-2011. [Consulta: 19 novembre 2011].
  47. Clay Mathematics Institute P=NP
  48. P. Collins, Graham. «Claude E. Shannon: Founder of Information Theory». Scientific American, Inc..
  49. «Teoría de Códigos | CIMAT». Arxivat de l'original el 2018-11-05. [Consulta: 26 setembre 2016].
  50. A. Thisted, Ronald. «COMPUTER ARCHITECTURE». The University of Chicago. [Consulta: 7 abril 1997].
  51. Wescott, Bob. The Every Computer Performance Book, Chapter 3: Useful laws. CreateSpace, 2013. ISBN 1482657759. 
  52. «Datos Digitales conectados en Red». [Consulta: 7 gener 2017].
  53. «Software Engineering Arxivat 2011-06-17 a Wayback Machine.». [Consulta: 1r febrer 2008].
  54. "Common myths and preconceptions about Cambridge Computer Science" Computer Science Department, Universitat de Cambridge.

Bibliografia

modifica
Literatura seleccionada

Vegeu també

modifica

Enllaços externs

modifica