First cycle
degree courses
Second cycle
degree courses
Single cycle
degree courses
School of Science
Course unit
SCP9087563, A.A. 2019/20

Information concerning the students who enrolled in A.Y. 2019/20

Information on the course unit
Degree course Second cycle degree in
SC2377, Degree course structure A.Y. 2017/18, A.Y. 2019/20
bring this page
with you
Number of ECTS credits allocated 6.0
Type of assessment Mark
Course unit English denomination VISION AND COGNITIVE SERVICES
Website of the academic structure
Department of reference Department of Mathematics
Mandatory attendance No
Language of instruction English
Single Course unit The Course unit can be attended under the option Single Course unit attendance
Optional Course unit The Course unit can be chosen as Optional Course unit

Teacher in charge LAMBERTO BALLAN INF/01

Course unit code Course unit name Teacher in charge Degree course code

ECTS: details
Type Scientific-Disciplinary Sector Credits allocated
Core courses INF/01 Computer Science 6.0

Course unit organization
Period Second semester
Year 1st Year
Teaching method frontal

Type of hours Credits Teaching
Hours of
Individual study
Laboratory 2.0 16 34.0 No turn
Lecture 4.0 32 68.0 No turn

Start of activities 02/03/2020
End of activities 12/06/2020
Show course schedule 2019/20 Reg.2017 course timetable

Examination board
Board From To Members of the board
1 a.a. 2019/2020 01/10/2019 28/02/2021 BALLAN LAMBERTO (Presidente)
AIOLLI FABIO (Supplente)

Prerequisites: The student should have basic knowledge of programming and algorithms. It is also advisable to be familiar with basic concepts in probability and analysis of multivariate functions.
Target skills and knowledge: This class teaches the concepts, methods, and technologies at the basis of computer vision and cognitive services, i.e. APIs and services typically available on the cloud, that help developers to build artificial intelligent applications. The major features that can be added to an application via cognitive services are: visual recognition; emotion detection and facial recognition; speech recognition and natural language understanding.

The course also teaches the specific skills and abilities needed to apply those concepts to the design and implementation of artificial intelligent applications. Students will face practical exercises in a computer lab that allow them to test the application of the acquired knowledge to small practical examples.
Examination methods: The student is expected to develop, in agreement with the teacher, a small applicative project. In addition, the student must submit a written report on the project, addressing in a critical fashion all the issues dealt with during its development. During the exam students are asked to present and discuss their project and answer to a few questions about the topics addressed in class.
Assessment criteria: The project and the oral examination will be evaluated on the basis of the following criteria:
i) student’s knowledge of the concepts, methods, and technologies at the basis of cognitive services (with a particular emphasis on vision;
ii) ability of the student to master the implementation technology;
iii) student’s capacity for synthesis, clarity, and abstraction, as demonstrated by the written report and project presentation.
Course unit contents: The course will cover the topics listed below:
- Introduction:
From human cognition to machine intelligence and cognitive systems; brief intro to artificial intelligence, cognitive computing and machine learning; the AI revolution: current trends and applications, major challenges.
- Cognitive Services:
Basic concepts; Language, Speech, and Vision services; major providers and APIs (IBM Watson, AWS, Google Cloud); enabling technologies.
- Machine Learning and applications:
Classification; intro to deep learning and representation learning; training and testing; evaluation measures; algorithm bias.
- Early Vision and Image Processing:
Machine perception; image formation, sampling, filtering and linear operators; image gradients, edges, corners; designing effective visual features (SIFT and gradient based features); image matching.
- Visual Recognition and beyond:
"Teaching computers to see": bag-of-features, spatial pyramids and pooling; representation learning in computer vision, convolutional neural networks; R-CNN and segmentation; image captioning, multi-modal scenarios and beyond the fully-supervised learning paradigm.
- Hands-on Practicals:
What's in the box? How to build a visual recognition pipeline; using cognitive services for image recognition/understanding; combining different services and modalities.
Planned learning activities and teaching methods: The course consists of lectures and exercises in the computer lab. The exercises in the computer lab allow the students to experiment, under various operating scenarios, with the techniques introduced in class. In this way, students can verify experimentally the concepts learned in class and acquire the ability to apply the learned concepts and to perform critical judgment.
Additional notes about suggested reading: Slides presented during the lectures are ​​available on Moodle as reference material.
Textbooks (and optional supplementary readings)

Innovative teaching methods: Teaching and learning strategies
  • Lecturing
  • Laboratory
  • Problem based learning
  • Working in group
  • Problem solving
  • Loading of files and pages (web pages, Moodle, ...)

Innovative teaching methods: Software or applications used
  • Moodle (files, quizzes, workshops, ...)
  • Matlab
  • Python Notebook

Sustainable Development Goals (SDGs)
Quality Education Industry, Innovation and Infrastructure