91256 - INTRODUCTION TO ALGORITHMS AND PROGRAMMING

Scheda insegnamento

SDGs

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

Istruzione di qualità

Anno Accademico 2019/2020

Conoscenze e abilità da conseguire

Al termine dell'attività formativa, lo studente è capace di analizzare un problema, formulare un algoritmo per risolverlo e codificare tale algoritmo in un programma eseguibile. Lo studente conosce alcuni algoritmi di base e un linguaggio di programmazione.

Contenuti

Informatica e problem solving. Macchine astratte. La macchina Python. Programmazione in Python: nomi e loro visibilità, funzioni, oggetti modificabili e non modificabili, strutture dati di base (stringhe, ennuple, liste, dizionari) e loro uso nella risoluzione di problemi di media difficoltà. Classi e oggetti; metodi ed ereditarietà. Cenni ad alcune librerie (p.e., numpy e i suoi array N-dimensionali).

Saranno proposti esercizi ed attività di laboratorio.

Testi/Bibliografia

Allen B. Downey
Think Python 2e.
O'Reilly Media, 2012. ISBN 978-1449330729.
On-line manuscript: see http://www.cs.unibo.it/~martini/MATH/index.html

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

Metodi didattici

Lezioni in aula.
Esercitazioni guidate usando in aula i computer portatili degli studenti (BYOD: Bring Your Own Device).

Modalità di verifica e valutazione dell'apprendimento

Esame scritto

Orario di ricevimento

Consulta il sito web di Simone Martini

Consulta il sito web di Maurizio Gabbrielli