Obiettivi
Il corso illustra i principi fondamentali della programmazione orientata agli oggetti con riferimento al linguaggio Python.
Viene posta attenzione sia agli aspetti metodologici di progettazione del software sia alle tecniche di rappresentazione e manipolazione delle informazioni.
Si intende, inoltre, fornire allo studente la padronanza degli strumenti tecnologici di ausilio alla programmazione come compilatori, librerie di funzioni, debugger, ecc. A tal fine il corso prevede numerose esercitazioni guidate da svolgersi al calcolatore.
Al termine del corso lo studente dovrà essere in grado di progettare, implementare e collaudare programmi in linguaggio Python di media complessità.
Canali
1
NICOLA GALESI Scheda docente
Programma
1.Introduzione su Computer e Programmazione
2.Programmare con numeri e stringhe
3.Decisioni
4.Cicli
5. Funzioni
6.Liste
7.Ricorsione
8.File
9. Insiemi e Dizionari
10.Ordinamenti e ricerca
11. Cenni a Oggetti e classi e programmazione orientata agli oggetti
Testi adottati
C. Horstmann R. D. Necaise "Concetti di Informatica e fondamenti di Python", ed. Maggioli,
Prerequisiti
Nozioni di base di matematica e teoria degli insiemi
Modalità di svolgimento
Lezioni di teoria a di laboratorio
Modalità di frequenza
Non obbligatoria
Modalità di valutazione
Prova scritta o Laboratorio
Data inizio prenotazione | Data fine prenotazione | Data appello |
---|---|---|
16/10/2022 | 01/02/2023 | 07/02/2023 |
16/10/2022 | 22/02/2023 | 23/02/2023 |
16/10/2022 | 23/03/2023 | 24/03/2023 |
16/10/2022 | 04/06/2023 | 05/06/2023 |
16/10/2022 | 13/07/2023 | 14/07/2023 |
16/10/2022 | 07/09/2023 | 08/09/2023 |
16/10/2022 | 24/10/2023 | 31/10/2023 |
RICCARDO LAZZERETTI Scheda docente
Programma
Nozioni preliminari:
.) Il calcolatore.
.) Linguaggi di programmazione.
.) Sintassi e Semantica.
.) Algoritmi.
.) Paradigmi di Programmazione.
Introduzione alla programmazione tramite il linguaggio Python3:
.) Variabili, istruzione d'assegnamento, espressione, tipi di dato, operatori.
.) Istruzioni condizionali e cicli.
.) Definizione ed invocazione di funzioni.
Strutture dati: liste, set e dizionari.
Gestione dei dati in memoria secondaria:
.) apertura, scrittura e lettura di file.
Test, debug e documentazione del codice.
Testi adottati
Slide e raccolte di esercizi forniti dai docenti.
C. Horstmann R. D. Necaise "Concetti di Informatica e fondamenti di Python", ed. Maggioli, ISBN 9788891605085
http://www.maggiolieditore.it/9788891605085-concetti-di-informatica-e-fondamenti-di-python.html
"Think Python", un manuale gratuito in lingua italiana di Python scaricabile dal sito dell'autore:
https://github.com/AllenDowney/ThinkPythonItalian/blob/master/thinkpython_italian.pdf
Prerequisiti
Non sono richiesti prerequisiti per il corso.
Modalità di svolgimento
Il corso prevede sia lezioni in classe che periodiche esercitazioni guidate in laboratorio
Modalità di frequenza
frequenza non obbligatoria ma fortemente consigliata
Modalità di valutazione
Le prove d'esame richiedono il progetto e l'implementazione diretta su calcolatore di funzioni attraverso il linguaggio di programmazione Python3
2
Raffaele Nicolussi Scheda docente
Programma
Riferimenti:
C. Rif. [1]: Horstmann e R. N. Necaise. Concetti di informatica e fondamenti di Python. Ed. Apogeo, 2014.
CI. Rif. [2]: Dispense e altro materiale proposto dai docenti, reperibile su: https://piazza.com/uniroma1.it/fall2018/ldi1819/resources
Nozioni introduttive
Introduzione al corso. Architettura generale di un calcolatore e schema di Von Neumann.
Concetto di algoritmo
Rif. [1], capitolo 1
Rif. [2], Dispense presenti sul sito
Nozioni elementari sulla programmazione in python
Uso della shell e I/O di base. Uso dell'ambiente di sviluppo IDLE
Rif. [1], capitolo 1
Rif. [2], Dispense presenti sul sito
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.
Rif. [1], capitolo 2 fino a 2.6 escluso
Rif. [2], Dispense presenti sul sito
Decisioni - costrutti if ed else-if (elif)
Istruzioni if ed else-if (elif). Operatori relazionali. Variabili booleane e operatori. Diramazioni annidate e alternative multiple.
Rif. [1], capitolo 3
Rif. [2], Dispense presenti sul sito
Cicli
Ciclo for. Ciclo while. Algoritmi che usano cicli. Cicli annidati
Rif. [1], capitolo 4 escluso 4.9.3
Rif. [2], Dispense presenti sul sito
Funzioni e moduli
Introduzione alla programmazione Python con funzioni. Moduli e loro uso. Esecuzione di script.
Rif. [1], capitolo 5
Rif. [2], Dispense presenti sul sito
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.
Rif. [1], capitolo 6, no 6.5 e 6.6
Rif. [2], Dispense presenti sul sito
File e file system
Apertura, chiusura e manipolazione di file testo. Funzioni di base per l'accesso al file system.
Rif. [1], capitolo 7 fino a 7.3 escluso
Rif. [2], Dispense presenti sul sito
Esempi visti a lezione
Dizionari
Accesso e manipolazione di dizionari. Uso di dizionari per realizzare strutture dati complesse.
Rif. [1], 8.2 e 8.3
Rif. [2], Dispense presenti sul sito
Problemi di ordinamento e ricerca
Il problema di caratterizzare e confrontare l'efficienza di algoritmi e programmi. Cenni alla complessità computazionale. Algoritmi per la ricerca sequenziale e per quella binaria. Analisi qualitativa e sperimentale dei costi per la ricerca binaria e per quella sequenziale.
Rif. [1], 12.6
Esempi visti a lezione
Rif. [2], Dispense presenti sul sito
Testi adottati
Il libro di riferimento è:
C. Horstmann R. D. Necaise "Concetti di Informatica e fondamenti di Python", ed. Maggioli, ISBN 9788891605085
http://www.maggiolieditore.it/9788891605085-concetti-di-informatica-e-fondamenti-di-python.html
Altro materiale didattico sarà reso disponibile nella sezione Resources del sito del corso:
https://piazza.com/uniroma1.it/fall2020/ldi2021/info
Prerequisiti
Nessun prerequisito è richiesto. La conoscenza di un altro linguaggio di programmazione può essere d'aiuto.
Modalità di svolgimento
Il corso si svolge in aula per le lezioni teoriche e in laboratorio per quelle pratiche di programmazione
Modalità di frequenza
La frequenza non è obbligatoria anche se fortemente consigliata.
Modalità di valutazione
Al candidato viene chiesto di risolvere una serie di esercizi di programmazione al calcolatore.
Per superare l'esame occorre conseguire un voto non inferiore a 18/30.
Lo studente deve dimostrare di aver acquisito una conoscenza sufficiente dei concetti base di programmazione.
Per conseguire un punteggio pari a 30/30 e lode, lo studente deve invece dimostrare di aver acquisito una conoscenza eccellente di tutti gli argomenti trattati durante il corso, essendo in grado di raccordarli in modo logico e coerente.
Data inizio prenotazione | Data fine prenotazione | Data appello |
---|---|---|
15/01/2023 | 06/02/2023 | 07/02/2023 |
01/02/2023 | 22/02/2023 | 23/02/2023 |
01/03/2023 | 23/03/2023 | 24/03/2023 |
20/05/2023 | 04/06/2023 | 05/06/2023 |
25/06/2023 | 13/07/2023 | 14/07/2023 |
20/08/2023 | 07/09/2023 | 08/09/2023 |
25/09/2023 | 24/10/2023 | 31/10/2023 |
25/09/2023 | 24/10/2023 | 31/10/2023 |
- Anno accademico: 2022/2023
- Curriculum: Ingegneria Clinica (percorso formativo valido anche ai fini del conseguimento del doppio titolo italo-venezuelano)
- Anno: Primo anno
- Semestre: Primo semestre
- SSD: ING-INF/05
- CFU: 6
- Attività formative di base
- Ambito disciplinare: Matematica, informatica e statistica
- Ore Aula: 60
- CFU: 6
- SSD: ING-INF/05