- 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 types (numbers, strings, tuples, lists, dictionaries) and their use in the solution of problems. Classes and objects. Exceptions. Basics of computational complexity. 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
John V. Guttag
Introduction to Computation and Programming Using Python
(Second Edition: With Application to Understanding Data)
MIT Press, 2016
Other textbooks:
Allen B. Downey
Think Python 2e.
O'Reilly Media, 2012. ISBN 978-1449330729.
On-line manuscript: see https://greenteapress.com/wp/think-python-2e/
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 (before Oct 16). In October we will take an informal pre-exam---A passed, sufficient pre-exam will be registered in January as a full exam for the course.
As it concerns the teaching methods of this course unit, all students must attend Modules 1 and 2 on Health and Safety online
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.