- Docente: Simone Martini
- Credits: 6
- SSD: INF/01
- Language: English
- Teaching Mode: Traditional lectures
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Artificial Intelligence (cod. 9063)
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 the library NumPy and its N-dimensional array objects.
Some lab work will propose experiments and homework.
Prerequisites: some programming experience. In its 40 hours, the course shall only introduce one programming language, and cannot treat programming techniques, which are largely independent from the specific language.
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---all students will have the opportunity to attend from remote (also to lab classes).
Guided lab experimentations using the students' laptop in class (BYOD: Bring Your Own Device).
Lectures and lab (for a total of 40 hours) will be concentrated at the beginning of the semester (from Sep 16 to Oct 16). On October 21st we will take an informal pre-exam---A passed, sufficient pre-exam will be registered in January as a full exam for the course.
Assessment methods
Written test, part of which will be the production of Python programs
Office hours
See the website of Simone Martini
SDGs

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.