INFORMATICA
(obiettivi)
** Obiettivi generali
L'obiettivo principale del corso è fornire conoscenze di informatica di base, di dare la capacità di capire in cosa consista un problema informatico e che tipo di ragionamento logico possa portare alla sua soluzione. Parallelamente si vuole fornire una preparazione tecnica riguardo la scrittura di programmi in Python.
** Obiettivi specifici
a) Conoscenza e capacità di comprensione
Alla fine del corso gli studenti sapranno cos'è un algoritmo, che differenza esiste tra un dato e la sua rappresentazione informatica, come ragionare utilizzando strumenti di astrazione. Saranno in grado scrivere programmi nel linguaggio Python per risolvere problemi nuovi, utilizzando anche conoscenze teoriche di analisi degli algoritmi.
b) Capacità di applicare conoscenza e comprensione
L'apprendimento di elementi di teoria degli algoritmi e di un linguaggio di programmazione permette agli studenti di risolvere in modo flessibile problemi computazionali nuovi.
c) Autonomia di giudizio
Il pensiero algoritmico (o computazionale) che gli studenti allenano in questo corso fornisce gli strumenti per l'analisi precisa e non ambigua dei problemi, affidandosi alle informazioni rilevanti.
d) Abilità comunicativa
Gli studenti acquisiscono il linguaggio tecnico-scientifico dell'informatica, che deve essere opportunamente utilizzato sia nelle prove scritte che orali. Oltretutto la scrittura di documentazione per il codice allena gli studenti a spiegare con chiarezza il loro lavoro.
e) Capacità di apprendimento
Il corso mette gli studenti davanti a dei concetti (la programmazione, la teoria degli algoritmi) nuovi. Lo sforzo fatto per comprenderli ed applicarli permette loro di studiare e di valutare tecniche algoritmiche sconosiute e nuovi linguaggi di programmazione.
|
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
Docente
|
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
Mutua da
|
1017587 INFORMATICA in Statistica, economia e società L-41 3 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
|
|
|