| 10610046 | Human-Robot Interaction [ING-INF/05] [ENG] | 1st | 2nd | 6 |
Educational objectives Contents
The main content of the course is summarized below.
Introduction to HCI and HRI
Human factors and engineering design
Interface design, usability evaluation, universal design, multimodal interfaces (touch, vision, natural language and 3-D audio)
Virtual reality and spatial displays
Embodiment and anthropomorphism
Perception of human behavior
Multimodal interaction
HCI and HRI applications
User studies and evaluation methods
Ethical and social implications of HMI
Associated skills
Knowledge and understanding:
The course offers an overview of different research topics in HCI and HRI and, more specifically, in using Artificial Intelligence techniques to model and reason about human-machine interaction tasks. Techniques for requirement collection and analysis, goal and task models, interaction and system models, multimodal and personalized interactions, methods for usability evaluation will be examined. Some advanced issues in HCI and HRI, such as cooperative systems, immersive and ubiquitous environments, intelligent interfaces, social interactions, etc., will also be addressed. The topics are covered by researchers in the field who will introduce the student to research problems and recent and relevant applications in HCI, HRI and AI.
Applied knowledge and understanding:
The course provides the knowledge necessary to undertake research work in these fields using practical tools for experimental validation, including understanding the concepts of HMI and usability, conducting a research project of an interactive interactive system following the UCD methodology, and reporting the results according to scientific standards.
Critical and judgment skills:
The course proposes advanced methods to study, understand and apply results reported on scientific articles, and integrate these results to create innovative HCI, HRI and AI applications. The student learns how to use results from the literature as a basis for new research and how to evaluate the usability of an interactive system and its adequacy with respect to the goals and tasks of end users and stakeholders.
Communication skills:
Group activities in the classroom and the need to make presentations to the class allow the student to develop the ability to communicate and share the knowledge acquired and to compare themselves with others on the topics of the course. In particular, the project activities and the course homeworks allow the student to be able to collaborate in the design and development of an interactive system.
Learning ability:
In addition to the classic learning skills provided by the theoretical study of the teaching material, the course develops methods to stimulate the student to deepen his knowledge of some of the topics she presents to the course and to the work group. Furthermore the course stimulates the student to effectively apply both the concepts and the techniques learned during the course in homeworks and in a research project.
Learning outcomes
Understand motivations, opportunities and limits of HMI applications
Identify the appropriate models and algorithms to solve a specific HMI problem
Evaluate the performance of HMI systems
Present the result of an HMI study according to scientific standards.
Describe limitations of a given HMI solution
Organize and conduct an oral presentation of a research paper
Develop a research project in HMI and AI and present the results
|
| 10600392 | Artificial Intelligence [ING-INF/05] [ENG] | 1st | 2nd | 6 |
Educational objectives General objectives:
Acquire the basic principles of the field of Artificial Intelligence, specifically the modeling of intelligent systems through the notion of intelligent agent.
Acquire the basic techniques developed in the field of Artificial Intelligence, concerning symbol manipulation and, more speicifically, discrete models.
Acquire the basic principles of the interaction among intelligent agents and, specifically, of the interaction between intelligent agents and humans, through natural language.
Specific objectives:
Knowledge and understanding:
Automated search in the space state: general methods, heuristic driven methods, local Search. Factored representations: constraint satisfaction problems, automated planning.
Knowledge Representation through formal systems: propositional logic, first order logic, description logic (hints), non monotonic reasoning (hints). Usage of logic as a programming language: PROLOG.
Cooperation and coordination, distributed task assignment, distributed constraint optimization, lexical, syntactic and semantic analysis of natural language.
Applying knowledge and understanding:
Modeling problems by means of the manifold representation techniques acquired through the course. Analysis of the behavior of the basic algorithms for automated reasoning.
Design and implement frameworks for multi agent interaction.
Making judgements:
Being able to evaluate the quality of a representation model for a problem and the results of the application of the reasoning algorithms when run on it.
Analyse and evaluate the key elements of the interaction among multiple agents.
Communication:
The oral communication skills are stimulated through the interaction during class, while the writing skills will be developed thorugh the analysis of exercises and answers to open questions, that are included in the final test.
The communication skills are also exercised through the presentation of a group project and its associated written report.
Lifelong learning skills:
In addition to the learning capabilities arising from the study of the theoretical models presented in the course, the problem solving capabilities of the student will be improved through the exercises where the acquired knowledge is applied.
The design and implementation of a prototype system for multi agent interaction support the learning of teamwork.
|
| 1023325 | VISION AND PERCEPTION [ING-INF/05] [ENG] | 1st | 2nd | 6 |
Educational objectives GENERAL OBJECTIVES
The course aims to introduce the student to the fundamental concepts of artificial vision and to the construction of autonomous systems of interpretation and reconstruction of a scene through images and video. The course deals with basic elements of projective and epipolar geometry, methods for 3D vision and vision based on multiple views, and methods for metric reconstruction and image and video interpretation methods. Furthermore the course illustrates the main techniques for the recognition and segmentation of images and videos based on machine learning.
SPECIFIC OBJECTIVES
Knowledge and Understanding
The course stimulates students' curiosity towards new methodologies for the analysis and generation of images
and video. The student learns new concepts that allow him to acquire a basic knowledge of
computational vision.
Apply Knowledge and Understanding
Students deepen and learn programming languages ??to apply the acquired knowledge.
In particular they deepen the Python language and learn Tensorflow. The latter offers students
the possibility of programming deep learning applications. They use this brand new technology to make
a project to recognize specific elements in images and videos.
Critical and Judgment skills
The student acquires the ability to distinguish between what he can achieve with the tools he/she has learned,
such as generating images or recognizing objects using deep learning techniques,
and what is actually required for the realization of an automatic vision system.
In this way she/he is able to elaborate a critical judgment on the vision systems available to the state
of art and to assess what can actually be achieved and what requires further progress
in research.
Communication skills
The realization of the project, as part of the exam program, requires the student to work and give a
contribution within a small work group. This together with the solution of exercises in the classroom,
and to the discussions on the most interesting topics it stimulates the student's communication skills.
Learning ability
In addition to the classic learning skills provided by the theoretical study of the teaching material,
the course development methods, in particular the project activities, stimulate the student
to the self-study of some topics presented in the course, to group work, and to the application
concrete knowledge and techniques learned during the course.
|
| 1044398 | INTERACTIVE GRAPHICS [ING-INF/05] [ENG] | 1st | 2nd | 6 |
Educational objectives Knowledge and understanding:
Have the student acquire the basics of 3D graphic programming with particular emphasis on animation and interactive visualization techniques. In particular the topics covered include: Fundamentals of computer graphics, interactive rendering and animation, graphics pipeline, transformations, visualizations, rasterization, lighting and shading, texture-mapping, animation techniques based on keyframes, physical simulations, particle systems and animation of characters. An introduction to computing on specialized graphics hardware (GPGU) will also be provided.
Applying knowledge and understanding:
To make the student familiar with the mathematical techniques underlying 3D graphics, as well as the ability to program complex and interactive environments in 3D graphics using the OpenGL library or one of its variants
Making judgements:
Deep understanding of the operation of a 3D graphics system in its hardware and software components. Knowledge of the HTML5 standard and the Javascript language, application of the WebGL library and some higher level libraries. Understanding of the problems of efficiency and visual quality of 3D graphics applications
Communication skills:
Development of interactive applications on the web in 3D graphics.
Learning skills:
Ability to understand the technical complexities in the realization of interactive applications in 3D graphics. Ability to critically analyze the solutions on the market and analyze strengths and weaknesses.
|
| 10610045 | Machine Learning in Practice [ING-INF/05] [ENG] | 1st | 2nd | 6 |
Educational objectives Aims
At the end of this course, the student is able to
reason and argue about what type of algorithms and efficient source code to be developed and applied when tackling real-life machine learning tasks;
understand the principles underlying effective machine learning methods;
use and adapt state-of-the-art machine learning algorithms to tackle a challenge;
properly evaluate a machine learning algorithm's performance in a real-life context.
Content
Machine learning addresses the fundamental problem of developing computer algorithms that can harness the vast amounts of digital data available in the 21st century and then use this data in an intelligent way to solve a variety of real-world problems. Examples of such problems are recommender systems, (neuro) image analysis, intrusion detection, spam filtering, automated reasoning, systems biology, medical diagnosis, speech analysis, and many more. The goal of this course is to learn how to tackle specific real-life problems through the selection and application of state-of-the-art machine learning algorithms, notably by entering international machine learning competitions organized at Kaggle.
|
| 10610044 | Natural Computing [ING-INF/05] [ENG] | 1st | 2nd | 6 |
Educational objectives Aims
On completion of the course students should be able to:
Outline core Natural Computing approaches and algorithms
Compare and contrast different Natural Computing approaches
Solve optimization problems using Natural Computing methods
Design an experiment in Natural Computing
Perform simple simulations of biological systems
Write an academic paper on this subject
Content
The field of Natural Computing concerns the development of algorithms inspired by Nature, including Biological, Social and Physical systems. These algorithms draw metaphorical inspiration from various aspects of nature, including the operation of biological neurons, processes of evolution, and models of social interaction amongst organizations. They are used to tackle complex real-world problems. This course provides a description of core Natural Computing approaches, like evolutionary algorithms, immunocomputing and cellular automata, which can be used by the students to tackle a real-world problem.
|
| 10610043 | Physical Aspects on Secure Systems [ING-INF/05] [ENG] | 1st | 2nd | 6 |
Educational objectives Aims
At the end of the course students can:
• understand the vulnerabilities and adversarial models for embedded (crypto) devices, and explain the objectives for protecting those devices against implementation attacks
• explain currently known attacks on small devices and associated countermeasures;
• carry out side-channel and fault injection attacks on smartcards i.e. microcontrollers.
• use statistics and machine learning techniques when performing the attacks
Content
Our daily business relies on the devices we carry on us, such as bank, ID and transportation cards, car keys, and mobile phones. All those devices use secret (cryptographic) keys that are not accessible from the outside. Getting a hold of the key allows a hacker to steal our data or take control of a self-driving car or a pacemaker.
The majority of real-world attacks on security implementations use side-channel analysis, i.e., they measure and process physical quantities, like the power consumption or electromagnetic emanations of a chip, or reaction time of a process. Preventing this kind of leakages and side-channel attacks in general remains a great challenge as effective mitigations are often prohibitively expensive in terms of power and energy resources.
This course treats security aspects of embedded cryptographic device, including hardware and software, certification and security evaluation and the security objectives these are meant to provide, and attack techniques and countermeasures, especially side-channel and fault attacks.
We cover all implementation attacks on embedded systems, including state of the art methods using machine/deep learning and fault injection.
The course includes practical lab assignments where students perform the attacks on physical targets.
|
| 10610042 | Applied Cryptography [ING-INF/05] [ENG] | 1st | 2nd | 6 |
Educational objectives Aims
After the course, the student should understand the ideas and workings of public and secret-key cryptography in the IT security sector.
Content
The course covers the following topics:
Symmetric cryptography: encryption, authentication, hashing, ...
Public key cryptography and post-quantum cryptography: encryption, signatures, KEMS, ...
Security notions like existential forgery, IND-CCA, zero-knowledge, etc.
Security proofs
Protocols, like challenge-response protocols, proofs of knowledge, etc.
Real-world protocols, like TLS, secure messaging, etc.
|
| 10610171 | Big Data [ING-INF/05] [ENG] | 1st | 2nd | 6 |
Educational objectives Content (Syllabus outline):
Introduction to big data. Characteristics of big data. Big data and data science. Relational databases and big data. Distributed data systems. Hadoop ecosystem.
Big data management. Structured and semi-structured data models. Non-relational (NoSQL) data models. Data models and database systems for big data. Domain-specific languages for big data. Monitoring big data systems.
Big data processing. Querying and retrieval.
Paradigms for computing with data. Processing pipelines and aggregators. Basic algorithmic building blocks and patterns. Hadoop. Spark.
Data analytics with big data. Data analytics tools. Basic statistics. Clustering. Associations. Predictive modeling. Spark machine learning library MLib.
Big data and graph analytics. NoSQL graph databases for big data. Neo4j graph database. Graph querying with CYPHER. Basic graph analytics with Neo4j and CYPHER.
Practical aspects of big data analytics. Processing heterogeneous data. Processing data streams.
|
| 10610172 | Natural Language Processing [ING-INF/05] [ENG] | 1st | 2nd | 6 |
Educational objectives Content (Syllabus outline):
The syllabus is based on a selection of modern statistical natural learning techniques and their practical use. The lectures introduce the main tasks and techniques, explain their operation and theoretical background. During practical sessions and seminars the gained knowledge is applied to language practical task using open source tools. Student investigate and solve assignments, based on real-world research and commercial problems form English and Slovene languages.
Introduction to natural language processing: motivation, language understanding, Turing test, traditional and statistical approaches.
Language resources: corpuses, dictionaries, thesauruses, networks and semantic data bases, overview of tools.
Linguistics: phonology and morphology, syntactical analysis, formal grammars.
Using automata and grammars: automata and algorithms for searching strings, syntax parsing, dependency parsing.
Part-of-speech tagging: types of tags, lemmatization, ngrams, Hidden Markov model, rule-based tagging.
Computational and lexical semantics: semantic representations, rule-to-rule approaches, semantic role labelling.
Clustering words and text similarity measures: cosine distance, language networks and graphs, WordNet, vector representation, vector weighting, sematic correlation.
Text mining: adaptation of classification methods to the specifics of text, support vector machines for language, feature selection.
Deep networks for text: document representations for deep neural networks, autoencoders, recurrent neural networks.
Text summarization: text representations, matrix factorization, multi-document summarization, extractive methods, query based methods.
Machine translation: language model, translation model, alignment model, challenges in machine translation.
Augmenting text with other data sources: heterogeneous networks, word2vec representation, heterogeneous ensembles of classifiers, link analysis.
Methodology and evaluation in NLP.
|
| 10610041 | Machine Learning for Data Science I [ING-INF/05] [ENG] | 1st | 2nd | 6 |
Educational objectives Content (Syllabus outline):
Linear models. Linear regression. Linear discriminant analysis. Logistic regression. Gradient descent. Stochastic gradient descent.
The machine learning approach. Cost functions. Empirical risk minimization. Maximum likelihood estimation. Model evaluation. Cross-validation.
Feature selection. Search-based feature selection. Regularization.
Tree-based models. Decision trees. Random forest. Bagging. Gradient tree boosting.
Clustering. k-means. Expectation Maximization.
Non-linear regression. Basis functions. Splines. Support vector machines. Kernel trick.
Neural networks. Perceptron. Activation functions. Backpropagation.
|
| 10610040 | Data Science Project [ING-INF/05] [ENG] | 1st | 2nd | 6 |
Educational objectives Content (Syllabus outline):
Students select project theme and work in groups to complete the project. Students present their midterm progress and results. Students complete the Project with a public presentation of their work.
Project themes are compiled by the lecturer from proposals by faculty members and industry.
Perez-Riverol Y, Gatto L, Wang R, Sachsenberg T, Uszkoreit J, Leprevost FdV, et al. (2016) Ten Simple Rules for Taking Advantage of Git and GitHub. PLoS Comput Biol 12(7): e1004947.
Sandve GK, Nekrutenko A, Taylor J, Hovig E (2013) Ten Simple Rules for Reproducible Computational Research. PLoS Comput Biol 9(10): e1003285.
Vicens Q, Bourne PE (2007) Ten Simple Rules for a Successful Collaboration. PLoS Comput Biol 3(3): e44.
Taschuk M, Wilson G (2017) Ten simple rules for making research software more robust. PLoS Comput Biol 13(4): e1005412.
Bourne PE (2007) Ten Simple Rules for Making Good Oral Presentations. PLoS Comput Biol 3(4): e77.
|