Course Unit Page
-
Teacher Simone Martini
-
Learning modules Simone Martini (Modulo 1)
Maurizio Gabbrielli (Modulo 2)
-
Credits 6
-
SSD INF/01
-
Teaching Mode Traditional lectures (Modulo 1)
Traditional lectures (Modulo 2)
-
Language English
-
Campus of Bologna
-
Degree Programme Second cycle degree programme (LM) in Artificial Intelligence (cod. 9063)
SDGs
This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.

Academic Year 2019/2020
Learning outcomes
At the end of the course, the student is able to analyze a problem, formulate an algorithm for solving it, and code such an algorithm into an executable program. The student understands some basic algorithms and a general-purpose programming language.
Course contents
Computer science and problem solving. Abstract machines. Python machine. Programming in Python: names and visibility, functions, immutable and mutable objects, basic data structures (strings, tuples, lists, dictionaries) and their use in the solution of problems. Classes and objects. Methods and inheritance. Introduction to some libraries (e.g.,numpy and its N-dimensional array objects).
Some lab work will propose experiments and homework.
Readings/Bibliography
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
Teaching methods
Lectures.
Guided lab experimentations using the students' laptop in class (BYOD: Bring Your Own Device).
Assessment methods
Written test
Office hours
See the website of Simone Martini
See the website of Maurizio Gabbrielli