Academic Year 2023-2024



Marco Comini
Unit Credits
Teaching Period
First Period
Course Type
Prerequisites. Lectures and exercises.
Teaching Methods. Lectures and exercises.
Verification of Learning. The exam consists of various micro-projects to be carried out individually and in groups, with exercises to be implemented on the computer.

Finally there will be an individual oral test in which to discuss the projects and the topics presented in the lessons.

Specific learning objectives

This course intends to provide knowledge of the characteristics of programming languages that are used for the implementation of applications based on artificial intelligence.

After an overview of the elements common to all programming languages, the Python language and the numpy library are analyzed in detail. This library is the basis of libraries used in artificial intelligence.

1.1 Knowledge and understanding

The student knows the main concepts of programming, of the Pyhon language and of the numpy library.

1.2 Applying knowledge and understanding

The student learns the basic elements necessary to be able to implement applications based on the artificial intelligence techniques that will be learned in subsequent courses.

The project activities allow the student to consolidate the presented theoretical knowledge through its use in practical cases.

2.1 Making judgments

Objective of the course is to improve the student’s ability to identify the most practical and simple solutions in the implementation of Python code.

2.2 Communication skills

The student learns the exact meaning of the terms used in Python programming. Through the group project activity the student improves his communication and interaction skills.

2.3 learning skills

The acquired knowledge allows the student to develop more easily applications based on artificial intelligence techniques learned in subsequent courses.

Thanks to the interaction with the classmates of the group project, the student learns to evaluate his own level of learning by comparing with others.

basic concept of programming languages

* abstract machines

* names and environment

* structuring control

* control abstraction

* data abstraction

the Python language

* Python lexicon

* expressions

* statements

* common use Python primitives

* predefined types

* control flow and functions

* Python scoping

* modules

* Python objects and common use Python primitive objects

* exception handing

* standard types hierarchy

* iterators and iterables

* higher-order functions

* some primitives of standard libraries ‘itertools’ and ‘functools’

numpy library

* creation and basic operations on ndarray

* shape manipulation

* copies and views

* broadcasting rules

* universal functions and reduce/accumulate methods

* input/output of ndarray inbinary and text formats

* advanced indexing

elements of pandas library