Calcolo (informatica)

Scienza applicata che studia le modalità di raccolta, di trattamento e di trasmissione delle informazioni mediante elaboratori elettronici

Per calcolo in informatica intende qualsiasi attività che utilizza i computer per elaborare, gestire e comunicare informazioni, ed include lo sviluppo di hardware e software. La computazione è una componente fondamentale e integrante della moderna tecnologia industriale. Le principali discipline informatiche includono ingegneria informatica, ingegneria del software, informatica, sistemi di informazione e tecnologia dell'informazione.

Una Macchina Differenziale: calcola la soluzione di una funzione polinomiale
Laboratorio informatico, Moody Hall, James Madison University, 2003
Un rack di server del 2006

DefinizioniModifica

L'ACM definisce cinque sotto-discipline nel campo dell'informatica:[1]

StoriaModifica

La storia della computazione è sicuramente più lunga della storia dell'hardware informatico e della moderna tecnologia informatica, essa comprende anche la storia dei metodi destinati per carta e penna o alla lavagna, con o senza l'ausilio di tabelle.

Il calcolo è strettamente connesso alla rappresentazione numerica. Ma molto prima che sorgessero astrazioni come il numero, già vi erano concetti matematici necessari a servire gli scopi della civiltà. Questi concetti includono, per esempio, la corrispondenza biunivoca (la base del conteggio), il confronto con un'unità standard (usato per la misurazione) e il triangolo rettangolo 3-4-5 (un dispositivo per assicurare un angolo retto ).

Il primo strumento noto per il suo uso per effettuare calcoli è l'abaco, e si pensa che sia stato inventato a Babilonia intorno al 2400 a.C. La sua forma originale di utilizzo era costituita da linee disegnate nella sabbia con ciottoli. Gli Abachi, dal design più moderno, sono ancora oggi utilizzati come strumenti di calcolo. Questo è stato il primo aiuto al calcolo noto, che ha preceduto i metodi greci di circa 2000 anni.

La prima idea sull'utilizzo dell'elettronica digitale per effettuare calcoli si può trovare nel documento del 1931 "L'uso dei tiratroni per il conteggio automatico ad alta velocità di fenomeni fisici" scritto da CE Wynn-Williams.[2] Il documento di Claude Shannon del 1938 " Un'analisi simbolica dei circuiti di relè e di commutazione " introdusse inoltre l'idea di usare l'elettronica per le operazioni algebriche booleane.

Il concetto di transistor ad effetto di campo venne proposto da Julius Edgar Lilienfeld nell'anno 1925. John Bardeen e Walter Brattain, nel 1947, mentre i due stavano lavorando per William Shockley ai Laboratori Bell, costruirono il primo transistor funzionante nella storia, il transistor a contatto a punti.[3][4] Nel 1953, l'Università di Manchester costruì il primo computer a Transistor, che venne chiamato Transistor Computer.[5] Tuttavia, i primi transistor a giunzione erano dispositivi relativamente ingombranti ed erano estremamente difficili da produrre in massa, il che li vedeva limitati ad una serie di applicazioni specializzate.[6] Il transistor ad effetto di campo metallo-ossido-silicio (MOSFET o transistor MOS) venne inventato nel 1959 da Mohamed Atalla e Dawon Kahng presso i Laboratori Bell.[7][8] Fu il primo transistor che poteva essere definito compatto e che poteva essere miniaturizzato e prodotto in serie per una vasta gamma di usi. Il MOSFET ha quindi permesso di costruire chip per circuiti integrati ad alta densità,[9][10] portando a quella che oggi viene chiamata la rivoluzione del computer[11] o rivoluzione del personal computer.[12]

ComputerModifica

Un computer è una macchina che manipola i dati mediante una serie di istruzioni chiamate programmi. Il programma possiede un modulo, chiamato eseguibile, che il computer può utilizzare direttamente per eseguire le istruzioni. Lo stesso programma se visualizzato nella forma di codice sorgente diventa leggibile dall'uomo e consente di conseguenza ad un programmatore di studiare e di sviluppare una sequenza di passaggi che viene chiamata "algoritmo". Poiché le istruzioni possono essere eseguite da diverse tipologie di computer e di processori, un singolo set di istruzioni di origine viene convertito in istruzioni macchina[13] in base al tipo di CPU utilizzata.

Il processo di esecuzione esegue le istruzioni di un programma. Le istruzioni esprimono i calcoli che vengono eseguiti dal computer ed attivano sequenze di azioni semplici sulla macchina in esecuzione. Tali azioni producono effetti in base alla semantica delle istruzioni.

Software e hardwareModifica

Per "software" si definisce una raccolta di programmi e dati correlati ad essi che forniscono le istruzioni per informare un computer sul cosa fare e sul come farlo. Il temine "software" si riferisce a uno o più programmi per computer e dati conservati nella memoria del computer per alcuni scopi. In altre parole, il software è un insieme di programmi, algoritmi, procedure e la documentazione relativa al funzionamento di un sistema di elaborazione dei dati. Il software di un determinato programma svolge la funzione del programma che implementa, fornendo direttamente le istruzioni all'hardware del computer o fungendo da input per un altro software. Il termine è stato coniato per contrastare con il vecchio termine hardware (che si riferisce ai dispositivi fisici). Contrariamente all'hardware, il software non è fisicamente toccabile.[14] Il software viene talvolta utilizzato anche in un senso più stretto,per riferirsi esclusivamente alsoftware applicativo.

Software applicativoModifica

Il software applicativo, noto anche come "applicazione" o "app", è un software il cui scopo è aiutare l'utente a svolgere determinate attività specifiche. Esempi di questo tipo di software includono software ad uso aziendale, software di produttività personale, software grafico e lettori multimediali. La maggior parte dei software applicativi riguardano principalmente i documenti. Le app possono essere fornite in bundle con il computer ed il relativo software di sistema o possono essere pubblicate separatamente. Alcuni utenti sono soddisfatti delle app in bundle siccome non devono installare applicazioni aggiuntive.

Il software applicativo va differenziato dal software di sistema e dal middleware, i quali, diversamente dal software applicativo, gestiscono e integrano le capacità di un computer, ma in genere non le applicano direttamente nell'esecuzione di attività a beneficio dell'utente. Il software di sistema serve l'applicazione, che a sua volta serve l'utente.

Il software applicativo utilizza la potenza di una particolare piattaforma informatica o di un paricolare software di sistema per perseguire un determinato scopo. Alcune app come Microsoft Office sono disponibili nelle versioni per diverse piattaforme; altre hanno requisiti più specifici e sono quindi chiamati con il nome del sistema in uso, ad esempio: "Geografia per Windows" o "un gioco Linux". A volte sorge un'applicazione nuova e popolare che funziona solo su una piattaforma, aumentando la desiderabilità di quella piattaforma. Questa si chiama un'applicazione killer.

Software di sistemaModifica

Il software di sistema (dall'inglese system software) è un software pensato per far funzionare e per controllare l'hardware di un computer e per creare una piattaforma per l'esecuzione di un software applicativo. Il "software di sistema" include sistemi operativi, software di utilità, driver di dispositivo e firmware. Talvolta altri strumenti di sviluppo come compilatori, linker e debugger[15] vengono classificati come software di sistema.

Rete di computerModifica

Una rete di computer, talvolta definita semplicemente come una "rete", è una raccolta di componenti hardware e di computer collegati tra di loro mediante canali di comunicazione che consentono la condivisione di risorse ed informazioni.[16] Laddove è presente un processo in un dispositivo, il quale è in grado di inviare e/o ricevere dati a/da almeno un processo situato in un dispositivo remoto, si dice che i due dispositivi si trovano in una rete.

Le reti si possono classificare mediante un'ampia varietà di caratteristiche come il mezzo utilizzato per trasportare i dati, il protocollo di comunicazione utilizzato, la dimensione, la topologia e l'ambito organizzativo.

I protocolli di comunicazione definiscono le regole ed i formati dei dati che si utilizzano nello scambio di informazioni in una rete di computer e che forniscono la base per la programmazione di una rete. Tra i protocolli di comunicazione noti troviamo: Ethernet, che è uno standard di tipo hardware, Link Layer, che è onnipresente nelle reti locali, e Internet Protocol Suite, che definisce una serie di protocolli per la comunicazione di dati tra più reti, per il trasferimento di dati host-to-host e per la definizione e l'uso di formati di trasmissione dei dati specifici ad una determinata applicazione.

Le reti informatiche vengono talvolta considerate una sotto-disciplina di ingegneria elettrica, telecomunicazioni, informatica, informatica o ingegneria informatica, siccome esse si basano sulla messa in pratica di queste discipline.

InternetModifica

Internet è un sistema di reti di computer interconnesse che utilizzano la il protocollo internet standard (TCP / IP) al fine di fornire un servizio a miliardi di utenti nel mondo costituito da un gran numero di reti private, pubbliche, accademiche, aziendali e governative, di portata locale e globale, che spesso sono collegati da una vasta gamma di tecnologie di reti elettroniche, wireless ed ottiche. Internet offre una inoltre una vasta gamma di risorse e di servizi di informazione, come i documenti ipertestuali interconnessi del World Wide Web e l'infrastruttura per supportare la posta elettronica.

Programmazione informaticaModifica

Per programmazione informatica si intende il processo di scrittura, testing, debug e manutenzione di un codice sorgente e della documentazione dei programmi per computer. Questo codice sorgente viene scritto in un linguaggio di programmazione, che è un linguaggio artificiale spesso molto più restrittivo e/o impegnativo di un linguaggio naturale, ma che viene facilmente tradotto da un computer. Lo scopo della programmazione è di invocare il comportamento desiderato dalla macchina. Il processo di scrittura del codice sorgente di alta qualità richiede la conoscenza sia dell'ambito delle applicazioni che nell'ambito dell'informatica. Un software di alta qualità è quindi sviluppato da un team di vari esperti in vari ambiti, ciascuno specializzato in determinate aree di sviluppo.Ill termine programmatore può tuttavia applicarsi ad una vasta gamma di qualità dall'hacker al collaboratore open source al professionista. Un singolo programmatore può potenzialmente eseguire gran parte o tutta la programmazione necessaria per generare la una prova di un concetto o per lanciare una nuova applicazione "killer".

ProgrammatoreModifica

Un programmatore o "programmatore di computer" è una persona che scrive software. Il termine programmatore si può riferire ad uno specialista in una determinata area della programmazione informatica o in generale ad una persona che scrive codice per varie tipoligie di software. Chi pratica o professa un approccio formale alla programmazione viene spesso conosciuto come programmatore analitico. Il linguaggio informatico principale di un programmatore è spesso uno fra C, C ++, Java, Lisp, Python, coloro che lavorano in un ambiente web molto spesso antepongono i loro titoli al web. Il termine programmatore può essere usato per indicare uno sviluppatore di software, un ingegnere informatico, un informatico o un analista di software. Tuttavia, i membri di queste professioni in genere[17] possiedono altre capacità nell'ambito dell'ingegneria del software, oltre alle capacità di programmazione.

Industria InformaticaModifica

L'industria informatica è costituita da tutte le imprese coinvolte nello sviluppo di software per computer, progettazione hardware ed infrastutture con reti di computer, la produzione di componenti informatici e la fornitura di servizi IT tra cui l'amministrazione del sistema e la manutenzione.

Industria del softwareModifica

L'industria del software comprende aziende impegnate nello sviluppo, nella manutenzione e nella fase di pubblicazione del software. L'industria comprende tuttavia anche servizi non destinati al software, come formazione del personale, documentazione del software e consulenza.

Sotto-discipline dell'informaticaModifica

Ingegneria InformaticaModifica

L'ingegneria informatica è una disciplina che integra molteplici campi dell'ingegneria elettrotecnica e dell'informatica, i quali sono requisiti allo sviluppo di hardware e software.[18] Gli ingegneri informatici tendenzialmente possiedono una formazione in ingegneria elettronica (o ingegneria elettrotecnica ), progettazione software e intearazione ed integrazione tra hardware e software, anziché rimanere esclusivamente nel campo dell'ingegneria del software o dell'ingegneria elettronica. Gli ingegneri informatici sono coinvolti in molti aspetti hardware e software dell'informatica, dalla progettazione di singoli microprocessori, personal computer e supercomputer, fino alla progettazione di circuiti. Questo campo dell'ingegneria non si concentra esclusivamente alla progettazione dell'hardware all'interno del proprio campo, ma anche sulle interazioni tra l'hardware e il mondo che lo circonda.[19]

Ingegneria del softwareModifica

L'ingegneria del software è l'applicazione sistematica, disciplinata e quantificabile alla progettazione, allo sviluppo, al funzionamento ed alla manutenzione di un determinato software ed allo studio di questi approcci; ossia, l'applicazione dell'ingegneria al software.[20][21][22] In parole povere, è l'atto di utilizzare le intuizioni per concepire, modellare e ridimensionare una soluzione ad un problema. Il primo riferimento a questo termine è la Conferenza sull'ingegneria del software della NATO, che fu tenuta nell'1968 lo scopo della quale era provocare pensieri sulla "crisi del software" percepita all'epoca.[23][24][25] Lo sviluppo del software, un termine molto usato e più generico, non sottrae necessariamente il paradigma ingegneristico. I concetti generalmente accettati dell'ingegneria del software come disciplina ingegneristica vengono specificati nella Guida all'ingegneria della conoscenza del software engineering (Software Engineering Body of Knowledge). SWEBOK è diventato uno standard accettato a livello internazionale ISO / IEC TR 19759: 2015.[26]

InformaticaModifica

L'informatica è l'approccio scientifico e pratico al calcolo ed alle sue applicazioni. Un informatico è specializzato nella teoria del calcolo e nella progettazione di sistemi computazionali.[27]

I suoi sottocampi so possono suddividere in tecniche pratiche per la sua implementazione ed applicazione in sistemi informatici ed aree puramente teoriche. Talune, come la teoria della complessità computazionale, che studia le proprietà fondamentali dei problemi computazionali, sono estremamente astratte, diversamente altre, come la computer grafica, enfatizzano le applicazioni del mondo reale. Altre ancora si concentrano in modo specifico su sfide nell'implementazione dei calcoli. Ad esempio, la teoria dei linguaggi di programmazione studia gli approcci alla descrizione dei calcoli, mentre lo studio della stessa programmazione studia diversi aspetti dell'uso di linguaggi di programmazione e sistemi complessi, l'interfaccia tra uomo e macchina si concentra specialmente sulle sfide nel rendere utili e utilizzabili computer e calcoli e universalmente accessibile agli umani.

Sistemi di informazioneModifica

"Sistemi Informativi (SI)" è lo studio delle reti complementari di hardware e di software (vedi tecnologia dell'informazione) che le persone e le organizzazioni utilizzano per raccogliere, filtrare, elaborare, creare e distribuire dati.[28][29][30][31][32]

Lo studio dei sistemi informativi collega il business all'informatica utilizzando le basi teoriche dell'informazione e del calcolo per studiare vari modelli di business ed i relativi processi algoritmici all'interno di una disciplina informatica.[33][34][35][36][37][38][39][40][41][42]

Computer Information System (s) (CIS)Modifica

Questo campo in particolare studia i computer ed i processi algoritmici, compresi i loro principi, i loro progetti di software e hardware, le loro applicazioni ed il loro impatto sulla società[43][44][45] mentre i sistemi informativi sottolineano la funzionalità rispetto al design.[46]

Tecnologia dell'informazioneModifica

Con tecnologia dell'informazione (IT) si definisce l'applicazione dei computer e delle apparecchiature di telecomunicazione per archiviare, recuperare, trasmettere o manipolare dati, spesso nel contesto di un'azienda o di un'altra impresa.[47] Il termine viene normalmente utilizzato come sinonimo di computer e di reti di computer, ma comprende anche altre tecnologie di distribuzione delle informazioni come televisione e telefoni. Numerose industrie sono associate alla tecnologia dell'informazione, come hardware, software, elettronica, industria deisemiconduttori, internet, industria delle telecomunicazioni, e-commerce ed altri servizi informatici.[48]

Amministrazione dei sistemiModifica

Un amministratore di sistema è quella persona impiegata a mantenere ed a gestire un sistema informatico o una rete. Le funzioni dell'amministratore di sistema sono di ampia portata e variano sostanzialmente tra un'organizzazione all'altra. Gli amministratori di sistema vengono normalmente incaricati di installare, del supportare e di fare manutenzione di un server o di altri sistemi informatici, nonché anche di pianificare e di rispondere a casi di interruzioni del servizio e ad altri problemi. Tra le varie funzioni si possono anche includere la creazione di script o la programmazione leggera ma anche la gestione di progetti relativi a progetti relativi ai sistemi, la supervisione e la formazione di operatori del settore informatico e la consulenza per problemi informatici al di là delle conoscenze del personale di supporto tecnico.

Ricerca e tecnologie emergentiModifica

La computazione basata sul DNA e l'informatica quantica sono due aree di ricerca sia nel campo dell'hardware che nel software (come lo sviluppo di algoritmi quantici). Le potenziali infrastrutture per le tecnologie future includono origami a DNA sulla fotolitografia[49] e antenne quantiche per il trasferimento di informazioni tra trappole ioniche.[50] Nel 2011, i ricercatori sono riusciti con successo aimpigliare 14 qubit.[51][52] I circuiti digitali veloci (compresi quelli basati su giunzioni Josephson e la tecnologia quantistica a flusso singolo rapido) stanno attualmente diventando pian piano realizzabili con la scoperta di superconduttori situati ad una scala nanometrica.[53]

I dispositivi di tipo fotonico ed a fibre ottiche, i quali vengono attualmente utilizzati per trasportare dati su lunghi tragitti, hanno iniziato ad essere utilizzati nei data center, in parallelo con CPU e componenti di memoria. Ciò consente la separazione della memoria RAM dalla CPU che possono essere unite mediante le connessioni ottiche.[54] IBM ha ideato e prodotto un circuito integrato con lo scopo di elaborare informazioni di tipo elettronico ed ottico in un unico chip. Questo viene attualmente indicato come "nanofotonica integrata con CMOS" o (CINP).[55] Un vantaggio delle interconnessioni ottiche è il fatto che le schede madri che in precedenza richiedevano un certo tipo di sistema su un chip (SoC) ora possono spostare i controller di memoria e di rete precedentemente dedicati dalle schede madri, diffondendo i controller sul rack. Ciò consente la standardizzazione delle interconnessioni backplane e delle schede madri per più tipi di SoC, il che consente aggiornamenti più tempestivi delle CPU.[56]

Un altro campo di ricerca moderno è la spintronica. La spintronica è un particolare campo nel quale si può fornire una sostanziale potenza di calcolo ed archiviazione, senza accumulo di calore.[57] Alcune ricerche vengono condotte su chip ibridi, che combinano fotonica e spintronica.[58][59]

Cloud computingModifica

Per cloud computing si intende un modello che consente l'utilizzo di risorse informatiche, come server o applicazioni, evitando l'interazione tra il proprietario di tali risorse e l'utente che le utilizza. In genere, questo viene offerto come servizio rendendolo un altro esempio di SaaS (Software come servizio), PaaS (Pitattaforme come servizio) e Iaas (Infrastrutture come servizio) a seconda di che funzionalità si offre. Le caratteristiche chiave includono l'accesso "on demand", un ampio accesso alla rete e buone capacità di ridimensionamento veloce.[60] Si parla anche del cloud computing per quanto riguarda il risparmio energetico. Consentire l'esecuzione di migliaia di istanze di calcolo su una singola macchina anziché su migliaia di singole macchine è considerato un buon modo di abbattere i consumi. Facilita inoltre il passaggio ad ennergie rinnovabili poiché sarebbe necessario alimentare solo una server farm con un set di pannelli solari o turbine eoliche invece di milioni di case separate.[61] Tuttavia, l'elaborazione da una posizione centralizzata ha le sue sfide. Uno dei principali è la sicurezza. Le aziende di cloud computing non hanno inoltre nessun obbligo a mostrare quali dati possiedono su di un determinato individuo, dove vengono conservati o come vengono utilizzati. Le leggi attuali non sono ancora attrezzate per gestire queste circostanze. In futuro, i legislatori di molti paesi dovranno spingere per regolare il cloud computing e proteggere la privacy degli utenti.[62] Il cloud computing è anche un ottimo modo per gli utenti individuali o per le piccole-medie imprese di beneficiare di economie di scala. Diversamente da quanto detto prima, attualmente l'infrastruttura di cloud computing è troppo sottosviluppata per avvantaggiare la comunità scientifica, nel giro di pochi anni di sviluppo potrebbe anche essere utilizzata per aiutare i gruppi di ricerca più piccoli a ottenere la potenza di calcolo di cui hanno bisogno per rispondere a innumerevoli domande del mondo.[63]

Informatica quantisticaModifica

L'informatica quantistica è un'area di ricerca che riunisce le discipline dell'informatica, dell'IT e della fisica quantistica. L'idea alla base è che l'informazione sia un elemento fondamentale nella fisica è relativamente nuova, ma al momento pare si possa creare un forte legame tra la teoria dell'informazione e la meccanica quantistica.[64] Diversamente dal calcolo tradizionale che opera su un sistema binario di uno e zeri, il calcolo quantistico utilizza i qubit. I Qubit si possono trovare in uno stato di sovrapposizione, il che significa che si trovano contemporaneamente in ambedue gli stati, uno e zero. Ciò significa che il qubit non è compreso tra 1 e 0, ma in realtà il valore del qubit cambia a seconda di quando viene misurato. Questa caratteristica dei qubit viene chiamata in termini tecnici entanglement quantistico ed è l'idea alla base del calcolo quantico ed è ciò che consente ai computer quantistici di eseguire calcoli con equazioni su larga scala.[65] Il calcolo quantistico si utilizza per la ricerca scientifica nella quale un normale computer non avrebbe una potenza di calcolo sufficiente ad eseguire i calcoli necessari. Un buon esempio potrebbe essere la modellistica molecolare. Le molecole di grandi dimensioni sono troppo complesse per i computer moderni per calcolare cosa succede loro durante una reazione, ma la potenza dei computer quantistici può potenzialmente aiutare a spalancare le porte per comprendere ulteriormente queste molecole.

NoteModifica

  1. ^ Curricula Recommendations, Association for Computing Machinery, 2005. URL consultato il 30 novembre 2012.
  2. ^ vol. 132, Bibcode:1931RSPSA.132..295W, DOI:10.1098/rspa.1931.0102.
  3. ^ Thomas H. Lee, The Design of CMOS Radio-Frequency Integrated Circuits (PDF), Cambridge University Press, 2003, ISBN 9781139643771.
  4. ^ Robert Puers, Livio Baldi e Marcel Van de Voorde, Nanoelectronics: Materials, Devices, Applications, 2 Volumes, John Wiley & Sons, 2017, p. 14, ISBN 9783527340538.
  5. ^ 2ª ed., 1998.
  6. ^ Sanford L. Moskowitz, Advanced Materials Innovation: Managing Global Technology in the 21st century, John Wiley & Sons, 2016, pp. 165–167, ISBN 9780470508923.
  7. ^ 1960 - Metal Oxide Semiconductor (MOS) Transistor Demonstrated, in The Silicon Engine, Computer History Museum.
  8. ^ Bo Lojek, History of Semiconductor Engineering, Springer Science & Business Media, 2007, pp. 321–3, ISBN 9783540342588.
  9. ^ Who Invented the Transistor?, su Computer History Museum, 4 December 2013. URL consultato il 20 July 2019.
  10. ^ William C. Hittinger, Metal-Oxide-Semiconductor Technology, in Scientific American, vol. 229, n. 2, 1973, pp. 48–59, Bibcode:1973SciAm.229b..48H, DOI:10.1038/scientificamerican0873-48, ISSN 0036-8733 (WC · ACNP).
  11. ^ Jerry G. Fossum e Vishal P. Trivedi, Fundamentals of Ultra-Thin-Body MOSFETs and FinFETs, Cambridge University Press, 2013, p. vii, ISBN 9781107434493.
  12. ^ Howard V. Malmstadt, Christie G. Enke e Stanley R. Crouch, Making the Right Connections: Microcomputers and Electronic Instrumentation, American Chemical Society, 1994, p. 389, ISBN 9780841228610.
    «The relative simplicity and low power requirements of MOSFETs have fostered today's microcomputer revolution.».
  13. ^ Up Technology | Up Coming Technology, su uptechnology10.blogspot.com. URL consultato il 6 giugno 2019.
  14. ^ Wordreference.com: WordNet 2.0, Princeton University, Princeton, NJ. URL consultato il 19 agosto 2007.
  15. ^ Margaret Rouse, system software, su WhatIs.com, TechTarget, March 2019.
  16. ^ Computer network definition, su atis.org. URL consultato il 12 novembre 2011 (archiviato dall'url originale il 21 gennaio 2012).
  17. ^ https://news.codecademy.com/5-skills-developers-need-beyond-writing-code/
  18. ^ IEEE Computer Society e ACM, Computer Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering (PDF), 12 December 2004, p. iii.
    «Computer System engineering has traditionally been viewed as a combination ofboth electronic engineering (EE) and computer science (CS).».
  19. ^ Trinity College Dublin, What is Computer System Engineering, su tcd.ie. URL consultato il 21 aprile 2006., "Computer engineers need not only to understand how computer systems themselves work, but also how they integrate into the larger picture. Consider the car. A modern car contains many separate computer systems for controlling such things as the engine timing, the brakes and the air bags. To be able to design and implement such a car, the computer engineer needs a broad theoretical understanding of all these various subsystems & how they interact.
  20. ^ Alain Abran, James W. Moore e Pierre Bourque, Guide to the Software Engineering Body of Knowledge, IEEE, 2004, p. 1, ISBN 978-0-7695-2330-9.
  21. ^ ACM, Computing Degrees & Careers, ACM, 2006. URL consultato il 23 novembre 2010 (archiviato dall'url originale il 17 giugno 2011).
  22. ^ Phillip Laplante, What Every Engineer Should Know about Software Engineering, Boca Raton, CRC, 2007, ISBN 978-0-8493-7228-5.
  23. ^ Ian Sommerville, Software Engineering, 7ª ed., Pearson Education, 2008, p. 26, ISBN 978-81-7758-530-8.
  24. ^ http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1968.PDF.
  25. ^ Brian Randell, The 1968/69 NATO Software Engineering Reports, su Brian Randell's University Homepage, The School of the Computer Sciences, Newcastle University, 10 August 2001. URL consultato l'11 ottobre 2008.
    «The idea for the first NATO Software Engineering Conference, and in particular that of adopting the then practically unknown term "software engineering" as its (deliberately provocative) title, I believe came originally from Professor Fritz Bauer.
  26. ^ Software Engineering -- Guide to the software engineering body of knowledge (SWEBOK), International Organization for Standardization. URL consultato il 21 May 2019.
  27. ^ WordNet Search - 3.1, Wordnetweb.princeton.edu. URL consultato il 14 maggio 2012.
  28. ^ Definition of Application Landscape, Software Engineering for Business Information Systems (sebis), Jan 21, 2009. URL consultato il January 14, 2011 (archiviato dall'url originale il March 5, 2011).
  29. ^ J.A. Archibald, Computer Science education for majors of other disciplines, in AFIPS Joint Computer Conferences, May 1975, pp. 903–906.
    «Computer science spreads out over several related disciplines, and shares with these disciplines certain sub-disciplines that traditionally have been located exclusively in the more conventional disciplines».
  30. ^ Peter Denning, COMPUTER SCIENCE: THE DISCIPLINE, in Encyclopaedia of Computer Science (2000 Edition), July 1999.
    «The Domain of Computer Science: Even though computer science addresses both human-made and natural information processes, the main effort in the discipline has been directed toward human-made processes, especially information processing systems and machines».
  31. ^ Wolfgang Coy, Between the disciplines, in ACM SIGCSE Bulletin, vol. 36, n. 2, June 2004, pp. 7–10, DOI:10.1145/1024338.1024340, ISSN 0097-8418 (WC · ACNP).
    «Computer science may be in the core of these processes. The actual question is not to ignore disciplinary boundaries with its methodological differences but to open the disciplines for collaborative work. We must learn to build bridges, not to start in the gap between disciplines».
  32. ^ Leonard M. Jessup e Joseph S. Valacich, Information Systems Today, 3rdª ed., Pearson Publishing, 2008, pp. –, 416.
  33. ^ Ken Hoganson, Alternative curriculum models for integrating computer science and information systems analysis, recommendations, pitfalls, opportunities, accreditations, and trends, in Journal of Computing Sciences in Colleges, vol. 17, n. 2, December 2001, pp. 313–325, ISSN 1937-4771 (WC · ACNP).
    «Information Systems grew out of the need to bridge the gap between business management and computer science...».
  34. ^ Timothy Davis, Robert Geist e Sarah Matzko, τ'εχνη: A First Step, in Technical Symposium on Computer Science Education, March 2004, pp. 125–129, ISBN 1-58113-798-2.
    «In 1999, Clemson University established a (graduate) degree program that bridges the arts and the sciences... All students in the program are required to complete graduate level work in both the arts and computer science».
  35. ^ Ken Hoganson, Alternative curriculum models for integrating computer science and information systems analysis, recommendations, pitfalls, opportunities, accreditations, and trends, in Journal of Computing Sciences in Colleges, vol. 17, n. 2, December 2001, pp. 313–325, ISSN 1937-4771 (WC · ACNP).
    «The field of information systems as a separate discipline is relatively new and is undergoing continuous change as technology evolves and the field matures».
  36. ^ Deepak Khazanchi e Bjorn Erik Munkvold, Is information system a science? an inquiry into the nature of the information systems discipline, in ACM SIGMIS Database, vol. 31, n. 3, Summer 2000, pp. 24–42, DOI:10.1145/381823.381834, ISSN 0095-0033 (WC · ACNP).
    «From this we have concluded that IS is a science, i.e., a scientific discipline in contrast to purportedly non-scientific fields».
  37. ^ Peter Denning, Ubiquity a new interview with Peter Denning on the great principles of computing, vol. 2007, June, June 2007, p. 1.
    «People from other fields are saying they have discovered information processes in their deepest structures and that collaboration with computing is essential to them.».
  38. ^ Computer science is the study of information, Gutenberg Information Technologies (archiviato dall'url originale il May 29, 2009).
  39. ^ Computer Science Department, College of Saint Benedict, Computer science is the study of computation, su csbsju.edu. URL consultato il 24 giugno 2013 (archiviato dall'url originale il 3 febbraio 2007).
  40. ^ 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, su Massey University (archiviato dall'url originale il 19 giugno 2006).
  41. ^ Sue Kelly, Nicola Gibson e Christopher Holland, Focus Issue on Legacy Information Systems and Business Process Engineering: a Business Perspective of Legacy Information Systems, in Communications of the AIS, vol. 2, n. 7, July 1999, pp. 1–27.
  42. ^ Pearson Custom Publishing & West Chester University, Custom Program for Computer Information Systems (CSC 110), Pearson Custom Publishing, 2009, p. 694.
  43. ^ Jennifer Polack, Planning a CIS Education Within a CS Framework, in Journal of Computing Sciences in Colleges, vol. 25, n. 2, December 2009, pp. 100–106, ISSN 1937-4771 (WC · ACNP).
  44. ^ Helen Hayes e Onkar Sharma, A decade of experience with a common first year program for computer science, information systems and information technology majors, in Journal of Computing Sciences in Colleges, vol. 18, n. 3, February 2003, pp. 217–227, ISSN 1937-4771 (WC · ACNP).
    «In 1988, a degree program in Computer Information Systems (CIS) was launched with the objective of providing an option for students who were less inclined to become programmers and were more interested in learning to design, develop, and implement Information Systems, and solve business problems using the systems approach».
  45. ^ CSTA Committee e Allen Tucker, A Model Curriculum for K-12 Computer Science (Final Report), Association for Computing Machinery, Inc, 2006, pp. 0, 2.
  46. ^ Peter Freeman e David Hart, A Science of Design for Software-Intensive Systems, in Communications of the ACM, vol. 47, n. 8, August 2004, pp. 19–21, DOI:10.1145/1012037.1012054, ISSN 0001-0782 (WC · ACNP).
    «Computer science and engineering needs an intellectually rigorous, analytical, teachable design process to ensure development of systems we all can live with... Though the other components' connections to the software and their role in the overall design of the system are critical, the core consideration for a software-intensive system is the software itself, and other approaches to systematizing design have yet to solve the "software problem"—which won't be solved until software design is understood scientifically.».
  47. ^ Free on-line dictionary of computing (FOLDOC), su foldoc.org. URL consultato il 9 febbraio 2013 (archiviato dall'url originale il 15 April 2013).
  48. ^ On the later more broad application of the term IT, Keary comments- "In its original application 'information technology' was appropriate to describe the convergence of technologies with application in the broad field of data storage, retrieval, processing, and dissemination. This useful conceptual term has since been converted to what purports to be concrete use, but without the reinforcement of definition...the term IT lacks substance when applied to the name of any function, discipline, or position." Anthony Ralston, Encyclopedia of computer science, Nature Pub. Group, 2000, ISBN 978-1-56159-248-7..
  49. ^ Ryan J. Kershner, Luisa D. Bozano, Christine M. Micheel, Albert M. Hung, Ann R. Fornof, Jennifer N. Cha, Charles T. Rettner, Marco Bersani, Jane Frommer, Paul W. K. Rothemund & Gregory M. Wallraff (16 August 2009) "Placement and orientation of individual DNA shapes on lithographically patterned surfaces" Nature Nanotechnology publication information, supplementary information: DNA origami on photolithography DOI10.1038/nnano.2009.220
  50. ^ M. Harlander, R. Lechner, M. Brownnutt, R. Blatt, W. Hänsel. Trapped-ion antennae for the transmission of quantum information. Nature, 2011; DOI10.1038/nature09800
  51. ^ Thomas Monz, Philipp Schindler, Julio T. Barreiro, Michael Chwalla, Daniel Nigg, William A. Coish, Maximilian Harlander, Wolfgang Hänse, Markus Hennrich, and Rainer Blatt, (31 March 2011) "14-Qubit Entanglement: Creation and Coherence" Phys. Rev. Lett. 106 13 http://link.aps.org/doi/10.1103/PhysRevLett.106.130506 DOI10.1103/PhysRevLett.106.130506
  52. ^ World record: Calculations with 14 quantum bits, su nanowerk.com.
  53. ^ Saw-Wai Hla et al., Nature Nanotechnology March 31, 2010 "World's smallest superconductor discovered" Archiviato il 28 maggio 2010 in Internet Archive.. Four pairs of certain molecules have been shown to form a nanoscale superconductor, at a dimension of 0.87 nanometers. Access date 2010-03-31
  54. ^ Tom Simonite, "Computing at the speed of light", Technology Review Wed., August 4, 2010 MIT
  55. ^ Sebastian Anthony (Dec 10,2012), "IBM creates first commercially viable silicon nanophotonic chip", accessdate=2012-12-10
  56. ^ Open Compute: Does the data center have an open future? accessdate=2013-08-11
  57. ^ Putting electronics in a spin
  58. ^ Merging spintronics with photonics (PDF), su spice.uni-mainz.de. URL consultato il 19 dicembre 2019 (archiviato dall'url originale il 6 settembre 2019).
  59. ^ Integrating all-optical switching with spintronics
  60. ^ The NIST Definition of Cloud Computing (PDF), in U.S. Department of Commerce, September 2011.
  61. ^ A. Berl, E. Gelenbe e M. Di Girolamo, Energy-Efficient Cloud Computing, in The Computer Journal, vol. 53, n. 7, September 2010, pp. 1045–1051, DOI:10.1093/comjnl/bxp080, ISSN 1460-2067 (WC · ACNP).
  62. ^ L. M. Kaufman, Data Security in the World of Cloud Computing, in IEEE Security Privacy, vol. 7, n. 4, July 2009, pp. 61–64, DOI:10.1109/MSP.2009.87, ISSN 1558-4046 (WC · ACNP).
  63. ^ A. Iosup, S. Ostermann e M. N. Yigitbasi, Performance Analysis of Cloud Computing Services for Many-Tasks Scientific Computing, in IEEE Transactions on Parallel and Distributed Systems, vol. 22, n. 6, June 2011, pp. 931–945, DOI:10.1109/TPDS.2011.66, ISSN 2161-9883 (WC · ACNP).
  64. ^ (EN) Andrew Steane, Quantum computing, in Reports on Progress in Physics, vol. 61, n. 2, 1º febbraio 1998, pp. 117–173, DOI:10.1088/0034-4885/61/2/002, ISSN 0034-4885 (WC · ACNP).
  65. ^ Ryszard Horodecki, Paweł Horodecki e Michał Horodecki, Quantum entanglement, in Reviews of Modern Physics, vol. 81, n. 2, 17 giugno 2009, pp. 865–942, DOI:10.1103/RevModPhys.81.865.

Voci correlateModifica