Competenze utili da una laurea in informatica

4

Mi sono laureato in fisica e successivamente mi sono trasferito in programmazione. Ho due anni e mezzo di esperienza alle spalle e mi piace pensare di scrivere un buon codice. Tuttavia, sono preoccupato che il fatto di non aver conseguito un diploma in matematica abbia lasciato buchi nelle mie conoscenze. Vorrei riempire quelli adesso perché so che voglio fare programmazione per il resto della mia carriera.

Quali abilità / tecniche hai appreso nel tuo curriculum che non verrebbero prese dalla programmazione sul posto di lavoro?

    
posta Tom Squires 08.07.2011 - 14:59
fonte

8 risposte

7

In tutta onestà, ho avuto esperienza nel mio programma di computer science nella misura in cui un paio di istruttori universitari mi controllerebbero per assicurarsi che insegnassero correttamente la lingua. C'erano alcune cose matematiche che ho imparato che trovo remotamente utili nelle cose di tutti i giorni, ma a meno che tu non intenda specializzarti in una direzione di programmazione intensa, non otterrai molto. Anche al di là di questo, per specializzarsi in un diploma post laurea con enfasi in quella disciplina è spesso il percorso preferito.

Penso che le cose più utili che ho ottenuto dal mio corso di laurea in informatica siano state alcune istruzioni avanzate in Algebra booleana , analisi di algoritmi e teoria degli automi. Sono tutte cose che raccoglierete sul lavoro, ma trovo utile in alcune delle situazioni più complesse essere in grado di identificare un particolare problema matematicamente o attraverso un diagramma di stato corretto. Anche l'analisi degli algoritmi è stata utile perché abbiamo appreso i pro ei contro di vari metodi di ordinamento, ricerca e filtro.

Vi sono state alcune classi di strutture dati che ho trovato utili, ma in tutta la realtà dovresti assolutamente raccogliere tutte queste informazioni sul lavoro da un supervisore, un peer o un mentore. Nella maggior parte dei casi, la laurea in informatica è solo un pezzo di carta costoso che ti porta attraverso la porta delle risorse umane. Per quanto riguarda il diventare un programmatore migliore, questa è tutta esperienza correlata. Tutto cambia così rapidamente che il grado stesso è abbastanza superfluo.

    
risposta data 08.07.2011 - 15:09
fonte
6

Un modo di pensare analitico. Mi ha insegnato a pensare di più sulla soluzione dei problemi e sulla scoperta di soluzioni rispetto alla scrittura di app java. In realtà, direi che la parte più debole del programma CS che ho affrontato è stata la parte di ingegneria del software, la collaborazione, i test, ecc. La parte più importante del programma è stata rendere l'apprendimento delle nuove tecnologie semplice poiché si concentra sull'apprendimento del processo di pensiero non imparare la tecnologia.

Provenendo da Fisica probabilmente avrai una comprensione migliore delle cose rispetto a, diciamo, una maggiore di letteratura inglese. Non sono sicuro dei vantaggi specifici che otterrai.

    
risposta data 08.07.2011 - 15:08
fonte
4

Ho fatto una laurea in CS mentre cercavo di fare ombra alla fisica ... maledizione, calcoli vettoriali !! : -)

Penso che tu possa "raccogliere" un sacco di cose mentre vai. Le cose che I non avrebbero potuto uscire e imparare comprendono:

  • moduli normali del database
  • query avanzata
  • lambda calcolo
  • alcune strutture dati avanzate, anche se probabilmente non le reinventerò mai da zero
  • macchine a stati finiti
  • join demoniaci e altri rapporti relazionali avanzati algebra
  • teoria del linguaggio formale
  • ricorsione, forme diverse, perché / quando usare ciascuna
  • funzione di curriculum
  • stile di programmazione funzionale
  • analisi della relazione dati

... ma quello sono io ... Non ho mai smesso di pensare, in profondità, al design e alle relazioni nel mio software. Penso che forse l'avrei sviluppato sul lavoro attraverso l'esposizione a un buon codice, ma forse no.

Spero che questo aiuti.

    
risposta data 08.07.2011 - 15:12
fonte
4

Penso che con 2 anni di programmazione e uno sfondo in fisica starai bene!

La fisica ti ha dato un paio delle abilità più importanti che gli studenti di informatica possono ottenere, Problem Solving e Attenzione ai dettagli.

Hai superato la tua gobba di 2 anni di esperienza, quindi non sarei preoccupato, puoi sempre essere meno importante se hai dubbi o se vuoi diventare un esperto in Ingegneria del software se sei audace!

Abbiamo un dipendente che ha i suoi Bachelor in Chimica e un minore in Informatica!

    
risposta data 08.07.2011 - 15:30
fonte
1

Sono passati anni da quando mi sono laureato. Tuttavia alcune cose che tornano utili di volta in volta:

  • Comprensione del funzionamento dei computer e della storia dell'informatica.
  • Comprensione del modo in cui le lingue funzionano e vengono compilate.
  • Una comprensione della logica (migliorata dal mio corso logico dal dipartimento di filosofia).
  • Una comprensione dei punti di forza e di debolezza delle varie lingue. (Non ho ancora visto una lingua adatta a tutti i compiti.)

La mia migliore istruzione era prima di entrare nel mio corso di laurea. Ho fatto alcuni corsi brevi (da 1 a 3 ore). Questi mi hanno fatto conoscere un codice ben scritto e ben strutturato e un paio di lingue. (In un caso un'introduzione migliore rispetto al corso universitario corrispondente). Ho anche imparato a capire rapidamente una nuova lingua.

La Canadian Processing Society sta aggiornando il suo Common Body of Knowledge . Esso e altri documenti simili ( IEEE , Australia e Gran Bretagna ) possono aiutarti a valutare le tue conoscenze.

    
risposta data 08.07.2011 - 15:23
fonte
1

Ai miei occhi ci sono alcune cose che rendono uno scienziato informatico:

  1. Pensiero logico / ragionevole / Matematico / scientifico / tecnico.
  2. Abilità di programmazione
  3. CS Conoscenza, cioè teorica (es. macchine di Turing, teoria della complessità), matematica (es. teoria dei gruppi, algebra, analisi, statistica) e tecnica (es. transistor, adder, cpu) e almeno un campo specifico cs (come la tecnologia dei database , crittografia, ...).

La maggior parte delle persone che provengono da qualche altra parte, ne manca alcune. Non è importante averli tutti, puoi essere un buon programmatore quando hai competenze di programmazione. La maggior parte dei programmatori (e non degli informatici) ha solo buone conoscenze di programmazione e conoscenza in un campo specifico. Questo non deve essere cattivo ed è sufficiente per essere un buon programmatore, ma questo non ti rende un buon scienziato informatico. Spesso quando vedo queste persone sono buone, l'inferno quando hanno abbastanza esperienza, possono insegnarmi nel loro campo specifico, ma quando arriva al punto in cui hanno bisogno di alcune delle altre conoscenze, ad es. perché devono elaborare un algoritmo per un determinato problema, a volte le soluzioni sono davvero, a dir poco, divertenti. Inoltre, spesso non valutano l'impatto dei loro algoritmi o inventano la ruota (perché non hanno sentito Algoritmi 101).

Manca il pensiero e la comprensione non molto, dato che molti cs- stranieri hanno ancora background tecnico / scientifico (fisica, ingegnere, ...).

    
risposta data 08.07.2011 - 19:38
fonte
1

Capisco perché potresti sentirti in questo modo. Sono sicuro che hai imparato molto da solo nei due anni e mezzo in cui hai lavorato, ma sono anche dell'opinione che un laurea in informatica si rivela utile in più di un modo. Per i principianti, avere una qualifica professionale, o in questo caso, una laurea in informatica, da un'istituzione accreditata fa molto per garantire migliori posti di lavoro in futuro, ma copre anche le più sottili sfumature del campo che altrimenti potresti trascurare o non trovare importante. Una laurea in informatica non ti insegna solo su programmazione, database e reti ma ti insegna anche sui principi di imprenditorialità e gestione. Oggigiorno, infatti, le università hanno iniziato a fornire programmi adatti ai tuoi interessi e alle tue esigenze in modo da poter scegliere l'area dell'informatica che ti piace di più e concentrarti su ciò.

    
risposta data 22.02.2012 - 05:55
fonte
0

È stata la mia esperienza nel lavorare con un certo numero di laureati in ingegneria di tipo sia che hanno difficoltà a apprezzare / creare un buon design modulare. Non sono sicuro che sia perché il loro interesse non è nel software, quindi non importa loro o se non hanno ricevuto l'istruzione per farlo.

    
risposta data 08.07.2011 - 19:03
fonte

Leggi altre domande sui tag