Nuova ricerca

Marco MAMEI

Professore Ordinario
Dipartimento di Scienze e Metodi dell'Ingegneria

Insegnamento: Fondamenti di Programmazione

Ingegneria Meccanica (Offerta formativa 2023)

Obiettivi formativi

Il corso vuole fornire le conoscenze e le competenze necessarie all'interpretazione e creazione autonoma di semplici programmi Python per l'elaborazione di dati.
Tali conoscenze sono propedeutiche ad un utilizzo consapevole dei sistemi informatici che gli studenti useranno sia durante la carriera universitaria che nella propria vita lavorativa.
Le competenze acquisite sono inoltre propedeutiche alla creazione, modifica, estensione, e utilizzo dei programmi di analisi dati con cui gli studenti si troveranno a interagire durante la propria carriera universitaria e lavorativa.
Per una più completa comprensione degli obiettivi formativi, si rimanda alla lettura dei risultati di apprendimento attesi a seguito dello svolgimento del presente percorso formativo.

Prerequisiti

Nessun prerequisito, se non una dimestichezza basilare con il computer (navigazione in internet, creazione files e cartelle, download/upload di file, utilizzo editor di testo)

Programma del corso

La divisione a seguire dei contenuti del corso in ore è indicativa, poiché il riscontro degli studenti potrà spostare il carico di studio tra un argomento e l'altro.

Introduzione (~4 ore):
- presentazione del corso
- introduzione all'informatica
- introduzione alla programmazione

Python: le basi (~4 ore + ~8 ore di esercizi):
- introduzione a Python
- tipi di dato semplici
- operatori
- istruzioni condizionali
- cicli
- I/O da/su console

Python: tipi di dato composti (~4 ore + ~12 ore di esercizi):
- le liste (sintassi, semantica, operazioni comuni)
- gli insiemi (sintassi, semantica, operazioni comuni)
- i dizionari (sintassi, semantica, operazioni comuni)

Python: stringhe e files (~4 ore + ~8 ore di esercizi):
- manipolazione stringhe, ricerca
- apertura file e cartelle, ricerca, lettura, scrittura e chiusura

Python: le funzioni (~2 ore + ~4 ore di esercizi)
- definizione
- utilizzo
- librerie

Python: programmazione ad oggetti (~4 ore + ~8 ore di esercizi):


Pythonh Librerie (~8 ore + ~8 ore di esercizi):
- pygame
- guizero
- flask

La parte finale del corso (~12 ore) sarà dedicata al consolidamento di tutte le conoscenze acquisite in preparazione dell'esame.

Metodi didattici

Le lezioni vengono erogate mediante lezioni frontali in presenza, svolte con l'ausilio di materiale audio-visivo (presentazioni) ed esercitazioni pratiche in classe.
La frequenza delle lezioni frontali ed esercitazioni in presenza o in live-streaming non è obbligatoria ma fortemente consigliata.
Tutte le lezioni sono registrate e messe a disposizione degli studenti al termine della lezione stessa.
L'insegnamento è erogato in lingua italiana.
Il materiale didattico è disponibile in lingua inglese su richiesta.

Testi di riferimento

Tutto il materiale didattico necessario al superamento dell'esame è disponibile sin dall'inizio del corso sul portale Moodle.
Ovvero:
- slides delle lezioni
- esercitazioni svolte a lezione (con soluzioni)
- esercitazioni aggiuntive (con soluzioni)
- vecchi esami svolti
Sullo stesso sito è anche presente del materiale aggiuntivo per chi volesse approfondire le proprie conoscenza, tuttavia non necessario perini superamento dell'esame.

Verifica dell'apprendimento

L'esame si svolgerà al termine del corso secondo il calendario ufficiale degli appelli d'esame pubblicato su Esse3 e sul forum News del corso su Dolly.
La prova è pratica al computer.
La durata è di 2 ore
L'esame prevede lo sviluppo di un programma Python che legga dati in input da file, li elabori secondo 5 richieste ognuna valevole 6 punti, e produca l'output richiesto su altrettanti file di output.
Il programma da sviluppare è finalizzato a:
- verificare le conoscenze del linguaggio acquisite durante il corso
- verificare la capacità degli studenti di combinare opportunamente e applicare tali conoscenze
- verificare la capacità di risolvere problemi nuovi con le conoscenza acquisite
Il voto riportato nell'esame è dato dalla somma dei punti ottenuti nello svolgimento delle 5 elaborazioni richieste.
Gli esiti saranno comunicati entro e non oltre 1 settimana dalla prova, e la pubblicazione avverrà tramite Esse3.

Risultati attesi

Al termine del corso, si auspica che gli studenti siano in grado di:
1) Conoscenza e capacità di comprensione
a) capire semplici programmi scritti in linguaggio Python
b) descrivere in termini algoritmi i passi necessari alla risoluzione di un problema di programmazione
2) Conoscenza e capacità di comprensione applicate
a) modificare semplici programmi scritti in linguaggio Python
3) Autonomia di giudizio
a) verificare la propria capacità di comprendere un programma o meno in autonomia
b) verificare la propria capacità di risolvere un problema di programmazione o meno in autonomia
4) Abilità comunicative
a) esprimere in modo corretto e logico le proprie conoscenze, riconoscendo l'argomento richiesto e rispondendo in modo puntuale e completo alle richieste d'elaborazione d'esame
b) sintetizzare correttamente le procedure algoritmiche necessarie alla risoluzione delle elaborazioni d'esame
5) Capacità di apprendimento
a) approfondire le nozioni apprese per proseguire il proprio percorso universitario mettendo a frutto terminologia, concetti, e metodologia per raggiungere una conoscenza della programmazione e del linguaggio Python più completa
b) padroneggiare gli strumenti di programmazione appresi ed espanderli al bisogno per fronteggiare nuovi problemi in ambito sia universitario che lavorativo