[Linux-Biella] Ingegneria Informatica

Mastro daniele.bilug a gmail.com
Lun 3 Apr 2006 09:20:57 CEST


Paul TT ha scritto:

> si', le obiezioni verso ing informatica sono relative piu' al modo in 
> cui viene insegnata che alle cose nel piano di studi, sai?
> tipo lo sai cos'e' un'as400 tu? io conobbi un ragazzo all'inizio del 5° 
> anno di tale facolta' che non lo aveva mai sentito nominare....
> da li' in poi ho deciso che tale facolta' era assai inutile.
> tra l'altro, ma automazione non ricade piu' sotto elettronica che 
> informatica???? boh, non lo so, vado a naso, ormai tra embedded OS's e 
> chippettini c'e' davvero poca differenza, no?
> ciaz

Paolo Ciarrocchi ha scritto:

 > Giudicare l'intera facoltà dalla risposta di un ragazzo è decisamente 
eccessivo,
 > inoltre quello che viene insegnato a Ing Informatica à decisamente
 > diverso da quello che molte persone si aspettano.
 >
 > Ciao,
 > --
 > Paolo


Vediamo un po'.. intanto per rispondere a Paul TT, automazione è uno dei 
fulcri dell'ingegneria informatica, per chi non lo sapesse l'automazione 
  o automatica si occupa di studiare matematicamente un qualunque 
sistema con lo scopo di regolarlo, cioè di avere un modo per "pilotare" 
il sistema, tanto per capirci... il controllo di apertura di una valvola 
a farfalla (esempio classico) in un automobile è fatto con tecniche di 
automazione..

cerco di chiarire cos'è Ingegneria informatica...

così come ingegneria elettronica è l'ingegneria dei circuiti, e 
l'ingegneria civile è l'ingegneria delle costruzioni, ingegneria 
informatica è l'ingegneria dell'informazione (e della matematica)!

informazione non vuol dire computer.. informazione è molte cose.. tra le 
cui anche il software...

ogni ingegnere ha delle basi robuste di matematica, ha le basi di 
fisica, elettronica ed economia.
in oltre sa un minimo come si programma e com'è fatto un computer 
(quindi macchina di Von. Newman ecc...)
qui c'è da fare una parentesi.. Turing viene giusto accennato perché 
tutto sommato è storia (molto importante ma comunque storia).. e molte 
persone fanno ingegneria senza motivazione e non si vanno ad informare 
ulteriormente su quel che sentono a lezione...

ora.... un elettronico sa progettare un circuito, dalla componentistica 
di più basso livello a quella di più alto, sa ad esempio quando c'è da 
inserire dei componenti per evitare fenomeni spiacevoli che si 
verificano nei circuiti.. e cosa più importante sa (o dovrebbe) 
progettare sia in analogico che in digitale.. parte dell'elettronica 
consiste nello studio dei segnali e di conseguenza telecomunicazioni 
(intese come tecnologie di comunicazione dal lato del trasporto dei 
segnali) come la radio o i vari modi per multiplare un segnale.

e qui... ci avviciniamo molto ad ingegneria informatica..
anche noi sappiamo (o dovremmo sapere) le basi sui segnali, 
multiplazioni, analisi in frequenza ecc... quindi abbiamo una base di 
telecomunicazioni..

studiamo l'automazione (descritta sopra) e la modellistica di modelli 
tramite tecniche statistiche (soprattutto per l'automazione)

studiamo l'architettura dei processori (sapete descrivere l'algoritmo di 
Tomasulo?)

le reti e quindi internet.. (sapreste spiegare cos'è e perchè si crea il 
problema della sincronizzazione grobale su una grande rete a pacchetti?)

lo studio esaustivo della teoria delle code per dimensionare un 
qualunque servizio (che sia un web server o che sia l'intera internet)..

i database (ahimè, perché è stato un corso pallosissimo).. qualcosina di 
query SQL, ma più che altro studiati teoricamente... per intenderci non 
saprei configurare a dovere un database o non sarei un drago a scrivere 
query sul database sfruttando appieno il database (perché avrò scritto 
si e no una 30ina di query in tutto e non mi aspetto di averne la 
padronanza immediata).. però so progettare un database.. cosa significa? 
ci sono modi di organizzare l'informazione un un database che permettono 
di sfruttarla a pieno.. e altri modi che invece la rendono difficile o 
macchinosa da estrarre, ridondante.. ecc.. ecc..

quindi ci sarebbe l'ingegneria del software... che però dove ho fatto 
ingegneria io è stata una farsa.... ad ogni modo mi sono studiato più o 
meno da solo qualcosa tipo programmazione estrema e via dicendo..
e sistemi informativi, altro corso farsa che non ho ancora avuto il 
tempo di recuperare in proprio.

poi ci sono molte nicchie di studio che dipendono dal piano di studi che 
uno si sceglie.. si può studiare intelligenza artificiale, grafica, 
approfondire l'elettronica...

per finire un ing. informatico ha una preparazione maggiore degli altri 
ingegneri in matematica (salvo quando la gente cambia il piano di studi 
per evitarsi le materie difficili... nota amara e sarcastica)

come vedete fin qui probabilmente non c'è nulla di quello che vi 
aspettereste di imparare ad ingegneria informatica, potrei aver 
dimenticato qualcosa per strada.. ma in sostanza c'è tutto.. e sono 
tutte cose utili in diversi campi..

chiudo con una cosa che riguarda più gli elettronici forse, ma avendo 
scelto tra le mie nicchie un approfondimento di elettronica riguarda 
anche me: saper scrivere in VHDL o in SystemC non vuol dire solo 
conoscere tutto il linguaggio, ma anche sapere cosa si può fare in 
hardware e perché, e considerare anche aspetti come l'area di silicio 
che poi quel pezzo di codice occuperà... so per certo che ci sono 
moltissimi programmatori che scrivono VHDL e SystemC e che scrivono 
grandissime vaccate che sono fattibili solo su un simulatore software.
di questo io ho fatto poco, più che altro per cultura personale e non mi 
sentirei di affermare che so scriverne in modo assolutamente privo di 
vaccate.. però sono un po' avvantaggiato se mai entrassi in un azienda 
che progetta hardware e circuiti.
Quest'ultima cosa vale anche per gli altri linguaggi di programmazione, 
potete scrivere un programma che implementi gli standard RFC di 
comunicazione internet (IPv4 o IPv6 e via dicendo) ma sapreste 
progettare lo standard valutando fenomeni come la sincronizzazione 
globale di cui sopra? (ovviamente mi rivolgo a chi non ha fatto ing. 
informatica)

spero che abbiate apprezzato lo spiegone... se ho scritto qualcosa di 
erroneo fatemi sapere
domande? :P

ciao,
Daniele


Maggiori informazioni sulla lista Linux