07276 - INFORMATICA

Anno Accademico 2023/2024

  • Docente: Stefano Pio Zingaro
  • Crediti formativi: 10
  • SSD: ING-INF/05
  • Lingua di insegnamento: Italiano
  • Moduli: Stefano Pio Zingaro (Modulo 1) Stefano Pio Zingaro (Modulo 2)
  • Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
  • Campus: Bologna
  • Corso: Laurea in Scienze statistiche (cod. 8873)

Conoscenze e abilità da conseguire

Al termine del corso lo studente ha conoscenze di base sull’Informatica e sull’Ingegneria del software: elaboratori, reti, aspetti organizzativi, database, cifratura dei dati, autenticazione, firma elettronica, comunicazione e linguaggi, ciclo di vita del software. È inoltre in grado di realizzare semplici programmi interattivi utilizzando i linguaggi HTML, CSS e Javascript.

Contenuti

Informatica e problem solving. Macchine astratte. Programmazione: nomi e loro visibilità, funzioni, oggetti modificabili e non modificabili, tipi di base (numeri, stringhe, ennuple, liste, dizionari) e loro uso nella risoluzione di problemi di media difficoltà. Tipi di dato astratti: albero binario. Algoritmi di ordinamento. Cenni di complessità computazionale. Limitazioni dei procedimenti effettivi: esistenza di problemi non risolubili per via algoritmica.

Il corso ha un'intensa attività di laboratorio, in cui il docente è affiancato da tutor.

Testi/Bibliografia

I testi consigliati per la parte di programmazione in Python sono i seguenti.

John V. GuttagIntroduzione alla programmazione con python, Egea, 2021 (traduzione italiana ridotta di: Introduction to Computation and Programming Using Python Third Edition: With Application to Computational Modeling and Understanding Data MIT Press, 2021).

Per la parte di programmazione in R, sono consigliati i seguenti testi.

W. John Braun and Duncan J. Murdoch, A First Course in Statistical Programming with R (3rd edition), Cambridge University Press. Digital ISBN: 9781108993456.

Altre letture consigliate:

Allen B. Downey, Think Python 2e. O'Reilly Media, 2012. ISBN 879-1449330729. On-line manuscript: see greenteapress.com/wp/think-python-2e/.

Jessen Havill, Discovering Computer Science; Interdisciplinary Problems, Principles, and Python Programming. Chapman and Hall/CRC. ISBN 97814822544143.

 

 

Metodi didattici

Lezioni in aula.

Esercitazioni di laboratorio, nella stessa aula dove si tiene lezione, con i portatili delle/gli studentesse/i: un computer ogni coppia, in modalità di pair programming. Durante il laboratorio, il docente è affiancato da tutor.

In considerazione della tipologia di attività e dei metodi didattici adottati, la frequenza di questa attività formativa richiede la preventiva partecipazione di tutte le studentesse e studenti ai moduli 1 e 2 di formazione sulla sicurezza nei luoghi di studio, in modalità e-learning.

 

Modalità di verifica e valutazione dell'apprendimento

Il corso ha sia lezioni tradizionali che lezioni di laboratorio, con un unico esame. Ogni settimana saranno proposti in laboratorio alcuni test di autovalutazione: non sono necessari per l'esame, ma costituiscono un importante strumento per la sua preparazione. La consegna di tutti gli assegnamenti durante l'anno dà diritto ad un bonus di 1 punto.

L'esame è costituito da due parti: (i) una prova di programmazione (durata: 2.5 ore); (ii) una prova scritta su carta (1 ora, non è consentita la consultazione di appunti o testi). Le due prove devono essere sostenute nello stesso appello, senza eccezioni.

Prova di programmazione: La prova si svolge sulla piattaforma online su cui si svolge anche il laboratorio, in un'aula attrezzata con PC. Quindi lo studente dovrà usare il PC d'aula e non il proprio portatile. Di durata complessiva di 2.5 ore, è a sua volta costituita da due parti:

  1. una prima parte consiste nella redazione di alcuni programmi, con correzione automatica su dati di prova; a questa parte, al momento della consegna viene immediatamente assegnato un voto compreso tra 0 e 10, con sufficienza a 5. Se questa parte è insufficiente, l'esame termina ed è globalmente insufficiente. Se la valutazione è compresa tra 5 e 10 lo studente ha accesso alla seconda parte e alla prova scritta del giorno successivo.

  2. la seconda parte consiste nella redazione di alcuni programmi, che saranno corretti e valutati manualmente dal docente assieme alla prova scritta. Anche questa parte viene erogata attraverso la piattaforma di laboratorio e propone dei test automatici, ma tali test non sono definitivi per la valutazione finale.

Il tempo complessivo di 2.5 ore viene amministrato autonomamente dallo studente; una volta consegnata la prima parte, la consegna è definitiva.

Prova scritta: Della durata di 1 ora, è un esame scritto tradizionale, senza appunti, su carta. Viene valutato dal docente insieme alla seconda parte della prova di programmazione. All'insieme delle due viene assegnato un voto compreso tra 0 e 24, con sufficienza a 13. L'eventuale insufficienza della prova (meno di 13) rende necessario sostenere di nuovo anche la prova di programmazione, ad un appello successivo.

Il voto finale è determinato sommando il voto (sufficiente) della prima parte della prova di programmazione (5-10), dello scritto (sufficiente: 13-24), e l'eventuale bonus (0-1). Se il risultato è maggiore o uguale a 32, il voto è 30Lode.

 

Strumenti a supporto della didattica

Tutte le informazioni e il materiale sul corso sono reperibili a partire dalla pagina: cs.unibo.it/~stefanopio.zingaro/teaching/07276 e, durante il corso, sulla piattaforma virtuale.unibo.it. Questa piattaforma deve essere usata anche per inviare gli esercizi assegnati durante il laboratorio.

Il laboratorio si svolge nella stessa aula dove si tiene lezione, con i computer personali. È necessario installare sul portatile una versione dei linguaggi di programmazione Python e R: si suggerisce l'uso di Thonny, un ambiente di programmazione auto-contenuto per Python 3, che sarà utilizzato durante le lezioni.

 

Link ad altre eventuali informazioni

https://cs.unibo.it/~stefanopio.zingaro/teaching/07276

Orario di ricevimento

Consulta il sito web di Stefano Pio Zingaro

SDGs

Istruzione di qualità

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.