Master of science-level of the Bologna process in Ict For Smart Societies (Ict Per La Societa' Del Futuro) - Torino Master of science-level of the Bologna process in Ingegneria Civile - Torino
Numerical analysis and computing is at the heart of Information and Communication Technologies. This course aims at providing a foundation on all the computational tools and technologies needed by the ICT engineer. In particular, the course focuses on the Python programming language and the main open-source libraries used in the fields of numerical computing, signal processing, big data analysis and machine learning. The course follows an hands-on approach with the majority of the time dedicated to graded lab assignments.
Numerical analysis and computing is at the heart of Information and Communication Technologies. This course aims at providing a foundation on all the computational tools and technologies needed by the ICT engineer. The ICT engineer, in their professional career, may face multidisciplinary problems requiring skills involving numerical modeling and the development of computational processing methods. For this reason, the course focuses on the Python programming language, the main open-source libraries and algorithms used in the fields of numerical computing, signal processing, big data analysis and machine learning. The course follows an hands-on approach with the majority of the time dedicated to graded lab assignments.
At the end of the course, students will acquire knowledge of the main tools to solve computational problems in the ICT fields. In detail:
Knowledge of the Python programming language
Knowledge of high-performance numerical analysis libraries in Python (numpy, scipy)
Knowledge of big-data analysis frameworks (Hadoop, Spark)
Knowledge of frameworks for machine learning (scikit-learn)
Knowledge of frameworks for neural networks (pytorch)
Moreover, the lab activities will allow the students to acquire the following abilities:
Ability to process signals, images, point clouds, geospatial data to solve complex inference problems
Ability to develop numerical solutions in a cloud computing environment
At the end of the course, students will acquire knowledge of the main tools to solve computational problems in the ICT fields. In detail:
Knowledge of the Python programming language
Knowledge of high-performance numerical analysis libraries in Python (numpy, scipy)
Knowledge of big-data analysis frameworks (Hadoop, Spark)
Knowledge of frameworks for machine learning (scikit-learn)
Knowledge of frameworks for neural networks (pytorch)
Moreover, the lab activities will allow the students to acquire the following abilities:
Ability to process signals, images, point clouds, geospatial data to solve complex inference problems
Ability to develop numerical solutions in a cloud computing environment
The students are expected to know the following concepts:
Probability theory, random variables
Fundamentals of signal processing
The students are expected to know the following concepts:
Probability theory, random variables
Fundamentals of signal processing
Introduction to Python programming and numerical computing libraries (1.2 CFU - 6h lectures + 6h labs)
Python language and syntax
Numpy and Scipy libraries
Jupyter notebooks, Google Colab
Signal and Image processing with Python (1.5 CFU 3h lectures + 12h labs)
Frequency analysis and filter design
Image processing
Point cloud processing
Big data analysis (1.2 CFU - 6h lectures + 6h labs)
Introduction to big data challenges
Apache Hadoop and Spark
Machine learning and neural networks (2.1 CFU - 9h lectures + 12h labs)
Regression (linear, nonlinear)
Classification (kNN, decision trees, logistic regression)
Neural networks
Scikit-learn framework
Pytorch framework
ML for geospatial data
Introduction to Python programming and numerical computing libraries (1.2 CFU - 6h lectures + 6h labs)
Python language and syntax
Numpy and Scipy libraries
Jupyter notebooks, Google Colab
Signal and Image processing with Python (1.5 CFU 3h lectures + 12h labs)
Frequency analysis and filter design
Image processing
Point cloud processing
Big data analysis (1.2 CFU - 6h lectures + 6h labs)
Introduction to big data challenges
Apache Hadoop and Spark
Machine learning and neural networks (2.1 CFU - 9h lectures + 12h labs)
Regression (linear, nonlinear)
Classification (kNN, decision trees, logistic regression)
Neural networks
Scikit-learn framework
Pytorch framework
ML for geospatial data
The course is based on lectures (24 hours) and computer labs (36 hours). Lectures will introduce all the necessary background for the lab activities. Lab activities will involve solving a specific task with Python and the tools discussed in the lectures. Students are organized in groups of no more than three people. For each computer lab, the group must write a report; reports are graded and concur to determine the final grade.
The course is based on lectures (24 hours) and computer labs (36 hours). Lectures will introduce all the necessary background for the lab activities. Lab activities will involve solving a specific task with Python and the tools discussed in the lectures. Students are organized in groups of no more than three people. For each computer lab, the group must write a report; reports are graded and concur to determine the final grade.
All course material is provided, and no book is required for the course. Optional reading:
Python Data Science Handbook O'Reilly Media, 2016
All course material is provided, and no book is required for the course. Optional reading:
Python Data Science Handbook O'Reilly Media, 2016
Slides;
Lecture slides;
Modalitΰ di esame: Prova orale obbligatoria; Elaborato scritto prodotto in gruppo; Elaborato progettuale individuale;
Exam: Compulsory oral exam; Group essay; Individual project;
...
The final exam consists of two parts. An individual final project will be assigned to each student. The student will present and discuss the solution as part of the final exam. In addition, one or more open questions covering the course topics will be asked. Students cannot use books, slides, notes, online resources, or any other teaching materials during the exam, except for their own lab report. The questions aims at assessing students' understanding of main topics of the course and their ability to successfully implement them to solve the project problem. The students are evaluated depending on the difficulty of the topic and the level of correctness, clarity, accurate terminology of their answers as well as the technical correctness of the final project.
Reports for the course labs need to be delivered during the semester on the agreed deadline, typically one week after the scheduled lab date. Evaluation of the reports is based on their clarity, technical correctness, ability of the students to properly describe and comment the results of the experiments. Reports should not merely list results, but demonstrate understanding of the concepts learned during the course. Timeliness in the delivery of the reports is also part of the evaluation.
Student self-assessment will also be used to generate the computer lab score, i.e. students are going to score the contribution of other students in the same group towards achieving the objectives of the computer labs; sending self-assessments to the course instructor is mandatory in order to obtain a score for the computer labs.
The final grade depends on the score of the lab reports (up to 7 points), and on the evaluation of the final project and oral exam (up to 24 points). The minimum mark students have to achieve in order to pass the exam is 18/30. Scoring more than 30 points will result in a cum laude grade.
Gli studenti e le studentesse con disabilitΰ o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unitΰ Special Needs, al fine di permettere al/la docente la declinazione piω idonea in riferimento alla specifica tipologia di esame.
Exam: Compulsory oral exam; Group essay; Individual project;
The final exam consists of two parts. An individual final project will be assigned to each student. The student will present and discuss the solution as part of the final exam. The project discussion will assess the ability of the students to apply the studied numerical computing frameworks and algorithms to practically address a novel computational ICT problem.
In addition, one or more open questions covering the course topics will be asked. Students cannot use books, slides, notes, online resources, or any other teaching materials during the exam, except for their own lab reports. The questions aim at assessing students' understanding of main computational algorithms presented during the course as well as techniques for their practical implementation. The students are evaluated depending on the difficulty of the topic and the level of correctness, clarity, accurate terminology of their answers as well as the technical correctness of the final project.
Reports for the course labs need to be delivered during the semester on the agreed deadline, typically one week after the scheduled lab date. Evaluation of the reports is based on their clarity, technical correctness, ability of the students to properly describe and comment the results of the experiments. Reports should not merely list results, but demonstrate understanding of the concepts learned during the course. Timeliness in the delivery of the reports is also part of the evaluation.
Student self-assessment will also be used to generate the computer lab score, i.e. students are going to score the contribution of other students in the same group towards achieving the objectives of the computer labs; sending self-assessments to the course instructor is mandatory in order to obtain a score for the computer labs.
The final grade depends on the score of the lab reports (up to 7 points), and on the evaluation of the final project and oral exam (up to 24 points). The minimum mark students have to achieve in order to pass the exam is 18/30. Scoring more than 30 points will result in a cum laude grade.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.