Newsgroup: it.comp.programmare
Titolo: Informatica/Ingegneria Informatica [was Illuminatemi sulla programmazione]

Solo una piccola provocazione :
Premetto che ho frequentato il primo anno di ingegneria informatica a 
Milano, che il mio migliore amico frequenta il quinto anno di ingegneria 
informatica a Milano, e io sono iscritto al quarto anno di informatica a 
Milano. Diciamo che ho un po' il quadro di come viene concepito 
l'insegnamento dell'informatica in quel di Milano. La conclusione che ne 
traggo, e che se uno ha veramente intezione di imparare a "programmare"(*) 
deve studiare tutto da solo, cercando, dove e' possibile, di utilizzare i 
professori per eventuali chiarimenti, e sfruttare gli esami universitari 
come certificazioni ufficiali della propria conoscenza.
Vi elenchero' quelli che secondo me sono i problemi attuali :
- La concezione dell'informatico si e' feramata agli anni '70 : 
l'informatico, a livello didattico viene visto come un matematico mancato.
- Si studia la matematica sbagliata : si e' piu' orientati verso una 
matematica analitica, piuttosto che verso una matematica di elaborazione 
simbolica. L'informatico deve modellare l'informazione, creare 
l'architettura risolutiva, e mappare la valenza semantica dell'architettura 
individuata, nella valenza semantica di un lingaggio formale. Quindi piu' 
logica, piu' elaborazione simbolica, piu' sintassi->semantica, e meno 
fisica e matematica (lasciamola ai fisici e ai matematici)
- Il compito sopra descritto, e' difficilmente formalizzabile, infatti non 
esistono metodi, leggi, per fare nel modo "giusto" il lavoro di cui sopra, 
infatti le persone che ci riescono, ci riescono grazie alla loro 
esperienza. Ci sono poche teorie (che andrebbero approfondite dagli 
informatici) e molta pratica; visto che i docenti universitari nella 
maggior parte dei casi sono tutta teoria e niente pratica, li vedo poco 
adatti. Come fa uno a spiegarti come si fa a non farsi saltare fra le mani 
un progetto di >100K linee di codice, se non ne ha mai realizzato uno? Chi 
ha studiato come fare a realizzarne uno dal punto di vista teorico, e poi 
ha provato a realizzarlo davvero, sapra' che fra il dire e il fare ...
- Il problema piu' grave, e' che non si applica quello che si studia : 
lasciamo per buone le materie scientifiche che attualmente si studiano, ma 
almeno applichiamo quello che si studia!!! 
Statistica : 
IO : Bello! Tutte le distribuzioni del mondo... e poi? Le applicazioni? Ora 
faremo un po' di Data Mining...?
LORO : No
IO : Algoritmi montecarlo...?
LORO : No
IO : Teoria dei giochi...?
LORO : No, quando studierai queste applicazioni (????), avrai le basi per 
farlo
IO : Si, quando saro' uscito, dato che ho fatto tutta teoria e niente 
pratica, dovro effettivamente impare il lavoro che non mi avete insegnato; 
e dopo quei comodi 12 anni, potro' studiare le applicazioni pratiche di 
quello che ho studiato 12 anni prima e di cui non mi ricordero' piu' una 
mazza!
- Esempio finale di vita vissuta , corso di Linguaggi e traduttori, 
informatica, Milano :
Dopo sei mesi passati a studiare teorie dei linguaggi formali, 
classificazioni, automi a stati finiti, equivalenze, teoremi, ecc...
veniamo al progetto;
IO : Eh vai!!! :-))))) Appichiamo quello che abbiamo studiato!
PROF : Il progetto dovra' essere obbligatoriamente fatto utilizzanto FLEX e 
BISON (???????????????????????)
No, ragazzi, stiamo scherzando? Io mi sono sparato sei mesi di tutto quello 
che ho detto prima, per utilizzare qualcosa che gia' stavo utilizzando da 
anni? Se lo scopo pratico del corso si riduce a questo, siamo veramente 
sicuri che fosse necessario tutto quel bordello? Non venitemi a dire che un 
giorno potra' serivirmi, perche' se non avessi fatto il progetto di testa 
mia, non utilizzando FLEX e BISON, facendo inca@@are oltremodo il prof, non 
avrei ricavato niente dal corso, la cui teoria sarebbe andata persa nel 
giro di qualche mese (per non dire meno)
(*) programmare (attualmente) per me vuol dire modellare l'informazione del 
dominio del problema, per individuare la soluzione del problema stesso, e 
descrivere questa soluzione in un linguaggio formale (linguaggio di 
programmazione)
Scusate lo sfogo! Buona pasqua!
-- 
{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}-{}
SunGray aka Gabriele Lana
contact me @ sungray@tiscalinet
See you space cowboy ...

 Vi elenchero' quelli che secondo me sono i problemi attuali :
<superzap>
Rimango convinto che l'universita' (e la scuola in generale) non ti
forniscono informazioni reali sul mondo del lavoro, soprattutto in un
campo in rapido movimento come l'elettronica e l'informatica, e l'unico
vantaggio e' che "sai imparare".
Davide

 hummm...
C'e' scritto "ho frequentato", prima di frequentare il quarto anno devi 
essere stato perlomeno iscritto al primo, non necessariamente della stessa 
universita'/facolta' :-)
Bye


 Scusate lo sfogo! Buona pasqua!
Buona Pasqua anche a te.
Ciao, Davide.


Quasi vi invidio, a informatica ci sono ben due esami sull'argomento:
Informatica teorica, che nonostante il nome e' anche interessante
Linguaggi di programmazione, in cui si mette in pratica cio' che si e'
studiato nell'esame precedente.
Comunque vorrei rispondere a coloro che sostengono che la programmazione
la si impara solo da soli con ore (possibilmente notturne perche' fa piu'
effetto) passate davanti ad uno schermo: chiunque puo' con un buon manuale
puo' imparare un linguaggio di programmazione, ma la teoria e' cmq
importantissima, come faccio a programmare nell'ambito della sicurezza se
non conosco la teoria che ci sta dietro? e un compilatore? peggio che
peggio.
Sicuramente l'universita' non e' che ti faccia diventare un mago ma non e'
vero come ho letto in questo newsgroup che ti insegna a imparare punto e
basta, ti insegna a "conoscere cio' che programmi", che al giorno d'oggi
non e' comune a tutti i programmatori.
Gianluca

 Gianluca
Quello che dici e' vero (altrimenti avrei gia' lasciato l'universita'), la 
mia critica era sulla concezione dell'informatico nelle universita' 
italiane, ovvero quella di un matematico/fisico mancato che non e' ne carne 
ne pesce, tenta di fare tutto, ma non concretizza niente. 
La teoria va benissimo, sono io il primo ad ammetterlo e a sostenerlo, ma 
se concretizzata nell'ambito in cui la si sta studiando. L'analisi 
matematica, la fisica, la statistica, ecc... se vengono studiate come 
blocchi indipendenti con il solo scopo di apprendere la teoria, senza 
nessun collegamento con l'effettiva valenza pratica dello studiato, non 
vale niente. Perche':
- Non sono cose facili, e non sono nemmeno specifiche della materia (tranne 
rari casi applicativi), quindi se non vengono introdotte all'interno del 
contesto applicativo, vengono dimenticate a breve, anche perche' cio' che 
si deve "veramente" studiare per portare a termine un progetto software in 
maniera decente, di cose se ne devono studiare tante! E non centrano niente 
con le precedenti (a meno di considerare l'allenamento mentale come una 
facilitazione all'apprendimento delle materie professionali)
- Se devi fare un'applicazione per le quali servono conoscenze specifiche 
in ambito matematico/fisico/statistico, ci sono molti laureati in tali 
materie, che sicuramente o hanno gia' risolto il problema in maniera 
brillante, oppure possono risolvero in maniera brillante su commissione, 
perche' quello e' il loro lavoro, e non quello del programmatore
- Negli anni '70/'80 i programmatori erano delle macchine produttrici di 
software fai da te; trattavano il prodotto dall'inizio alla fine. Ai nostri 
tempi, e' pura follia, il programmatore deve affiancare l'esperto del 
dominio del problema (che risolve lo stesso, o lo formalizza in maniera 
decente), e deve tradurre l'architettura risolutiva del problema reale, in 
una architettura software descritta attraverso un linguaggio formale 
(linguaggio di programmazione). 
- Se devo fare un programma di data mining, chiamero' un laureato in 
scienze statistiche, non utilizzero' certo le conoscenze apprese durante il 
corso di statistica all'universita', anche perche' non vedo quali cose 
innovarive il mio software potrebbe fare, visto la mia conoscenza 
approssimativa della materia! 
Ciao


Ma come ?
Sbaglio o state infangando il corso di laurea in "ingegneria
informatica"
presso il politecnico di Milano ?!?
Ed io che vorrei lasciare il mio lavoro per venir su' a Milano ed 
iscrivermi ad "ingegneria informatica".
ma se questi sono i commenti degli iscritti....
aja', ce ripenso !
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG