The tables below provide an indicative overview of courses that are usually offered during the first and the second year of the MSc in Data Science. Every academic year this list may be subjected to minor amendments. Final lists of courses provided each academic year can be found in the Course Offer section of the Rules and Regulations page.
First year  Courses Curriculum A
Course  Credits (ECTS) 

Foundation of Social and Psychological Science: ICT and Social Science theories and models and ICT and cognitive psychology theories and models ICT and Social Science theories and models module: this module will provide an overview of the main issues in social search methodology in terms of the different epistemological approaches, the differences between qualitative and quantitative research traditions, their potential combination in mixed methods. At the end of the module, students will be able to: ● to read and understand social science research in their research questions, selection of methods and shortcomings; ● to formulate doable research questions for social scientific study and to apply their knowledge of the different methodologies to select the appropriate ways of collecting data; ● to construct a plan for analysis with an understanding of the data limitations and their interpretation within the social, economic and political context. To develop a critical understanding of data, particularly those collected from third parties and therefore adapted for social research such as the online data from existing platform and social media; ● to present and communicate results to a wider audience of potential stakeholders. ICT and cognitive psychology theories and models” module: this course provides a first introduction to the most relevant constructs and theoretical models in the psychological sciences by means of a descriptive framework which highlights important connections between psychological theories and some of the most recent advances in Data Science. The main idea consists in showing how some traditional psychology research fields such as, for example, work and organizational psychology, applied cognitive psychology, and cognitive neuroscience, In this course, the students will learn how to recognize and appreciate the specific characteristics and features of the psychological datum as well as to manage the data analysis problem via a hierarchical and multiphasic process to extract useful and relevant information from specific empirical hypotheses. 
12 
Data Mining This is a graduate level course that studies mathematical models, computational paradigms, algorithms and methodologies that look for patterns and regularities in large amounts of raw data, in order to understand natural phenomena, business operations and human behaviors, and make predictions, forecastings and performance improvements. The goal of the course is to introduce the students to the basic concepts, principles and techniques of Data Mining, to help them develop the required skills for using the state of the art data mining algorithms for solving practical problems, and to provide them with the required experience that will later allow them to operate independently, efficiently and effectively, in highly competitive markets. The course aims also to support students wishing to pursue a research carrier by teaching them the methodologies in performing independent and effective studies and research activities.At the end of the course, the students will be finding themselves familiar with the most popular data mining concepts and will be able to identify and use the right solutions for any data analysis problem they may find themselves into. Last but not least, future data scientists will also learn how to perform the right experiments, how to interpret the results correctly and how to present them in the most effective way. At the end of the course, the student will be able to manage Data Mining definitions and difference from Machine Learning & AI, Similarity Techniques, Clustering, Association Rules, Frequent Itemsets, Clustering, Recommendation Systems, Online Advertising, Classification, Dimensionality Reduction, Graph Processing, and Visualization. 
6 
Big Data Technologies The students will learn how to leverage Big Data frameworks, configure them, know what is needed in order to use them, and be clear on the benefits to expect from them. The knowledge acquired is done in two fields. The first is the processing (by introducing new programming and data processing approaches), and the second is the storage and querying (by presenting new systems designed for such data). At the end of the course, the students will be able to face real world challenges by having the ability to identify the right solutions in real life situations involving Big Data, make the right choices in putting in place, configuring, and using big data systems, and perform the required maintenance and optimization tasks. The course is fundamental for the modern data scientists since it provides them with required knowledge on the tools that are available for achieving their goals. In particular will have knowledge on: 1) Introduction to Big Data, Relational Model Principles, 2) Big Data Management: Map Reduce, Unix, Virtual Machines, HDFS, Hadoop, HIVE, PIG, Spark (SQL, DataFrame, MLIB, GraphX) 3) NoSQL: MongoDB, CouchDB (Document Databases), Neo4J (Graph Databases), Oracle NoSQL / Berkeley DB, Riak (KeyValue Stores), HBase (Family Column stores), PostgresQL (Relational extensions) . 
6 
Professional English for Data Science The objective of the English Test at B2 level is to measure a candidate's linguistic competences in listening, reading, writing and speaking according to the B2 competence descriptors in the CEFR (The Common European Framework of Reference for Languages). The tests require candidates to demonstrate their competence in English in a range of academic, personal and professional contexts. The result of the test is PASS or FAIL. The result conveys whether or not a candidate would be able to cope with a reasonable degree of autonomy in an Englishmedium academic / familiar professional context. 
3 
Statistical Learning: Statistical Methods and Statistical Models Module: “Statistical Methods”: the student will learn the principles and practice of statistical inference, with a focus on the likelihoodbased approach and the linear regression model. In particular, after a brief review of the basic principles of probability and random variables, the first part of the course will allow students ● to develop a deep understanding of the concept of likelihood function and its characteristics; ● to perform maximum likelihood estimation; ● to perform hypothesis testing and construct confidence intervals through the likelihood ratio method and its variants. The second part of the course will develop the knowledge of the linear regression modeling framework and the ability to apply it in different practical contexts. Therefore, at the end of the course, the student should be able: ● to specify and estimate a linear regression model according to the empirical situation under study; ● to perform hypothesis testing to compare models and construct confidence intervals for model parameters and for predictions; ● to detect and deal with the main violations of model assumptions: multicollinearity, heteroscedasticity and correlated errors. Module “Statistical Models”: after successful completion of the module students are able to understand and apply the basic notions, concepts, and methods of computational linear algebra, convex optimization and statistical multivariate methods for data analysis and dimension reduction problems. They master generalized linear models for the analysis of discrete variables, etc. and the use of the singular value decomposition, principal components analysis and random matrices for low dimensional data representations. They know techniques such as Linear and Quadratic Discriminant Analysis, Multidimensional Scaling, Factor and Correspondence Analysis. They know basics of sparse recovery problems, including compressed sensing, low rank matrix recovery, and dictionary learning algorithms. 
12 
ICT and Law Privacy and Security The course aims to introduce students to the study of the different legal issues related to data management. Basics for understanding the legal aspects will therefore be provided initially. Particular attention will be paid to the phenomena that go under the names of "Open Data" and "Big Data", followed by the study of intellectual property rights (copyright, sui generis right on databases, etc.) and the contractual instruments that allow their circulation (licences). Finally, the focus will be on data protection rules, with particular attention to the management of research data. 
6 
Information, Knowledge and Service Management The course intends to bring the students a solid general understanding of data, information and knowledge management focusing on concepts, methods and tools that can be used to enable innovation and change management within the organizations. A particular focus will be proposed on service science, an interdisciplinary approach to the study, design, and implementation of services systems. Organizations are complex systems in which specific interdependencies of people and technologies take actions and provide value. The course enable the student to deeply study theories, methods and techniques of Information and Knowledge management, Information system and data management, open data, double web platforms, innovative business models based on open innovation and some emerging technological phenomena such as crowdsourcing and gamification. At the end of the course, students will be able to identify the processes of creating and managing information and business knowledge. They will be able to understand how to manage information and knowledge processes that influence change management. Finally, pupils will be able to use gamification mechanics to promote effective management of information, knowledge and the behaviors of actors involved. 
6 
Data Visualization Lab The course aims at providing a basic introduction to the concepts and the tools for data exploration and visualization, through class lectures and lab sessions. The core of the class is the exploration of the theoretical foundations and the practice of the diverse dimensionality reduction strategies, from the basic procedures to the more advanced stateoftheart algorithms. Further, basics of clustering theory will also be shown. These topics will be complemented by a discussion on the principles of data visualization through the different types of graphics. At the end of the course, students will be able to: ● describe the overall structure of a multidimensional dataset; ● effectively project a multidimensional dataset in a lower dimensional space highlighting the main features; ● choose a suitable graphical representation to pinpoint one or more quantitative aspects of the dataset; ● write the code to implement the chosen graph into one of the languages/environments shown during class. 
6 
Course  Credits (ECTS) 

Introduction to Machine learning By means of theoretical and practical lectures, the course provides a wide (albeit not always indepth) overview of methodologies and algorithms used in the context of Machine Learning. Starting from raw data (such as those available to a company, collected during a scientific experiment, or fetched from a social network by web scraping), these methodologies aim at extracting useful information and models with the goal of obtaining knowledge and predictive capabilities, or at improving a production process via the simulation of alternative scenarios. After following the course, the students will be able to: ● read, preprocess and normalize data in various formats; identify the different types of data appearing in a file, manually and programmatically filter out unimportant data; ● apply rigorous methodologies to choose the most suitable machine learning algorithms for every context, evaluate their performance, to configure and execute them; ● generate a data model using a machine learning algorithm, perform analysis and predictions avoiding the several interpretation and usage errors they are prone to; ● visually represent the information obtained from data analysis; ● organize the above steps in a pipeline to automate, as much as possible, the process leading from raw data to analysis results. 
6 
Intelligent Optimization for Data Science To give a first theoretical introduction, supported by concrete examples, to the topic of using automation (and mathematical optimization) for solving problems and delivering improved solutions. The course is suggested as a second phase, preceded by the course “Machine learning for data science”. At the end of course the student will be able to building mathematical models using the data, presenting and communicating the obtained insights, delivering improving solutions. 
6 
First year  Courses Curriculum B
Course  Credits (ECTS) 

Scientific Programming “Programming” module The goal of the course is to introduce the Python programming language, one of the most widely used scientific computing languages, and related technologies. At the end of this course, the students will be able to: a. remember the syntax and semantics of the Python language; b. understand programs written by others individuals; c. analyze a simple data analysis task and reformulate it as a programming problem; d. evaluate which features of the language (and related scientific libraries) can be used to solve the task; e. construct a Python program that appropriately solves the task; f. evaluate the results of the program. “Algorithms and Data Structure” module The overall goal of this course is to introduce students to the design and analysis of algorithmic solutions, through the presentation of the most important class of algorithms and the evaluation of their performance. At the end of the course, students will be able to: a. describe classic algorithms and understand their behavior; b. understand, at the basic level, the most important algorithm design techniques; c. evaluate algorithmic choices and select the ones that best suit their problems; d. analyze the complexity of algorithms; e. design simple algorithmic solutions to basic problems, and to implement them using the Python language. 
12 
Mathematics for Data Science The course aims at providing with a basic working knowledge of linear algebra, and of elementary calculus. After successfully attending the course, the students will be able to: ● understand the basic concept of linear algebra and elementary calculus, ● compute with agility with vectors and matrices, ● compute with agility with the derivatives of simple functions, ● understand the concept of eigenvalues and eigenvectors, ● compute eigenvalues and eigenvectors in simple examples. 
6 
Big data Technologies The students will learn how to leverage Big Data frameworks, configure them, know what is needed in order to use them, and be clear on the benefits to expect from them. The knowledge acquired is done in two fields. The first is the processing (by introducing new programming and data processing approaches), and the second is the storage and querying (by presenting new systems designed for such data). At the end of the course, the students will be able to face real world challenges by having the ability to identify the right solutions in real life situations involving Big Data, make the right choices in putting in place, configuring, and using big data systems, and perform the required maintenance and optimization tasks. The course is fundamental for the modern data scientists since it provides them with required knowledge on the tools that are available for achieving their goals. In particular will have knowledge on: 1) Introduction to Big Data, Relational Model Principles, 2) Big Data Management: Map Reduce, Unix, Virtual Machines, HDFS, Hadoop, HIVE, PIG, Spark (SQL, DataFrame, MLIB, GraphX) 3) NoSQL: MongoDB, CouchDB (Document Databases), Neo4J (Graph Databases), Oracle NoSQL / Berkeley DB, Riak (KeyValue Stores), HBase (Family Column stores), PostgresQL (Relational extensions) 
6 
Professional English for Data Science The objective of the English Test at B2 level is to measure a candidate's linguistic competences in listening, reading, writing and speaking according to the B2 competence descriptors in the CEFR (The Common European Framework of Reference for Languages). The tests require candidates to demonstrate their competence in English in a range of academic, personal and professional contexts. The result of the test is PASS or FAIL. The result conveys whether or not a candidate would be able to cope with a reasonable degree of autonomy in an Englishmedium academic / familiar professional context. 
3 
Statistical Learning Module: “Statistical Methods” The student will learn the principles and practice of statistical inference, with a focus on the likelihoodbased approach and the linear regression model. In particular, after a brief review of the basic principles of probability and random variables, the first part of the course will allow students ● to develop a deep understanding of the concept of likelihood function and its characteristics; ● to perform maximum likelihood estimation; ● to perform hypothesis testing and construct confidence intervals through the likelihood ratio method and its variants. The second part of the course will develop the knowledge of the linear regression modeling framework and the ability to apply it in different practical contexts. Therefore, at the end of the course, the student should be able: ● to specify and estimate a linear regression model according to the empirical situation under study; ● to perform hypothesis testing to compare models and construct confidence intervals for model parameters and for predictions; ● to detect and deal with the main violations of model assumptions: multicollinearity, heteroscedasticity and correlated errors. Module “Statistical Models” After successful completion of the module students are able to understand and apply the basic notions, concepts, and methods of computational linear algebra, convex optimization and statistical multivariate methods for data analysis and dimension reduction problems. They master generalized linear models for the analysis of discrete variables, etc. and the use of the singular value decomposition, principal components analysis and random matrices for low dimensional data representations. They know techniques such as Linear and Quadratic Discriminant Analysis, Multidimensional Scaling, Factor and Correspondence Analysis. They know basics of sparse recovery problems, including compressed sensing, low rank matrix recovery, and dictionary learning algorithms. 
12 
Computational social science The module aims at providing an understanding of the main computational research methods that are specific to online media data and to analyse social processes with an emphasis to 'big data' sources. The module presents an overview of current cuttingedge methodology in quantitative methods related to online social research: Web surveys, online experiments, opinion mining techniques, social network analysis, computational statistical models At the end of the module, students will be able to: ● understanding the main principles at the core of the different computational methods that are applied to social science datasets; ● a firm grasp of the coding process using software for automatic text analysis; ● apply social network analysis to the context of combining network information with other type of data; ● understanding what is opinion mining and what are its core principles and techniques; ● use computational models to analyse large survey data through techniques such as model based recursive partitioning, latent class analysis, relational class analysis.

6 
ICT and Law Privacy and Security The course aims to introduce students to the study of the different legal issues related to data management. Basics for understanding the legal aspects will therefore be provided initially. Particular attention will be paid to the phenomena that go under the names of "Open Data" and "Big Data", followed by the study of intellectual property rights (copyright, sui generis right on databases, etc.) and the contractual instruments that allow their circulation (licences). Finally, the focus will be on data protection rules, with particular attention to the management of research data. 
6 
Data visualization Lab The course aims at providing a basic introduction to the concepts and the tools for data exploration and visualization, through class lectures and lab sessions. The core of the class is the exploration of the theoretical foundations and the practice of the diverse dimensionality reduction strategies, from the basic procedures to the more advanced stateoftheart algorithms. Further, basics of clustering theory will also be shown. These topics will be complemented by a discussion on the principles of data visualization through the different types of graphics. At the end of the course, students will be able to: ● describe the overall structure of a multidimensional dataset; ● effectively project a multidimensional dataset in a lower dimensional space highlighting the main features; ● choose a suitable graphical representation to pinpoint one or more quantitative aspects of the dataset; ● write the code to implement the chosen graph into one of the languages/environments shown during class.

6 
Introduction to Machine learning By means of theoretical and practical lectures, the course provides a wide (albeit not always indepth) overview of methodologies and algorithms used in the context of Machine Learning. Starting from raw data (such as those available to a company, collected during a scientific experiment, or fetched from a social network by web scraping), these methodologies aim at extracting useful information and models with the goal of obtaining knowledge and predictive capabilities, or at improving a production process via the simulation of alternative scenarios. After following the course, the students will be able to: ● read, preprocess and normalize data in various formats; identify the different types of data appearing in a file, manually and programmatically filter out unimportant data; ● apply rigorous methodologies to choose the most suitable machine learning algorithms for every context, evaluate their performance, to configure and execute them; ● generate a data model using a machine learning algorithm, perform analysis and predictions avoiding the several interpretation and usage errors they are prone to; ● visually represent the information obtained from data analysis; ● organize the above steps in a pipeline to automate, as much as possible, the process leading from raw data to analysis results.

6 
Second year  Course curriculum A + B
Course  Credits (ECTS) 

Free choice subject 
12 
Internship 
9 
Final exam 
18 
Course  Credits (ECTS) 

Intellectual Property and Competition Law The course’s objective is an assessment of the most relevant issues on the interface of intellectual property rights (IPRs) and competition law under the perspective of agents operating in dynamic markets at a national, European and international level. Knowledges: intellectual property law, Antitrust legislation, theories of competition, innovation economics. Competencies: planning efficient juridical strategies concerning the management and development of the intellectual capital of a firm, assessing problems and opportunities deriving from the application of Antitrust legislation to dynamic markets. 
8 
Research Methodology: Quantitative The course covers some basic/intermediate psychometric models for conducting empirical quantitative research in the Humancomputer interaction (Hci) field. The statistical psychometric procedures will be illustrated using the R statistical package. Topics in the course will include models forexperimental design, questionnaires and surveys (both paper and pencil format and online format), social network analysis, and mousetracking data. At the end of the course the students will be able to manage the different measurement scales involved in the measurement of cognitive processes in Hci tasks and to select the most adequate data analysis techniques for such type of data. Moreover, the student will also become familiar with the main psychometric models to analyze latent psychological dimensions as well as observed psychological variables by using the statistical package R. 
6 
Laboratory of Customer and Business Analytics 
6 
Business Analytics lab The goal of the laboratory is to provide knowledge and practical skills on managing large amounts of data to support decisionmaking processes within companies. In particular, the type of data that the Data Scientist will have to use within corporate organizations will be emphasized. The analyzes will be covered covering all departments of a company across the board, transforming the data into information that can be understood by the company management. At the end of the course the students will be able to identify the data to be used within the company and analyze them in order to support strategic decisions. 
6 
Social Dynamics Lab The lab aims to put into practice the notions of data science acquired by students during the first year. The participant will have to carry out the entire data processing cycle starting from real problems, starting from the collection of data (methods and techniques) to the cleaning and validation and analysis, to the final production of statistical and visual materials and their presentation. List of problems will be provided by the teacher in contact with academic and business realities. 
6 
Data Journalism The laboratory aims of the Data Journalism at providing, through a multidisciplinary approach, the development and application of the set of processes necessary to manipulate data (acquisition, cleaning, analysis and visualization of data) having as a result an effective communication composed of text and graphics. The core of the lab will be the development of the entire process from the exploration and research of different data sources and their processing in order to be able to identify an effective visualization and / or infographic according to the type of data and based on storytelling. During the course, important contributions will be made by experts in the various fields covered by the course. We will also introduce the techniques of mashup from different remote services, programming in Python and manipulation of data in various formats, specific tools for data cleaning, scraping, data analysis and graphic and cartographic representation. At the end of the course, students will be able to: • Develop a story and define the most appropriate storytelling; • Develop data acquisition pipelines according to different sources • Take care of the cleanliness of the data and the appropriate statistical manipulation; • Describe the overall structure of a multidimensional data set based on temporal and spatial dimensions; • Choose the most effective way of representing a multidimensional data set based on the content you want to communicate; • Implement the necessary code (in one of the languages/environments shown in the course) to the desired graphical representation. • Writing an article and/or report supported by the data 
6 
Digital social data The interdisciplinary course of Digital Social Data, aims to offer an introduction to the various approaches that computer scientist, economists, lawyers and sociologists adopt to approach a highly complex issue as Big data and Open data. The course will have a methodological and applied character and will introduce the student to the use of the big data. In this part, will be given to the student notions of programming and data analysis in R@ in highly complex contexts. At the end of this second part, the student: a) will know how to identify the different methodological approaches in handling Big Data; b) will be able to evaluate the main types of analysis that can be conducted on the Big Data; c) apply the main programming tools in R @ to the Big Data; and, d) will independently conduct elemental analysis of highly complex data in R@. 
6 
Quantitative Methods The course furnishes students with the necessary competences to tackle issues at the centre of the debate in contemporary social science applying quantitative techniques to appropriate data. The course starts from the connection of theory and empirical research inherent in the scientific research process. It treats topics like the translation of a sociologically relevant question into empirical research, the selection of data, and the use of appropriate methods and techniques to test hypothesis. 
6 
Quantitative Methods Lab Learn to apply correctly quantitative methods in social science research. Description of social phenomena and hypothesis test. we will learn to use the statistical program Stata and analyse data in a meaningful way Topics covered reach from data management and recoding of variables to multivariate analysis. Students will need to prepare own analysis putting into practice the techniques treated during the lessons. 
3 
Social inequalities dynamics and policies The course looks into social inequalities from a variety of points of view: measurement issues, drivers and consequences of inequalities, policies to reduce inequalities and tools to evaluate the impact of those policies. At the end of the course, students will be able: a. to make conscious use of key inequality measures; b. to place the ongoing debate on inequality in an appropriate way in the global context; c. to set up the design for the evaluation of the effects of public policies for reducing inequality and combating poverty. 
6 
Economic and labour sociology The course presents current debates and the state of the art in economic and labour sociology based on the international, comparative research literature. It also presents and develops the logic of the macromicromacro explanation (Coleman) of inequalities related to the functioning of Oecd labour markets and their institutional regulation, employment/skill regimes as well as welfare regimes. This course also aims at providing students with specific competencies for a thorough analysis of postindustrial labour markets, as well as of the processes of modernization and economic development in different social and institutional contexts. At the end of the course, students will be able to identify and master the main concepts and theories of economic sociology and comparative political economy; to be familiar with theory driven empirical research (both from labour economy and economic sociology) on labour market and social inequality related issues; to be familiar with comparative quantitative analyses of labour markets; to identify scientific approaches to social research from ideological approaches; to conceptualize and empirically analyze specific issues related to the functioning of Western labour markets, applying an institutional perspective to economic sociology as a social science. Attending the course students will acquire an indeep knowledge of economic sociology in relation to labour economics, political economy and quantitative analysis; they will learn how to define and operationalize accurately concepts like macro/micro; welfare and employment regimes; causal mechanisms of social stratification; inequality and inequality processes. They will also get an indeep knowledge of the main socioeconomic transformations that Oecd economic systems underwent from IIWW onwards, and the main issues related to labour market changes: Skill/Routinization biased technological change, Labour market segmentation, Societal dualization etc. 
6 
Computational psychology science Lab The goal of the computational psychology science lab consists in putting into practice the most relevant constructs and theoretical models developed in the psychological sciences according to the data science perspective. In particular, data analysis projects will range from applications of Big Data in talent selection and job assessment contexts, behavioural and psychological profiling involved in complex cognitive tasks such as, for example, human induction, classification, and generalization processes. The participant will learn how to represent and analyze the specific characteristics and features of psychological and cognitive data as well as to manage in practice its entire data representation and data processing cycle in modern data science. 
6 
Computational social science Lab The objective of the laboratory is to provide students with practical sessions to analyze data coming from socioeconomic datasets using computational methods. Examples of such methods are the use of machine learning techniques for classification, models for pattern identification, relational class analysis, and others. All aimed at the analysis of multidimensional social phenomena, at the needs related to market research, governance and public administration, ex post analysis of the impact of policies. At the end of the course the students will be able to collect, organize and use data from public opinion research companies, public and private organizations and analyse them using data science computational techniques. 
6 
Course  Credits (ECTS) 

Introduction to Machine learning By means of theoretical and practical lectures, the course provides a wide (albeit not always indepth) overview of methodologies and algorithms used in the context of Machine Learning. Starting from raw data (such as those available to a company, collected during a scientific experiment, or fetched from a social network by web scraping), these methodologies aim at extracting useful information and models with the goal of obtaining knowledge and predictive capabilities, or at improving a production process via the simulation of alternative scenarios. After following the course, the students will be able to: ● read, preprocess and normalize data in various formats; identify the different types of data appearing in a file, manually and programmatically filter out unimportant data; ● apply rigorous methodologies to choose the most suitable machine learning algorithms for every context, evaluate their performance, to configure and execute them; ● generate a data model using a machine learning algorithm, perform analysis and predictions avoiding the several interpretation and usage errors they are prone to; ● visually represent the information obtained from data analysis; ● organize the above steps in a pipeline to automate, as much as possible, the process leading from raw data to analysis results. 
6 
Web Architectures The goal of this course is to provide definitions and techniques on web architectures. At the end of the course the student will be familiar with the main issues related to web architectures and with several web technologies. It is necessary to be familiar with object oriented programming and Java. A basic knowledge of computer networks (TCP/IP stack, sockets) and of Databases and SQL language is required. 
6 
Data analysis and exploration The goal of this course is to enable students to analyze various types of highdimensional data types using a range of methodologies, including established statistical approaches, machine learning, and recently introduced methods. At the end of the course, students are expected to possess the following skills:  familiarity with different types of data and their specificity;  good understanding of different conceptual methods for analyzing the data;  familiarity with practical computational tools for carrying out the analysis;  ability to frame the results of their analysis in a expanded context using networks;  ability to provide a functional interpretation of the results of their analysis;  ability to complete a project, write a structured report, and orally present the results of their work. 
6 
Introduction to Computer and Network Security This is an introductory course to the increasingly important area of computer and network security. The main goal is to enable students to  understand the theoretical and practical problems of information security,  understand and recognize threats to fundamental security properties: confidentiality, integrity, and availability,  understand how the main security mechanisms  such as authentication and authorization protocols, and access control  can be applied to mitigate vulnerabilities. 
6 
Project course Aim of the course is to give students the possibility to study, in depth, a topic covered in a general way in one of the other courses of the study program. In this course, the student has the opportunity to explore and investigate the state of the art, the theoretical foundation, the most important methods and techniques, the applications of the chosen topic. This includes performing a bibliographic search and identifying related material in textbooks under the supervision of the professor. When suitable, the student may also apply some of the covered methods and techniques. The topic will be selected in agreement with one of the professors teaching in the study program. At the end of the course, the student will have an extended knowledge of the chosen topic and learned the methodology of studying in depth a topic relevant for the study program. 
6 
Data Science for Neuroimaging, Linguistic, and Behavioral Data This handson lab will take the application of Data Science techniques to neuroimaging, linguistic and behavioural data sets. Students will be guided through accessing neuroimaging data from open source databases (e.g. openNeuro, connectomeDB), and converting data in to a format suitable for specific kinds of analyses. Throughout this course, students will develop their skills through the implementation of their own data science experiments on real data sets. At the end of this course, students will be able to address specific questions and hypotheses to draw informed conclusions about the brain and behavior using neuroimaging, linguistic and behavioural data. 
12 
Embedded systems Embedded computers are found everywhere from home appliances to automobiles to medical devices. Designing an embedded computing system is a challenging task because the requirements include manufacturing cost, performance, power consumption, user interface, hard deadlines and rich functionality. The objective is to illustrate the embedded system design process which includes requirements, specification, architecture, components and system integration phases. The course will be backed up by reallife design examples to illustrate the design process and also students will be asked to design embedded systems to gain experience. 
6 
Knowledge and Data Integration The goal of this course is to provide motivations, definitions and techniques in support of the usefulness of logic in the effective and efficient modelling of data and knowledge. The course will have succeeded if it stimulates the interested students to continue their career with higher interest into logicbased models for data and knowledge representation in their own field of expertise, and to produce computerprocessable solutions of relevant problems. At the end of course, the students will be able: a. to use main logics for modeling data and knowledge; b. to develop elementary logic models for data and knowledge. 
6 
Introduction to Machine Learning for Natural Language Processing This class presents a survey of methods from the fields of statistics and machinelearning aimed at extracting generalizations from example data, and use them to automatically analyze new data. The class focuses on case studies in the analysis of different components of natural language. At the end of the course, students will: (1) demonstrate knowledge of the principles of core Machine Learning techniques; (2) be able to read and understand CL literature using the introduced techniques, and critically assess their use in research and applications; (3) have some fundamental computational skills allowing them to run existing Machine Learning software and interpret their output. 
9 
Computational Linguistics The course introduces the basics of computational linguistics by giving an overview of the field. It then focuses on the syntax and semantics of natural language familiarizing students with lexicalized formal grammars and computational semantics models. The second part of the course introduces students to multimodal models by considering in particular language and vision modalities. Students will hence gain a good overview of the field, its methods and main long term goals. At the end of the course students will be able to: (1) illustrate the main challenges addressed in the field, which are its consolidated results and which are the current research questions; (2) master, at introductory level, the basic rules of some formal grammars and of formal and distributional semantics languages and their integration based on the principle of compositionality; (3) compare approaches on computational linguistics tasks, in particular within interactive question answering and language and vision integration; (4) apply interdisciplinary approaches to linguistics tasks and write a scientific report on their research in LaTex. 
9 
Computational Models of Human Behavior Nowadays, there is an increasing amount of data on every aspect of our daily lives: GPS data can provide minutesbyminutes updates on our mobility patterns, data mined from RFID badges, mobile phone Bluetooth sensors, call and sms logs, and email records can be used to better understand our communication patterns and our social interactions. Moreover, we swipe transit cards to use public transportation, we make purchases with credit cards and our medical records are stored as digital files. In short, we can measure human behavior with precision largely thought impossible just a decade ago, creating an unprecedented opportunity to address longstanding questions in the social sciences. However, leveraging this large amount of information requires both efficient computational tools, and understanding how the scientific questions should drive the data analysis. Lying at the intersection of computer science, statistics, complex systems and the social sciences, the emerging field of Computational Social Science fills this role, using largescale behavioral and network data to investigate human activities and relationships. The current course provides the methodological and technical tools to this highly interdisciplinary subject, that draws on expertise in machine learning, data analysis, and complex systems methods, and in several social science fields, including sociology, economics, and social psychology. The students will learn:  how to describe the opportunities and challenges that our datadriven age creates for social research;  how to evaluate modern social research results from a datascience perspective;  how to create research proposals that blend ideas from social science and data science (i.e. machine learning, social media analytics, computational analysis of alternative data sources);  how to practice the techniques (i.e. machine learning, network science, etc.) needed to conduct research in computational social science. 
6 
Deep learning Lab Students will learn how to use deep learning techniques in realizing machine learning systems for complex data. The most popular architectures, including multilayer perceptron, convolutional networks and recurrent neural networks will be presented. At the end of the course, students will be able to:  choose the most appropriate architecture for the problem at hand  choose the most appropriate optimization methods to successfully train the network  evaluate the generalization performance of the learned network. 
6 
Laboratory of Biological Data Mining Goal of the course is to provide the student with the notions of data mining that are necessary in order to mine genomic and transcriptomic data and the practical skills to preprocess and mine biological data. At the end of the course the student should be able to: recall and discuss the techniques presented, reading the literature about similar techniques, preprocess and mine a specific instance of biological data, report and present the results. 
6 
BioInspired Artificial Intelligence 
6 
Designing and programming the Internet of Things (IoT) 
6 
Enterprise information system 
6 
Distributed systems for measurement and automation 
6 
Research project Lab The student will develop a research project under the supervision of a teacher on a theme suggested by the teacher. At the end of the lab, students will have acquired the skills needed to develop their own project for their thesis. 
12 
Biological Networks The student will learn about systems view of biological networks, where quantitative and dynamic considerations of biological properties are in the foreground. The biological entities will be studied with an emphasis on the emergent behavior resulting from the interactions of the network components. The student will thus be equipped with an interdisciplinary skillset for studying such systems in a way that brings together notions from biology, applied mathematics and computer science. At the end of the course the students will be able to: a) Work on biological questions using analytical methods with the aim of providing systems level "holistic" answers, whereby formal methods are used to compartmentalize different aspects. b) Become familiar with a spectrum of techniques from applied mathematics and computer science with respect to their strengths in various biological settings. c) Use programming technologies to formalize various biological problems for simulation and choose appropriate computational tools for analyzing the simulations. d) Have a working knowledge of the stateoftheart formal methods used in studying transcription and signal transduction networks. e) Work with some of the more recent, cuttingedge. 
6 
Biostatistics module 2 The student will be able to address statistical queries on biological datasets, and will be equipped with basic programming skills for performing statistical analysis on biological data by using programming environments such as R. At the end of the course the students should be able to: a) Recognize different kinds of datasets. b) Choose the most appropriate plot for a given dataset, and identify the informal properties of the data from the plot. c) Recognize different probability distributions and apply their properties on the data for inferring statistical descriptions. d) Interpret the data using summary statistics as well as other semiformal methods. e) Formally infer statistical values and investigate relationships between data components using statistical tests, for example, to validate the hypothesis of an experiment. f) With the aid of programming environment R, use statistics as a tool to make more informed decisions. 
6 
Science Technology and Business This course is proposed to students of the specialist degree. The aim of the course is to improve knowledge on scientific methods for the companies. In particular, some basic concepts on organizational operations, decisional processes and strategic choices will be introduced in order to deeply analyze how companies improve their business models. At the end of course, the students will be able to use basic scientific instruments (IT and ICT applications, KM theories and methods) and to apply in the industrial and organizational context to improve efficiently and effectively their business. Concrete cases will be used during the teaching classes. 
6 
Affective computing The aim is to identify the important research issues, and to ascertain potentially fruitful future research directions in relation to the multimodal emotion analysis and to humancomputer interaction. In particular, the course will introduce key concepts, discuss technical approaches, and open issues in the following areas: interaction of emotion with cognition and perception; the role of emotion in humancomputer interaction; the communication of human emotion via face, voice, physiology, and behavior; construction of computers that have skills of emotional intelligence; the development of computers that"have" emotion; and other areas of current research interest. At the end of the course the students will know the state of the art in affective computing and will be able to write a research proposal on this theme. 
6 
MindBrain interaction and cognitive constraints The course presents some basic concept about mind/brain interaction and the biases that affect human performance. Such biases will be analyzed with reference to how people use and interact with technologies. At the end of the course the students will be able to understand some basic neurophysiological mechanisms involved in relevant cerebral processes associated with visual perception and motor behavior. Moreover, they will be able to understand and distinguish the closedloop experimental paradigms in the field of Braincomputer interfaces and Humancomputer interaction. 
6 
Course  Credits (ECTS) 

Tensor decomposition for big data analysis 
6 
Geometry and Topological Data Analysis Combining concepts from topology and algorithms, the course delivers an introduction to the field of computational topology. Starting with motivating problems in both mathematics and computer science and building up from classic topics in algebraic topology and homological algebra, it addresses the theory of persistent homology. At the end of the course the student will be able to:  master advanced techniques in algebraic topology and homological algebra, such as homology, cohomology and sheaf theory  compute homology and cohomology groups of simplicial complexes and topological spaces  apply nontrivial tools from algebra and geometry to data analysis. 
6 
Statistical models The student, at the end of this class, will be able to use linear and generalized linear models to study the relation between continuous or discrete variables and predictors. She/He will learn fundamental aspects of the theory and the way to apply them to practical case through the use of a statistical software. 
6 
Bayesian Statistics The purpose of the course is to address the study of the foundations of Bayesian statistics starting from the basic principles of the probability calculus. The course is divided into two modules: the first one will be devoted to estimation and to hypothesis testing based on the Bayesian approach to inference and intends to highlight the similarities and differences with the classical Fisher’s approach. Particular attention will be paid to the study of some common concepts to the two inferential approaches (for example, sufficiency, likelihood, independence/exchangeability) by stressing the different interpretations and their main consequences in terms of inferential results. The students during the course will have the opportunity to familiarize themselves with the principal theorems, logical developments, ideas and issues that underlie the different statistical techniques covered and learn to recognize them as natural extensions and consequences of the concepts introduced previously in the courses of probability and mathematical statistics. Subsequently we focus on the computational aspects in Bayesian inference problems. In the introduction part we discuss the main techniques for the generation of pseudorandom numbers from univariate and multivariate distributions. After, we learn about Monte Carlo integration and optimization. Finally Markov Chain Monte Carlo procedures are introduced, in particular the MetropolisHastings algorithms and the Gibbs samplers. These methods will be applied mainly to hierarchical statistical models. The students will be request to have a proactive participation in both classroom and in the Lab activities and a constant involvement in the training program. 
6 
Statistics of Stochastic Processes To give a basic knowledge on the problems concerning the statistical analysis of data from time series; especially, to develop good competences in the structure of linear ARMA models, often used in the analysis of economic data, and of the relative methods of analysis. After successful completion of the course the students are able to evaluate and study the theoretical properties of models for stationary linear stochastic processes and to use the most appropriate techniques for the specification of models and the estimation of the unknown parameters. She/He will be able to analyze real data from time series. 
6 
Mathematical biology 
6 
Network Science: Theory and Lab The course aims at providing a basic introduction to modeling and analysis of complex networks, by means of class lectures and lab sessions. The course will explore the mathematical representation of complex networks, their main generative models, the analysis of their topological features and the maindynamics adopted for modeling information diffusion in real systems. The most important techniques for visualizing complex networks will be discussed. At the end of the course, students will be able to:  build and represent complex networks from real data;  calculate different types of node centrality in real complex networks;  identify the community structure of real complex networks;  effectively visualize complex networks. Applications to real case studies include molecular networks; the functional representation of the human brain; social and sociotechnical networks; transportation networks; communication networks. 
6 
Stochastic process 
9 
Neuroimaging for Data Science 
6 
Research Design This course will cover some fundamentals of algebra, probability theory, and statistics. Furthermore, the course will cover all aspects of a research project, such as sample sizes, measures, and type of experimental designs. Students will present and comment on their own research projects in progress. At the end of this course, student should be able to design scientific experiments to test hypotheses and to know how and when to perform parametric (ttest, correlation, regression, ANOVA) and nonparametric (Chisquare, permutation) tests to permit inference on the results of such experiments. 
6 
Foundations of Brain Imaging This course will cover basic neural anatomy and methodology for the application of the main neuroimaging techniques used in cognitive neuroscience, such as functional and structural Magnetic Resonance Imaging, Transcranial Magnetic Stimulation, Magnetoenchelalography and EEG. At the end of the course students should be able to explain the following questions about brain imaging methods: To define what signal sources are being measured by the different methods; To define what is the main equipment used and why; To explain what are the relative advantages and limitations of the methods; To describe what are the common data analysis steps used and why; To describe and interpret example of applications in neuroscience research . 
6 
Behavioural Economics 
8 
Laboratory of Applied Economic Analysis 
8 
Scientific Reproducibility for Data Scientists The core of the course is introducing and discussing the basic concepts of reproducibility and repeatability in science. During the class well known cases of irreproducible science will be shown together with their consequences and good practices will be presented to warrant reproducibility, both for data and methods, with a particular stress on the case of data science in computational biology. The theoretical part of the course will be integrated by practical lab sessions in R, Python, Github and other sharing frameworks. At the end of the course, students will be able to:  critically discuss the repeatability/reproducibility of a study published in a scientific journal;  represent the experimental data in a known standard used for data sharing;  describe the experimental methodology so to guarantee its repeatability;  use the source code sharing tools. 
6 
Statistics for opinion research The aim of this course is to get students acquainted with (statistics for) opinion research. We will use comparative studies, such as the European Values Study (19812008), European Social Survey (2002 2014) and the Survey of Health, Aging and Retirement (from 2004). The emphasis will be on applying research methods in a handson training that teaches students how to answer interesting questions empirically. At the end of this course, students should be able to: a. formulate (micromacro) research questions and hypotheses; b. prepare data to test the hypothesis; c. interpret the results of the tabular and (multilevel) regression analyses; d. apply tabular and (multilevel) regression techniques; e. write a report on an empirical multilevel analysis. 
6 
Operation research 
6 
Optimization models and algorithms 
6 