Sui curriculum scolastici e universitari
Venerdì 1 Febbraio 2008 - 08:41
di Cesare Lamanna

L’altro giorno parlavo con un mio amico musicista che lamentava la triste condizione dei conservatori italiani, soprattutto per quel che riguarda i programmi e i metodi di studio. Secondo lui (che è un fenomeno ma praticamente autodidatta e armato solo di talento e passione) è tutto tempo sprecato. Tipico pregiudizio anti-accademico?
Fatto sta che ieri mi sono ritrovato di fronte ad argomenti simili leggendo questo post di Mark Turansky. Prima di scendere nei dettagli è necessaria una breve premessa.
Il post è la risposta ad un intervento di Joel Spolsky in cui viene espressa una tesi ben precisa (scusatemi la sintesi brutale): le università di oggi (parla della realtà americana) hanno di fatto rinunciato a curriculum di studio tosti e selettivi come quelli di qualche anno fa (anni in cui i tassi di abbandono nei corsi di Computer Science erano pertanto elevatissimi) lasciando spazio a programmi quasi completamente incentrati su Java, come richiesto essenzialmente dalle aziende. L’attacco è frontale:
Quello che vorrei chiarire a tutti è che Java non è, in genere, un linguaggio di programmazione sufficientemente difficile per distinguere tra un grande programmatore e uno mediocre.[…]
Ma le JavaSchols (è il modo in cui definisce con sarcasmo le università americane di oggi) falliscono anche nell’esercitare le menti dei giovani ad essere intelligenti, agili e flessibili abbastanza per progettare buon software.
La replica di Turanski si fonda su un argomento semplice semplice, partendo dall’esempio dell’architetto. Sa ovviamente che la statica di un edificio poggia su leggi e fenomeni della fisica, ma per costruire un edificio solido, rispettando i tempi e il budget, non ha certo bisogno di una laurea avanzata in fisica. Ovvero:
La maggior parte delle aziende non hanno bisogno di computer scientists che conoscono in modo approfondito l’algebra relazionale. Hanno solo bisogno di sviluppatori di applicazioni efficienti e pragmatici che sanno che esiste l’algebra relazionale e che essa è alla base del modo in cui sono costruiti i moderni database. Conoscere la teoria relazionale ad un livello superficiale è sufficiente per sfruttarla applicando il giusto livello di normalizzazione nella progettazione di un database.
Insomma, sembra il vecchio e mai morto dibattito ‘teoria’ vs. ‘pratica’. Meglio: tra scienza e ricerca pure e applicazione pratica delle stesse. In mezzo un sistema educativo che dovrebbe scegliere tra l’una e l’altra via. Magari cercando di contemplarle entrambe e armonizzarle.
A tutti gli studenti vecchi e in corso (anche fuori corso :) ): cosa ne pensate in base alle vostre esperienze nelle università italiane?
Commenti
1
Mi sono fermato ai tre anni senza proseguire appunto perchè, dopo un tirocinio in azienda, mi sono reso conto di conoscere molta teoria e, nonostante ottimi voti, non sapevo niente… neppure cos’era l’sftp. Il mio corso era tecnologie web e multimediali, perciò espressamente dedicato al web ma senza neppure indicare la via per mettere in piedi un server o per registrare un dominio… Insomma… teoria su teoria senza mettere in pratica nulla di correlato alla realtà lavorativo-aziendale.
2
@Paolo
anche io penso che mi fermerò alla triennale in Informatica perchè, come hai detto tu, nonostante i buoni voti mi sento poco preparato per il mondo del lavoro e, nel nostro campo, non si può perdere tempo, altrimenti si rischia di uscire dal mercato ancor prima di entrarci.Io penso che nell’Università italiana ci voglia un pò più di pratica, e questa deve essere aggiornata ai tempi, soprattutto nel nostri settore. Non si può ancora fermarsi a html, css e xml a stento, imparare un po’ di java quando nella realtà si sta andando verso xhtml2, css3, python, ruby, anche java e chi più ne ha più ne mette. D’accordo che l’Università deve dare i fondamenti teorici, deve insegnare i concetti di programmazione procedurale, ad oggetti, di programmazione web… ma qualcosa di pratico andrà pur fatto.
3
Io sto finendo Ingegneria Informatica, 5 anni di corso di studi e sapete quante ore avrei passato davanti un computer se fosse stato per l’università? 0! Perfino l’esame di programmazione l’ho fatto su foglio protocollo, ed ero a Como!
# - postato da Luca - 01 Febbraio 2008 - 09:47
4
Non sono laureato.
Ringrazio gli anni di Ingegneria Elettronica e quelli di Informatica per essere stati il periodo in cui ho conosciuto Linux, C, Java e tante menti fertili… come la mia, ho poi scoperto grazie a loro.
Come diceva il mio professore di Fisica I: per costruire dritta un’aiuola quadrata si usano le assi di legno, per costruire un ponte si usano robe dal nome impronunciabile.
Per fare ricerca e risolvere problemi complessi ci vogliono i Computer Scientist, per sviluppare software di ottimo livello in un’azienda-tipo ci vogliono Ingegneri del Software: gente che sa usare le assi di legno, e anche le robe dal nome impronunciabile, ma che soprattutto sa quale è meglio usare a seconda del problema che si trova a risolvere.
My Two Cents.# - postato da William Ghelfi - 01 Febbraio 2008 - 09:52
5
Io studio Ingegneria Informatica a Parma. Mi hanno insegnato pochissimo a livello pratico. Sono solo imbottito di nozioni teoriche di Elettronica e Telecomunicazioni. Quello che so relativo all’informatica (e tutti i linguaggi che conosco) l’ho imparato da solo.
L’università italiana è vecchia e arretrata. Sta al singolo individuo cercare di stare al passo coi tempi.
# - postato da Paolo Ferretti - 01 Febbraio 2008 - 10:11
6
Io mi sono fermato ai 3 anni di informatica, avrei voluto proseguire non per il know-how che avrei acquisito ma per interesse personale.
Il problema secondo me è anche di preparazione dei professori.
I corsi in cui c’era una parte pratica erano spesso strutturati male, con docenti che non avevano mai effettivamente “lavorato” come programmatori in un contesto reale.
L’ingegneria del software ad esempio la impari, ma l’apprezzi solo nel momento in cui vieni inserito in un gruppo di lavoro reale.
7
Ho 20 anni, sto studiando da autodidatta, lavoro molto e sto cercando di decidere cosa fare del mio futuro.
Vorrei fermarmi e cominciare a studiare seriamente argomenti attinenti alla programmazione web avanzata, ma non so se continuare da autodidatta o cercare dei corsi specializzati.
Sicuramente l’idea di andare all’università o di fare dei corsi qui in Italia non mi alletta per niente, dato che vedo che i miei coetanei che li frequentano stanno anni luce indietro rispetto a me.
Studiano matematica, analisi (derivate, integrali ecc.), un pò di Java o C, ma a me sinceramente l’idea di passare pomeriggi interi a studiare matematica o fisica mi fa venire istinti suicidi.
I corsi poi costano un boato e ti insegnano a fare i siti con le tabelle. Ah ah…!# - postato da Nemesis Design - 01 Febbraio 2008 - 10:53
8
Ho 24 anni, e sto per completare il mio corso di studi in Ingegneria dell’Automazione (quindi solo di “striscio” inerente l’informatica).
Volevo lasciare giusto i miei due eurocent di saggezza: fate attenzione quando vi iscrivete all’università! Mi riferisco in particolare ad ingegneria informatica (il corso di informatica del dipartimento di scienze, da noi, è composto da baluba che usano solo quella porcheria di java :P:P). C’è una bella differenza tra “programmatore” e “ingegnere informatico”. Un programmatore è il “tizio che scrive codice”; un ingegnere è invece quello che dice al programmatore come scrivere codice, o che scrive codice a *basso livello*, direzionato verso l’industria (e non il terziario): non esiste solo java css xml e roba varia. Esiste il C, esiste il kernel linux, esiste RTAI. E, credetemi, esistono ben poche persone che ci sappiano lavorare seriamente. Per affrontare questi “mostri” non serve stare ore davanti al PC, anzi! Bisogna avere serie basi di sistemi operativi, programmazione concorrente e affini, molto spesso ottenibili più facilmente davanti a un foglio di carte che davanti ad un monitor (fermo restando la necessità di sperimentare).
In altri termini non lasciatevi incantare dalla parola “informatica” (come ho visto fare a MOLTE persone): ingegneria è sempre ingegneria, è avere una seria base teorica che permetta di fare studi approfonditi e codice avanzato. Io ho toccato il C una manciata di volte nel mio corso di studi, ma quando è servito, tempo un paio di settimane ed ero in grado di scrivere *buon* codice. Viceversa un programmatore “grande esperto di java e xml”, di sicuro non si sarebbe potuto mettere ex abrupto a lavorare su algoritmi real time per la stabilizzazione di Tokamak (ad esempio).
Attenzione, si tratta di un giudizio di fatto, non di valore: nulla toglie che probabilmente (anzi sicuramente) il programmatore troverà lavoro più facilmente dell’ingegnere informatico (o che quest’ultimo dovrà “adattarsi” a fare il programmatore), d’altronde a fronte di centinaia di società che fanno software quanti enti di ricerca ci sono? Ciò non toglie, però, che la colpa non sia da addurre al corso di studi se non vi ritrovate con le conoscenze che desiderate, ma da una scelta non accurata, e dalla forse eccessiva pubblicità fatta ad ingegneria, che non è “per tutti”.
9
Be dipende dall’università.
Se non si fa il politecnico(molto buono) un ingegnere informatico è al pari o inferiore di un corso di informatica. Io ho studiato informatica(non ing) a Milano e ti posso assicurare che le facoltà di ingegneria buone non sono poi molte.Attualmente nel modo del lavoro spesso non c’è particolare differenza tra un ingegnere informatico e un informatico.
Un programmatore non è un buon programmatore quando sa programmare in C o in assembly, o se conosce tutti gli algoritmi di ordinamento a memoria, ma quando riesce a gestire un progetto in base al contesto in cui lavora.
Per tutto il resto c’è internet!:P.
10
Salve a tutti ho 28 anni e sono un laureato in informatica della vecchia scuola, quelle dove ci si spaccava la schiena.
Ai miei tempi su 110 iscritti al primo anno in 20 abbiamo concluso gli studi, gli altri hanno tutti mollato prima, purtroppo (o per fortuna).
Ho avuto la fortuna/sfortuna di assistere al passaggio dal vecchio al nuovo ordinamento, e vi assicuro che i programmi si sono praticametne dimezzati, gli approfondimenti nulli e gli esami una farsa. A volte per fare gli ultimi esami mi sono trovato a seguire corsi con le giovani leve (esami che avevo al 5° anno adesso li fanno al secondo senza avere le conoscenze per farli, basta imparare tutto a pappagallo), beh fatto sta che spesso quando parlavo di cose tecniche o scolastiche questi non avevano alba di cosa io stessi dicendo. Non sono affatto un genio ed è per questo che la cosa mi lascia perplesso, come faccio io a sapere un mondo di cose in più rispetto a un neo-laureato che è uscito col 110 e lode, rispetto al mio misero 90?
Chiaro la nuovo ordinamento ci sono ragazzi in gamba, ma perchè si son rotti da soli a imparare non di certo grazie agli esami universitari.
Sinceramente meno lavoro con i giovani neolaureati meglio sto ;)
Ditemi pure che sono str***o, ma hanno delle lacune incolmabili sia a livello teorico che a livello pratico, non vedo che prospettive di sviluppo passano avere con l’università com è messa ora.
11
@matteo: vero, pur essendo un nuovo ordinamento concordo sul fatto che sia una fetenzia rispetto al vecchio ordinamento: ti spacchi la schiena il doppio, ricevi dose tripla di stress a causa degli esami a mitraglia, e impari la metà. O meglio, ti spacchi la schiena il doppio SE vuoi imparare, se vuoi fare il pappagallo probabilmente è più facile…
(anche se molto dipende dal corso di studi… quei pazzi del prof del mio hanno semplicemente avuto la brillante idea di fare praticamente tutto quello che facevano in semestri in tre mesi, riempiendoci di fotocopie e dispense, ma tant’è, ora che sono arrivato alla fine non mi lamento :D)@Uranio: non so quale sia il metro di misura che usi, come ti ho detto dipende dal tuo obiettivo. Io non prenderei mai NEMMENO MORTO un informatico non ingegnere a lavorare su un sistema di controllo che deve lavorare a 50 microsecondi, in questi campi java te lo suoni sui denti :D
Un programmatore non è buono quando sa programmare in C o in assembler, è vero, e infatti la differenza profonda tra un informatico ed un ingenere informatico è lo spettro di conoscenze: un “ingegnere dell’informazione” non può permettersi di non conoscere l’algebra, o la fisica, o la teoria dei segnali, proprio perchè non è un programmatore (i.e. uno che si ammazza di codice), ma un ingegnere (i.e. uno che “risolve i problemi” come diceva Tarantino :)).Il discorso sulla “non differenza” tra un ingegnere e un informatico è valido, sì, ma limitatamente all’Italia. E’ una realtà che sto toccando con mano proprio questi mesi mentre sto facendo al tesi all’estero: qui (UK) un informatico non se lo filano. Viceversa, se sei ingegnere (anche nuovo ordinamento) ti stendono i tappeti rossi. Come detto sono obiettivi diversi: se *ti piace* passare la vita a scrivere pezzi di codice in C /Java/XHTML/QuelloCheE’ di sicuro non è ingegneria informatica l’indirizzo che fa per te, in quanto i problemi di cui si occupa l’ingegneria sono ben diversi dalla “programmazione pura”.
12
@flatline
un sistema di controllo che deve lavorare a 50 microsecondi semplicemente non lo farei in java, detto questo un qualsiasi informatico può farlo.
Confondi l’università con la conoscenza, l’università non da conoscenza ma mezzi per apprenderla.
Le presone più geniali (informaticamente parlando) che ho incontrato non erano spesso nemmeno laureate.Detto questo le grandi aziende cercano ingegneri semplicemente perché solitamente sono più “precisi” nel senso che ingegneria ti insegna a studiare in modo più accurato.
Sono dei sudditi ideali.;)Per il resto in America e Germania per quanto visto cercano in base all’esperienza.
13
@Uranio:
“un sistema di controllo che deve lavorare a 50 microsecondi semplicemente non lo farei in java, detto questo un qualsiasi informatico può farlo.”E qui sbagli. Perché un informatico NON HA (in quanto non è un ingegnere) le conoscenze per farlo. Non conosce concetti quale banda passante o stabilità di sistemi, non ha le basi fisico-matematiche per modellare un sistema, non sa quali caratteristiche deve avere un impianto industriale per poter funzionare a quei regimi… e così via. Di nuovo, ingegnere ed informatico sono due cose ben distinte.
Per quanto riguarda l’idea di suddito beh, io non mi sento tale, né ingegneria mi ha instaurato questo concetto. Sicuramente mi ha insegnato la precisione e la dignità professionale, ma definire queste caratteristiche come negative mi sembra decisamente un arbitrio.
In America e Germania cercano in base all’esperienza? Certo, dovunque lo fanno, compresa l’Italia. Dipende da COSA vai cercando. Come ho detto, il lavoro che fa un ingegnere informatico è BEN DIVERSO da quello che fa un informatico. I.E. nei SUOI campi ogni azienda cerca in base all’esperienza (ma se vuole prendere un programmatore di certo non andrà a cercare un ingegnere informatico -in quanto dovrebbe pagarlo profumatamente (salvo che in Italia purtroppo)- e se gli serve un ingegnere sarebbe pura follia prendere un informatico).
Insomma, come ribadisco da parecchio, ingegneria e informatica sono due campi diversi, che riguardano cose diverse. Non è che ingegneria informatica “non insegni niente”, semplicemente se non volete studiare per avere il bagaglio di conoscenze FONDAMENTALI per essere un ingegnere e volete scrivere java/XHTML/CSS quello che ve pare, ingegneria informatica non fa per voi, punto.
Non è sbagliato il corso, ma la scelta.
14
Per Luca:
che c’entra che eri a Como?? io ero a Napoli e gli esami di programmazione li ho fatti al computer, anche il test di teoria (quindi, oltre al compito di programmazione vera e propria) era al computer!!# - postato da calipso - 04 Febbraio 2008 - 10:37
15
Io ho iniziato con un corso di un anno a tempo pieno finanziato dalla regione diversi anni fa.
Mi insegnarono i rudimenti della programmazione, il resto me lo sono imparato sbattendoci il muso e lavorando per pochi euro per fare esperienza.
Ora lavoro in proprio e anche se sono una piccola realtà riesco ad essere apprezzato dalle mie parti.
Quando esce una novità me la studio o vado a sentire convegni, leggo articoli (soprattutto su questo sito).
Non so dirvi se sono più preparato o meno rispetto ad un laureato, ma di sicuro ho molta esperienza.
Questo post non è per farmi pubblicità, ma solo la mia testimonianza.
16
(Ingegnere informatico) (”semplice” informatico) == “schiavi moderni”
# - postato da Davide - 04 Febbraio 2008 - 14:04
17
vi dirò che il corso di Informatica all’Università di Pisa non si avvicina, per fortuna, ad un corso di ingegneria, ma soprattutto è ad un livello decisamente superiore rispetto a tante altre. Non a caso il primo computer in Italia l’hanno visto proprio qui a Pisa.
Detto ciò, e ammetto di essere di parte, non classificherei un Informatico come un “programmatore”, semplicemente perché la programmazione è solo una parte dei suoi studi. Algoritmica, calcolabilità, teorie dei linguaggi e compilatori, è un percorso diverso rispetto a quello degli ingegneri, loro sì che guardano più al “pratico”. Ovviamente il pratico non è smanettare sul computer, o conoscere l’ultimo standard sui css. Poi ovviamente anche noi si fa un po’ di pratica, per esempio per l’esame di programmazione avanzata bisognava scriversi un compilatore di uno pseudo linguaggio ispirato ad asp.net.
La differenza, purtroppo, la fa anche l’università. Ho fatto la triennale in altra sede (perugia) e lì la situazione è tragica. Le competenze dei professori sono drasticamente minori, il corso di Informatica è in stato di abbandono. Ma perugia è un caso particolare, lì domina Ingegneria e hanno deciso di investire solo su quella, togliendo quindi risorse ad Informatica.
Però cari ingegneri una frecciatina lasciatemela scoccare: i libri di informatica su cui studiate, non li ha scritti di certo un ingegnere informatico che pensa a come fare qualcosa in meno cicli di clock possibile! (cercare Vanneschi per avere conferma)
# - postato da Rambo Guerrazzi - 04 Febbraio 2008 - 19:38
18
Salve… anch’io ho fatto la triennale a Pg nel senso d.u. in informatica, vecchio ordinamento. Avevo scelto questo percorso perchè il programma di studi prevedeva vari linguaggi,pascal c c delphi java toolbook e addirittura c’è stato pure l’UML, questo arcano ;oP . E uscita di lì non sapevo neanche cosa fossero i css o il javascript o l’html accessibile…Ma ho dovuto battere la testa con analisi, matematica discreta, probabilità ecc.,materie che mi hanno fatto penare in quanto provenivo da un istituto professionale…Avevo scelto ‘informatica’ e non ingegneria proprio perchè secondo me doveva volevo un indirizzo dove impari a FARE le cose, non a studiare teoria inutilizzabile… ora lavoro come sviluppatore web in php … e penso a tutto il tempo ’sprecato’ sulle dispense di matematica che poteva essere utilizzato per altri linguaggi. I linguaggi oltre alla teoria prevedevano ore in lab e progetti da sviluppare per l’esame…almeno il pc l’abbiamo visto! Quindi, riassumendo, entrambe le figure servono, ma il corso di informatica dovrebbe trattare altre materie prettamente di programmazione…e sarebbe carino assere allineati con la realtà che cambia, in modo che lo studente non scopre le novità solo se è un autodidatta … perchè con l’obbligo di frequenza alle lezioni e gli esami, nel periodo dell’uni non c’è molto altro tempo,sempre che si voglia terminare nei tempi regolari, visto che più vecchio esci e meno possibilità hai di entrare nel mondo del lavoro…
# - postato da Simoxxx - 07 Febbraio 2008 - 11:18
19
Ho 23…quasi 24 anni lavoro come “web developer” per una piccola agenzia a Milano, ho messo le virgolette doppie perchè in realtà ho fatto il liceo scientifico e poi un’accademia di belle arti. Il web mi è stato spiegato poco e come tutti ho imparato molto da me con manuali e tutorial e tempo speso a provare. Vorrei fare il web designer essendo più portato verso questo, so programmare un pochino in php e asp ma sono consapevole di non avere conoscenze sufficienti da definirmi un programmatore. La scuola non mi ha insegnato molto. Se posso dire la mia è vero la teoria non ti aiuta a fare, ma è anche vero che nel mondo del lavoro spesso è volentieri la persona che pensa anche senza competenze prende molto di più di quello che realizza il progetto. Oggigiorno vedo come sono gestiti i progetti e mi fa paura 10 manager e un operativo, è una piramide ribaltata che da vita a progetti realizzati male…ultimamente sto pensando di aprire la partita iva e andare avanti da solo per la mia strada…
20
Secondo me, la cosa peggiore che ci sia (e parlo per esperienza) è un programmatore che si è improvvisato tale, senza avere la conoscenze algoritmiche di base per sviluppare un buono software, cosa che ametto che ai corsi di laurea in informatica si fa, la teoria serve a questo.
Quindi chi dice che ci ha sbattutto il muso perchè ha risolto un dato problema, non significa che sia la soluzione ottima che potrebbe aver dato il più sfigato degli informatici.
Questo purtroppo è duro da mandare giù, prchè tutti ti rispondono “beh io l’ho fatto, ho risolto la laurea in informatica non serve”, e sinceramente ritengo questa cosa alquanto discutibile.
Ogni giorno ho a che fare con il genio di turno che si presenta con “sono un grande webmaster”, che si traduce in “ho letto 2-3 libri su come usare il php e sono bravo”, appena esce dallo schema è fregato perchè manca dell’elasticità mentale che ha un informatico, anche il più scarso.







