La disciplina più precisamente chiamata "Informatica" è, nella maggior parte delle università che ho controllato, una scienza applicata, simile alle discipline ingegneristiche; se sei importante, ricevi un "BS" o "MS". La laurea in Texas Tech CS è stata offerta dal college di ingegneria. La disciplina, come insegnata, è per lo più teorica; impari il concetto di macchine di Turing, DA / NDA e altri concetti fondamentali secondo cui il programmatore "quotidiano" non deve davvero continuare a scuotere il cranio. Ottieni anche un pantload di matematica superiore; il Texas Tech CS laurea, e scommetterò anche molti altri, praticamente ti passa un minorenne di matematica per seguirlo. A ciò, la maggior parte delle tracce di laurea universitarie aggiungono un forte trattino di pratica applicazione di basso livello; impari un linguaggio assembly, un linguaggio di terza generazione,
Tuttavia, la maggior parte delle persone che programmano per vivere non sono "informatici"; sono, in senso stretto, "sviluppatori di software" o (quando si aggiunge in analisi / progettazione) "ingegneri del software"; quel lavoro è molto meno a livello di hardware (anche se devi conoscerne le basi), molta più analisi dei sistemi, progettazione e programmazione diretta. Molte università hanno una traccia diversa proprio per quello; alla Texas Tech si chiamava "Gestione dei sistemi di informazione" ed era laureata in economia aziendale (BBA / MBA). Quella traccia era più leggera in matematica superiore (ciò che dovevi sapere sull'algebra e sul calcolo differenziale / integrale è stato compresso in due semestri di "matematica aziendale" e non includeva il calcolo vettore / tensore, l'algebra lineare, ecc.), Molto più pesante su matematica finanziaria (un semestre ciascuno di statistiche e finanza, con due ciascuno di contabilità ed economia). Più leggero sui sistemi operativi, più pesante su tecnologie "stack" come database, web server, reti e amministrazione generale dei sistemi. Più leggero su linguaggi di basso livello, progettazione di circuiti e AI, più pesante su linguaggi di terza e quarta generazione, analisi dei sistemi e gestione del progetto. Mi sono laureato in Texas Tech e quando me ne sono andato avevo avuto almeno un semestre ciascuno di Java, VB, C # e linguaggi web (HTML / CSS / PHP), oltre a un anno di OOA & D e vari altri corsi nella gestione dei progetti IT.
Qual è la cosa migliore nel mondo reale? Ho ottenuto il MIS BBA, mio fratello ha ottenuto il CS BS e siamo entrambi impiegati allo stesso livello di stipendio (adattamento al costo della vita) degli ingegneri software senior. Ha dovuto imparare molte delle OOA e D necessarie sul lavoro, oltre a girare abbastanza rapidamente in C # / Java dalle sue conoscenze di base in C ++. Da parte mia, vorrei avere i due semestri di studio concettuale dell'algoritmo che ha avuto mentre ero bloccato in corsi di gestione aziendale (sì, MIS è un grado di "Gestione", ma ho scoperto che il 99% della mia conoscenza di come gestire e non gestire altre persone è stato appreso con l'esempio).