91256 - INTRODUCTION TO ALGORITHMS AND PROGRAMMING

Anno Accademico 2019/2020

  • Docente: Simone Martini
  • Crediti formativi: 6
  • SSD: INF/01
  • Lingua di insegnamento: Inglese
  • Moduli: Simone Martini (Modulo 1) Maurizio Gabbrielli (Modulo 2)
  • Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
  • Campus: Bologna
  • Corso: Laurea Magistrale in Artificial intelligence (cod. 9063)

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

SDGs

Istruzione di qualità

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