INFORMATICA
(obiettivi)
Obiettivi formativi. Obiettivo formativo primario è apprendere come descrivere semplici processi in maniera formale, attraverso la definizione di algoritmi, e acquisire una metodologia per valutare la complessità di un algoritmo. Gli studenti devono essere in grado di: - definire in modo non ambiguo un problema, - individuare in maniera precisa quali dati devono essere trattati, - come rappresentare tali dati, - quali passi realizzano un procedimento che risolve il problema. Queste capacità sono espresse attraverso l'uso del linguaggio di programmazione Java. Conoscenza e capacità di comprensione. Dopo aver frequentato il corso gli studenti conoscono e comprendono il concetto di algoritmo e come un algoritmo si possa esprimere utilizzando un linguaggio di programmazione. Utilizzano i costrutti di base del linguaggio Java e sono coscienti della possibilità di risolvere uno stesso problema con algoritmi di complessità computazionale diverse. Conoscono inoltre vari algoritmi per la soluzione di problemi di base, come ricerca e ordinamento, e alcuni algoritmi numerici. Capacità di applicare conoscenza e comprensione. Al termine del corso gli studenti sono in grado di formalizzare algoritmi per semplici problemi, realizzare programmi che li implementano in linguaggio Java, passando attraverso tutte le fasi: progettazione, stesura del codice sorgente, compilazione, debugging ed esecuzione. Conoscono le notazioni che permettono di esprimere asintoticamente la complessità di un algoritmo. Conoscono le modalità di codifica di informazioni di natura testuale, numerica, ed altra natura. Autonomia di giudizio. Gli studenti sono in grado di apprezzare la differenza tra risolvere un problema e descrivere formalmente un processo risolutivo. Riescono a valutare come scelte realizzative diverse possono portare a soluzioni con diverse caratteristiche di efficienza, applicando paradigmi studiati nell'ambito di problemi di base. Attraverso le intense attività di laboratorio acquisiscono una maggiore consapevolezza dei processi alla base dell'uso di un elaboratore. Abilità comunicativa. Gli studenti vengono acquisiscono il rigore formale indispensabile per utilizzare un linguaggio di programmazione. Riescono ad apprezzare e a prevedere le ricadute, in termini di complessità, dell'applicazione di tecniche risolutive diverse. Riescono ad applicare tecniche di decomposizione, in modo da ridurre la soluzione di problemi complessi alla soluzione di problemi più semplici. Capacità di apprendimento. Gli studenti che superano l’esame possono analizzare la struttura di un programma, anche complesso, possono impadronirsi facilmente dell'uso di un qualunque altro linguaggio di programmazione imperativo o a oggetti, possono distinguere quali problemi si prestano ad una soluzione automatizzata.
|
Codice
|
1017587 |
Lingua
|
ITA |
Tipo di attestato
|
Attestato di profitto |
Crediti
|
9
|
Settore scientifico disciplinare
|
INF/01
|
Ore Aula
|
72
|
Ore Studio
|
-
|
Attività formativa
|
Attività formative di base
|
Canale: 1
Mutua da
|
1017587 INFORMATICA in Statistica gestionale L-41 1 FRANCIOSA PAOLO GIULIO
(programma)
Storia dell'informatica e sua evoluzione. - algoritmi - rappresentazione dei dati - codifica di testo e numeri - rappresentazione binaria, decimale, esadecimale - ASCII, UTF-8, Latin1
** Programmazione in Python
Capitoli e parti del libro di testo / Pensare in Python / di Allen B. Downey
1, 2, 3, 5, 6.1-6.4, 7, 8, 10, 11.1-11.3, 14.1-14.4, Appendice A.
- variabili, espressioni e dichiarazioni - tipi di dati numerici - chiamata e definizione di funzioni - istruzioni condizionali - istruzioni di iterazione - iterazione e ricorsione - diagrammi di stack e limiti di ricorsione - Fibonacci e MCD - tipi di dati: stringhe e manipolazione del testo - elenchi e sequenze di dati - dizionari - manipolazione dei file
** Strumenti di sviluppo
- interprete interattivo di Python - editor di testo - IDE (Thonny)
** Algoritmi efficienti
- Complessità di algoritmi e complessità intrinseca di problemi - Notazioni O, Omega, Theta - ricerca sequenziale e ricerca binaria - Ordinamento per inserzione - Bubblesort - Quicksort - Mergesort - ordinamenti stabili - stack call, ricorsione - risoluzione di equazioni di ricorrenza
Note dell'insegnante: capitoli 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
Thinking in Python --- Allen B. Downey
Appunti su algoritmi e complessità --- a cura del prof. Massimo Lauria
|
Date di inizio e termine delle attività didattiche
|
- |
Date degli appelli
|
Date degli appelli d'esame
|
Modalità di erogazione
|
Tradizionale
|
Modalità di frequenza
|
Non obbligatoria
|
Canale: 2
Mutua da
|
1017587 INFORMATICA in Statistica, economia, finanza e assicurazioni L-41 2 LAURIA MASSIMO
(programma)
Vedere http://www.massimolauria.net/informatica2020/
** Introduzione all'informatica
Abbiamo dato alcuni cenni storici e generali riguardanti l'evoluzione della disciplina dell'informatica. Poi abbiamo discusso di
- cosa sono gli algoritmi - rappresentazione dei dati - codifica di testi e numeri - rappresentazione binaria, decimale, esadecimale - ASCII, UTF-8, Latin1 ** Programmazione Python
Capitoli e parti del libro /Pensare in Python/ di Allen B. Downey
1, 2, 3, 5, 6.1-6.4, 7, 8, 10, 11.1-11.3, 14.1-14.4, Appendice A.
- Variabili, Espressioni e Istruzioni - Tipi di dati: numerici - Chiamata e scrittura di funzioni - Istruzioni condizionali - Istruzioni di ciclo - Iterazione e ricorsione - Diagrammi di stack e limiti della ricorsione - Fibonacci e MCD - Tipi di dati: stringhe ed manipolazione di testi - Liste e sequenze di dati - Dizionari - Operazioni su file
** Strumenti di sviluppo
- Interprete python interattivo - Programmare con un editor di testo - Programmare con un ambiente integrato (Thonny)
** Algoritmi ed efficienza computazionale
- Ordine di crescita della complessità - Notazioni $O$, $\Omega$, $\Theta$ - Algoritmi di ricerca sequenziale e binaria - Algoritmo di ordinamento Insertion sort - Algoritmo di ordinamento Bubblesort - Algoritmo di ordinamento Quicksort - Algoritmo di ordinamento Mergesort - Nozione di ordinamento stabile - Struttura a pila e programmi ricorsivi - Risoluzione di equazioni di ricorrenza
Capitoli degli Appunti: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11.
Libri di testo e appunti
- Pensare in Python - Come Pensare da Informatico --- Allen B. Downey - Appunti su algoritmi e complessità --- Massimo Lauria
Diapositive sul sito del corso
Vedere http://www.massimolauria.net/informatica2020/
|
Date di inizio e termine delle attività didattiche
|
- |
Date degli appelli
|
Date degli appelli d'esame
|
Modalità di erogazione
|
Tradizionale
|
Modalità di frequenza
|
Non obbligatoria
|
Canale: 3
Docente
|
LAURIA MASSIMO
(programma)
Vedere http://www.massimolauria.net/informatica2020/
** Introduzione all'informatica
Abbiamo dato alcuni cenni storici e generali riguardanti l'evoluzione della disciplina dell'informatica. Poi abbiamo discusso di
- cosa sono gli algoritmi - rappresentazione dei dati - codifica di testi e numeri - rappresentazione binaria, decimale, esadecimale - ASCII, UTF-8, Latin1 ** Programmazione Python
Capitoli e parti del libro /Pensare in Python/ di Allen B. Downey
1, 2, 3, 5, 6.1-6.4, 7, 8, 10, 11.1-11.3, 14.1-14.4, Appendice A.
- Variabili, Espressioni e Istruzioni - Tipi di dati: numerici - Chiamata e scrittura di funzioni - Istruzioni condizionali - Istruzioni di ciclo - Iterazione e ricorsione - Diagrammi di stack e limiti della ricorsione - Fibonacci e MCD - Tipi di dati: stringhe ed manipolazione di testi - Liste e sequenze di dati - Dizionari - Operazioni su file
** Strumenti di sviluppo
- Interprete python interattivo - Programmare con un editor di testo - Programmare con un ambiente integrato (Thonny)
** Algoritmi ed efficienza computazionale
- Ordine di crescita della complessità - Notazioni $O$, $\Omega$, $\Theta$ - Algoritmi di ricerca sequenziale e binaria - Algoritmo di ordinamento Insertion sort - Algoritmo di ordinamento Bubblesort - Algoritmo di ordinamento Quicksort - Algoritmo di ordinamento Mergesort - Nozione di ordinamento stabile - Struttura a pila e programmi ricorsivi - Risoluzione di equazioni di ricorrenza
Capitoli degli Appunti: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11.
Libri di testo e appunti
- Pensare in Python - Come Pensare da Informatico --- Allen B. Downey - Appunti su algoritmi e complessità --- Massimo Lauria
Diapositive sul sito del corso
Vedere http://www.massimolauria.net/informatica2020/
|
Date di inizio e termine delle attività didattiche
|
- |
Date degli appelli
|
Date degli appelli d'esame
|
Modalità di erogazione
|
Tradizionale
|
Modalità di frequenza
|
Non obbligatoria
|
|
|