1017587 -
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.
Canale: 1
-
FRANCIOSA PAOLO GIULIO
( programma)
Generalità(10 ore) Componenti di un sistema di elaborazione: hardware, software, principali unità periferiche. Interazione con un sistema operativo basato su finestre. Il sistema operativo: funzioni principali, gestione dei processi, gestione della memoria, file system. Concetto di cartella, documento, applicazione/programma. Rappresentazione dell'informazione: codifica di informazioni numeriche - sistemi di numerazione posizionali, codifica binaria, ottale, esadecimale, conversioni di base. Rappresentazione di numeri interi negativi. Rappresentazione in virgola mobile. Codifica di caratteri. Concetto di algoritmo. Esempi di algoritmi in linguaggio naturale. Generalità sui linguaggi di programmazione, compilatori.
Programmazione in linguaggio Java (30 ore) La Java Virtual Machine, ambienti di programmazione, compilazione ed esecuzione di programmi Java. Costrutti essenziali del linguaggio: variabili, espressioni, oggetti. Assegnazioni, metodi di input/output, istruzioni di selezione, ed iterazione. Uso di classi predefinite, invocazione di metodi. Consultazione della documentazione standard Java. Definizione di classi, principio della riutilizzazione del codice. Implementazione di vettori e matrici. Ereditarietà e polimorfismo.
Algoritmi fondamentali (16 ore) Ricerca sequenziale, ricerca dicotomica su un vettore ordinato. Ordinamento: selection sort, merge sort, quick sort, bubble sort. Algoritmo di Euclide per la ricerca del Massimo Comun Divisore (MCD). Algoritmo per la ricerca del k-esimo elemento. Algoritmi di base su matrici.
Introduzione alla complessità computazionale (6 ore) Concetto di complessità di un algoritmo, notazioni asintotiche. Equazioni di ricorrenza e metodi per la loro soluzione. Complessità computazionale degli algoritmi studiati.
Walter Savitch Programmazione con Java Pearson, 2013.
Cormen, Leiserson, Rivest: Introduzione agli algoritmi, volume 1, Jackson libri capitolo 1: Introduzione; capitolo 2: Ordine di grandezza delle funzioni - contiene l'algoritmo di ordinamento merge sort; capitolo 4, pagg. 58-60: soluzione di equazioni di ricorrenza; capitolo 8, pagg. 145-153: l'algoritmo di ordinamento quick sort.
Ceri, Mandrioli, Sbattella: Informatica arte e mestiere, McGraw-Hill. Cap. 11, pagg. 243-255, o in alternativa Ceri, Mandrioli, Sbattella: Informatica istituzioni, McGraw-Hill. Cap. 2 fino a 2.2.2 compreso e ad 2.3 alla fine del capitolo, pagg. 29-43
(Date degli appelli d'esame)
|
9
|
INF/01
|
72
|
-
|
-
|
-
|
Attività formative di base
|
ITA |
1017584 -
MATEMATICA I CORSO
(obiettivi)
Obiettivi formativi Conoscenza e comprensione dei concetti e delle tecniche di base dell’algebra lineare e della geometria analitica nel piano e nello spazio e capacità di applicarle allo studio e alla risoluzione di semplici problemi anche nell'ambito di altri insegnamenti. Conoscenza e capacità di comprensione Buona conoscenza teorica e pratica di matrici, sistemi lineari e altre nozioni fondamentali di algebra lineare e capacità di comprensione di queste tematiche anche nell'ambito di altri insegnamenti. Capacità di applicare conoscenza e comprensione Capacità di utilizzare le competenze acquisite per risolvere semplici problemi su matrici, sistemi lineari e altre nozioni fondamentali di algebra lineare anche per sviluppi richiesti in altri insegnamenti. Autonomia di giudizio Buona capacità di riconoscere, inquadrare e impostare la risoluzione di semplici problemi su matrici, sistemi lineari e altre nozioni fondamentali di algebra lineare, eventualmente selezionando opportunamente tra i metodi appresi. Abilità comunicativa Buona capacità di esposizione di concetti e tecniche di base di algebra lineare nonché di metodi risolutivi di semplici problemi. Capacità di apprendimento Buona capacità di apprendimento delle questioni di carattere matematico in altri insegnamenti, in forza della comprensione del carattere logico-deduttivo della disciplina.
Canale: 1
-
CASADIO TARABUSI ENRICO
( programma)
Principio di induzione. Binomio di Newton. Retta reale. Numeri complessi. Geometria analitica nel piano e nello spazio. Spazi vettoriali. Lo spazio R^n. Prodotto scalare. Norma. Applicazioni lineari. Matrici. Determinanti. Rango. Matrici inverse. Sistemi di equazioni lineari: teoremi di Cramer e di Rouché-Capelli. Autovalori, autovettori, diagonalizzabilità. Forme bilineari simmetriche. Forme quadratiche e loro segno. Spazi metrici e topologia indotta dalla metrica.
M. Abate, C. de Fabritiis, Geometria analitica con elementi di algebra lineare, McGraw-Hill.
(Date degli appelli d'esame)
|
9
|
MAT/03
|
48
|
36
|
-
|
-
|
Attività formative di base
|
ITA |
1017589 -
STATISTICA DI BASE
(obiettivi)
Obiettivi formativi. L'obiettivo formativo primario dell'insegnamento è l'apprendimento da parte degli studenti dei concetti e delle procedure di base della statistica descrittiva. Dal punto di vista tecnico-operativo, al termine del corso lo studente deve essere in grado di progettare una piccola indagine censuaria e di elaborarne criticamente i dati dal punto di vista descrittivo sfruttando un software statistico. Conoscenza e capacità di comprensione. Dopo aver frequentato il corso gli studenti conoscono e comprendono le principali procedure di analisi descrittiva dei dati. Sono in grado di sintetizzare i dati mediante rappresentazioni grafiche e di organizzarli in tabelle semplici e doppie. Conoscono e sono in grado di calcolare i più importanti indicatori statistici che (a) misurano la posizione, la variabilità e la forma di distribuzioni semplici e (b) quantificano importanti aspetti delle distribuzioni secondo due caratteri. Inoltre, hanno acquisito la nozione di modello statistico e sono in grado di implementare un modello di regressione semplice. Capacità di applicare conoscenza e comprensione. Al termine del corso gli studenti sono in grado di applicare le conoscenze acquisite nell'interpretazione e nella valutazione critica dei risultati di analisi statistiche descrittive. Autonomia di giudizio. Gli studenti, attraverso lo svolgimento di un ampio numero di esercizi su tutti gli argomenti trattati, sviluppano capacità di giudizio autonomo che permettono di individuare i metodi più appropriati per risolvere problemi di statistica descrittiva e di intrepretare criticamente i risultati delle elaborazioni forniti dal software. Abilità comunicativa. Gli studenti, attraverso lo studio e lo svolgimento di esercizi pratici, acquisiscono il linguaggio tecnico-scientifico della disciplina, che deve essere opportunamente utilizzato sia nelle prove scritte che orali. Capacità di apprendimento. Gli studenti che superano l'esame hanno conoscenza delle nozioni fondamentali necessarie per l'esplorazione statistico-descrittiva dei dati. Sono, inoltre, in grado di implementare semplici codici per organizzare i dati in tabelle e sintetizzarli mediante rappresentazioni grafiche e/o calcolo di importanti indicatori. Hanno, pertanto, acquisito le basi per poter apprendere quanto verrà proposto negli insegnamenti successivi di area statistica.
|
9
|
SECS-S/01
|
72
|
-
|
-
|
-
|
Attività formative di base
|
ITA |