96346 - INFORMATICA

Anno Accademico 2023/2024

  • Docente: Luca Sciullo
  • Crediti formativi: 6
  • SSD: INF/01
  • Lingua di insegnamento: Italiano
  • Modalità didattica: Convenzionale - Lezioni in presenza
  • Campus: Bologna
  • Corso: Laurea in Scienza dei materiali (cod. 5940)

Conoscenze e abilità da conseguire

Al termine del corso lo studente possiede una conoscenza della struttura del calcolatore e dei linguaggi di programmazione moderni, in particolare di Python. Tali conoscenze sono adeguate e sufficienti per affrontare e risolvere semplici problemi di natura scientifica mediante programmi eseguiti al calcolatore, quali lettura, scrittura e rielaborazione di dati, e algoritmi di base per la derivazione e l'integrazione. L'attività laboratoriale lo introduce ai primi esempi di metodi e modelli applicati

Contenuti

Il corso introduce i concetti principali dell'informatica, del problem solving e delle macchine astratte. Si approfondisce poi la programmazione in Python, con particolare attenzione a:

  • Macchina python
  • Nomi e loro visibilità
  • Funzioni
  • Oggetti modificabili e non modificabili
  • Tipi di dato base (numeri, stringhe, liste, dizionari, etc..)
  • Tipi di dato astratti (alberi binari)

Vengono poi presentate alcune classi di algoritmi (es. ordinamento), con cenni di complessità computazionale. Vengono discusse le limitazioni dei procedimenti effettivi e l'esistenza di problemi non risolubili per via algoritmica.

E' prevista un'intensa attività di laboratorio durante la quale il docente è affiancato da tutor, che supporta gli studenti nel comprendere e applicare i concetti appresi durante le lezioni.

Testi/Bibliografia

John V. Guttag
Introduzione 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)

Altre letture consigliate:

Allen B. Downey
How to Think Like a Computer Scientist: Learning with Python
Online interactive edition

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

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



Metodi didattici

Lezioni in aula.

Esercitazioni di laboratorio che possono tenersi nella stessa aula dove si tiene lezione con i portatili degli studenti o in laboratorio di informatica: un PC ogni due studenti, in pair programming . Durante il laboratorio, il docente è affiancato dai tutor.

Il corso è tenuto nel secondo semestre (da febbraio a maggio).

Modalità di verifica e valutazione dell'apprendimento

Il corso prevede lo svolgimento di un progetto individuale o di gruppo relativo alla realizzazione di un'applicazione python e nella discussione delle scelte progettuali e di realizzazione di questo in una sessione di esame orale (di circa 20 minuti). Durante la sessione orale, inoltre, il docente si accerterà, tramite delle domande specifiche, che lo studente abbia interiorizzato i concetti discussi nel corso.

Strumenti a supporto della didattica

Tutte le informazioni e il materiale sul corso saranno reperibili a partire dalla pagina personale del docente e, durante il corso, sulla piattaforma virtuale.unibo.it

ll laboratorio, se nella stessa aula dove si tiene lezione, si tiene con i portatili degli studenti. È necessario installare sul portatile una versione del linguaggio di programmazione Python: si suggerisce Thonny, un ambiente di programmazione auto-contenuto per Python 3, che sarà utilizzato durante le lezioni.

Orario di ricevimento

Consulta il sito web di Luca Sciullo