Studente di fisica alle prese con "Sistemi operativi"
Ciao a tutti,
questo semestre mi piacerebbe molto seguire un corso chiamato "Sistemi operativi" -materia specificatamente del corso di laurea in Informatica.
Burocraticamente non so in che modo la questione possa essere portata avanti: ho, sì, delle materie a scelta da seguire durante la triennale ma pare che io non possa superare i 12 crediti (e aggiungendo questo al corso che ho già intenzione di seguire li supererei). Ma onestamente non è questo, al momento, la questione che mi preoccupa.
Piuttosto, mi chiedo se io sia in grado di seguire quel corso.
Ok, la cosa migliore da fare sarebbe mandare subito una mail al professore (i corsi ricominciano fra poco, il 4 Marzo), ma prima di buttarmi e fare una domanda inutile, rivolgo la domanda agli studenti di Informatica (o di Ingegneria informatica) di modo che mi possano dare qualche consiglio.
Ho qualche piccola esperienza in programmazione (C++) e i computer mi interessano moltissimo: non sono proprio a digiuno, ma chiaramente sistematizzare quel poco che so, di modo da renderlo chiaro a chi legge, mi sembra inutile (anche perché tutto quello che so è sicuramente molto meno di quanto sappia uno studente di informatica dopo il primo semestre di studio).
Ora... assumendo che io non sappia nulla di computer, avrei secondo voi la possibilità di seguire con successo un corso di questo tipo? Questo è il sito del corso: http://homes.di.unimi.it/sisop/
Cosa mi dite?
questo semestre mi piacerebbe molto seguire un corso chiamato "Sistemi operativi" -materia specificatamente del corso di laurea in Informatica.
Burocraticamente non so in che modo la questione possa essere portata avanti: ho, sì, delle materie a scelta da seguire durante la triennale ma pare che io non possa superare i 12 crediti (e aggiungendo questo al corso che ho già intenzione di seguire li supererei). Ma onestamente non è questo, al momento, la questione che mi preoccupa.
Piuttosto, mi chiedo se io sia in grado di seguire quel corso.
Ok, la cosa migliore da fare sarebbe mandare subito una mail al professore (i corsi ricominciano fra poco, il 4 Marzo), ma prima di buttarmi e fare una domanda inutile, rivolgo la domanda agli studenti di Informatica (o di Ingegneria informatica) di modo che mi possano dare qualche consiglio.
Ho qualche piccola esperienza in programmazione (C++) e i computer mi interessano moltissimo: non sono proprio a digiuno, ma chiaramente sistematizzare quel poco che so, di modo da renderlo chiaro a chi legge, mi sembra inutile (anche perché tutto quello che so è sicuramente molto meno di quanto sappia uno studente di informatica dopo il primo semestre di studio).
Ora... assumendo che io non sappia nulla di computer, avrei secondo voi la possibilità di seguire con successo un corso di questo tipo? Questo è il sito del corso: http://homes.di.unimi.it/sisop/
Cosa mi dite?
Risposte
"giuliofis":
Vabbè, forse era meglio se formulavo in maniera esplicita la domanda: quali sono gli elementi "informatici" di tale disciplina? Insomma, a parte la costruzione di algoritmi non ci vedo altro...
bhe dì poco...l'algoritmica è una delle discipline più importanti dell'informatica. E' come l'analisi in matematica.
Poi c'è tutta la teoria dell'approssimazione e dell'errore che sono legate alle architetture delle CPU, ...
[ot]
Vabbè, forse era meglio se formulavo in maniera esplicita la domanda: quali sono gli elementi "informatici" di tale disciplina? Insomma, a parte la costruzione di algoritmi non ci vedo altro...[/ot]
Concordo con chi ti ha detto di andare a parlare con il professore: solo lui saprà dirti se il suo corso è da te seguibile.
"apatriarca":
Queste separazioni tra "settori" è per lo più artificiale e spesso è difficile dire se qualcosa fa parte di un settore o dell'altro. Ci sono aspetti per cui appartiene più ad uno ed altri per cui appartiene all'altro. In effetti, le stessa definizioni di matematica e informatica sono complicate e molto imprecise. Non credo abbia senso soffermarsi troppo sulla classe di uno specifico corso.
Vabbè, forse era meglio se formulavo in maniera esplicita la domanda: quali sono gli elementi "informatici" di tale disciplina? Insomma, a parte la costruzione di algoritmi non ci vedo altro...[/ot]
Concordo con chi ti ha detto di andare a parlare con il professore: solo lui saprà dirti se il suo corso è da te seguibile.
[ot]
Queste separazioni tra "settori" è per lo più artificiale e spesso è difficile dire se qualcosa fa parte di un settore o dell'altro. Ci sono aspetti per cui appartiene più ad uno ed altri per cui appartiene all'altro. In effetti, le stessa definizioni di matematica e informatica sono complicate e molto imprecise. Non credo abbia senso soffermarsi troppo sulla classe di uno specifico corso.[/ot]
"giuliofis":
Posso chiederti come mai la consideri informatica? Alla fin fine, il professore è laureato in Matematica, il SSD è MAT/, eccetera...
Queste separazioni tra "settori" è per lo più artificiale e spesso è difficile dire se qualcosa fa parte di un settore o dell'altro. Ci sono aspetti per cui appartiene più ad uno ed altri per cui appartiene all'altro. In effetti, le stessa definizioni di matematica e informatica sono complicate e molto imprecise. Non credo abbia senso soffermarsi troppo sulla classe di uno specifico corso.[/ot]
@hamming_burst:
[ot]Nonostante i profondi cambiamenti che ci sono stati nell'architettura dei calcolatori per quanto riguarda la memoria, ci ostiniamo ad insegnare un modello di memoria piatto, in cui l'accesso ad ogni punto di questo grosso array è costante e trascurabile. Ma questo non è per niente vero. Abbiamo diversi livelli di cache, abbiamo le architettura NUMA, abbiamo la paginazione e un'altra serie infinita di complicazioni il cui effetto sulla performance delle applicazioni è tutt'altro che trascurabile. La performance di alcuni algoritmi può anzi essere completamente spiegata solo in termini di accesso alla memoria perché questa fa apparire del tutto irrilevanti le operazioni effettuate su questa memoria (penso per esempio alla inversione di matrici in \(\mathbb Z/2\mathbb Z\)). Capire e comprendere l'architettura e la gestione della memoria credo sia qualcosa di inevitabile e importante per un informatico. Sfortunatamente i linguaggi che usiamo e la maggior parte dei corsi universitari sembrano volerci far credere che tutto questo sia inutile e che sia meglio lasciar fare "al computer" (come se il codice dei garbage collectors o delle virtual machine o dei OS non sia scritto da qualcuno..).
Per un fisico che vuole in qualche modo interessarsi di simulazione e HPC, memoria e concorrenza sono a mio parere argomenti assolutamente da studiare a fondo. Credo ci possano comunque essere corsi migliori di quello di sistemi operativi per affrontare questi argomenti (almeno lo spero..).[/ot]
[ot]Nonostante i profondi cambiamenti che ci sono stati nell'architettura dei calcolatori per quanto riguarda la memoria, ci ostiniamo ad insegnare un modello di memoria piatto, in cui l'accesso ad ogni punto di questo grosso array è costante e trascurabile. Ma questo non è per niente vero. Abbiamo diversi livelli di cache, abbiamo le architettura NUMA, abbiamo la paginazione e un'altra serie infinita di complicazioni il cui effetto sulla performance delle applicazioni è tutt'altro che trascurabile. La performance di alcuni algoritmi può anzi essere completamente spiegata solo in termini di accesso alla memoria perché questa fa apparire del tutto irrilevanti le operazioni effettuate su questa memoria (penso per esempio alla inversione di matrici in \(\mathbb Z/2\mathbb Z\)). Capire e comprendere l'architettura e la gestione della memoria credo sia qualcosa di inevitabile e importante per un informatico. Sfortunatamente i linguaggi che usiamo e la maggior parte dei corsi universitari sembrano volerci far credere che tutto questo sia inutile e che sia meglio lasciar fare "al computer" (come se il codice dei garbage collectors o delle virtual machine o dei OS non sia scritto da qualcuno..).
Per un fisico che vuole in qualche modo interessarsi di simulazione e HPC, memoria e concorrenza sono a mio parere argomenti assolutamente da studiare a fondo. Credo ci possano comunque essere corsi migliori di quello di sistemi operativi per affrontare questi argomenti (almeno lo spero..).[/ot]
[ot]
Posso chiederti come mai la consideri informatica? Alla fin fine, il professore è laureato in Matematica, il SSD è MAT/, eccetera...[/ot]
"hamming_burst":
Penso che cosa tu abbia imparato sia da tenere in considerazione e quella è "informatica"
Posso chiederti come mai la consideri informatica? Alla fin fine, il professore è laureato in Matematica, il SSD è MAT/, eccetera...[/ot]
[ot]
Tutti i miei professori di questo semestre mi hanno, prima o dopo, parlato di calcolo numerico di soluzioni di ODE o approssimazione di integrali. Per questo ho scelto Calcolo Numerico, ma ho scoperto essere un corso di Matematica!
Alla fin fine, la parte "informatica" si è ridotta al presentare tre elaborati in Matlab con relazione assegnati dal docente ad ogni singolo studente.[/quote]
bhe perchè "calcolo numerico" è un po' un corso borderline tra l'informatica teorica (algoritmica) e la matematica applicata.
La parte di Matlab non è da considerarsi "informatica" nel senso stretto, ma solo un mezzo di programmazione. Penso che cosa tu abbia imparato sia da tenere in considerazione e quella è "informatica"[/ot]
"giuliofis":
[quote="hamming_burst"]PS: pure a me sembra un corso abb inutile per un fisico. Ce ne sarebbero ben più utili del campo informatico: calcolo numerico, ricerca operativa, agoritmica. Ma questa è solo un'opinione.
Tutti i miei professori di questo semestre mi hanno, prima o dopo, parlato di calcolo numerico di soluzioni di ODE o approssimazione di integrali. Per questo ho scelto Calcolo Numerico, ma ho scoperto essere un corso di Matematica!
Alla fin fine, la parte "informatica" si è ridotta al presentare tre elaborati in Matlab con relazione assegnati dal docente ad ogni singolo studente.[/quote]
bhe perchè "calcolo numerico" è un po' un corso borderline tra l'informatica teorica (algoritmica) e la matematica applicata.
La parte di Matlab non è da considerarsi "informatica" nel senso stretto, ma solo un mezzo di programmazione. Penso che cosa tu abbia imparato sia da tenere in considerazione e quella è "informatica"[/ot]
"hamming_burst":
PS: pure a me sembra un corso abb inutile per un fisico. Ce ne sarebbero ben più utili del campo informatico: calcolo numerico, ricerca operativa, agoritmica. Ma questa è solo un'opinione.
Tutti i miei professori di questo semestre mi hanno, prima o dopo, parlato di calcolo numerico di soluzioni di ODE o approssimazione di integrali. Per questo ho scelto Calcolo Numerico, ma ho scoperto essere un corso di Matematica!
Alla fin fine, la parte "informatica" si è ridotta al presentare tre elaborati in Matlab con relazione assegnati dal docente ad ogni singolo studente.
Leggendo gli argomenti del corso, mi pare che ci sia una propedeutica un po' forte. Sicuramente architettura, C ed assembly che possono esser imparati più o meno, anche a solo scopo per capire di cosa si parla in tal corso. Ma ci sono argomenti come memory management (paginazione, segmentazione) e concorrenza, a cui serve un'immaginazione allenata, perchè sono argomenti abb astratti per capirli od applicarli.
Ma che ci sia anche il progetto, la vero dura. Se fai quello più semplice, forse te la puoi cavare.
Nello stesso corso che feci io, molti studenti non riuscivano ad adattarsi alla mentalità astratta della memoria, trovando molta difficoltà nel capirla.
Comunque segui i consigli precedenti, contatta il docente e chiedigli consiglio. Per i libri puoi vederli dopo.
PS: pure a me sembra un corso abb inutile per un fisico. Ce ne sarebbero ben più utili del campo informatico: calcolo numerico, ricerca operativa, agoritmica. Ma questa è solo un'opinione.
Ma che ci sia anche il progetto, la vero dura. Se fai quello più semplice, forse te la puoi cavare.
Nello stesso corso che feci io, molti studenti non riuscivano ad adattarsi alla mentalità astratta della memoria, trovando molta difficoltà nel capirla.
Comunque segui i consigli precedenti, contatta il docente e chiedigli consiglio. Per i libri puoi vederli dopo.
PS: pure a me sembra un corso abb inutile per un fisico. Ce ne sarebbero ben più utili del campo informatico: calcolo numerico, ricerca operativa, agoritmica. Ma questa è solo un'opinione.
Chiedere al professore non ti costa nulla ed è sicuramente la persona migliore a cui chiedere per conoscere i prerequisiti del corso (che a mio parere non dovrebbero essere molti*). Se ti mancasse qualcosa sarà probabilmente in grado di consigliarti libri o dispense da cui studiare. Se davvero vuoi fare questo corso, credo che tu debba cercare di farlo.
* Tecnicamente quello che so sui sistemi operativi l'ho imparato autonomamente dai libri e non da corsi universitari.. Però non mi sembra siano necessarie molte conoscenze al di fuori della conoscenza del C (eventualmente un po' di assembly ma dipende) e qualche conoscenza sull'architettura dei calcolatori.
* Tecnicamente quello che so sui sistemi operativi l'ho imparato autonomamente dai libri e non da corsi universitari.. Però non mi sembra siano necessarie molte conoscenze al di fuori della conoscenza del C (eventualmente un po' di assembly ma dipende) e qualche conoscenza sull'architettura dei calcolatori.
"Ununquadio":
Puoi sempre prendere un libro e studiare autonomamente.
Certo, però se riusciusse a scapparci anche qualcosa di ufficiale non mi dispiacerebbe affatto -chiaramente non è per quello che lo faccio.
"vict85":
Comunque ci sono le dispense degli scorsi anni nella pagina che hai linkato. Hai problemi a capirli?
Be', insomma ...non mi fanno paura, diciamo. Non mi sembra nulla di incomprensibile, ma non vorrei essere esageratamente spaccone: per questo chiedevo sul forum.
Insomma, si tratta di un corso tenuto al secondo semestre del secondo anno di Informatica: temo che qualche propedeuticità sia richiesta -sebbene io speri di no.

A giorni, se manterrò questa decisione, manderò una mail al professore. Intanto, tutti i pareri (anche scoraggianti) sono molto ben accetti!
"Ununquadio":
Puoi sempre prendere un libro e studiare autonomamente. Molto consigliato sui sistemi operativi é il libro del prof. Tanenbaum(tra l'altro quest'ultimo é laureato in fisica. Penso che un fisico abbia una forma mentis tale da potersi occupate anche di argomenti all'infuori del percorso di studio. Comunque da quanto ne so sono molti i fisici a lavorare in ambito informatico.
Anche perché la laurea in informatica è relativamente nuova. I grandi pionieri dell'informatica erano laureati in matematica, fisica o ingegneria elettronica. I sistemi operativi non esistevano praticamente al tempo in cui tenenbaum si è laureato.
Puoi sempre prendere un libro e studiare autonomamente. Molto consigliato sui sistemi operativi é il libro del prof. Tanenbaum(tra l'altro quest'ultimo é laureato in fisica. Penso che un fisico abbia una forma mentis tale da potersi occupate anche di argomenti all'infuori del percorso di studio. Comunque da quanto ne so sono molti i fisici a lavorare in ambito informatico.
Sinceramente dubito che abbia una qualche utilità per uno studente di fisica. Comunque ci sono le dispense degli scorsi anni nella pagina che hai linkato. Hai problemi a capirli?