[Dispense, appunti ed esercizi in Rete]
In questo topic vorremmo raccogliere un po' di link a varie dispense e appunti liberi presenti in rete riguardo vari argomenti di Informatica: chiunque è a conoscenza di materiale condivisibile online può postarlo, magari con qualche parola di recensione.
Ideale poi sarebbe riportare, oltre al commento personale, anche ad esempio
- autore
- corso di laurea, sede
- sito web "madre", se esiste.
Cerchiamo inoltre di tenere questo topic libero da commenti, discussioni, saluti e complimenti. Postare solo per mettere materiale, o in caso aprire un altro topic.
Grazie per ogni contributo!
Ideale poi sarebbe riportare, oltre al commento personale, anche ad esempio
- autore
- corso di laurea, sede
- sito web "madre", se esiste.
Cerchiamo inoltre di tenere questo topic libero da commenti, discussioni, saluti e complimenti. Postare solo per mettere materiale, o in caso aprire un altro topic.
Grazie per ogni contributo!
Risposte
Su questo sito, gestito da degli studenti dell'UniNa, si trovano una miriade di argomenti dell'IT; dispense, libri e registrazioni (audio) di lezioni. Molto utile.
http://unina.stidue.net/
http://unina.stidue.net/
Vari link, tra appunti e proprie guide sulla scrittura in Latex, presi in vari post nel forum e altri nel web:
- http://www.lorenzopantieri.net/LaTeX.html (sito molto completo di tutto il necessario)
- Minuguida in Latex di ?
- L'arte di scrivere in Latex di Lorenzo Pantieri & Tommaso Gordini
- Latex per l'impaziente (L'arte di scrivere in Latex essential) di Lorenzo Pantieri
- Manuale con Esempi di Enzo Tonti
Editor Latex Online
Grafici in Latex
Latex in Gmail
disegna il simbolo LaTeX ed ottieni il codice corrispondente (consigliato da prime_number)
- http://www.lorenzopantieri.net/LaTeX.html (sito molto completo di tutto il necessario)
- Minuguida in Latex di ?
- L'arte di scrivere in Latex di Lorenzo Pantieri & Tommaso Gordini
- Latex per l'impaziente (L'arte di scrivere in Latex essential) di Lorenzo Pantieri
- Manuale con Esempi di Enzo Tonti
Editor Latex Online
Grafici in Latex
Latex in Gmail
disegna il simbolo LaTeX ed ottieni il codice corrispondente (consigliato da prime_number)
Dispense del corso "Fondamenti di Informatica" per cdl in Ingegneria Elettronica, prof. Lorenzo Mezzalira, Politecnico di Milano
http://home.dei.polimi.it/mezzalir/Informatica1/materiale_didattico.htm
Lucidi delle lezioni (in realtà sono vere e proprie dispense):
1) Introduzione all’informatica: algoritmi, linguaggi e programmi
2) Rappresentazione delle informazioni nei sistemi digitali
3) Architettura e linguaggio del calcolatore
4) Introduzione alla programmazione in linguaggio C
5) Linguaggio C: Costrutti di controllo e strutture dati
6) Linguaggio C: I sottoprogrammi
7) Linguaggio C: Ricorsione, gestione dei file, strutture dati dinamiche
8) Registri contatori, Temporizzatori, Sincronizzazione tra eventi e acquisizione ed elaborazione dei dati corrispondenti
9) Sistema operativo, Esecuzione di processi concorrenti
Disponibili anche due ulteriori dispense che approfondiscono gli argomenti trattati nelle dispense 2 e 3.
Commento: complete (per quello che si propongono di fare) e al contempo abbastanza semplici da seguire e lineari.
http://home.dei.polimi.it/mezzalir/Informatica1/materiale_didattico.htm
Lucidi delle lezioni (in realtà sono vere e proprie dispense):
1) Introduzione all’informatica: algoritmi, linguaggi e programmi
2) Rappresentazione delle informazioni nei sistemi digitali
3) Architettura e linguaggio del calcolatore
4) Introduzione alla programmazione in linguaggio C
5) Linguaggio C: Costrutti di controllo e strutture dati
6) Linguaggio C: I sottoprogrammi
7) Linguaggio C: Ricorsione, gestione dei file, strutture dati dinamiche
8) Registri contatori, Temporizzatori, Sincronizzazione tra eventi e acquisizione ed elaborazione dei dati corrispondenti
9) Sistema operativo, Esecuzione di processi concorrenti
Disponibili anche due ulteriori dispense che approfondiscono gli argomenti trattati nelle dispense 2 e 3.
Commento: complete (per quello che si propongono di fare) e al contempo abbastanza semplici da seguire e lineari.
Sfogliando le dispense consigliate da raffamaiden mi è caduto l'occhio sul seguente:
Entrambe le affermazioni sono sbagliate per i seguenti motivi:
1. La dimensione in bit dei tipi interi non è prescritta dallo standard C. Viene richiesta una dimensione minima, che nel caso di char è 8 bit e nel caso di int è 16bit, ma l'effettiva dimensione può anche essere diversa. Sono per esempio esistiti dei computer a 36bit e ogni "byte" (nel senso del C) era quindi composto da 9 bit (come si può leggere qui). Ogni tipo su un computer di questo tipo avrà cioè una dimensione che multipla di 9 bit. Ma se la dimensione dei char sulla maggior parte dei computer odierni è di 8bit, lo stesso non si può dire degli int. Anzi, la dimensione di un int sulla maggior parte dei sistemi a 32 o 64 bit è 32bit!!! L'affermazione del tuo professore non vale quindi neanche sul computer che usa quotidianamente..
2. I char non sono necessariamente senza segno. Su alcuni computer (e alcuni compilatori permettono di passare da una rappresentazione all'altra) sono infatti con il segno rappresentando quindi numeri da -128 a 127 (ammettendo 8 bit e la rappresentazione a complemento a 2, nessuno dei quali è garantito). Quando si vuole lavorare con i char come se fossero numeri, conviene usare direttamente unsigned char e signed char (l'unico caso in cui signed ha davvero senso).
3. Per tutte le ragioni di cui ho parlato precedentemente, un char non usa necessariamente ASCII extended.
Sarà pignoleria la mia, ma mi chiedo come sia possibile che nessuna delle dispense di corsi che insegnano il C che mi sia capitato di leggere sia priva di errori di questo tipo. Capisco che non si possa spiegare tutto, ma è possibile che ci siano sempre gli stessi errori e/o inesattezze? Mi ritengo ormai fortunato se il codice inserito nelle dispense è corretto e compilabile.
• char: (8 bit - 1 byte) Valori da 0 a 255 che rappresentano la codifica ASCII estesa del carattere corrispondente
• int (16bit - 2 byte) Rappresentano gli interi relativi. Valori in complemento a 2 da - 32768 a + 32767
Entrambe le affermazioni sono sbagliate per i seguenti motivi:
1. La dimensione in bit dei tipi interi non è prescritta dallo standard C. Viene richiesta una dimensione minima, che nel caso di char è 8 bit e nel caso di int è 16bit, ma l'effettiva dimensione può anche essere diversa. Sono per esempio esistiti dei computer a 36bit e ogni "byte" (nel senso del C) era quindi composto da 9 bit (come si può leggere qui). Ogni tipo su un computer di questo tipo avrà cioè una dimensione che multipla di 9 bit. Ma se la dimensione dei char sulla maggior parte dei computer odierni è di 8bit, lo stesso non si può dire degli int. Anzi, la dimensione di un int sulla maggior parte dei sistemi a 32 o 64 bit è 32bit!!! L'affermazione del tuo professore non vale quindi neanche sul computer che usa quotidianamente..
2. I char non sono necessariamente senza segno. Su alcuni computer (e alcuni compilatori permettono di passare da una rappresentazione all'altra) sono infatti con il segno rappresentando quindi numeri da -128 a 127 (ammettendo 8 bit e la rappresentazione a complemento a 2, nessuno dei quali è garantito). Quando si vuole lavorare con i char come se fossero numeri, conviene usare direttamente unsigned char e signed char (l'unico caso in cui signed ha davvero senso).
3. Per tutte le ragioni di cui ho parlato precedentemente, un char non usa necessariamente ASCII extended.
Sarà pignoleria la mia, ma mi chiedo come sia possibile che nessuna delle dispense di corsi che insegnano il C che mi sia capitato di leggere sia priva di errori di questo tipo. Capisco che non si possa spiegare tutto, ma è possibile che ci siano sempre gli stessi errori e/o inesattezze? Mi ritengo ormai fortunato se il codice inserito nelle dispense è corretto e compilabile.
Dispense scritte per chi si accinge a sostenere le olimpiadi di informatica. Contengono la spiegazione di alcuni delgi algoritmi più diffusi in informatica, richiedono quindi la conoscenza già acquisita di un linguaggio di programmazione, preferibilmente C o Pascal.
Programmazione dinamica
Massima sottosequenza comune
L’algoritmo di Dijkstra
Heap, heap indiretti e code di priorità
Nozioni di base sulle permutazioni
La strategia MiniMax e le sue varianti
Breve introduzione alla riga di comanda Linux
Dispense tratte da
http://ioi.dsi.unimi.it/
Programmazione dinamica
Massima sottosequenza comune
L’algoritmo di Dijkstra
Heap, heap indiretti e code di priorità
Nozioni di base sulle permutazioni
La strategia MiniMax e le sue varianti
Breve introduzione alla riga di comanda Linux
Dispense tratte da
http://ioi.dsi.unimi.it/
Un ottimo sito dove reperire informazioni è MIT Open Course Ware. Contiene infatti i materiali (a volte anche le video lezioni di ormai tantissimi dei corsi che vengono tenuti al MIT. Molto recentemente ho poi scoperto di questo altro progetto di Stanford che è però ad uno stato molto più embrionale: Stanford Engineering Everywhere. Non sono molti e il materiale non è inserito per intero, ma la qualità dei corsi dovrebbe essere molto buona (ho seguito un pezzo di una lezione del corso "Programming Paradigms" e mi ha favorevolmente colpito). Ci sono poi 3 corsi ai quali ci si può iscrivere online in modo da ottenere un certificato utile solo ai fini del curriculum a questo sito: http://www.ai-class.com/.
"apatriarca":
(a volte anche le video lezioni di ormai tantissimi dei corsi che vengono tenuti al MIT.
una risorsa simile è iTunesU,
risorse gratuite per gli universitari del mondo, da parecchi università del Mondo. Videolezioni, slide, dispense, anche di alcune università italiane.
Accessibile dagli apparecchi Apple, dal software proprietario iTunes, e dagli emuli (es: TunesViewer).
Un libro molto bello (e gratuito) che tratta alcuni algoritmi famosi e la loro complessità e termina con lo studio di problemi NP-completi:
Algorithms and Complexity
di Herbert Wilf
Algorithms and Complexity
di Herbert Wilf
Creazione di una base dati.
In generale si comincia dalla parte logica: 1. Definisci le entità con cui lavori basandoti sull'osservazione del problema che ti è stato dato. 2. Elenchi tutte le proprietà delle entità in questione 3. Togli quelle che non ti interessano 4. "Battezza" le relazioni 5. Definisci le cardinalità ( 0..n, 1..n, n...n) 6. Fai un bel disegnino. (carta o UML) Poi passi alla parte implementativa: 7. Trasformi le proprietà in attributi 8. Trasformi le relazioni in chiavi.
Ho letto soltanto ora che un utente mi ha chiesto di inserire qui gli appunti di informatica che avevo consigliato in un'altra discussione:
http://ennebi.solira.org/index.htm
Nel sito si possono trovare appunti sui linguaggi C e C++ nella sezione "programmazione" e altri che riguardano il computer su "computer science".
Nella sezione percorsi didattici si può trovare il percorso di studi da seguire.
Il mio professore è a favore del software libero, quindi predilige Linux, infatti mi sembra che sul sito ci sia il link per scaricare una distribuzione linux personalizzata con tutti gli strumenti necessari per la programmazione e la progr. web.
Ci sono anche dei link, ad esempio sui reference del linguaggio C++.
Aggiungo infine che su internet si possono trovare libri veri e propri sulla programmazione (ad esempio "Il linguaggio C" di K&R, o "C++ the complete reference" di Schildt).
E' illegale scaricarli, ma non è un peccato dargli un'occhiata per valutare se ne vale la pena di acquistarli.
http://ennebi.solira.org/index.htm
Nel sito si possono trovare appunti sui linguaggi C e C++ nella sezione "programmazione" e altri che riguardano il computer su "computer science".
Nella sezione percorsi didattici si può trovare il percorso di studi da seguire.
Il mio professore è a favore del software libero, quindi predilige Linux, infatti mi sembra che sul sito ci sia il link per scaricare una distribuzione linux personalizzata con tutti gli strumenti necessari per la programmazione e la progr. web.
Ci sono anche dei link, ad esempio sui reference del linguaggio C++.
Aggiungo infine che su internet si possono trovare libri veri e propri sulla programmazione (ad esempio "Il linguaggio C" di K&R, o "C++ the complete reference" di Schildt).
E' illegale scaricarli, ma non è un peccato dargli un'occhiata per valutare se ne vale la pena di acquistarli.
Bel link

RETI DI CALCOLATORI
Esercizi di indirizzamento IP:
http://netgroup.polito.it/teaching/reticalc/EserciziAddressing_Dispense.pdf
Esercizi di Routing Statico e Aggregazione:
http://netgroup.polito.it/teaching/reticalc/EserciziRouting_Dispense.pdf
Esercizi di indirizzamento IP:
http://netgroup.polito.it/teaching/reticalc/EserciziAddressing_Dispense.pdf
Esercizi di Routing Statico e Aggregazione:
http://netgroup.polito.it/teaching/reticalc/EserciziRouting_Dispense.pdf
Sulla pagina seguente è possibile trovare degli esercizi relativi al programma AutoCAD:
ESERCIZI AUTOCAD (AUTODESK)
Buona serata
ESERCIZI AUTOCAD (AUTODESK)
Buona serata