Obiettivo del corso è fornire agli studenti gli strumenti metodologici e concettuali per la progettazione di algoritmi e l'implementazione di programmi per la soluzione automatica di problemi.
Obiettivi particolari sono:
- introdurre l'informatica come disciplina per la soluzione automatica di problemi;
- introdurre strumenti e metodologie per la progettazione di algoritmi;
- introdurre concetti, metodologie e tecniche fondamentali della programmazione;
- introdurre concetti e metodi per l'utilizzo di programmi per problemi di data analytics
Al termine del corso gli studenti saranno in grado di affrontare un problema di programmazione in tutte le sue parti, ovvero:
- comprendere, analizzare e formalizzare il problema
- progettare un algoritmo risolutivo utilizzando tecniche iterative
- implementare l'algoritmo in un linguaggio di programmazione utilizzando opportune strutture dati
e funzioni.
- affrontare problemi articolati di data analytics utilizzando opportune librerie
Obiettivi particolari sono:
- introdurre l'informatica come disciplina per la soluzione automatica di problemi;
- introdurre strumenti e metodologie per la progettazione di algoritmi;
- introdurre concetti, metodologie e tecniche fondamentali della programmazione;
- introdurre concetti e metodi per l'utilizzo di programmi per problemi di data analytics
Al termine del corso gli studenti saranno in grado di affrontare un problema di programmazione in tutte le sue parti, ovvero:
- comprendere, analizzare e formalizzare il problema
- progettare un algoritmo risolutivo utilizzando tecniche iterative
- implementare l'algoritmo in un linguaggio di programmazione utilizzando opportune strutture dati
e funzioni.
- affrontare problemi articolati di data analytics utilizzando opportune librerie
scheda docente
materiale didattico
- Problemi e algoritmi
- Architettura dei calcolatori
- Linguaggi e Compilazione
- I/O, variabili e costanti
Operazioni:
- Tipi di dato
- Espressioni
- Algebra booleana
Strutture di controllo:
- Selezione
- Iterazione
- Funzioni
Strutture dati:
- Array
- Struct
Concetti avanzati:
- Librerie
Programma
Concetti di base:- Problemi e algoritmi
- Architettura dei calcolatori
- Linguaggi e Compilazione
- I/O, variabili e costanti
Operazioni:
- Tipi di dato
- Espressioni
- Algebra booleana
Strutture di controllo:
- Selezione
- Iterazione
- Funzioni
Strutture dati:
- Array
- Struct
Concetti avanzati:
- Librerie
Testi Adottati
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.Bibliografia Di Riferimento
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.Modalità Erogazione
Lezioni ed esercitazioni in aula e in laboratorioModalità Frequenza
Frequenza non obbligatoriaModalità Valutazione
L'esame consiste in una prova scritta composta da esercizi di programmazione, domande a risposta multipla, domande teoriche riguardanti il programma del corso da svolgersi in laboratorio.
scheda docente
materiale didattico
- Sintassi
- Strutture dati
- Calcolo numerico (vettori e matrici)
- Gestione dati (tabelle)
- Analisi Dati
Programma
Programmazione in Python- Sintassi
- Strutture dati
- Calcolo numerico (vettori e matrici)
- Gestione dati (tabelle)
- Analisi Dati
Testi Adottati
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.Bibliografia Di Riferimento
Documentazione ufficiale Python: https://docs.python.org/3/ Documentazione NumPy per il calcolo numerico: https://numpy.org/doc/ Documentazione Pandas per la manipolazione e analisi dati: https://pandas.pydata.org/docs/index.html Testo: W. McKinney: “Python for Data Analysis” disponibile anche in versione gratuita on-line https://wesmckinney.com/book/Modalità Frequenza
La frequenza è facoltativa.Modalità Valutazione
La valutazione consiste in una prova scritta composta da esercizi di programmazione e domande teoriche riguardanti il programma del corso.