Fondamenti di Programmazione

Annunci

Sinopsi

Introduzione alla programmazione tramite il linguaggio Python. Tipi di dati, variabili, assegnamenti, strutture di controllo, funzioni, classi, moduli e Input/Output. Strutture dati: vettori, stringhe, liste e dizionari. Progettazione e sviluppo di programmi tramite programmazione procedurale e orientata agli oggetti. Librerie di Python per la grafica, per la gestione dei file, per l'elaborazione di testi/html e per l'accesso ad Internet. Debugging e testing di programmi.

Amministrazione

Personale
Docente Canale I: Fabio Pellacini
Docente Canale II: Angelo Monti
Esercitatore Canale I: Igor Melatti
Esercitatore Canale II: Lorenzo Carlucci
Teledidattica: Angelo Monti
Contatti
email: fondamenti-chiocciola-di-punto-uniroma1-punto-it
web: pellacini.di.uniroma1.it/teaching/fondamenti16
Aule e Calendario Didattico
vedere il sito del dipartimento
Forums e Homeworks
Google Group del corso
accesso tramite email instituzionale (email finisce in uniroma1.it)
il primo accesso sara' moderati dai docenti

Prerequisiti

È richiesta un'adeguata preparazione iniziale relativa alle materie presenti nei programmi della scuola secondaria superiore, con particolare riguardo all’italiano e alla matematica. Una discreta conoscenza dell’inglese è di grande aiuto.

Testi di riferimento

Anche se non necessario, il corso seguirà il materiale nell'ebook seguente, di cui consigliamo l'aquisto.

Altri libri che possono essere utili sono:

Modalità d'esame

Per sostenere l'esame è possibile fare 4 homeworks o una prova di laboratorio. È forte consiglio dei docenti usare la modalità con homeworks, ma ogni studente può scegliere come fare.

Modalità Homework

Questa è la modalità consigliata. Durante il corso saranno assegnati 4 homeworks, cioè esercizi da fare a casa, di cui 2 prima della prova intermedia e 2 dopo. La valutazione di ogni homework dà luogo a un punteggio tra 0 e 45. Il voto finale sarà calcolato come la media dei punteggi degli homeworks diviso 5.25. Questa media permette di perdere qualche punto in ogni homework.

Però affinché le soluzioni siano considerate valide devono superare il cheating test per essere convalidate. Le soluzioni consegnate sono sottoposte a dei test per verificare se sono state copiate anche solo parzialmente. I test sono effettuati in due occasioni: per i primi 2 homework e per gli ultimi 2. Se in uno dei test le soluzioni risultano sospette, è a discrezione del docente decidere se convocare gli studenti coinvolti e se permettergli di tentare di validare le soluzioni sostenendo una prova in laboratorio. La procedura di verifica sarà effettuata dopo i primi 2 homeworks e dopo i secondi 2.

Gli homeworks sono validi solo durante il primo appello e andranno convalidati in presenza o per email scritta da parte degli studenti. Maggiori informazioni sulla procedura di convalida seguiranno. Negli appelli successivi gli homework non sono più validi e l'esame è espletato secondo la modalità senza homework descritta di seguito.

Modalità senza Homework

Se non si vuole o si è costretti a sostenere l'esame senza homework, l'esame consiste in una prova in laboratorio con uno o più esercizi di programmazione relativi a tutti gli argomenti svolti a lezione. Superare l'esame tramite questa prova potrebbe risultare più difficile perché gli esercizi sono della stessa difficoltà degli ultimi homework ma devono essere risolti in un tempo più limitato.

Codice di Comportamento

Gli studenti possono discutere con altri le soluzioni degli homework ma poi ognuno deve scrivere la soluzione per proprio conto. La discussione con gli altri non solo è permessa ma è anche incoraggiata perché è molto utile per mettere a confronto le proprie idee, per chiarire dubbi e per rendere più gradevole e stimolante lo studio. Però poi le soluzioni vanno interamente pensate, o ripensate, e scritte per proprio conto senza copiarle in tutto o in parte da altri. Anche passare la soluzione ad altri non è permesso. Infatti, sia chi ha copiato che chi si è fatto copiare incapperà nel cheating test. E allora sarà a discrezione del docente permettergli o meno di continuare a sostenere l'esame con la modalità degli homework.

Calendario

Data Lezione Files Capitoli
27/09 Introduzione al corso 1, 2
30/09 Espressioni 3
04/10 Funzioni 4
07/10 Condizionali 5
11/10 Sequenze 6
12/10 Iterazione 7
14/10 Oggetti 8, 11.1
18/10 Metodi 8
21/10 Dizionari 9
25/10 Files e Web, Testo 10, 11
26/10 Immagini 12
28/10 Immagini 12
04/11 Discussione Homeworks
15/11 Classi 13
18/11 Ricorsione 14

I capitoli in questo calendario si riferiscono all'ebook Fondamenti di Programmazione in Python di F. Pellacini.

Homeworks

Istruzioni

  1. Scaricare il file .zip che contiene un archivio zippato con i testi degli esercizi dell'homework.

  2. Facendo l'unzip dell'archivio si troverà per ogni esercizio x (x = 1,2,3,…) due files program0x.py e grade0x.py, e altri file di support. Il file program0x.py contiene la spiegazione dell'esercizio x e grade0x.py serve (vedi dopo) per fare il test della soluzione che sarà stata scritta. Il vostro voto verrá calcolato automaticamente da questo programma.

  3. La soluzione dell'esercizio x va scritta nel file program0x.py nel punto indicato.

  4. Per testare la propria soluzione dare il comando python3 grade0x.py da terminale (essendo posizionati nella directory che è stata prodotta dall'unzip dell'archivio). Il test controlla l'output della funzione che è stata scritta su un certo numero di input. Per ogni input stampa ok se l'output è corretto, altrimenti stampa un messaggio d'errore.

  5. Non modificare i nomi dei files, non spostarli in altre directories e non modificare i file grade0x.py.

  6. Fate l'upload dei files program0x.py come descritto sotto.

Sottomissione

  1. Per sottomettere gli homeworks e vedere i propri risultati, registratevi alla pagina di registrazione, con il vostro nome, cognome, numero di matricola e email istituzionale (cioè quella che termina in uniroma1.it). A registrazione avvenuta, riceverete una email con un codice personale, da utilizzare insieme al numero di matricola per sottomettere gli homeworks e vedere i risultati. Per chi non ha l'email istituzionale, potrà chiedere al professore il permesso, che verrà concesso solo in casi debitamente motivati (cioè quando per ragioni burocratiche lo studente non può ricevere l'email istituzionale).

  2. Gli homeworks vanno sottomessi con numero di matricola e codice alla pagina di sottomissione. Dovrete sottomettere solo i programmi (program0x.py) da voi completati. Gli homeworks possono essere sottomessi più volte, ma vale sola l'ultima versione sottomessa. La data di sottomissione è riportata sotto (gli homework saranno accettati fino alle 23:59 della data indicata).

  3. Per visionare tutto il materiale inviato e i voti finali, si può accedere con matricola e codice alla pagina di visione. I risultati non sono aggiornati istantaneamente.

Homeworks

Le date di consegna sono considerate fino alla mezzanotte.