FONDAMENTI DI INFORMATICA |
Codice
|
1017401 |
Lingua
|
ITA |
Corso di laurea
|
Ingegneria Gestionale |
Programmazione per l'A.A.
|
2020/2021 |
Curriculum
|
Ingegneria Gestionale (percorso valido anche ai fini del conseguimento del doppio titolo italo francese o italo-venezuelano) |
Anno
|
Primo anno |
Unità temporale
|
Secondo semestre |
Tipo di attestato
|
Attestato di profitto |
Crediti
|
12
|
Settore scientifico disciplinare
|
ING-INF/05
|
Ore Aula
|
72
|
Ore Laboratorio
|
48
|
Ore Studio
|
-
|
Attività formativa
|
Attività formative caratterizzanti
|
Canale: 2
Docente
|
MARRELLA ANDREA
(programma)
- Nozioni introduttive: Architettura generale di un calcolatore. Concetto di algoritmo
- Nozioni elementari sulla programmazione in Python: Uso della shell e I/O di base. Uso dell'ambiente di sviluppo IDLE
- Aspetti di base della programmazione in Python: Espressioni aritmetiche e tipi di dati elementari. Variabili e istruzioni di assegnazione.
- Rappresentazione dell'informazione. Il tipo di dato stringa.
- Decisioni: costrutti if ed else-if (elif)
- Cicli: Ciclo for. Ciclo while. Cicli annidati
- Funzioni e moduli: Introduzione alla programmazione Python con funzioni.
- Moduli e loro uso. Esecuzione di script.
- Liste: Proprietà di base. Operazioni sulle liste. Algoritmi elementari che fanno uso di liste. Rappresentazione di tabelle e matrici.
- File e file system: Apertura, chiusura e manipolazione di file di testo. Funzioni di base per l'accesso al file system.
- Classi e Oggetti: La nozione di classe ed oggetto. I metodi di classe. Definizione di classe
- Insiemi: Creazione e Modifica di insiemi. Iterazione sugli elementi di un insieme. Operazioni su insiemi
- Dizionari: Accesso e manipolazione di dizionari. Uso di dizionari per realizzare strutture dati complesse.
- Ricorsione: Definizioni. Esempi di base. Funzionamento della ricorsione.
- Problemi di ordinamento e ricerca: caratterizzare e confrontare l'efficienza di algoritmi e programmi. Cenni alla complessità computazionale. Algoritmi per la ricerca sequenziale e per quella binaria.
- Grafi e alberi: Definizioni e nozioni fondamentali. Rappresentazione di grafi (matrice di adiacenza e liste di incidenza). Uso di dizionari per la
rappresentazione di grafi. Realizzazione di funzionalità di base.
C. Horstmann R. D. Necaise
"Concetti di Informatica e fondamenti di Python"
ed. Maggioli, ISBN 9788891605085
|
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
|
Metodi di valutazione
|
Prova scritta
Prova orale
|
Docente
|
LEOTTA FRANCESCO
|
Date di inizio e termine delle attività didattiche
|
-- -
-- |
Modalità di erogazione
|
Tradizionale
A distanza
|
Modalità di frequenza
|
Non obbligatoria
|
Canale: 1
Docente
|
AMERINI IRENE
(programma)
Parte 1
- Nozioni introduttive
Introduzione al corso.
Architettura generale di un calcolatore e schema di Von Neumann.
Concetto di algoritmo.
- Nozioni elementari sulla programmazione in Python
Uso della shell e I/O di base.
Uso dell'ambiente di sviluppo IDLE.
- Aspetti di base della programmazione in Python
Espressioni aritmetiche e tipi di dati elementari.
Variabili e istruzioni di assegnazione.
Rappresentazione dell'informazione.
Set di caratteri e funzioni chr, ord.
Il tipo di dato stringa.
- Decisioni - costrutti if ed else-if (elif)
Istruzioni if ed else-if (elif).
Operatori relazionali.
Variabili booleane e operatori.
Diramazioni annidate e alternative multiple.
- Cicli
Ciclo for.
Ciclo while.
Algoritmi che usano cicli.
Cicli annidati.
- Funzioni e moduli
Introduzione alla programmazione Python con funzioni.
Moduli e loro uso.
Esecuzione di script.
- Liste
Proprietà di base.
Operazioni sulle liste.
Algoritmi elementari che fanno uso di liste.
Tuple.
Rappresentazione di tabelle e matrici.
Nozioni elementari sulla gestione della memoria: riferimenti/puntatori a oggetti.
- File e file system
Apertura, chiusura e manipolazione di file testo.
Funzioni di base per l'accesso al file system.
PARTE 2
- Dizionari
Accesso e manipolazione di dizionari.
Uso di dizionari per realizzare strutture dati complesse.
- Ricorsione
Esempi di base: fattoriale, numeri di Fibonacci.
La ricorsione in pratica: progetto e implementazione di semplici algoritmi ricorsivi in Python.
Funzionamento della ricorsione: pila dei record di attivazione; contenuto e uso della pila da parte dell'ambiente di esecuzione.
Esempi di evoluzione della pila di esecuzione per funzioni ricorsive: il caso del fattoriale.
Applicazioni: visita dell'albero delle directory e ricerca di un file a partire da una directory data.
- Programmazione ad oggetti
Classi e Istanze
- Grafi e alberi
Grafi e relazioni tra oggetti di una collezione.
Grafi: definizioni e nozioni fondamentali.
Rappresentazione di grafi: matrice di adiacenza e liste di incidenza.
Rappresentazione di grafi in Python: uso di dizionari per la rappresentazione del vettore dei nodi e della lista di adiacenza.
Semplici esempi di grafi rappresentati mediante liste di adiacenza memorizzate in file testo; costruzione delle corrispondenti rappresentazioni mediante dizionari in Python.
Rappresentazione di grafi mediante matrice di adiacenza.
Realizzazione di un modulo Python per il caricamento di grafi a partire da file di testo e per la realizzazione di funzionalità di base: in particolare, calcolo del grado, visite in profondità e ampiezza.
Semplici algoritmi per la verifica di proprietà di grafi.
Horstmann e R. N. Necaise. Concetti di informatica e fondamenti di Python.
Ed. Apogeo, 2014.
Dispense e altro materiale (anche on line) proposto dai docenti, reperibili su:
https://piazza.com/uniroma1.it/spring2020/figest1920/home
|
Date di inizio e termine delle attività didattiche
|
-- -
-- |
Modalità di erogazione
|
Tradizionale
|
Modalità di frequenza
|
Non obbligatoria
|
Docente
|
LAZZERETTI RICCARDO
(programma)
Parte 1
- Nozioni introduttive
Introduzione al corso.
Architettura generale di un calcolatore e schema di Von Neumann.
Concetto di algoritmo.
- Nozioni elementari sulla programmazione in Python
Uso della shell e I/O di base.
Uso dell'ambiente di sviluppo IDLE.
- Aspetti di base della programmazione in Python
Espressioni aritmetiche e tipi di dati elementari.
Variabili e istruzioni di assegnazione.
Rappresentazione dell'informazione.
Set di caratteri e funzioni chr, ord.
Il tipo di dato stringa.
- Decisioni - costrutti if ed else-if (elif)
Istruzioni if ed else-if (elif).
Operatori relazionali.
Variabili booleane e operatori.
Diramazioni annidate e alternative multiple.
- Cicli
Ciclo for.
Ciclo while.
Algoritmi che usano cicli.
Cicli annidati.
- Funzioni e moduli
Introduzione alla programmazione Python con funzioni.
Moduli e loro uso.
Esecuzione di script.
- Liste
Proprietà di base.
Operazioni sulle liste.
Algoritmi elementari che fanno uso di liste.
Tuple.
Rappresentazione di tabelle e matrici.
Nozioni elementari sulla gestione della memoria: riferimenti/puntatori a oggetti.
- File e file system
Apertura, chiusura e manipolazione di file testo.
Funzioni di base per l'accesso al file system.
PARTE 2
- Dizionari
Accesso e manipolazione di dizionari.
Uso di dizionari per realizzare strutture dati complesse.
- Ricorsione
Esempi di base: fattoriale, numeri di Fibonacci.
La ricorsione in pratica: progetto e implementazione di semplici algoritmi ricorsivi in Python.
Funzionamento della ricorsione: pila dei record di attivazione; contenuto e uso della pila da parte dell'ambiente di esecuzione.
Esempi di evoluzione della pila di esecuzione per funzioni ricorsive: il caso del fattoriale.
Applicazioni: visita dell'albero delle directory e ricerca di un file a partire da una directory data.
- Programmazione ad oggetti
Classi e Istanze
- Grafi e alberi
Grafi e relazioni tra oggetti di una collezione.
Grafi: definizioni e nozioni fondamentali.
Rappresentazione di grafi: matrice di adiacenza e liste di incidenza.
Rappresentazione di grafi in Python: uso di dizionari per la rappresentazione del vettore dei nodi e della lista di adiacenza.
Semplici esempi di grafi rappresentati mediante liste di adiacenza memorizzate in file testo; costruzione delle corrispondenti rappresentazioni mediante dizionari in Python.
Rappresentazione di grafi mediante matrice di adiacenza.
Realizzazione di un modulo Python per il caricamento di grafi a partire da file di testo e per la realizzazione di funzionalità di base: in particolare, calcolo del grado, visite in profondità e ampiezza.
Semplici algoritmi per la verifica di proprietà di grafi.
Horstmann e R. N. Necaise. Concetti di informatica e fondamenti di Python.
Ed. Apogeo, 2014.
Dispense e altro materiale (anche on line) proposto dai docenti, reperibili su:
https://piazza.com/uniroma1.it/spring2020/figest1920/home
|
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
|
|
|