Ingegneria Informatica , o semplicemente ” informatica “, è un formale , studio accademico di informazioni , dati , informatica , automazione e meccanica . Nel 1997 , la Computer Sciences Accreditation Board ( CSAB ) ha chiarito l’informatica come un insieme di quattro discipline : algoritmi e strutture dati , teoria computazionale , l’architettura del computer , e linguaggi di programmazione . Mentre i professionisti di informatica trattano una vasta gamma di argomenti di calcolo , sono tutti in ultima analisi, riguardano la gestione delle informazioni attraverso un processo meccanico e computazionale . Come affermato da Peter Denning nel suo articolo , “Computer Science : La disciplina , ” la preoccupazione principale di Ingegneria Informatica è dunque , ” Che cosa può essere ( efficacemente ) automatizzato ? ” Storia di Ingegneria Informatica

I precursori , calcolatori digitali moderni risalgono fino a 1623 calcolatrice di Wilhelm Schickard . Elaborazione digitale e lo studio accademico di computer e di ingegneria informatica , tuttavia , sono fenomeni relativamente recenti , con radici che risale solo al 1940 . Come i computer digitali sono diventati una realtà attraverso 1950 ci si rese conto che i computer possono simulare ambienti che consentono la modellazione , analisi, e anche l’interazione meccanica – ad esempio attraverso la robotica – che sostituiscono il calcolo da solo . Formalizzare lo studio dei computer , e la pratica di prototipazione e loro costruzione , è diventato un fondamento essenziale per la rivoluzione informatica digitale .

Algoritmi e Strutture Dati

L’Istituto Nazionale di Standard e Tecnologia definisce un algoritmo come ” un insieme calcolabile di passi ( necessario) per ottenere un risultato desiderato . ” Mentre un algoritmo può essere progettato per una persona , come le indicazioni necessarie per viaggiare da un luogo all’altro , sono particolarmente utili per i computer perché possono essere computazionalmente elaborati . Inoltre , utilizzando un algoritmo richiede spesso si tratta di informazioni esterne , a tali indirizzi stradali . Per un computer , le informazioni devono essere trasformata in un formato processabile noto in informatica come ” dati “. Per fare questo , l’informazione è organizzata in ” strutture di dati “.

Computazionale Teoria

La teoria di offerte di calcolo con le domande : “Che cosa può essere calcolato ? ” e “Come efficacemente può essere calcolato qualcosa ? ” Alan Turing è considerato il ” padre” della teoria computazionale e informatica moderna a causa dei suoi influenti intuizioni in queste domande . Teoria computazionale è importante per l’informatica perché alcuni problemi sono semplicemente al di là della capacità di una macchina per elaborare , o processo in modo efficiente . Come tali , le offerte di questa disciplina molto di logica , matematica e filosofia .

Computer Architecture

I componenti , il design , e mezzi di costruzione di un computer sono tutte le questioni affrontate dalla scienza di architettura del computer . L’architettura di un computer è importante come un computer elaborerà le informazioni e come potrebbe essere programmato per farlo . In sostanza , si occupa di architettura di computer con l’efficienza e l’utilizzo di hardware , come i microprocessori , ed è molto di ingegneria orientata di conseguenza .

Linguaggi di Programmazione

Un linguaggio di programmazione è un linguaggio utilizzato per fornire istruzioni a un computer . Lo studio di software e linguaggi di programmazione è spesso definito come ” ingegneria del software . ” Spesso si tratta di questioni di efficienza programmatica sia per l’architettura di un computer , così come i programmatori che sarà poi usare la lingua . I linguaggi di programmazione che interagiscono con l’architettura di un computer sono noti come ” linguaggi di basso livello . ” Altri linguaggi di programmazione possono utilizzare un compilatore o un interprete – Software che interagisce con l’architettura per il programmatore – e sono noti come ” linguaggi di alto livello . ” I primi tendono ad essere molto efficiente , architettonicamente , ma può essere difficile e richiede tempo per un programmatore di utilizzare .