Computer Science

Academic program

×
Print
Course
BIOLOGIA COMPUTAZIONALE
Course ID
MF0378
Academic Year
2021/2022
Year of rule
2020/2021
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
MIGNONE Flavio
Teachers
CFU
3
Teaching duration (hours)
24
Individual study time
51
SSD
BIO/11 - BIOLOGIA MOLECOLARE
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
C
Year
2
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Il corso si propone di fornire i fondamenti della replicazione e trascrizione del DNA, dei meccanismi della traduzione e delle tecniche di biologia molecolare.
The course provides the basics of DNA replication and transcription , of traslation mechanisms and of molecular biology methods.
Testi di riferimento/Textbooks
- Watson et al., Biologia molecolare del gene” 7° edizione. Zanichelli - Amaldi et al., Biologia Molecolare 3° edizione. Casa Editrice Ambrosiana - Lewin, B. "Il Gene X". Zanichelli - Albertz et al., Biologia Molecolare della Cellula. Zanichelli - Materiale distribuito durante le lezioni
- Watson et al., Biologia molecolare del gene” 7° edition. Zanichelli - Amaldi et al., Biologia Molecolare 3° edition. Casa Editrice Ambrosiana - Lewin, B. "Il Gene X". Zanichelli - Albertz et al., Biologia Molecolare della Cellula. Zanichelli - Lesson presentations
Obiettivi formativi/Mission
Lo studente acquisisce: 1) Conoscenza e padronanza a) dei meccanismi molecolari alla base della duplicazione del DNA, della trascrizione e della traduzione in cellule eucariotiche e procariotiche e b) delle tecniche di base di biologia molecolare. 2) Abilità nell’utilizzare le conoscenze acquisite a corsi di fisiologia, di patologia generale e di altri corsi più specialistici, anche pratici, che prevedono una conoscenza a livello molecolare dei processi biologici che coinvolgono DNA, RNA e proteine. Grazie all’attività pratica, di gestire autonomamente le principali tecniche di base impiegate per l'estrazione del DNA, la sua amplificazione a mezzo PCR e la successiva analisi elettroforetica. 3) Abilità comunicative nella conoscenza ed utilizzo di un lessico appropriato in relazione agli argomenti trattati durante il corso.
The student acquires: 1) Knowledge and understanding a) the molecular mechanisms of DNA duplication, of transcription and translation into eukaryotic and prokaryotic cells and 2) the basic molecular biology techniques. 2) Ability to use these principles in courses of physiology, pathology and other more specialized courses, also practice, that involve molecular knowledge of biological processes involving DNA, RNA and proteins. With the practical activity, he will be able to use the main techniques employed for DNA extraction, PCR amplification and subsequent electrophoretic analysis. 3) Communication skills about the use of an appropriate vocabulary in relation to the topics covered during the course.
Prerequisiti/Required background knowledge
Il docente sconsiglia di affrontare lo studio della materia senza le opportune basi colturali fornite dalla chimica generale, dai fondamenti di istologia embriologia e anatomia funzionale, dalla genetica I e dai principi di biochimica A e B. Lo studente dovrebbe inoltre avere un’adeguata proprietà di linguaggio e padronanza scientifica.
The teacher does not advise to address the study of matter without the appropriate culture provided by the chemistry, citology and histology, genetic and biochemistry. The student should also have a property of language and scientific mastery.
Metodi didattici/Teaching methods
Lezione frontale in aula, esercitazioni in aula ed esperienza pratica in laboratorio.
Lessons in class, practice in class and laboratory sessions.
Altre informazioni/Further information
Le diapositive proiettate dal docente durante la lezione sono disponibili nella sezione DIR (Biologia Molecolare I). Il docente darà informazioni dettagliate riguardanti l’organizzazione temporale (giorni e orario) della parte di laboratorio. Per accedere al laboratorio è necessario frequentare 70% della parte teorica del corso (lezioni in aula). Al termine di ogni esperienza di laboratorio i risultati ottenuti verranno discussi ed analizzati. Il docente risponde solo alla e-mail firmate e provenienti dal dominio nome.cognome@uniupo.it.
The slides projected by the teacher during the lesson are available in the DIR section (Molecular Biology I). The informations about the time organization (days and times) of the laboratory practice activity will be given during the couse. At the end of each laboratory practice activity, the results obtained will be discussed and analyzed. It is necessary, to access the laboratory session, to attend 70% of the theoretical part of the course (lesson in class). The teacher responds to the e-mails signed and coming from the domain name.surname@uniupo.it.
Modalità di verifica dell'apprendimento/Assessment methods
Obiettivo della prova di esame consiste nel verificare il livello di conoscenza ed approfondimento di tutti gli argomenti riportati nel programma del corso e la capacità di ragionamento sviluppata dallo studente. L’esame prevede una prova scritta ed una prova orale. La prova scritta che consiste in domande a risposta multipla e il suo superamento è condizione necessaria per sostenere la prova orale. Il voto finale dipenderà esclusivamente dalla prova orale. Durante la prova non è permesso consultare alcun tipo di materiale.
The purpose of the exam is to verify the level of knowledge into all the subjects present in the course program and the reasoning capacity developed by the student. The exam consists in a written test and an oral examination, The a written test consists of multiple-choice questions and the overcome the test is mandatory to take the oral exams.The final score is solely based on the oral examination. During the test is not possibile to consult any type of material.
Programma esteso/Content
La Replicazione del DNA. Gli acidi nucleici. Le DNA polimerasi. La topologia del DNA. Struttura e meccanismo d'azione. Il replisoma e i suoi componenti. Il meccanismo di correzione delle bozze. La topoisomerasi I e suo meccanismo d'azione. Il danno del DNA. Restauro del DNA. Meccanismi di reversione, escissione, “mismatch-repair” e per ricombinazione. La trasposizione del DNA. La cromatina, il nucleosoma e gli istoni. La trascrizione del DNA. Le RNA polimerasi procariore ed eucariote. L'unita' trascrizionale procariote ed eucariote. Regolazione dell’inizio della trascrizione negli eucarioti. Fattori di trascrizione generali e complesso d’inizio. Modificazioni post-trascrizionali. Introni e “splicing”. Splicing differenziale. RNA catalitico. RNA “editing”. Controllo genico negli eucarioti. Attivatori e repressori della trascrizione e meccanismi molecolari del controllo trascrizionale. RNA interference. I meccanismi della traduzione. Il DNA ribosomiale. Struttura del ribosoma. Il codice genetico. tRNA e sua struttura. AAtRNA sintetasi e suo meccanismo d'azione. Il riconoscimento codone-anticodone "Vacillamento". Formazione del complesso di inizio della traduzione. IF e loro regolazione. Allungamento della catena ed EF. Terminazione della sintesi proteica. Principali modificazioni post-traduzionali delle proteine. Laboratorio di Biologia Molecolare (principi teorici). Clonaggio di DNA ricombinante ed enzimi di restrizione. Vettori di clonaggio e di espressione. Costruzione e screening di genoteche. Tecniche di analisi degli acidi nucleici. Sequenziamento del DNA e tecniche di PCR (end-point e quantitativa). Esercitazioni in laboratorio. Preparazione di DNA plasmidico, taglio del DNA con enzimi di restrizione e analisi su gel di agarosio. PCR end-point e quantificazione del DNA mediante analisi spettrofotometrica.
DNA replication. Nucleic acids. DNA topology. Topoisomerases and their mechanism of action. Prokaryotic and eukaryotic DNA polymesares: structure and their mechanism of action. The replisome. Effect of DNA damage. DNA repair systems: direct repair, excision repair, mismatch-repair and recombination repair. Transposition. Chromatin, nucleosomes and histones. DNA transcription. Prokaryotic and eukaryotic RNA polymesares. Prokaryotic and eukaryotic gene organization. Initiation of transcription. General factors and basal transcription apparatus. RNA processing. Introns and splicing. Alternative splicing. Catalytic RNA. RNA editing. Global eukariotic regulation of gene expression. Regulatory transcription factors and molecular mechanisms of transcription regulation. RNA interference. Traslation mechanisms. Ribosomal DNA. Ribosome structure. The genetic code. tRNA structure. Codon-anticodon recognition, wobbling. AAtRNA synthetase and their mechanism of action. IF and their regulation. Elongation and EF. Termination of protein synthesis. Protein modifications. Laboratory of biology molecular (theory). Cloning ed restriction enzymes. Cloning and expression vectors. Library construction and screening. Analysis of nucleic acid fragments. DNA sequencing and PCR (end-point and quantitative). Practice: Plasmid preparation, DNA cut and analysis on agarose gels. PCR end-point. DNA quantification by spectrophotometer.
Risultati di apprendimento attesi/Intended learning objectives
Lo studente: 1) Conoscenza e comprensione: conoscerà i meccanismi molecolari alla base della duplicazione del DNA, della trascrizione e della traduzione in cellule eucariotiche e procariotiche e b) delle tecniche di base di biologia molecolare. 2) Abilità: sarà in grado di utilizzare le conoscenze in tutte le discipline che richiedono conoscenze riguardanti i meccanismi molecolari della duplicazione e trascrizione del DNA e della traduzione in cellule eucariotiche e procariotiche. Inoltre le basi teoriche delle tecniche di biologia molecolare lo faciliteranno nelle attività di laboratorio che prevedono l’utilizzo di tali tecniche. Inoltre l'attività pratica renderà lo studente capace di gestire autonomamente le principali tecniche di base impiegate per l'estrazione del DNA, la sua amplificazione a mezzo PCR e la successiva analisi elettroforetica. 3) Autonomia di giudizio: acquisterà la capacità di analizzare con senso critico gli elementi legati ai meccanismi molecolari che stanno alla base della duplicazione del DNA, della trascrizione e della traduzione in cellule eucariotiche e procariotiche e b) delle tecniche di base di biologia molecolare. 4) Abilità comunicative: avrà padronanza di un lessico relativo i meccanismi molecolari della cellula. 5) Capacità di apprendimento: acquisirà la capacità di utilizzare il materiale didattico fornito per uno studio critico e ragionato degli argomenti trattati ed inoltre sarà in grado di approfondire ed aggiornare in maniera autonoma, tramite lettura di testi ed articoli scientifici problematiche correlati a tutti gli argomenti trattati durante il corso.
The student: 1) Knowledge and understanding: he will know a) the molecular mechanisms of DNA duplication, of transcription and translation into eukaryotic and prokaryotic cells and 2) the basic molecular biology techniques. 2) Skill: he will be able to use the information acquired in all disciplines that require knowledge about the molecular mechanisms of DNA duplication and transcription and of translation into eukaryotic and prokaryotic cells. Furthermore, the theoretical bases of molecular biology techniques will help the student in laboratory activities involving the use of these techniques. In particular he will be able to use the main techniques employed for the extraction of DNA, its amplification by PCR Furthermore, the theoretical bases of molecular biology techniques will help the student in laboratory activities involving the use of these techniques. 3) Autonomy of judgment: he will acquire the ability to critically analyze the elements linked to the molecular mechanisms about the DNA duplication, transcription and translation in eukaryotic and prokaryotic cells and b) to the basic techniques of molecular biology. 4) Communication skills: he will known and will use an appropriate vocabulary in relation to molecular mechanisms of the cell. 5) Learning skills: he will acquire the ability to use the teaching material provided for a critical and reasoned study of the topics and also he will be able to deepen and update independently, through reading texts and scientific articles, issues related to all topics covered during the course.
×
Print
Course
CYBER SECURITY 2
Course ID
MF0409
Academic Year
2021/2022
Year of rule
2020/2021
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
ANGLANO Cosimo Filomeno
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
2
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Introduzione ai principi fondamentali di sicurezza dei sistemi e delle applicazioni software. Studio delle principali vulnerabilitá software e delle relative contromisure. Studio e applicazione delle tecniche di pentration testing basate su tali vulnerabilità.
Introduction to the fundamental principles of system and software security. Analysis of the main software and system vulnerabilities and of the corresponding countermeasures. Analysis and applications of the penetration testing techniques based on these vulnerabilties.
Testi di riferimento/Textbooks
1) Wenliang Du. Computer Security: A Hands-On Approach. Printed by Create Space. October 2017. ISBN 978-1548367947 2) Allen Harper, Daniel Regalado, e al. Gray Hat Hacking: The Ethical Hacker's Handbook. Fifth Edition, 2018. McGraw-Hill Education. ISBN: 978-1260108415 3) M. Sikorsy, A. Honig. Practical Malware Analysis. No Starch Press, 2012. ISBN: 978-1593272906. 4) D. Andriesse. Practical Binary Analysis: Build Your Own Linux Tools for Binary Instrumentation, Analysis, and Disassembly. No Starch Press, 2018. ISBN: 978-1593279127. 5) Sean-Philip Oriyano. Penetration testing essentials, first edition. Wiley 2017. ISBN 9781119235309
1) Wenliang Du. Computer Security: A Hands-On Approach. Printed by Create Space. October 2017. ISBN 978-1548367947 2) Allen Harper, Daniel Regalado, e al. Gray Hat Hacking: The Ethical Hacker's Handbook. Fifth Edition, 2018. McGraw-Hill Education. ISBN: 978-1260108415. 3) M. Sikorsy, A. Honig. Practical Malware Analysis. No Starch Press, 2012. ISBN: 978-1593272906. 4) D. Andriesse. Practical Binary Analysis: Build Your Own Linux Tools for Binary Instrumentation, Analysis, and Disassembly. No Starch Press, 2018. ISBN: 978-1593279127. 5) Sean-Philip Oriyano. Penetration testing essentials, first edition. Wiley 2017. ISBN 978111923530
Obiettivi formativi/Mission
Conoscenza e capacità di comprensione: conoscere i principi della sicurezza informatica dei sistemi e delle applicazioni software, le tecniche di attacco basate sulle relative vulnerabilità, le contromisure che é possibile predisporre per proteggersi da tali attacchi, e le tecniche di penetration testing basate sugli attacchi in questione. Applicazione di conoscenza e comprensione: deve essere capace di identificare le vulnerabilità presenti sul sistema, e di applicare le metodologie di penetration testing al fine di valutare il livello di sicurezza dei sistemi e delle relative applicazioni, proponendo di conseguenza le opportune contromisure. Autonomia di giudizio: avere acquisito la corretta percezione dei rischi di sicurezza e del modo in cui gli aspetti di sicurezza informatica si intrecciano con l'organizzazione, la configurazione e l'uso di un sistema informatico. Abilità comunicative: deve avere acquisito terminologia tecnica specifica dell'area e deve saper discutere di aspetti di sicurezza, e di meccanismi di protezione. Inoltre lo studente migliorerà la propria padronanza della lingua inglese a livello tecnico informatico. Capacità di apprendere: avendo appreso i principi findamentali sarà in grado in futuro di apprezzare e valutare tecnologie e metodologie nuove che si basano sugli stessi principi.
Knowledge and understanding: know the basic principles of system and software security, the attack techniques based on the vulnerabilities of these systems, the countermeasures that can be put in place to protect the system from these attacks, and the penetration testing methodologies based on the above attacks. Applying knowledge and understanding: students must be able to recognize the vulnerabilities of a computer system, and to apply the penetration testing methodologies in order to assess the security level of computer systems and of the software running on it, and to propose suitable countermeasures to keep the system secure. Making judgements: They must also acquire a correct perception of security risks and of the way security issues intertwine with the organization, the configuration, and the use of a computer system. Communication skills: students must have acquired the specific technical terminology and must be able to discuss security aspects and protection mechanisms. Moreover the students will increase their proficiency in the technical English of computer science. Learning skills: having acquired the fundamental principles the student will later be able to appreaciate and evaluate new technologies and methodologies based on the same principles.
Prerequisiti/Required background knowledge
Conoscenza del funzionamento dei sistemi operativi e delle reti di calcolatori, delle problematiche e soluzioni per la sicurezza delle reti di calcolatori, nozioni di base di utilizzo di Unix, programmazione in C.
Knowledge of the principles of operation of operating systems and computer networks, principles and techniques of computer networks security, basic notions of Unix usage, C programming.
Metodi didattici/Teaching methods
Il corso è insegnato interamente in laboratorio. Ciascuna lezione è costituita da una presentazione degli argomenti nella quale gli aspetti tecnici vengono arricchiti da ampi riferimenti ad incidenti informatici recenti, seguita da attività pratica. Per la prima parte del corso, focalizzata sullo studio delle vulnerabilitá software, gli studenti sono guidati nella realizzazione di codice in grado di sfruttare vulnerablitá del sistema operativo o di applicazioni specifiche, con l'obiettivo di violarne la sicurezza del sistema, ottenendo un accesso allo stesso o l'esecuzione di codice malevolo, al fine di acquisire sensibilità riguardo alle vulnerabilità e per comprendere le caratteristiche e i limiti delle tecnologie e dei meccanismi di sicurezza presentati. Per la seconda parte di corso, focalizzata sul penetration testing, gli studenti sono guidati nell'applicazione di metodologie di penetration testing, utilizzando delle piattaforme software adatte a tali attivitá, utilizzando come bersaglio dei sistemi vulnerabili appositamente configurati, al fine di acquisire esperienza sull'applicazione concreta delle metodologie presentate nel corso. Gli argomenti trattati in ogni lezione insieme alle appropriate indicazioni bibliografiche e le indicazioni sull'attività pratica sono riportate sulla piattaforma DIR per permettere agli studenti che seguono il corso di rivedere o completare le attività proposte e di mantenersi al passo con il corso in caso perdano qualche lezione; inoltre questo permette agli studenti che non frequentano di svolgere autonomamente l'attività di laboratorio, e di seguire pur a distanza il corso delle lezioni.
The course is entirely taught in lab. Each lecture begins with a presentation of the subject, during which technical aspects are enriched with references to recent security incidents. Hands on activity follows. For the first part of the course, which is focused on the study of software vulnerabilities, students are guided in the realization of code able to exploit vulnerabilities of operating systems or of specific applications, with the goal of carrying out attacks aimed at obtaining unrestricted access to the system or the execution of malicious code, so that they gain a feeling for vulnerabilities and understand the features and limits of security technologies and mechanisms. For the second part of the course, which is focused on penetration testing, students are guided in the application of penetration testing methologies, using suitable software platforms, using as target vulnerable systems purposely built and configured, so as to gain experience on the concrete application of the methodologies taught in the course. Students will find on the DIR platform the subjects treated in each leture, along with appropriate bibliographic references, and indications on the hands-on activity. This way students that attend the course can review or complete proposed activities and keep abreast of the course when they miss a class. This also enables non attending students to experiment on their own with the hands-on activity and to follow autonomosly the class.
Altre informazioni/Further information
L'attività in laboratorio richiede una partecipazione attiva e individuale degli studenti e li induce a porsi dei quesiti (e spesso di conseguenza a porne al docente); in tal modo permette una regolare verifica del modo in cui gli argomenti vengono recepiti. L'attività in laboratorio è pensata come strumento didattico per facilitare la comprensione e lo sviluppo della necessaria sensibilità, non come mezzo per insegnare ad utilizzare strumenti di sicurezza. Però lo studente volenteroso trae dall'attività in laboratorio anche utili competenze pratiche.
Hands-on activity requires active participation of the students, and leads the latter to ask themselves questions (and, as a consequence, often to ask questions to the instructor); this way it allows a regular monitoring of the way the subject is being understood. The activity in lab is thought as a way to ease comprehension and to develop the necessary sensitivity, and not as a means to teach usage of security tools. Yet, the motivated students gains from such activity also useful practival skills.
Modalità di verifica dell'apprendimento/Assessment methods
Esame orale. L'esame prevede un colloquio orale in cui saranno discusse le soluzioni, fornite dagli studenti, ad alcuni esercizi di laboratorio, assegnati dal docente, che gli studenti dovranno svolgere durante il corso. Oltre a tale discussione, allo studente saranno poste alcune domande, incentrate sui meccanismi o tecnologie presentate nel corso, al fine di verificare che gli obiettivi formativi siano stati raggiunti.
Oral exam. The exam is oral. In the exam, students will be asked to discuss the solutions to some lab exercies, that will be assigned by the teacher and will have to be completed and submitted during the course. In addition to this discussion, students will be asked to answer a few questions, focusing on the basic principles, mechanisms and technology taught in class and has acquired the appropriate technical language, through a request to describe some of the subjects, to ascertain whether they have attained the formative objectives or not.
Programma esteso/Content
1. Software Security: Vulnerabilities, Attacks, and Countermeasures. 1.1 Privileged programs (Set-UID programs) and vulnerabilities 1.2 Buffer Overflow vulnerability and attack 1.3 Return-to-libc attack 1.4 Race Condition vulnerability and attack 1.5 Format String vulnerability and attack 1.6 Input validation 1.7 Shellshock attack 2. Web Security: Vulnerabilities, Attacks, and Coutermeasures 2.1 Same Origin Policy 2.2 Cross-Site Scripting Attack 2.3 Cross-Site Request Forgerty Attack 2.4 SQL-Injection Attack 2.5 Click-Jacking Attack 2.6 Web Tracking 3. Smartphone Security (cenni) 3.1 Access control in Android operating system 3.2 Rooting Android devices 3.3 Repackaging attacks 3.4 Attacks on apps 3.5 Whole-disk encryption 4. Penetration Testing: 4.1 Penetration testing methodologies 4.2 Gathering intelligence 4.3 Scanning and Enumeration 4.4 Vulnerability scanning 4.5 Obtaining access 4.6 Retaining access 4.7 Reporting
1. Software Security: Vulnerabilities, Attacks, and Countermeasures. 1.1 Privileged programs (Set-UID programs) and vulnerabilities 1.2 Buffer Overflow vulnerability and attack 1.3 Return-to-libc attack 1.4 Race Condition vulnerability and attack 1.5 Format String vulnerability and attack 1.6 Input validation 1.7 Shellshock attack 2. Web Security: Vulnerabilities, Attacks, and Coutermeasures 2.1 Same Origin Policy 2.2 Cross-Site Scripting Attack 2.3 Cross-Site Request Forgerty Attack 2.4 SQL-Injection Attack 2.5 Click-Jacking Attack 2.6 Web Tracking 3. Smartphone Security (cenni) 3.1 Access control in Android operating system 3.2 Rooting Android devices 3.3 Repackaging attacks 3.4 Attacks on apps 3.5 Whole-disk encryption 4. Penetration Testing: 4.1 Penetration testing methodologies 4.2 Gathering intelligence 4.3 Scanning and Enumeration 4.4 Vulnerability scanning 4.5 Obtaining access 4.6 Retaining access 4.7 Reporting
Risultati di apprendimento attesi/Intended learning objectives
Descrivere i requisiti di sicurezza di un sistema. Spiegare le principali vulnerabilitá dei sistemi software, i relativi attacchi e le possibili contromisure. Sviluppare codice in grado di sfruttare le vulnerabilitá software per compromettere la sicurezza di un sistema. Spiegare le principali vulnerabilitá dei sistemi web, i relativi attacchi e le possibili contromisure. Sviluppare codice in grado di sfruttare le vulnerabilitá dei sistemi web per comprometterne la sicurezza. Spiegare le principali vulnerabilitá dei sistemi operativi per smartphone, i relativi attacchi e le possibili contromisure. Spiegare le principali vulnerabilitá delle app per smartphone, i relativi attacchi e le possibili contromisure. Spiegare le metodologie di penetration testing, e in particolare di tutti i passaggi che esse comportano. Utilizzare una piattaforma software per effettuare il penetration testing di semplici sistemi bersaglio.
Describe the security requirements of a system. Explain the main vulnerabilities of software systems, the attacks they allow, and the possible countermeasures. Develop code able to exploit software vulnerabilities with the aim of compromising the security of a system. Explain the main vulnerabilities of web systems, the attacks they allow, and the possible countermeasures. Develop code able to exploit the vulnerabilities of web systems with the aim of compromising their security. Explain the main vulnerabilities of smartphone operating systems, the attacks they allow, and the possible countermeasures. Explain the main vulnerabilities of smartphone apps, the attacks they allow, and the possible countermeasures. Explain penetration testing methodologies, and in particular their various steps. Use a suitable software platform to carry out the penetration testing of simple target systems.
×
Print
Course
DATA MINING PER DATI SPERIMENTALI
Course ID
MF0376
Academic Year
2021/2022
Year of rule
2020/2021
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
ROBOTTI Elisa
Teachers
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
CHIM/01 - CHIMICA ANALITICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
C
Year
2
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
Italiano
Italian
Contenuti/Content Summary
Il corso ha l’obiettivo di introdurre lo studente all’analisi di dataset complessi, come quelli che vengono prodotti da molti moderni strumenti di analisi o caratteristici dei normali problemi che si incontrano nei laboratori. Verranno descritti dal punto di vista teorico-pratico diversi metodi multivariati di analisi dal pretrattamento del dato a metodi di pattern recognition, di classificazione e di regressione.
The course has the objective of introducing the statistical methods for the extraction of information from huge and complex datasets, as those commonly provided by modern instrumentation in laboratories. Several multivariate methods will be described from the theoretical-practical point of view: data pretreatment, pattern recognition methods, classification and regression methods.
Testi di riferimento/Textbooks
Verranno messe a disposizione le dispense del corso.
Notes and other material provided by the teacher.
Obiettivi formativi/Mission
Il corso ha l'obiettivo di fornire allo studente solide conoscenze dei più comuni strumenti della statistica multivariata preparare il futuro dottore in Scienze Chimiche ad affrontare il mondo del lavoro nell'ambito dell'analisi di dataset complessi o caratteristici dei normali problemi che si incontrano nei laboratori. Lo studente acquisirà capacità di senso critico, affinerà l’abilità di scegliere la miglior strategia sperimentale e di gestire problemi complessi in ambito tecnico-scientifico. Il corso ha anche lo scopo di sviluppare la capacità di apprendere autonomamente nuove tecniche di analisi multivariata. Abilità comunicative: acquisire e saper utilizzare un lessico chimico appropriato in relazione agli argomenti affrontati nel corso. Capacità di apprendimento in autonomia: lo studente sarà guidato alla soluzione di un caso studio proposto.
The course aims to provide students with solid knowledge of the most common tools of multivariate statistics to prepare the future doctor of Chemical Sciences to face the world of work in the analysis of complex or characteristic datasets of the normal problems encountered in the laboratories. The student will acquire critical sense skills, refine the ability to choose the best experimental strategy and manage complex problems in the technical-scientific field. The course also aims to develop the ability to learn new multivariate analysis techniques independently. Communication skills: acquiring and knowing how to use an appropriate chemical lexicon in relation to the topics addressed in the course. Learning skills: the student will be guided to the solution of a proposed case study.
Prerequisiti/Required background knowledge
Nessuno
None
Metodi didattici/Teaching methods
Lezioni frontali, dispense, presentazioni powerpoint, simulazioni ed esercitazioni al calcolatore.
Lectures, Powerpoint presentations, manual and computer exercitations, case studies.
Altre informazioni/Further information
Il controllo dell'apprendimento in itinere verrà effettuato attraverso esercitazioni al computer in cui verranno messi in pratica gli argomenti affrontati durante le lezioni.
The learning during the course will be evaluated by manual and computer exercitations and case studies that will be proposed to the students.
Modalità di verifica dell'apprendimento/Assessment methods
Esame scritto articolato in due parti: a) 8 domande a risposta multipla e 8 domande aperte sugli aspetti teorici dei metodi trattati; b) relazione sui risultati dell’elaborazione statistica condotta su un set di dati fornito dal docente, con commento scritto dei risultati ottenuti.
Written exam consisting in two parts: a) 8 multiple choice questions and 8 open questions about the theoretical aspects of the presented methods; b) report on the results of statistical processing carried out on a set of data provided by the teacher, with written commentary on the results obtained.
Programma esteso/Content
Il corso tratta i metodi che si possono utilizzare per estrarre informazione da dati complessi quali dati spettroscopici, dati ambientali, mappe elettroforetiche, dati industriali di processo, controllo qualità, ecc. I metodi studiati, che sono anche argomento di esercitazioni al computer su dataset reali riguardano: metodi di pretrattamento dei dati (scaling, trasformazioni non lineari delle variabili, trattamento dei dati mancanti, trattamento di dati spettroscopici), metodi di clustering (gerarchico, K-means, metody fuzzy), metodi di pattern recognition (PCA, MDS), metodi di regressione (teoria della calibrazione, MLR, PLS, PCR, Ridge e selezione delle variabili), metodi di classificazione (NMC, LDA, QDA, RDA, KNN, Ranking-PCA, PLS-DA e selezione delle variabili), reti neurali artificiali (Backward, auto associative di Kohonen, counter-propagation), algoritmo genetico. Esercitazioni al computer su software dedicati.
Statistical methods for the extraction of information from huge and complex datasets (spectroscopic, environmental, etc.). The methods include: data pretreatment (scaling, non linear transformations, missing values, spectral data treatment); clustering techniques (gerarchical, K-means, fuzzy methods), pattern recognition methods (Principal Component Analysis, Multidimensional Scaling), regression methods (calibration theory, Multiple Linear Regression, Partial Least Square, Principal Component Regression, Ridge, variable selection), classification methods (NMC, LDA, QDA, RDA, KNN, Ranking-PCA, PLS-DA, SIMCA, variable selection), artificial neural networks (back-propagatioon, Kohonen, counter - propagation) and genetic algorithms. All lessons have computer sessions with the analysis of real data with dedicated chemometric software.
Risultati di apprendimento attesi/Intended learning objectives
Conoscenza e comprensione - solida conoscenza delle basi teoriche e teorico/pratiche delle più moderne tecniche di analisi multivariata dei dati (pattern recognition, classificazione, regressione, metodi non lineari) - conoscenza dei principali software per l’analisi multivariata dei dati e di come risolvere un caso studio e presentarlo Capacità di applicare conoscenza e comprensione - saper applicare mediante software dedicato le tecniche di analisi dati viste a lezione per la soluzione di casi studio proposti; - saper confrontare diversi metodi; - saper stendere una relazione tecnico-scientifica sull’analisi di dati Abilità comunicative - saper stendere una relazione tecnico-scientifica sull’analisi di dati - acquisire e saper utilizzare un lessico appropriato in relazione agli argomenti affrontati nel corso. Autonomia di giudizio - capacità di scegliere l’approccio più adatto alla soluzione di un caso studio proposto - saper confrontare criticamente diversi metodi. Capacità di apprendimento - capacità di utilizzare il materiale di studio in autonomia per risolvere casi studio proposti
Knowledge and understanding - solid knowledge of the theoretical and theoretical / practical bases of the most modern techniques of multivariate data analysis (pattern recognition, classification, regression, non-linear methods) - knowledge of the main software for multivariate data analysis and how to solve a case study and present it Ability to apply knowledge and understanding - know how to apply, through dedicated software, the data analysis techniques seen in class for the solution of proposed case studies; - know how to compare different methods; - know how to draw up a technical-scientific report on the analysis of data Communication skills - know how to draw up a technical-scientific report on the analysis of data - acquire and know how to use an appropriate vocabulary in relation to the topics addressed in the course. Autonomy of judgment - ability to choose the most suitable approach to the solution of a proposed case study - being able to critically compare different methods. Learning ability - ability to use the study material independently to solve proposed case studies
×
Print
Course
INFORMATION RETRIEVAL
Course ID
MF0287
Academic Year
2021/2022
Year of rule
2020/2021
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
RUFFO Giancarlo Francesco
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
B
Year
2
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Introduzione agli algoritmi principali e alle strutture dati per il recupero dei documenti, facenti parte di una collezione di grandi dimensioni, che soddisfano un determinato bisogno informativo. Introduzione ai modelli principali agli strumenti di analisi basata sui dati che consentono lo studio di un sistema complesso rappresentato nei termini di una rete.
Introduction to the main algorithms and data structures for the retrieval, within a large collection, of the documents that satisfy an information need. Introduction to the main models and data driven analytical tools that allow the understanding of a complex system represented by means of a network.
Testi di riferimento/Textbooks
[ir] C. D. Manning, P. Raghavan and H. Schütze, Introduction to Information Retrieval, Cambridge University Press. 2008 [ns] F. Menczer, S. Fortunato & C. Davis, A First Course in Network Science, Cambridge University Press. 2020
[ir] C. D. Manning, P. Raghavan and H. Schütze, Introduction to Information Retrieval, Cambridge University Press. 2008 [ns] F. Menczer, S. Fortunato & C. Davis, A First Course in Network Science, Cambridge University Press. 2020
Obiettivi formativi/Mission
Conoscenza e comprensione: algoritmi e strutture dati di base per information retrieval e analisi di reti complesse Conoscenza applicata e comprensione: gli studenti saranno in grado di implementare ed usare un sistema di information retrieval e allo stesso modo sapranno analizzare dati presentati sotto forma di una rete, usando strumenti di pubblico dominio Effettuare valutazioni: gli studenti saranno in grado di esprimere in maniera autonoma una valutazione sulle tecniche più idonee per risolvere un generico problema di information retrieval e di scienza delle reti Capacità comunicative: Gli studenti impareranno a comunicare ed a giustificare l’uso delle tecniche più appropriate per la soluzione di un dato problema Capacità di apprendimento: gli studenti saranno in grado di apprendere in modo autonomo come raffinare le tecniche di base che impareranno durante il corso e a come usare al meglio gli strumenti disponibili
Knowledge and understanding: basic algorithms and data structures for Information Retrieval and Complex Networks Analysis. Applying knowledge and understanding: students will be able to build and use an information retrieval system, as well as analysing networked data, using available open source tools. Making judgements: students will be able to autonomously evaluate the best techniques to solve infomation retrieval and network science problems. Communication skills: students will learn to communicate and justify the use of the appropriate technique for a given problem. Learning skills: students will be able to autonomously learn how to refine basic techniques and how to best use the available tools.
Prerequisiti/Required background knowledge
Corsi avanzati di programmazione ed algoritmi; basi di algebra lineare, calcolo delle probabilità e statistica.
Advanced courses on Computer Programming and Algorithms; basics on linear algebra, probability theory and statistics.
Metodi didattici/Teaching methods
Lezioni frontali ed esercitazioni di laboratorio al computer
Standard lectures and computer lab sessions
Altre informazioni/Further information
Monitoraggio del processo di apprendimento: durante l’insegnamento gli studenti interagiranno con il docente per la soluzione di esercizi e di compiti di laboratorio
Monitoring the learning process: during the course the students will interact with the teacher to solve exercises and lab assignments.
Modalità di verifica dell'apprendimento/Assessment methods
Esame orale
Oral exam
Programma esteso/Content
Information Retrieval: liste di posting. Costruzione e compressione degli indici. Modello a spazi vettoriali. Valori di rilevanza. Valutazione di un sistema di information retrieval. Classificazione di testo. Tecniche di clustering. Basi di ricerca su Web. Crawling ed indicizzazione su Web. Analisi basata sui collegamenti. Scienza delle reti: introduzione alla teoria dei grafi; fenomeno dei piccoli mondi; hub; reti; dirette e non dirette; modelli di rete; individuazione di comunità; reti dinamiche.
Informaton Retrieval: Postings lists; Index construction and compression; Vector space model. Relevance scores; Evaluation of information retrieval systems; Text classification; Clustering techniques; Web search basics; Web crawling and indexes; Link analysis. Network Science: Introduction to networks Graph Theory; Small worlds; Hubs; Directed and Weighted networks; Network models; Community detection; Network Dynamics.
Risultati di apprendimento attesi/Intended learning objectives
Il raggiungimento, misurato in base ad un voto finale, degli obiettivi formativi
The achievement, up to a degree measured by grades, of the learning goals.
×
Print
Course
PROVA FINALE
Course ID
S0069
Academic Year
2021/2022
Year of rule
2020/2021
Degree
INFORMATICA
Curriculum
CORSO GENERICO
CFU
37
Individual study time
629
SSD
PROFIN_S -
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
E
Year
2
Period
Annuale
Site
ALESSANDRIA
Grading type
G
Contenuti/Content Summary
Il candidato produrrà un elaborato scritto avente come oggetto i risultati e le esperienze conseguite nell'attività di tesi, tipicamente su un argomento di ricerca, spendibile nel modo del lavoro, sotto la guida di un docente del corso di studio; in alcuni casi, lo studente avrà svolto il percorso di tesi presso un’azienda, sempre su argomenti di ricerca e sviluppo, e coordinandosi con un docente del corso di studio.
The candidate will produce a written report having as its object the results and experiences obtained in the thesis activity, typically on a research topic, under the guidance of a professor; in some cases, the student will have completed the thesis at a company, always on research and development topics, and in coordination with a professor.
Obiettivi formativi/Mission
Sviluppare la capacità del laureando di esporre e discutere con chiarezza e padronanza un argomento di ricerca pertinente l’informatica.
Develop the ability to explain and discuss a topic relevant to computer science with clarity and mastery.
Modalità di verifica dell'apprendimento/Assessment methods
La relazione scritta dovrà evidenziare le metodologie utilizzate e un'analisi critica dei risultati ottenuti. I contenuti verranno poi esposti dal candidato di fronte ad una apposita commissione. A partire dal lavoro così effettuato, la commissione valuterà le conoscenze acquisite dal laureando durante il corso di studio, nonché la capacità di collegare tra loro tecniche e metodologie diverse al fine di giungere alla soluzione di un problema complesso.
The written report must highlight the methodologies used and a critical analysis of the results obtained. The contents will then be exposed by the candidate in front of a specific committee. The committee will evaluate the knowledge acquired by the student, as well as the ability to link different techniques and methodologies together in order to arrive at the solution of complex problem.
Risultati di apprendimento attesi/Intended learning objectives
Lo studente dovrà saper esporre con chiarezza in forma scritta e orale i risultati del lavoro svolto durante il percorso di tesi sotto la guida di un docente del corso di studio. Dovrà sviluppare abilità comunicative e dimostrare attitudine al lavoro in gruppo.
The student must be able to clearly present in written and oral form the results of the work carried out during the internship under the guidance of the university tutor. She will have to develop communication skills and demonstrate an aptitude for teamwork.
×
Print
Course
VALUTAZIONE DELLE PRESTAZIONI
Course ID
MF0168
Academic Year
2021/2022
Year of rule
2020/2021
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
FRANCESCHINIS Giuliana Annamaria
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
2
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
Italiano
Italian
Contenuti/Content Summary
Il corso definisce una serie di requisiti non funzionali che caratterizzano vari tipi di sistemi con particolare attenzione ai sistemi di calcolo e alle reti di calcolatori. Vengono presentati alcuni modelli matematici e metodi di analisi per la valutazione di prestazioni e affidabilità a partire dai modelli, utilizzabili in fase di progettazione o in momenti successivi quando il sistema oggetto di studio è operativo. Il corso prevede la sperimentazione di alcuni pacchetti software per la creazione di modelli di sistemi e la loro analisi con metodi analitici, numerici o simulativi.
The course focuses on some non functional requirements that must be considered when designing systems, in particular computing systems and computer networks. Some mathematical models are presented allowing one to describe and analyze the performance and dependability of systems. Models can be built and analyzed either in early design phases, or later when the system under study is operational. The course also includes practical exercises using software packages supporting the design of system models and their analysis through analytical or numerical methods or simulation.
Testi di riferimento/Textbooks
J. Banks, J. S. Carson II, B. L. Nelson, David M. Nicol, Discrete-Event System Simulation , Fifth edition, Pearson Education 2010 K. Trivedi, A. Bobbio, "Reliability and Availability: Modeling, Analysis and Applications" - Cambridge University Press, 2017 Dispense o articoli scientifici scaricabili da DIR
J. Banks, J. S. Carson II, B. L. Nelson, David M. Nicol, Discrete-Event System Simulation , Fifth edition, Pearson Education 2010 K. Trivedi, A. Bobbio, "Reliability and Availability: Modeling, Analysis and Applications" - Cambridge University Press, 2017 Lecture notes or scientific publications to be downloaded from DIR
Obiettivi formativi/Mission
Conoscenza e capacità di comprensione: Conoscere alcuni formalismi per la rappresentazione di modelli matematici (esprimibili anche in forma grafica) utili all’analisi dell’affidabilità e delle prestazioni di sistemi. Conoscere i principali metodi computazionali per l’analisi dei modelli (soluzione in forma chiusa, oppure soluzione con metodi di calcolo numerico, o tramite simulazione). Conoscere alcuni modelli di base e saper fare esempi di ambiti applicativi in cui tali modelli si possono efficacemente utilizzare. Capacità di applicare conoscenza e comprensione: Capacità di interpretare un modello ed i risultati ricavabili dalla sua analisi. Capacità di costruire il modello di un sistema tramite un determinato formalismo, definire gli indici di prestazione interessanti, calcolare questi ultimi utilizzando uno strumento software esistente o implementandone uno ad-hoc. Capacità di validare un modello confrontando i risultati della sua analisi con quelli calcolati tramite modelli alternativi o con misure effettuate su sistemi reali. Gli studenti dovranno raggiungere l'autonomia di giudizio rispetto al formalismo e ai metodi di analisi più adatti per affrontare un determinato problema. Dovranno saper scegliere il livello di dettaglio corretto per la descrizione del modello e degli indici di prestazione e scegliere gli strumenti software più adatti in base al formalismo e al metodo di analisi individuati. Gli studenti dovranno essere in grado di comunicare e spiegare le basi matematiche su cui si fondano i modelli e i relativi algoritmi di analisi. Dovranno inoltre essere in grado di descrivere i modelli sviluppati, giustificare le scelte fatte e illustrare l’interpretazione dei risultati ottenuti dall’analisi dei modelli. Gli studenti dovranno acquisire le conoscenze metodologiche necessarie per apprendere nuovi formalismi o metodi di analisi proposti nella letteratura scientifica e per implementare i relativi algoritmi.
Knowledge and understanding:Know and understand: (a) some formalisms for the representation of mathematical models (which may also have a graphical representation) that can be used to study system dependability and performance properties; (b) the main computational methods for model analysis (closed form solution, numerical solution, or simulation); (c) some basic models and be able to discuss examples of application of such models. Apply knowledge and understanding: Have the ability to: (a) provide an interpretation of a model expressed in a known formalism, and of the results that can be obtained by analyzing it; (b) build the model of a system using a given formalism and define its performance/reliability indices of interest; (c) compute the indices using an existing software tool or building a new ad-hoc software analysis tool. (d) validate a model comparing the analysis results again those obtained from alternative models or measured on a real system.The students will achieve autonomy in judgement about what is the most appropriate formalism and analysis method to face a given problem. Will be able to choose the most appropriate detail level in describing the model and its performance indices, and choose the software tools that better support the chosen formalism and analysis method. Finally students shall be able to communicate and explain the mathematical basis on which the models and corresponding analysis algorithms have been developed. Moreover they will be able to describe the models they have built, justify the choices made in building the model and present an interpretation of the results of model analysis. The student shall acquire the methodological knowledge to learn new formalisms and analysis methods published in the scientific literature.
Prerequisiti/Required background knowledge
Corso di base in probabilità e statistica
Basic course in probability and statistics
Metodi didattici/Teaching methods
Lezioni frontali, esercitazioni in aula e in laboratorio e esercizi da svolgere in autonomia.
Class lectures, exercises in class and in laboratory, and homeworks
Altre informazioni/Further information
Sulla piattaforma DIR sono disponibili: la copia elettronica delle slide utilizzate a lezione, esempi di testi d’esame, quiz di autovalutazione, informazioni generali sul corso e avvisi relativi allo svolgimento del corso e sugli esami. A complemento dei testi di riferimento vengono indicati articoli scientifici in lingua inglese per approfondire alcuni argomenti trattati durante il corso.
It is possible to download electronic copy of all slides of the lectures, perform self-assessment tests, read general information on the course and news about the lectures and the exam organization on the e-learning platform DIR. Besides the reference textbooks some scientific publications in English are proposed, to study in more detail some of the topics presented during the course.
Modalità di verifica dell'apprendimento/Assessment methods
La verifica dell'apprendimento viene effettuata mediante compiti scritti o colloqui orali svolti dopo la fine del corso che comprenderanno da tre a cinque domande (che possono essere articolate in più punti ed includere lo svolgimento esercizi) sugli argomenti trattati nel corso. E’ anche prevista lo svolgimento in autonomia di un esercizio pratico di modellazione di un caso di studio e relativa analisi tramite strumenti software disponibili o codice sviluppato dallo studente: la consegna di quanto prodotto completa la prova d’esame.
The achievement of learning outcomes is evaluated through a written or oral examination after the end of the course, including from three to five questions (which in turn may comprise several points and include specific exercises) on the topics studied in the course. A practical exercise is also required in order to complete the examination: it includes the modelling of a case study and the model analysis performed using existing software tools or directly developing the appropriate software artifact.
Programma esteso/Content
Ripasso delle basi di calcolo delle probabilità e statistica necessarie per comprendere i modelli matematici proposti nel corso. Definizione di requisiti non funzionali di sistemi, con particolare riferimento ai sistemi di calcolo e alle reti di calcolatori: indici di prestazione e affidabilità. Formalismi per lo studio dell’affidabilità e presentazione di alcune tecniche di analisi. Formalismi per la descrizione del comportamento di modelli dinamici e stocastici (reti di code e reti di Petri) e relative tecniche di analisi (analisi operazionale, analisi del processo stocastico corrispondente, simulazione). La simulazione ad eventi discreti: principi di base, generazione di numeri casuali realizzazione di variabili casuali, studio in transitorio e a regime di indici di prestazione o affidabilità, prove ripetute e metodo batch, analisi dell’output della simulazione tramite metodi statistici.
Review of the basics of probability theory and statistics needed to understand the mathematical models discussed within the course. Definition of non functional requirements of systems, in particular focusing on computing systems and computer networks: performance and dependability indices. Formalisms to describe and study system dependability problems and the available solution methods. Formalisms to describe and study the behavior of dynamic stochastic models (queueing networks, Petri nets) and their analysis techniques (operational analysis, underlying stochastic process analysis, simulation). Discrete event simulation: basic principles, random numbers and random variate generation, transient and steady state analysis, obtaining a sample of the measures of interest through simulation experiment repetitions or batch method; simulation output analysis through statistical methods.
Risultati di apprendimento attesi/Intended learning objectives
Saper spiegare il concetto di modello e uso dell’astrazione per focalizzare l’attenzione sui soli aspetti rilevanti rispetto ad uno specifico problema. Ideare un (semplice) modello matematico di un dato sistema e mostrare come ricreare il suo comportamento dinamico tramite la simulazione. Costruire il modello di un sistema utilizzando uno specifico formalismo (proposto nel corso). Valutare l’adeguatezza di un formalismo (tra quelli proposti nel corso) per la modellazione di uno specifico sistema. Spiegare l’utilità dell’uso di modelli e della simulazione in vari domini applicativi. Spiegare i concetti di verifica e validazione di un modello, anche attraverso esempi concreti. Presentare i risultati dell’analisi (anche tramite simulazione) di un modello. Fornire una interpretazione dei risultati quantitativi ottenuti analizzando o simulando un modello e trarre opportune conclusioni sul comportamento del sistema modellato ed eventualmente indicare possibili modifiche al modello, e di conseguenza al sistema, per migliorarne le prestazioni o l’affidabilità.
Explain the concept of modeling and the use of abstraction to focus on the aspects relevant to a given problem. Devise a (simple) mathematical model of a system and show how its dynamics can be recreated through simulation. Build the model of a system using a specific formalism (presented in the course). Evaluate the adequacy of a given formalism (among those presented in the course) to model a specific system. Explain the benefits of using models and simulation in various application domains. Explain the meaning of model verification and validation, also providing practical examples. Present the results of the analysis (possibly through simulation) of a model. Provide an interpretation of quantitative results of model analysis or simulation, drive some conclusions on the behavior of the modelled system and possibly suggest changes in the system under study to improve its performance and/or dependability indices.
×
Print
Course
DEEP LEARNING
Course ID
MF0374
Academic Year
2021/2022
Year of rule
2020/2021
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
PORTINALE Luigi
Teachers
CFU
3
Teaching duration (hours)
24
Individual study time
51
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
C
Year
2
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
Italiano
Italian
Contenuti/Content Summary
Il corso si suddivide in due moduli: Machine Learning (6 CFU) e Deep Learning (3 CFU). MACHINE LEARNING I diversi modelli di apprendimento automatico (supervisionato e non supervisionato); Regressione e classificazione; Bias e varianza dei modelli, regolarizzazione; Metodi di clustering; Determinazione di anomalie; Valutazione dei modelli di appendimento automatico; Strumenti di sviluppo. DEEP LEARNING Teoria e pratica dell’ Apprendimento Profondo
The cours is composed of two different modules: Machine Learning (6 CFU) and Deep Learning (3 CFU) MACHINE LEARNING Supervised and unsupervised models of machine learning; Regression and classification; Bias and variance, regularization; Clustering methods; Anomaly detection; Evaluation of machine learning models; Machine learning tools. DEEP LEARNING Theory and Implementation of Deep Learning methods
Testi di riferimento/Textbooks
MACHINE LEARNING A. Geron: Hands-on Machine Learning with scikit-learn and Tensorflow. O’Reilly, 2017; P. Flach, Machine Learning, Cambridge Univ. Press, 2012; I.H. Witten, E. Frank, M.A. Hall, C.J. Pal. Data Mining: Practical Machine Learning Tools (4 ed.), Morgan Kaufmann, 2016. DEEP LEARNING I. Goodfellow, Y. Bengio, A. Courville. Deep Learning, MIT Press, 2016
MACHINE LEARNING A. Geron: Hands-on Machine Learning with scikit-learn and Tensorflow. O’Reilly, 2017; P. Flach, Machine Learning, Cambridge Univ. Press, 2012; I.H. Witten, E. Frank, M.A. Hall, C.J. Pal. Data Mining: Practical Machine Learning Tools (4th ed.), Morgan Kaufmann, 2016. DEEP LEARNING DEEP LEARNING I. Goodfellow, Y. Bengio, A. Courville. Deep Learning, MIT Press, 2016
Obiettivi formativi/Mission
MACHINE LEARNING Introdurre le nozioni fondamentali dei metodi di appendimento automatico, come valutarli e come sviluppare i relativi systemi. DEEP LEARNING Ottenere una comprensione dell'apprendimento profondo tale da poterlo applicare a una vasta gamma di argomenti.
MACHINE LEARNING To introduce the fundamentals notions of ML systems, how to evaluate them and how to develop them. DEEP LEARNING Gaining an understanding of deep learning in order to be able to apply it to a wide range of topics.
Prerequisiti/Required background knowledge
MACHINE LEARNING Probabilita’ e Statistica, Analisi Matematica, Matematica Discreta (calcolo matriciale) DEEP LEARNING Analisi - Principi di base sull'Apprendimento Automatico - Principi di base sul funzionamento delle Reti Neurali
MACHINE LEARNING Probability and statistics, Calculus, Discrete mathematics (matrix calculus) DEEP LEARNING Advanced calculus - Basic principles of Machine Learning - Basic principle of natural networks
Metodi didattici/Teaching methods
MACHINE LEARNING Lezioni frontali e sviluppo di esempi prototipali DEEP LEARNING Lezioni frontali - Esercitazioni
MACHINE LEARNING Classroom lectures and development of simple prototypes. DEEP LEARNING Classroom lectures - Exercises
Altre informazioni/Further information
MACHINE LEARNING Materiale didattico a complemento dei testi suggeriti fornito dal docente, tramite piattaforma DIR. Disponibilità di lezioni registrate. DEEP LEARNING Disponibilità di corsi video
MACHINE LEARNING Lectures material to complement suggested books provided through DIR teaching platform. Availability of recorded lectures. DEEP LEARNING Availability of video courses
Modalità di verifica dell'apprendimento/Assessment methods
MACHINE LEARNING Esame orale con discussione di un semplice progetto. DEEP LEARNING Svolgimento di un progetto
MACHINE LEARNING Oral examination with discussion of a simple project. DEEP LEARNING Project development
Programma esteso/Content
MACHINE LEARNING Introduzione al machine learning: apprendimento supervisionato e non supervisionato; Regressione lineare univariata e multivariata, ridge regression; Regressione logistica; Regolarizzazione; Reti Neurali; Valutazione di un sistema ML; Support Vector Machines; Decision Trees; Bayesian Learning; Lazy Learning; Metodi di ensemble learning; Clustering; Riduzione della dimensionalita: PCA; Anomaly detection; Il tool Weka; Le API scikit-learn. DEEP LEARNING Principi teorici dell'Apprendimento Profondo Deep belief network Autoencoder Reti convolutive Reti non supervisionate Pre-Training Applicazioni Package implementativi
MACHINE LEARNING Introduction to machine learning: supervised and unsupervised learning; Linear regression (univariate and multivariate), ridge regression; Logistic regression; Regularization; Neural Networks; ML evaluation; Support Vector Machines; Decision Trees; Bayesian Learning; Lazy Learning; Ensemble learning methods; Clustering; Dimensionality reduction: PCA; Anomaly detection; The Weka tool; The scikit-learn APIs. DEEP LEARNING Deep Learning theory Deep belief network Autoencoder Convolutional networks Unsupervised networks Pre-Training Applications Implementation Packages
Risultati di apprendimento attesi/Intended learning objectives
MACHINE LEARNING Conoscere le principali metodiche di apprendimento automatico supervisionato e non supervisionato;S aper valutare un sistema di apprendimento automatico; Conoscere alcuni tra i principali tool di sviluppo. DEEP LEARNING Dato un problema di apprendimento, lo studente dovrà essere in grado di scegliere il modello di rete profonda più opportuno e di configurarla, in modo da risolvere il problema in modo efficiente
MACHINE LEARNING To know the main methodologies of machine learning; To be able to evaluate an ML system; To know some of the main tools for ML systems development. DEEP LEARNING Given a task, the student shall be able to choose the most suitable deep learning model, and to configure it in order to efficiently solve the task.
×
Print
Course
MACHINE LEARNING AND DEEP LEARNING
Course ID
MF0375
Academic Year
2021/2022
Year of rule
2020/2021
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
PORTINALE Luigi
Teachers
CFU
9
Teaching duration (hours)
72
Individual study time
153
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
2
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
Italiano
Italian
Contenuti/Content Summary
Il corso si suddivide in due moduli: Machine Learning (6 CFU) e Deep Learning (3 CFU). MACHINE LEARNING I diversi modelli di apprendimento automatico (supervisionato e non supervisionato); Regressione e classificazione; Bias e varianza dei modelli, regolarizzazione; Metodi di clustering; Determinazione di anomalie; Valutazione dei modelli di appendimento automatico; Strumenti di sviluppo. DEEP LEARNING Teoria e pratica dell’ Apprendimento Profondo
The cours is composed of two different modules: Machine Learning (6 CFU) and Deep Learning (3 CFU) MACHINE LEARNING Supervised and unsupervised models of machine learning; Regression and classification; Bias and variance, regularization; Clustering methods; Anomaly detection; Evaluation of machine learning models; Machine learning tools. DEEP LEARNING Theory and Implementation of Deep Learning methods
Testi di riferimento/Textbooks
MACHINE LEARNING A. Geron: Hands-on Machine Learning with scikit-learn and Tensorflow. O’Reilly, 2017; P. Flach, Machine Learning, Cambridge Univ. Press, 2012; I.H. Witten, E. Frank, M.A. Hall, C.J. Pal. Data Mining: Practical Machine Learning Tools (4 ed.), Morgan Kaufmann, 2016. DEEP LEARNING I. Goodfellow, Y. Bengio, A. Courville. Deep Learning, MIT Press, 2016
MACHINE LEARNING A. Geron: Hands-on Machine Learning with scikit-learn and Tensorflow. O’Reilly, 2017; P. Flach, Machine Learning, Cambridge Univ. Press, 2012; I.H. Witten, E. Frank, M.A. Hall, C.J. Pal. Data Mining: Practical Machine Learning Tools (4th ed.), Morgan Kaufmann, 2016. DEEP LEARNING DEEP LEARNING I. Goodfellow, Y. Bengio, A. Courville. Deep Learning, MIT Press, 2016
Obiettivi formativi/Mission
MACHINE LEARNING Introdurre le nozioni fondamentali dei metodi di appendimento automatico, come valutarli e come sviluppare i relativi systemi. DEEP LEARNING Ottenere una comprensione dell'apprendimento profondo tale da poterlo applicare a una vasta gamma di argomenti.
MACHINE LEARNING To introduce the fundamentals notions of ML systems, how to evaluate them and how to develop them. DEEP LEARNING Gaining an understanding of deep learning in order to be able to apply it to a wide range of topics.
Prerequisiti/Required background knowledge
MACHINE LEARNING Probabilita’ e Statistica, Analisi Matematica, Matematica Discreta (calcolo matriciale) DEEP LEARNING Analisi - Principi di base sull'Apprendimento Automatico - Principi di base sul funzionamento delle Reti Neurali
MACHINE LEARNING Probability and statistics, Calculus, Discrete mathematics (matrix calculus) DEEP LEARNING Advanced calculus - Basic principles of Machine Learning - Basic principle of natural networks
Metodi didattici/Teaching methods
MACHINE LEARNING Lezioni frontali e sviluppo di esempi prototipali DEEP LEARNING Lezioni frontali - Esercitazioni
MACHINE LEARNING Classroom lectures and development of simple prototypes. DEEP LEARNING Classroom lectures - Exercises
Altre informazioni/Further information
MACHINE LEARNING Materiale didattico a complemento dei testi suggeriti fornito dal docente, tramite piattaforma DIR. Disponibilità di lezioni registrate. DEEP LEARNING Disponibilità di corsi video
MACHINE LEARNING Lectures material to complement suggested books provided through DIR teaching platform. Availability of recorded lectures. DEEP LEARNING Availability of video courses
Modalità di verifica dell'apprendimento/Assessment methods
MACHINE LEARNING Esame orale con discussione di un semplice progetto. DEEP LEARNING Svolgimento di un progetto
MACHINE LEARNING Oral examination with discussion of a simple project. DEEP LEARNING Project development
Programma esteso/Content
MACHINE LEARNING Introduzione al machine learning: apprendimento supervisionato e non supervisionato; Regressione lineare univariata e multivariata, ridge regression; Regressione logistica; Regolarizzazione; Reti Neurali; Valutazione di un sistema ML; Support Vector Machines; Decision Trees; Bayesian Learning; Lazy Learning; Metodi di ensemble learning; Clustering; Riduzione della dimensionalita: PCA; Anomaly detection; Il tool Weka; Le API scikit-learn. DEEP LEARNING Principi teorici dell'Apprendimento Profondo Deep belief network Autoencoder Reti convolutive Reti non supervisionate Pre-Training Applicazioni Package implementativi
MACHINE LEARNING Introduction to machine learning: supervised and unsupervised learning; Linear regression (univariate and multivariate), ridge regression; Logistic regression; Regularization; Neural Networks; ML evaluation; Support Vector Machines; Decision Trees; Bayesian Learning; Lazy Learning; Ensemble learning methods; Clustering; Dimensionality reduction: PCA; Anomaly detection; The Weka tool; The scikit-learn APIs. DEEP LEARNING Deep Learning theory Deep belief network Autoencoder Convolutional networks Unsupervised networks Pre-Training Applications Implementation Packages
Risultati di apprendimento attesi/Intended learning objectives
MACHINE LEARNING Conoscere le principali metodiche di apprendimento automatico supervisionato e non supervisionato;S aper valutare un sistema di apprendimento automatico; Conoscere alcuni tra i principali tool di sviluppo. DEEP LEARNING Dato un problema di apprendimento, lo studente dovrà essere in grado di scegliere il modello di rete profonda più opportuno e di configurarla, in modo da risolvere il problema in modo efficiente
MACHINE LEARNING To know the main methodologies of machine learning; To be able to evaluate an ML system; To know some of the main tools for ML systems development. DEEP LEARNING Given a task, the student shall be able to choose the most suitable deep learning model, and to configure it in order to efficiently solve the task.
×
Print
Course
MACHINE LEARNING
Course ID
MF0292
Academic Year
2021/2022
Year of rule
2020/2021
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
PORTINALE Luigi
Teachers
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
2
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
Italiano
Italian
Contenuti/Content Summary
Il corso si suddivide in due moduli: Machine Learning (6 CFU) e Deep Learning (3 CFU). MACHINE LEARNING I diversi modelli di apprendimento automatico (supervisionato e non supervisionato); Regressione e classificazione; Bias e varianza dei modelli, regolarizzazione; Metodi di clustering; Determinazione di anomalie; Valutazione dei modelli di appendimento automatico; Strumenti di sviluppo. DEEP LEARNING Teoria e pratica dell’ Apprendimento Profondo
The cours is composed of two different modules: Machine Learning (6 CFU) and Deep Learning (3 CFU) MACHINE LEARNING Supervised and unsupervised models of machine learning; Regression and classification; Bias and variance, regularization; Clustering methods; Anomaly detection; Evaluation of machine learning models; Machine learning tools. DEEP LEARNING Theory and Implementation of Deep Learning methods
Testi di riferimento/Textbooks
MACHINE LEARNING A. Geron: Hands-on Machine Learning with scikit-learn and Tensorflow. O’Reilly, 2017; P. Flach, Machine Learning, Cambridge Univ. Press, 2012; I.H. Witten, E. Frank, M.A. Hall, C.J. Pal. Data Mining: Practical Machine Learning Tools (4 ed.), Morgan Kaufmann, 2016. DEEP LEARNING I. Goodfellow, Y. Bengio, A. Courville. Deep Learning, MIT Press, 2016
MACHINE LEARNING A. Geron: Hands-on Machine Learning with scikit-learn and Tensorflow. O’Reilly, 2017; P. Flach, Machine Learning, Cambridge Univ. Press, 2012; I.H. Witten, E. Frank, M.A. Hall, C.J. Pal. Data Mining: Practical Machine Learning Tools (4th ed.), Morgan Kaufmann, 2016. DEEP LEARNING DEEP LEARNING I. Goodfellow, Y. Bengio, A. Courville. Deep Learning, MIT Press, 2016
Obiettivi formativi/Mission
MACHINE LEARNING Introdurre le nozioni fondamentali dei metodi di appendimento automatico, come valutarli e come sviluppare i relativi systemi. DEEP LEARNING Ottenere una comprensione dell'apprendimento profondo tale da poterlo applicare a una vasta gamma di argomenti.
MACHINE LEARNING To introduce the fundamentals notions of ML systems, how to evaluate them and how to develop them. DEEP LEARNING Gaining an understanding of deep learning in order to be able to apply it to a wide range of topics.
Prerequisiti/Required background knowledge
MACHINE LEARNING Probabilita’ e Statistica, Analisi Matematica, Matematica Discreta (calcolo matriciale) DEEP LEARNING Analisi - Principi di base sull'Apprendimento Automatico - Principi di base sul funzionamento delle Reti Neurali
MACHINE LEARNING Probability and statistics, Calculus, Discrete mathematics (matrix calculus) DEEP LEARNING Advanced calculus - Basic principles of Machine Learning - Basic principle of natural networks
Metodi didattici/Teaching methods
MACHINE LEARNING Lezioni frontali e sviluppo di esempi prototipali DEEP LEARNING Lezioni frontali - Esercitazioni
MACHINE LEARNING Classroom lectures and development of simple prototypes. DEEP LEARNING Classroom lectures - Exercises
Altre informazioni/Further information
MACHINE LEARNING Materiale didattico a complemento dei testi suggeriti fornito dal docente, tramite piattaforma DIR. Disponibilità di lezioni registrate. DEEP LEARNING Disponibilità di corsi video
MACHINE LEARNING Lectures material to complement suggested books provided through DIR teaching platform. Availability of recorded lectures. DEEP LEARNING Availability of video courses
Modalità di verifica dell'apprendimento/Assessment methods
MACHINE LEARNING Esame orale con discussione di un semplice progetto. DEEP LEARNING Svolgimento di un progetto
MACHINE LEARNING Oral examination with discussion of a simple project. DEEP LEARNING Project development
Programma esteso/Content
MACHINE LEARNING Introduzione al machine learning: apprendimento supervisionato e non supervisionato; Regressione lineare univariata e multivariata, ridge regression; Regressione logistica; Regolarizzazione; Reti Neurali; Valutazione di un sistema ML; Support Vector Machines; Decision Trees; Bayesian Learning; Lazy Learning; Metodi di ensemble learning; Clustering; Riduzione della dimensionalita: PCA; Anomaly detection; Il tool Weka; Le API scikit-learn. DEEP LEARNING Principi teorici dell'Apprendimento Profondo Deep belief network Autoencoder Reti convolutive Reti non supervisionate Pre-Training Applicazioni Package implementativi
MACHINE LEARNING Introduction to machine learning: supervised and unsupervised learning; Linear regression (univariate and multivariate), ridge regression; Logistic regression; Regularization; Neural Networks; ML evaluation; Support Vector Machines; Decision Trees; Bayesian Learning; Lazy Learning; Ensemble learning methods; Clustering; Dimensionality reduction: PCA; Anomaly detection; The Weka tool; The scikit-learn APIs. DEEP LEARNING Deep Learning theory Deep belief network Autoencoder Convolutional networks Unsupervised networks Pre-Training Applications Implementation Packages
Risultati di apprendimento attesi/Intended learning objectives
MACHINE LEARNING Conoscere le principali metodiche di apprendimento automatico supervisionato e non supervisionato;S aper valutare un sistema di apprendimento automatico; Conoscere alcuni tra i principali tool di sviluppo. DEEP LEARNING Dato un problema di apprendimento, lo studente dovrà essere in grado di scegliere il modello di rete profonda più opportuno e di configurarla, in modo da risolvere il problema in modo efficiente
MACHINE LEARNING To know the main methodologies of machine learning; To be able to evaluate an ML system; To know some of the main tools for ML systems development. DEEP LEARNING Given a task, the student shall be able to choose the most suitable deep learning model, and to configure it in order to efficiently solve the task.
×
Print
Course
BUSINESS INTELLIGENCE: DATA WAREHOUSE, ASPETTI TEMPORALI E SUPPORTO ALLE DECISIONI
Course ID
MF0288
Academic Year
2021/2022
Year of rule
2021/2022
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
MONTANI Stefania
CFU
9
Teaching duration (hours)
72
Individual study time
153
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
Italiano/Inglese
Italian/English
Contenuti/Content Summary
Il corso sarà articolato nelle seguenti parti: A) Datawarehousing B) Basi di dati temporali C) Supporto alle decisioni aziendali I contenuti delle varie parti si possono riassumere come segue: A) Metodologie e tecniche per reperire, analizzare, sintetizzare e ri-organizzare dati operazionali, al supporto di decisioni strategiche. B) Tecniche e metodologie per gestire il tempo nelle basi di dati relazionali. C) Metodologie e tecniche per la realizzazione di un moderno strumento di Business Intelligence;
The course will be organized into the following parts: A) Datawarehousing B) Temporal databases C) Enterprise decision support Contents of the four parts can be summarized as follows: A) Methodologies and techniques to collect, analyse, sinthetize and re-organize operational data, to support strategical decision-making B) Methodologies and techniques to deal with validity and transaction time in relational databases C) Methodologies and techniques to realize a modern Business Intelligence system;
Testi di riferimento/Textbooks
A) M. Golfarelli, S. Rizzi: “Data Warehose”, McGraw-Hill, Milano. B) La seconda parte del corso si avvale di pubblicazioni su riviste scientifiche fornite dal docente. C) Z. Michalewicz et al., Adaptive Business Intelligence, Springer.
A) M. Golfarelli, S. Rizzi: “Data Warehouse”, McGraw-Hill, Milano. B) The second part of the course (Temporal Issues) is bases of scientific journal publications provided by the teacher. C) Z. Michalewicz et al., Adaptive Business Intelligence, Springer.
Obiettivi formativi/Mission
Conoscenza e capacità di comprensione: gli studenti devono acquisire approfondita conoscenza di A) metodologie per reperire, analizzare, sintetizzare e ri-organizzare i dati operazionali; metodologie di progettazione a livello concettuale e di realizzazione livello logico in ambito relazionale di datawarehousing B) semantica delle basi di dati temporali; principali metodologie per gestire i tempi di validita' e di transazione nelle basi di dati relazionali; problematiche di base per il trattamento del tempo in basi di conoscenza C) metodologie e tecniche di rappresentazione e gestione della conoscenza, predizione, ottimizzazione, adattamento Capacita' di applicare conoscenza: A) capacita' di progettazione a livello concettuale e di realizzazione livello logico in ambito relazionale di datawarehousing, a partire dalle sorgenti di dati operazionali B) capacita' di utilizzare DBMS temporali quali TSQL2 C) capacità di valutare e/o applicare le tecniche studiate per progettare un sistema di supporto alle decisioni in un contesto aziendale, dove possono essere presenti dati e conoscenze eterogenee; Autonomia di giudizio: A) Abilita' nel determinare i fatti di interesse, la granularita', le dimensioni e le gerarchie dimensionali per un data warehouse B) Abilita' nel riconoscere l'eventuale necessita' di adottare tecniche specifiche\generali per la gestione del tempo nelle basi di dati; abilita' nell'individuare problematiche temporali (in basi di dati relazionali), e le metodologie atte a gestirle C) capacità di lavorare in maniera autonoma, anche in situazioni aziendali complesse o a fronte di informazioni incomplete Abilita, comunicative: A-B) Gli studenti devono acquisire e saper utilizzare la terminologia utilizzata nel campo del datawarehousing e delle basi di dati temporali. B) Devono saper esprimere in modo rigoroso (formale) la semantica delle basi di dati relazionali. C) devono saper giustificare le scelte progettuali o implementative fatte comunicandole in modo chiaro anche a utenti meno esperti Capacita' di apprendere: Gli studenti devono aver acquisito la capacita' di A) analizzare e modellare in modo uniforme dati provenienti da sorgenti eterogenee B) analizzare problemi temporali anche complessi nell'ambito delle basi di dati relationali C) descrivere e saper scegliere le più opportune tecniche per la realizzazione di un sistema di supporto alle decisioni aziendali
Knowledge and comprehension: students must acquire a deep knowledge about: A) the methodologies to retrieve, analyse, synthetise, and re-organise operational data; the methodologies to design at the conceptual and at the logical relational level a datawarehouse B) the semantics of temporal databases; the main methodologies to mana valid time and transaction time in temporal relational databases; the main problems when dealing with "time" in knowledge bases C) methodologies and techniques for: knowledge representation and management, prediction, optimization, adaptation. Capacity to apply knowledge and comprehension: A) ability to design (conceptual and logical level) and develop a datawarehouse in the relational context, starting from operational data sources B) capacity to properly use TSQL2-like temporal DBMS. C) ability to evaluate and/or apply the techniques studied in the course to design a decision support tool in an enterprise context, where heterogeneous data and knowledge may be available; Judgement autonomy: A) ability to identify facts of interest, granularity, dimensions and the hierarchy of dimensional attributes for a datawarehouse B) capability of recognizing the necessity of general\specific techniques to cope with time in relational DBs; ability to identify temporal problems (in DBs), and the methodologies to solve them C) ability to work in an autonomous way, and deal with complex enterprise situations or with incomplete information Communication abilities: A-B) Students must acquire and adopt the rigorous terminology used in datawarehousing and in temporal databases. B) They must also be able to express in a rigourous (formal) way the semantics of temporal databases. C) They must be able to justify their design or implementation choices and clearly communicate them also to a non expert audience. Learning capacity: students must acquire the capability of A) analysing a modeling in a uniform way data coming from heterogeneous sources B) analysing possibly complex temporal problems in temporal databases C) describing and properly choosing the correct techniques to realize an enterprise decision support system
Prerequisiti/Required background knowledge
Nozioni di base delle basi di dati relazionali, algebra relazionale, SQL
Basic notions about relational databases, relational algebra, SQL
Metodi didattici/Teaching methods
Lezione frontale in aula. Le lezioni frontali contempleranno anche la risposta a quesiti o la risoluzione di esercizi esemplificativi per lo svolgimento dell'esame. Esempi di test d'esame potranno essere forniti agli studenti. Le slide delle lezioni, i testi consigliati, ed altro materiale saranno forniti anche sulla piattaforma DIR, per consentire anche a chi non frequenta di tenersi al passo con lo svolgimento del corso.
Direct lessons in classroom. Classroom lessons will also include example questions or exercises useful for the final test. Example tests can also be provided to students. Slides, textbooks indications and additional material will be provided also through the DIR platform. In this way, the students who do not attend will be allowed to easily follow the course progression.
Modalità di verifica dell'apprendimento/Assessment methods
A) Scritto. Gli studenti devono rispondere a domande generali sul contenuto del corso, e svolgere piccoli esercizi. B) Orale C) Esame scritto. L'esame su questa parte del corso prevede un minimo di 3 domande, che verteranno su argomenti scelti tra: gestione della conoscenza, predizione, ottimizzazione, adattamento. Il voto terra' conto dei risultati parziali ottenuti nelle singole domande. Eventualmente (ad esempio, per richiesta dello studente), la stessa tipologia di esame potra' essere svolta oralmente
A) Written. Students must answer questions and do small exercises -B) Oral examination C) Written test. The test will be composed by three questions at least, focused on different course topics chosen among knowledge management, prediction, optimization, adaptation. The final score will take into account the partial scores of the different questions. Possibly (e.g., on student's request), the same exam type will be executed orally.
Programma esteso/Content
A (Data Warehousing): - Introduzione: obiettivi ed architetture - tecniche per reperire e riconciliare i dati operazionali - linguaggi di query OLAP - modelli e tecniche per l'implementazione del conceptual multidimensional data model in ambito relazionale - NOSQL (cenni) B (ASPETTI TEMPORALI): - tempi di validita' e di transazione - Un approccio generale al tempo nei DB relazionali: TSQL2 - il modello BCDM per la semantica delle basi di dati relazionali temporali - trattamento del tempo in Intelligenza Artificiale (cenni) C (Supporto alle decisioni aziendali): Nel corso l’esposizione sarà organizzata in quattro parti, ciascuna riferita alla realizzazione di uno dei quattro principali moduli che compongono la struttura di un moderno strumento di Business Intelligence: 1. gestione della conoscenza: conoscenza implicita ed esplicita; Rule-based Reasoning e Case-based Reasoning; soluzioni di Case-based Reasoning avanzate (dati in forma di serie temporali, fuzzy CBR, process-oriented CBR); 2. predizione: classificazione, regressione, serie temporali; metodi matematici, basati su distanze, logici, basati su euristiche; metodi ibridi; 3. ottimizzazione: metodi matematici, algoritmi evoluzionistici, ant systems, metodi ibridi; 4. adattamento: tecniche per migliorare le prestazioni del modulo di previsione.
A (Data Warehousing): - Introduction: goals and architectures for Data Warehousing - techniques to collect and reconcile heterogeneous operational data - languages and techniques for the conceptual design of a multidimensional data model - Advanced query languages for OLAP analysis - model and techniques for a relational implementation of the conceptual multidimensional data model – NoSQL (hints) B (Temporal issues): - Validity vs transaction time - TSQL2: a general approach coping with time in relational databases - The BCDM model for the semantics of temporal relational databases - Properties of temporal relational models - Advanced temporal issues and Artificial Intelligence (hints) C (Enterprise decision support): The subject will be organised in four parts, each one referring to the realization of a specific module in a modern Business Intelligence tool architecture: 1. knowledge management: implicit and explicit knowledge; Rule-based Reasoning and Case-based Reasoning; advanced Case-based Reasoning solutions (time series data, fuzzy CBR, process-oriented CBR); 2. prediction: classification, regression, time series; mathematical models, distance-based models, logic models, heuristic models; hybrid methods; 3. optimisation: mathematical methods, evolutionary algorithms, ant systems, hybrid methods; 4. adaptation: techniques to improve the prediction module performances.
Risultati di apprendimento attesi/Intended learning objectives
Gli studenti devono aver acquisito le seguenti conoscenze, competenze, ed abilita': A) - conoscenza delle tecniche per reperire e riconciliare i dati operazionali; - conoscenza generale dei linguaggi di query OLAP e capacita' di formulare query - conoscenza a capacita' di gestione di modelli e tecniche per l'implementazione del conceptual multidimensional data model in ambito relazionale - conoscenza generale di NOSQL (cenni) B) - conoscenza e capacita' di distinguere i tempi di validita' e di transazione - conosceza e capacita' di utilizzare l'approccio TSQL2 al tempo nei DB relazionali - conosceza e capacita' di utilizzare il modello BCDM per la semantica delle basi di dati relazionali temporali - conoscenza delle principali problematiche concernenti il trattamento del tempo in Intelligenza Artificiale (cenni) C) Le competenze da verificare, e necessarie per il superamento del corso, consistono nell'aver appreso i concetti di base relativi a: 1.gestione della conoscenza 2.predizione 3.ottimizzazione 4.adattamento Occorre inoltre essere in grado di dimostrare la capacita' di applicarli nel rispondere a quesiti di teoria, o nello svolgere alcuni esercizi.
Students must acquire the following knowledge, competences, and abilities A) - knowledge about the techniques to retrieve and reconcile operational data sources - general knowledge about OLAP query languages, and ability to formulate OLAP queries - model and techniques for a relational design and implementation of the conceptual multidimensional data model – NoSQL (hints) B) - knowledge and ability to distinguish validity vs transaction time - knowledge and ability to use TSQL2-like approaches to cope with time in relational databases - knowledge and ability to use the BCDM model to model the semantics of temporal relational databases - knowledge about the main issues concerning the treatment of time in Artificial Intelligence (hints) C) Having understood notions of: 1. knowledge management 2. prediction 3. optimisation 4. adaptation described in the lessons; being able to apply such notions in answering theoretic questions as well as exercises.
×
Print
Course
SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI
Course ID
S1429
Academic Year
2021/2022
Year of rule
2021/2022
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
PORTINALE Luigi
Teachers
CFU
3
Teaching duration (hours)
24
Individual study time
51
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
C
Year
1
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Il corso completo di INTELLIGENZA ARTIFICIALE E SUPPORTO ALLE DECISIONI si compone di due moduli: Intelligenza Artificiale (6 CFU) e Sistemi Intelligenti di Supporto alle Decisioni (3 CFU). Nel seguito le informazioni relative ai singoli moduli vengono riportate separatamente (considerare solo quelle del modulo a cui si e' interessati) INTELLIGENZA ARTIFICIALE: Algoritmi di ricerca nello spazio degli stati; Sistemi di ragionamento basato su casi; Rapresentazione di conoscenza incerta: probabilita' e Reti Bayesiane, Teoria delle decisioni e Diagrammi di Influenza. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Richiami di teoria delle decisioni; Utilita’ multi-attributo; Diagrammi di influenza; Decisioni one-shot e sequenziali; Decision-theoretic planning (Markov Decision Processes).
The course is composed by two modules: Artificial Intelligence (6 CFU) and Intelligent Decision Support Systems (3 CFU). Please consider only the information of the module you are interested in. ARTIFICIAL INTELLIGENCE State space search; Case-Based Reasoning; Uncertain knowledge representation: probability theory and Bayesian Networks; Introduction to Decision Theory. INTELLIGENT DECISION SUPPORT SYSTEMS Decision Theory, Multi-attribute utility, Influence diagrams, One-shot and sequential decisions, Decision-theoretic planning (Markov Decision Processes)
Testi di riferimento/Textbooks
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3a edizione), Prentice-Hall. Traduzione italiana pubblicata da Pearson Education.
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3rd edition), Prentice-Hall.
Obiettivi formativi/Mission
INTELLIGENZA ARTIFICIALE: Introdurre le nozioni fondamentali dell’Intelligenza artificiale. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Modellare processi decisionali one-shot e sequenziali
ARTIFICIAL INTELLIGENCE: To introduce the fundamentals notions of AI systems INTELLIGENT DECISION SUPPORT SYSTEMS: Modeling one-shot and sequential decision processes
Prerequisiti/Required background knowledge
INTELLIGENZA ARTIFICIALE: ASD-I e ASD-II (consigliati), Calcolo delle Probabilita’ (consigliato). SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Intelligenza artifciale Calcolo delle probabilita'
ARTIFICIAL INTELLIGENCE: Suggested: Algorithms I and II, Probability and Statistics. INTELLIGENT DECISION SUPPORT SYSTEMS: Artificial Intelligence, Probability
Metodi didattici/Teaching methods
Lezioni frontali in aula, esercitazioni tramite piattaforma Moodle, uso di strumenti software.
Lectures and exercises using Moodle and software tools.
Altre informazioni/Further information
Disponibili registrazioni lezioni in aula e video lezioni
Video lectures available
Modalità di verifica dell'apprendimento/Assessment methods
INTELLIGENZA ARTIFICIALE: Esame scritto integrato da eventuale esame orale. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Discussione di un progetto individuale
ARTIFICIAL INTELLIGENCE: Written and oral (not mandatory) exam INTELLIGENT DECISION SUPPORT SYSTEMS: Oral discussion of a project
Programma esteso/Content
INTELLIGENZA ARTIFICIALE: Introduzione e cenni storici sull'AI. Ricerca nello spazio degli stati: ricerca path-based cieca ed euristica. L'algoritmo A*. Algoritmi di miglioramento iterativo: hill-climbing e simulated annealing; Cenni su problemi CSP. Algoritmi per giochi a 2 concorrenti: minimax e alfa/beta pruning. Rappresentazione della conoscenza: cenni su formalismi logici e a regole. Sistemi di Case-Based Reasoning; Conoscenza Incerta: richiami di calcolo delle probabilità. Bayesian Belief Networks (proprietà ed algoritmi) e uso di tool per il loro sviluppo (Genie, Hugin, ecc...). Introduzione alla Teoria delle decisioni. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Richiami di teoria delle decisioni. Utilita’ multi-attributo. Diagrammi di influenza Decisioni one-shot e sequenziali Decision-theoretic planning (Markov decision processes).
ARTIFICIAL INTELLIGENCE: Introduction and history of AI State space search: path-based blind and heuristic search. A* algorithm. Iterative improvement algorithms: hillclimbing and simulated annealing CSP problems Two players games: minimax and alpha/beta pruning Knowledge representations: hints on logical formalism. Case-Based Reasoning systems; the CBR-Works tool. Uncertain knowledge: probability theory, Bayesian Networks (properties and algorithms); BN tools (Genie, Hugin, etc...). Fundamentals of Decision theory. INTELLIGENT DECISION SUPPORT SYSTEMS: Decision Theory Multi-attribute utility Influence diagrams One-sot and sequential decisions Decision-theoretic planning (Markov Decision Processes)
Risultati di apprendimento attesi/Intended learning objectives
INTELLIGENZA ARTIFICIALE: conoscere gli algoritmi di ricerca principali usati nell' IA, saper rappresentare conoscenza in sistemi intelligenti, conoscere gli algoritmi di inferenza tipici dei sistemi intelligenti moderni. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Saper modellare ed analizzare processi decisionali one-shot e sequenziali tramite modelli grafico-probabilistici
ARTIFICIAL INTELLIGENCE: to know main AI search algorithms, to be able to represent knowledge in intelligent systems, to know the main inference algorithms adopted in intelligent systems. INTELLIGENT DECISION SUPPORT SYSTEMS: being able to model ad analyze one-shot and sequential decision processes, using probabilistic graphical models.
×
Print
Course
RAPPRESENTAZIONE DELLA CONOSCENZA E LOGICA COMPUTAZIONALE
Course ID
MF0459
Academic Year
2021/2022
Year of rule
2021/2022
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
GIORDANO Laura
CFU
9
Teaching duration (hours)
72
Individual study time
153
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Nel modulo di Logica Computazionale: rappresentazione della conoscenza e ragionamento mediante formule e regole logiche, programmazione logica. Programmazione logica a vincoli; Answer Set Programming. Problem solving dichiarativo mediante strumenti di programmazione logica e ASP. Logiche descrittive, logiche temporali.
Computational logic: Knowledge representation and reasoning in logic and logic programming. Constraint logic programming; Answer Set Programming. Declarative problem solving using logic programming and ASP tools. Description logics, temporal logics.
Testi di riferimento/Textbooks
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3rd edition), Prentice-Hall 2010. P. Hitzler, M. Krötzsch, S. Rudolph, Foundations of Semantic Web, CRC Press, 2010. K. Marriott, P. Stuckey, Programming with Constraints: an Introduction, MIT Press, 1998. M. Gebser, R. Kaminski, B. Kaufmann, and T. Schaub, Answer Set Solving in Practice, Morgan and Claypool, 2012.
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3rd edition), Prentice-Hall 2010. P. Hitzler, M. Krötzsch, S. Rudolph, Foundations of Semantic Web, CRC Press, 2010. K. Marriott, P. Stuckey, Programming with Constraints: an Introduction, MIT Press, 1998. M. Gebser, R. Kaminski, B. Kaufmann, and T. Schaub, Answer Set Solving in Practice, Morgan and Claypool, 2012.
Obiettivi formativi/Mission
Capacità di applicare diversi formalismi di rappresentazione della conoscenza dichiarativa, ragionamento e problem solving, conoscendone espressività e limitazioni e giudicandone l’appropriatezza.
Being able to apply different formalisms for declarative knowledge representation, reasoning and problem solving, being aware of their expressiveness and limitations, and being able to judge whether they are appropriate.
Prerequisiti/Required background knowledge
Logica Matematica.
Mathematical logic.
Metodi didattici/Teaching methods
Lezioni frontali e sperimentazione in laboratorio. Le lezioni, oltre a descrivere i formalismi ne discutono le potenzialità e le limitazioni. Le esercitazioni permettono di conoscere strumenti software per utilizzare i diversi formalismi.
Lectures and practical activity in lab. Lectures describe the different formalism and discuss their power as well as their limitations. Practical activity allows students to know software tools for using the different formalisms.
Altre informazioni/Further information
La sperimentazione in laboratorio costituisce anche una verifica in itinere della comprensione e dell'apprendimento degli argomenti.
Lab activity is also used to verify on-the-fly the degree of knowledge and understanding of the subject.
Modalità di verifica dell'apprendimento/Assessment methods
Verifica della soluzione di esercizi pratici. Esame orale o esonero scritto. La prova prevede diverse domande, riguardanti argomenti svolti in una parte diversa del programma, , ed atte a verificare il raggiungimento degli obiettivi formativi. La valutazione complessiva terrà conto dei risultati conseguiti nelle singole domande.
Evaluation of the solutions for practical exercises. Oral or written examination. The exam involves several questions on different subjects within the course contents; the questions are suited to verifying the achievement of the learning outcomes. The evaluation takes into account the answers to individual questions.
Programma esteso/Content
Rappresentazione della conoscenza e ragionamento automatico in logica. Risoluzione. Programmazione logica. La programmazione logica a vincoli; l'Answer Set Programming. Problem solving dichiarativo mediante strumenti di programmazione logica e ASP. Logiche descrittive, logiche temporali.
Knowledge representation and automated reasoning in logic. Resolution. Logic programming. Constraint logic programming; Answer Set Programming. Declarative problem solving using logic programming and ASP. Description logics, temporal logics.
Risultati di apprendimento attesi/Intended learning objectives
Raggiungimento, in grado misurato dal voto, degli obiettivi formativi.
The achievement, up to a degree measured by grades, of the learning goals.
×
Print
Course
FONDAMENTI DI WEB SEMANTICO E PROBLEM SOLVING DICHIARATIVO
Course ID
MF0291
Academic Year
2021/2022
Year of rule
2021/2022
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
GIORDANO Laura
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Nel modulo di Logica Computazionale: rappresentazione della conoscenza e ragionamento mediante formule e regole logiche, programmazione logica. Programmazione logica a vincoli; Answer Set Programming. Problem solving dichiarativo mediante strumenti di programmazione logica e ASP. Logiche descrittive, logiche temporali.
Computational logic: Knowledge representation and reasoning in logic and logic programming. Constraint logic programming; Answer Set Programming. Declarative problem solving using logic programming and ASP tools. Description logics, temporal logics.
Testi di riferimento/Textbooks
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3rd edition), Prentice-Hall 2010. P. Hitzler, M. Krötzsch, S. Rudolph, Foundations of Semantic Web, CRC Press, 2010. K. Marriott, P. Stuckey, Programming with Constraints: an Introduction, MIT Press, 1998. M. Gebser, R. Kaminski, B. Kaufmann, and T. Schaub, Answer Set Solving in Practice, Morgan and Claypool, 2012.
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3rd edition), Prentice-Hall 2010. P. Hitzler, M. Krötzsch, S. Rudolph, Foundations of Semantic Web, CRC Press, 2010. K. Marriott, P. Stuckey, Programming with Constraints: an Introduction, MIT Press, 1998. M. Gebser, R. Kaminski, B. Kaufmann, and T. Schaub, Answer Set Solving in Practice, Morgan and Claypool, 2012.
Obiettivi formativi/Mission
Capacità di applicare diversi formalismi di rappresentazione della conoscenza dichiarativa, ragionamento e problem solving, conoscendone espressività e limitazioni e giudicandone l’appropriatezza.
Being able to apply different formalisms for declarative knowledge representation, reasoning and problem solving, being aware of their expressiveness and limitations, and being able to judge whether they are appropriate.
Prerequisiti/Required background knowledge
Logica Matematica.
Mathematical logic.
Metodi didattici/Teaching methods
Lezioni frontali e sperimentazione in laboratorio. Le lezioni, oltre a descrivere i formalismi ne discutono le potenzialità e le limitazioni. Le esercitazioni permettono di conoscere strumenti software per utilizzare i diversi formalismi.
Lectures and practical activity in lab. Lectures describe the different formalism and discuss their power as well as their limitations. Practical activity allows students to know software tools for using the different formalisms.
Altre informazioni/Further information
La sperimentazione in laboratorio costituisce anche una verifica in itinere della comprensione e dell'apprendimento degli argomenti.
Lab activity is also used to verify on-the-fly the degree of knowledge and understanding of the subject.
Modalità di verifica dell'apprendimento/Assessment methods
Verifica della soluzione di esercizi pratici. Esame orale o esonero scritto. La prova prevede diverse domande, riguardanti argomenti svolti in una parte diversa del programma, , ed atte a verificare il raggiungimento degli obiettivi formativi. La valutazione complessiva terrà conto dei risultati conseguiti nelle singole domande.
Evaluation of the solutions for practical exercises. Oral or written examination. The exam involves several questions on different subjects within the course contents; the questions are suited to verifying the achievement of the learning outcomes. The evaluation takes into account the answers to individual questions.
Programma esteso/Content
Rappresentazione della conoscenza e ragionamento automatico in logica. Risoluzione. Programmazione logica. La programmazione logica a vincoli; l'Answer Set Programming. Problem solving dichiarativo mediante strumenti di programmazione logica e ASP. Logiche descrittive, logiche temporali.
Knowledge representation and automated reasoning in logic. Resolution. Logic programming. Constraint logic programming; Answer Set Programming. Declarative problem solving using logic programming and ASP. Description logics, temporal logics.
Risultati di apprendimento attesi/Intended learning objectives
Raggiungimento, in grado misurato dal voto, degli obiettivi formativi.
The achievement, up to a degree measured by grades, of the learning goals.
×
Print
Course
HIGH PERFORMANCE COMPUTING
Course ID
MF0294
Academic Year
2021/2022
Year of rule
2021/2022
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
ANGLANO Cosimo Filomeno
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
Italiano
Italian
Contenuti/Content Summary
Il corso é strutturato in due parti distinte. La prima parte verte sulle architetture dei sistemi ad elevate prestazioni, e sulle relative tecniche di progettazione e realizzazione di programmi paralleli. La seconda parte invece é focalizzata sulle tecnologie e sui sistemi di Cloud Computing, e sul loro utilizzo nell'ambito dei sistemi per il calcolo ad alte prestazioni.
The course is structured in two parts. The first one focuses on the architectures of high performance computing systems, on the methodologies for the design and the implementation of parallel programs able to exploit them. The second part focuses instead on Cloud Computing technologies and systems, and on their exploitation as high performance computing platforms.
Testi di riferimento/Textbooks
1) Thomas Sterling, Matthew Anderson, Maciej Brodowicz, "High Performance Computing: Modern Systems and Practices", Morgan-Kauffman, ISBN-13: 978-0124201583 ISBN-10: 012420158X 2) Bertil Schmidt, Jorge Gonzalez-Dominguez, Christian Hundt, Moritz Schlarb, "Parallel Programming: Concepts and Practice", Morgan Kauffman, ISBN-10: 0128498900 ISBN-13:978-0128498903 3) materiale fornito a lezione dal docente
1) Thomas Sterling, Matthew Anderson, Maciej Brodowicz, "High Performance Computing: Modern Systems and Practices", Morgan-Kauffman, ISBN-13: 978-0124201583 ISBN-10: 012420158X 2) Bertil Schmidt, Jorge Gonzalez-Dominguez, Christian Hundt, Moritz Schlarb, "Parallel Programming: Concepts and Practice", Morgan Kauffman, ISBN-10: 0128498900 ISBN-13:978-0128498903 3) Handouts provided by the lecturer.
Obiettivi formativi/Mission
L'obiettivo del corso é l'apprendimento dei principi, metodologie, tecnologie e strumenti per la realizzazione ed utilizzo di sistemi ad alte prestazioni, nonché dell'impiego delle tecnologie e dei sistemi di Cloud Computing nell'ambito del calcolo ad alte prestazioni.
The goal of the course is the learning of the principles, methodologies, techniques, and tools for the implementation and use of high performance computing systems, as well as on the use of Cloud Computing technologies and systems for high performance computing.
Prerequisiti/Required background knowledge
Programmazione 1 e 2, Algoritmi 1 e 2, Sistemi Operativi 1 e 2, Architetture degli Elaboratori 1 e 2
Programmazione 1 e 2, Algoritmi 1 e 2, Sistemi Operativi 1 e 2, Architetture degli Elaboratori 1 e 2
Metodi didattici/Teaching methods
Lezioni frontali e sperimentazione in laboratorio.
Lectures and laboratory sessions.
Modalità di verifica dell'apprendimento/Assessment methods
Sia nella prima, sia nella seconda parte, l'esame si svolge in forma scritta, e verte sugli argomenti svolti a lezione. Ogni domanda ha un punteggio, il voto finale è la somma dei punti assegnati per ogni singola risposta.
Written exam for both the first and second part of the course. The exam consists of a written test with questions about the topics of the course. The final mark is the sum of the scores assigned to each answer.
Programma esteso/Content
La prima parte del corso verte sui principi, le metodologie e le soluzioni hardware e software per il calcolo ad alte prestazioni. Dopo aver introdotto i principi di base dell'elaborazione parallela, saranno trattate i principi architetturali di per i sistemi paralleli (come definiti nella tassonomia di Flynn) nonché le diverse architetture che li implementano (multiprocessori, multicomputer, sistemi multicore/manycore omogenei ed eterogenei). Saranno quindi trattati i diveri paradigmi di programmazione parallela, quali shared memory, multithreading, message passing, CUDA, ecc., e sulle tecniche di programmazione basate su di essi. La seconda parte del corso verte sul Cloud Computing. Dopo aver introdotto i concetti base, gli studenti faranno un'esperienza pratica usando le principali piattaforme per il Cloud Computing come Amazon Web Services, Google Cloud Platform e OpenStack. Oltre ai comuni problemi di queste piattaforme (ad esempio, load balancing, tolleranza ai guasti, scalabilità, etc), durante il corso verrà discusso MapReduce: un framework software per supportare la computazione distribuita su grandi quantità di dati (multi-terabyte) in cluster di computer (composti da migliaia di nodi) in modo affidabile e tollerante ai guasti.
The first part of the course focuses on the principles, methodologies, and hardware/software solution for high performance computing. After the introduction of the fundamental principles of parallel computing, the course will cover the architectural principles for parallel systems (as defined in Flynn's taxonomy), as well as the various architectures that implement them (multiprocessors, multicomputers, homogeneous and heterogeneous multicore/manycore systems). Then, the course will focus on the various parallel programming paradigms, such as shared memory, multithreading, message passing, CUDA, etc., and on the programming techniques based on them. In the second part, the course focuses on Cloud Computing. The basic concepts of Cloud Computing will be explained then the students will get practice with the main Cloud Computing platforms such as Amazon Web Services, Google Cloud Platform and OpenStack. Besides the common problems of these platform (i.e., load balancing, fault tolerance, scalability, etc), during the course it will be discussed the MapReduce programming model: a framework for easily writing applications which process vast amounts of data (multi-terabyte data-sets) in-parallel on large clusters (thousands of nodes) of commodity hardware in a reliable, fault-tolerant manner.
Risultati di apprendimento attesi/Intended learning objectives
Raggiungimento, in grado misurato dal voto, degli obiettivi formativi.
Achievement of the training objectives, as measured by the grade obtained by the student.
×
Print
Course
Intelligenza Artificiale
Course ID
MF0057
Academic Year
2021/2022
Year of rule
2021/2022
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
PORTINALE Luigi
Teachers
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
1
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Il corso completo di INTELLIGENZA ARTIFICIALE E SUPPORTO ALLE DECISIONI si compone di due moduli: Intelligenza Artificiale (6 CFU) e Sistemi Intelligenti di Supporto alle Decisioni (3 CFU). Nel seguito le informazioni relative ai singoli moduli vengono riportate separatamente (considerare solo quelle del modulo a cui si e' interessati) INTELLIGENZA ARTIFICIALE: Algoritmi di ricerca nello spazio degli stati; Sistemi di ragionamento basato su casi; Rapresentazione di conoscenza incerta: probabilita' e Reti Bayesiane, Teoria delle decisioni e Diagrammi di Influenza. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Richiami di teoria delle decisioni; Utilita’ multi-attributo; Diagrammi di influenza; Decisioni one-shot e sequenziali; Decision-theoretic planning (Markov Decision Processes).
The course is composed by two modules: Artificial Intelligence (6 CFU) and Intelligent Decision Support Systems (3 CFU). Please consider only the information of the module you are interested in. ARTIFICIAL INTELLIGENCE State space search; Case-Based Reasoning; Uncertain knowledge representation: probability theory and Bayesian Networks; Introduction to Decision Theory. INTELLIGENT DECISION SUPPORT SYSTEMS Decision Theory, Multi-attribute utility, Influence diagrams, One-shot and sequential decisions, Decision-theoretic planning (Markov Decision Processes)
Testi di riferimento/Textbooks
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3a edizione), Prentice-Hall. Traduzione italiana pubblicata da Pearson Education.
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3rd edition), Prentice-Hall.
Obiettivi formativi/Mission
INTELLIGENZA ARTIFICIALE: Introdurre le nozioni fondamentali dell’Intelligenza artificiale. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Modellare processi decisionali one-shot e sequenziali
ARTIFICIAL INTELLIGENCE: To introduce the fundamentals notions of AI systems INTELLIGENT DECISION SUPPORT SYSTEMS: Modeling one-shot and sequential decision processes
Prerequisiti/Required background knowledge
INTELLIGENZA ARTIFICIALE: ASD-I e ASD-II (consigliati), Calcolo delle Probabilita’ (consigliato). SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Intelligenza artifciale Calcolo delle probabilita'
ARTIFICIAL INTELLIGENCE: Suggested: Algorithms I and II, Probability and Statistics. INTELLIGENT DECISION SUPPORT SYSTEMS: Artificial Intelligence, Probability
Metodi didattici/Teaching methods
Lezioni frontali in aula, esercitazioni tramite piattaforma Moodle, uso di strumenti software.
Lectures and exercises using Moodle and software tools.
Altre informazioni/Further information
Disponibili registrazioni lezioni in aula e video lezioni
Video lectures available
Modalità di verifica dell'apprendimento/Assessment methods
INTELLIGENZA ARTIFICIALE: Esame scritto integrato da eventuale esame orale. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Discussione di un progetto individuale
ARTIFICIAL INTELLIGENCE: Written and oral (not mandatory) exam INTELLIGENT DECISION SUPPORT SYSTEMS: Oral discussion of a project
Programma esteso/Content
INTELLIGENZA ARTIFICIALE: Introduzione e cenni storici sull'AI. Ricerca nello spazio degli stati: ricerca path-based cieca ed euristica. L'algoritmo A*. Algoritmi di miglioramento iterativo: hill-climbing e simulated annealing; Cenni su problemi CSP. Algoritmi per giochi a 2 concorrenti: minimax e alfa/beta pruning. Rappresentazione della conoscenza: cenni su formalismi logici e a regole. Sistemi di Case-Based Reasoning; Conoscenza Incerta: richiami di calcolo delle probabilità. Bayesian Belief Networks (proprietà ed algoritmi) e uso di tool per il loro sviluppo (Genie, Hugin, ecc...). Introduzione alla Teoria delle decisioni. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Richiami di teoria delle decisioni. Utilita’ multi-attributo. Diagrammi di influenza Decisioni one-shot e sequenziali Decision-theoretic planning (Markov decision processes).
ARTIFICIAL INTELLIGENCE: Introduction and history of AI State space search: path-based blind and heuristic search. A* algorithm. Iterative improvement algorithms: hillclimbing and simulated annealing CSP problems Two players games: minimax and alpha/beta pruning Knowledge representations: hints on logical formalism. Case-Based Reasoning systems; the CBR-Works tool. Uncertain knowledge: probability theory, Bayesian Networks (properties and algorithms); BN tools (Genie, Hugin, etc...). Fundamentals of Decision theory. INTELLIGENT DECISION SUPPORT SYSTEMS: Decision Theory Multi-attribute utility Influence diagrams One-sot and sequential decisions Decision-theoretic planning (Markov Decision Processes)
Risultati di apprendimento attesi/Intended learning objectives
INTELLIGENZA ARTIFICIALE: conoscere gli algoritmi di ricerca principali usati nell' IA, saper rappresentare conoscenza in sistemi intelligenti, conoscere gli algoritmi di inferenza tipici dei sistemi intelligenti moderni. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Saper modellare ed analizzare processi decisionali one-shot e sequenziali tramite modelli grafico-probabilistici
ARTIFICIAL INTELLIGENCE: to know main AI search algorithms, to be able to represent knowledge in intelligent systems, to know the main inference algorithms adopted in intelligent systems. INTELLIGENT DECISION SUPPORT SYSTEMS: being able to model ad analyze one-shot and sequential decision processes, using probabilistic graphical models.
×
Print
Course
CALCOLO NUMERICO
Course ID
S0515
Academic Year
2021/2022
Year of rule
2021/2022
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
ACETO LIDIA
Teachers
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
MAT/08 - ANALISI NUMERICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
C
Year
1
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
Italiano
Italian
Contenuti/Content Summary
Il corso fornisce nozioni sull'analisi degli errori, l'aritmetica di macchina, l'approssimazione numerica della soluzione di equazioni non lineari, metodi efficienti per la soluzione di sistemi di equazioni lineari. Il corso affronta anche le principali questioni relative all'approssimazione delle funzioni, all'integrazione numerica e alla soluzione numerica dei problemi ai valori iniziali per le equazioni differenziali ordinarie.
The course provides notions on error analysis, finite precision number system and arithmetic, numerical approximation of the solution of nonlinear equations, efficient methods for the solution of systems of linear equation. The course also approaches the main issues related to function approximation, numerical integration and numerical solution of initial value problems for ordinary differential equations.
Testi di riferimento/Textbooks
Appunti del docente caricati sulla piattaforma DIR.
Teacher's notes available on the DIR platform.
Obiettivi formativi/Mission
Fornire conoscenze riguardanti i metodi numerici di base e la analisi delle loro principali proprietà; sviluppare la capacità dello studente all'utilizzo corretto e consapevole ed alla implementazione su calcolatore degli strumenti matematici introdotti.
The student who successfully completes the course will be able to demonstrate a solid knowledge of the basic topics of numerical calculus. In particular, he/she will be able to evaluate a numerical scheme from both the point of views of the accuracy of the approximation it provides and the computational cost of its implementation.
Prerequisiti/Required background knowledge
Conoscenza delle nozioni fondamentali fornite durante corsi matematica. In maggior dettaglio: funzioni e successioni, limiti, calcolo differenziale in una variabili, sviluppi di Taylor, calcolo integrale in una variabile, problemi ai valori iniziali per sistemi di equazioni differenziali ordinarie. Spazi vettoriali, sistemi lineari, algebra delle matrici, autovalori ed autovettori.
The knowledge of the main notions provided during a basic course of Mathematics is required. In more details: Functions and sequences, Limits, Differential calculus, Taylor expansion, Integral calculus in one variable, Initial value problems for ordinary differential equations; Vector spaces, Linear systems, Matrix algebra, Eigenvalues.
Metodi didattici/Teaching methods
+ Lezioni frontali + Esercitazioni in laboratorio informatico Frequenza: consigliata
+ Lectures + Laboratory Attendance: Advised
Modalità di verifica dell'apprendimento/Assessment methods
Prova orale con elaborato. Durante la prova orale lo studente dovrà dimostrare di aver acquisito conoscenze sui contenuti del corso utilizzando strumenti e terminologia appropriata.
During the oral exam, the student must be able to demonstrate his/her knowledge of the main course contents using the appropriate terminology. He/She must also demonstrate ability of putting into practice, with critical awareness, some of the activities carried out in laboratory during the course.
Programma esteso/Content
ANALISI DELL'ERRORE: errore assoluto ed errore relativo. Tipologie di errore. Numeri di macchina. Rappresentazione mediante troncamento ed arrotondamento. Precisione di macchina. Overflow ed Underflow. Aritmetica finita. Condizionamento di un problema. Condizionamento delle quattro operazioni algebriche fondamentali; APPROSSIMAZIONE DI ZERI DI FUNZIONE: Il metodo di bisezione: criteri di arresto, condizionamento del problema ed ordine di convergenza. Il metodo di Newton: convergenza locale ed ordine di convergenza quadratico per radici semplici. Il caso di radici multiple: convergenza lineare e ripristino dell'ordine quadratico per il caso di molteplicità esatta nota a priori. Metodi quasi-Newton. RISOLUZIONE DI SISTEMI LINEARI: Casi semplici. Fattorizzazione LU: esistenza, unicità e costo computazionale. Matrici a diagonale dominante. Matrici simmetriche e definite positive: metodo di Cholesky. Pivoting. Condizionamento del problema. Metodi iterativi di base. Sistemi lineari sovradeterminati: soluzione nel senso dei minimi quadrati, metodo delle equazioni normali e cenni sul metodo basato sulla fattorizzazione QR. APPROSSIMAZIONE DI FUNZIONI: Interpolazione polinomiale: esistenza ed unicità del polinomio interpolante. Forma di Lagrange. Cenni sulla analisi dell'errore. Il metodo dei minimi quadrati nel discreto. INTEGRAZIONE NUMERICA: Formule di quadratura di tipo interpolatorio. Formule di Newton-Cotes: il metodo dei trapezi ed il metodo di Simpson semplici. Analisi dell'errore. Grado di precisione di una formula di quadratura. Analisi del condizionamento di un integrale definito e di una formula di quadratura. Metodo dei trapezi e di Simpson compositi e relativa analisi dell'errore. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE: Metodi ad un passo. Errore locale di troncamento ed ordine di consistenza (o accuratezza). Analisi di convergenza. I metodi di Eulero esplicito, implicito e dei trapezi. Metodi Runge-Kutta: tavola di Butcher, metodi espliciti e impliciti. Analisi lineare di assoluta stabilità. Metodi A-stabili ed A(alfa)-stabili. Equazioni Stiff. Metodi lineari a più passi. Errore locale di troncamento ed ordine di consistenza. Zero stabilità. Teorema di convergenza e prima barriera di Dahlquist. Analisi lineare di assoluta stabiltà e seconda barriera di Dahlquist. AMBIENTE DI CALCOLO MATLAB: Definizione di variabili scalari, vettori e matrici. Tipo di una variabile. Operatore due punti. Sottovettori e sottomatrici. Operatori aritmetici, relazionali e logici. Espressioni. Principali funzioni built-in. M-files di tipo script. Comandi per l'input e l'output dei dati. Comandi per il controllo del flusso di esecuzione. M-files di tipo function: parametri di input e di output. Principali comandi per la grafica in 2D.
The course provides notions on error analysis, finite precision number system and arithmetic, numerical approximation of the solution of nonlinear equations, efficient methods for the solution of systems of linear and non linear equations. The course also approaches the main issues related to function approximation, numerical integration and numerical solution of initial value problems for ordinary differential equations. Finally, the use of the Matlab software from the command window and by using M-files is presented.
Risultati di apprendimento attesi/Intended learning objectives
Al termine del corso, lo studente avrà acquisito capacità riguardanti la scelta, il corretto utilizzo e l'implementazione su calcolatore di un metodo numerico.
The student who successfully completes the course will be able to choose and use correctly a numerical method.
×
Print
Course
SISTEMI MULTIMEDIALI
Course ID
S0596
Academic Year
2021/2022
Year of rule
2021/2022
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
LEONARDI GIORGIO
Teachers
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
Italiano
Italian
Contenuti/Content Summary
Il corso ha lo scopo di introdurre i principi base della creazione ed elaborazione di prodotti multimediali quali immagini e audio. In particolare, si affrontano la codifica di segnali analogici, la compressione dati sia lossless che lossy, la rappresentazione e l'elaborazione di immagini raster e di segnali audio.
The course aims at introducing the basic principles of the creation and development of multimedia products, such as images and audio. In particular, this course addresses the encoding of analog signals, lossless and lossy data compression, the representation and processing of raster images and audio signals.
Testi di riferimento/Textbooks
Fundamentals of Multimedia, Ze-Nian Li and Mark S. Drew, Casa Editrice Prentice Hall 2003.
Fundamentals of Multimedia, Ze-Nian Li and Mark S. Drew, Casa Editrice Prentice Hall 2003.
Obiettivi formativi/Mission
Conoscenza e capacità di comprensione: Familiarità con il concetto di segnale, sua trasformazione in formato digitale, compressione di immagini e di segnali audio attraverso tecniche con e senza perdita di dati, tecniche di elaborazione di immagine sia pxel-based che filter-based. Capacità di applicare conoscenza e comprensione: Acquisizione di prodotti multimediali da fonti analogiche, mantenendo il controllo del tradeoff tra qualità desiderata e dimensione del prodotto in formato digitale - uso delle tecniche di compressione per adattare il prodotto digitale alle caratteristiche del supporto di memorizzazione e/o trasmissione - applicazione di algoritmi e filtri per migliorare la resa del prodotto multimediale - applicazione di effetti per miscelare prodotti da fonti diverse. Le tecniche apprese a lezione forniscono la base per l'ideazione di nuovi effetti da applicare ad audio e immagini. Come aspetto collaterale il corso sviluppa le competenze di programmazione (in particolare nel linguaggio Java). Autonomia di giudizio: analizzare in modo critico i prodotti multimediali, decidendo autonomamente le migliori tecniche da utilizzare per acquisizione, compressione ed elaborazione a seconda delle caratteristiche e della destinazione d'uso del prodotto stesso Abilità comunicative: aver acquisito e saper utilizzare la terminologia formale specifica relativa alle aree citate, in modo da motivare e documentare opportunamente la pipeline utilizzata per le elaborazioni effettuate. Capacità di apprendere: lo studio di tecniche di acquisizione, compressione e processing di segnali fornisce la base per la costruzione di software di elaborazione di audio e di immagini
Knowledge and understanding: Familiarity with the concept of signal, its transformation into digital format, compression of images and audio signals through techniques with and without loss of data, image processing techniques both pxel-based and filter-based. Applying knowledge and understanding: Acquisition of multimedia products from analogue sources, maintaining tradeoff control between desired quality and size in digital format - Use of compression techniques to adapt the digital product to storage and / or Transmission media features - application of algorithms and filters to improve the quality of the multimedia product - application of effects and of techniques for mixing products from different sources. The learned techniques provide the basis for new effects to be applied to audio and images. As a collateral aspect, the course develops programming skills (especially in Java). Making judgements: critically analyze multimedia products by deciding independently the best techniques to be used for acquisition, compression, and processing, on the basis of the product's characteristics and intended use Communication Skills: Learning and usage of the specific formal terminology for the areas mentioned, in order to motivate and document appropriately the pipeline used for acquisition and processing. Learning skills: the study of capture, compression and signal processing techniques provides the basis for building complex audio and image processing software
Prerequisiti/Required background knowledge
Basi di programmazione e di Algoritmi.
Basic programming skills and algorithms.
Metodi didattici/Teaching methods
Lezioni frontali (36 ore circa) e sessioni pratiche in laboratorio (12 ore circa). Nelle lezioni in aula vengono esposte le nozioni teoriche per ogni argomento affrontato, con esempi ed esercizi svolti sia dal docente, sia in collaborazione con gli studenti. Sulla piattaforma DIR sono indicati i libri di testo suggeriti ed è a disposizione degli studenti tutto il materiale studiato a lezione, sottoforma di slide dettagliate e di materiale integrativo, utili per uno studio approfondito anche a chi non riuscisse a seguire il corso in aula. Sono inoltre forniti esercizi e temi d’esame. Nelle lezioni in laboratorio, gli argomenti del corso vengono rivisti dal punto di vista implementativo e, lezione dopo lezione, si implementerà una pipeline completa in grado di acquisire, comprimere e processare immagini applicando diversi effetti. Si presenta inoltre il progetto che dev'essere consegnato come parte dell'esame. Sul DIR sono a disposizione le slide che presentano ogni passo della pipeline da implementare e le relative tecniche implementative, come riferimento e guida sia per chi ha seguito la lezione che per gli assenti.
Face-to-face lessons (36 hours, about) and practical laboratory sessions (12 hours, about). Face-to-face lessons present the theoretical notions for each topic, with examples and exercises carried out both by the professor and in collaboration with the students. The DIR platform indicates the suggested textbooks, and students are provided with all the material studied in the lessons, in the form of detailed slides and supplementary material, useful for a thorough study also for those who could not attend the class. Exercises and past exam are also provided. In the lectures in the lab, the course topics are reviewed from the implementation point of view and, at the end, a complete pipeline will be implemented, able to capture, compress and process images by applying different effects. The last lesson is devoted to the presentation of the final project that must be delivered as part of the exam. DIR also provides the slides featuring every component of the pipeline to be implemented and their implementation steps, as a reference and guide for those who can not attend the lessons.
Altre informazioni/Further information
Modalità di verifica dell'apprendimento/Assessment methods
L'esame prevede una parte scritta e un progetto di laboratorio. Scritto: almeno 3 domande, ognuna delle quali su un diverso argomento del corso. Ogni domanda contiene sia un esercizio da svolgere, sia un quesito teorico a risposta aperta. Progetto: implementazione di algoritmi visti a lezione, con aggiunta di modifiche migliorative o customizzazioni. Il progetto è propedeutico all'accesso all'esame vero e proprio, che avviene nella modalità scritta presentata sopra. Il punteggio finale sarà quindi assegnato sul solo voto dello scritto, al quale si può accedere dopo aver presentato un progetto di laboratorio valutato positivamente.
The exam includes a written part and a laboratory project. Written part: at least 3 questions, each of which on a different topic of the course. Each question contains both an exercise to be solved, and a theoretical question to be answered. Project: Implementation of multimedia algorithms, furtherly improvemed or customized. The project is a prerequisite to gain access to the actual exam, which is composed by the written procedure presented above. The final score will therefore be assigned on the basis of the written grade only, which can be accessed after submitting a positively evaluated laboratory project.
Programma esteso/Content
- Basi matematiche per l'elaborazione delle immagini - Codifica dei segnali: campionamento, quantizzazione, analisi in frequenza - Codifica delle immagini (immagini Raster, La percezione e la codifica dei colori, la codifica delle immagini raster, immagini GIF, JPEG, PNG) - Basi di elaborazione delle immagini (correzione dei colori, filtraggio ed elaborazione, algoritmi di fotoritocco) - Codifica del suono: formati (PCM, MP3) - Elaborazione del suono e applicazione di effetti (riduzione del rumore, effetto riverbero, ecc.)
- Basics of image-manipulation-oriented mathematics - Signal coding: sampling and quantization. - Image coding (Raster images, Perception and coding of colors, raster images coding, GIF, JPEG and PNG standards) - Image manipulation (Color correction, filtering, photo-editing) - Sound Coding and formats (PCM, MP3) - Sound manipulation and processing (noise reduction, echo, etc.)
Risultati di apprendimento attesi/Intended learning objectives
- Comprensione dei concetti e dei teoremi visti a lezione - Analisi critica di sorgenti multimediali e scelta delle tecniche di acquisizione più adeguate - Applicazione delle tecniche di compressione ai segnali digitali, con valutazione critica del miglior formato di compressione per ogni tipo di segnale proposto - Valutazione della qualità di un prodotto multimediale e applicazione delle tecniche di recupero/miglioramento sulla base dei difetti rilevati - Capacità di implementazione delle tecniche viste a lezione e delle loro estensioni
- Understanding concepts and theorems studied in the lesson - Critical analysis of multimedia sources and selection of the most appropriate acquisition techniques - Application of compression techniques to digital signals, with critical evaluation of the best compression format for each type of signal proposed - Evaluation of the quality of a multimedia product and application of recovery / improvement techniques based on detected defects - Ability to implement all the mentioned techniques and their extensions
×
Print
Course
CYBER SECURITY 2
Course ID
MF0409
Academic Year
2021/2022
Year of rule
2021/2022
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
ANGLANO Cosimo Filomeno
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
1
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Introduzione ai principi fondamentali di sicurezza dei sistemi e delle applicazioni software. Studio delle principali vulnerabilitá software e delle relative contromisure. Studio e applicazione delle tecniche di pentration testing basate su tali vulnerabilità.
Introduction to the fundamental principles of system and software security. Analysis of the main software and system vulnerabilities and of the corresponding countermeasures. Analysis and applications of the penetration testing techniques based on these vulnerabilties.
Testi di riferimento/Textbooks
1) Wenliang Du. Computer Security: A Hands-On Approach. Printed by Create Space. October 2017. ISBN 978-1548367947 2) Allen Harper, Daniel Regalado, e al. Gray Hat Hacking: The Ethical Hacker's Handbook. Fifth Edition, 2018. McGraw-Hill Education. ISBN: 978-1260108415 3) M. Sikorsy, A. Honig. Practical Malware Analysis. No Starch Press, 2012. ISBN: 978-1593272906. 4) D. Andriesse. Practical Binary Analysis: Build Your Own Linux Tools for Binary Instrumentation, Analysis, and Disassembly. No Starch Press, 2018. ISBN: 978-1593279127. 5) Sean-Philip Oriyano. Penetration testing essentials, first edition. Wiley 2017. ISBN 9781119235309
1) Wenliang Du. Computer Security: A Hands-On Approach. Printed by Create Space. October 2017. ISBN 978-1548367947 2) Allen Harper, Daniel Regalado, e al. Gray Hat Hacking: The Ethical Hacker's Handbook. Fifth Edition, 2018. McGraw-Hill Education. ISBN: 978-1260108415. 3) M. Sikorsy, A. Honig. Practical Malware Analysis. No Starch Press, 2012. ISBN: 978-1593272906. 4) D. Andriesse. Practical Binary Analysis: Build Your Own Linux Tools for Binary Instrumentation, Analysis, and Disassembly. No Starch Press, 2018. ISBN: 978-1593279127. 5) Sean-Philip Oriyano. Penetration testing essentials, first edition. Wiley 2017. ISBN 978111923530
Obiettivi formativi/Mission
Conoscenza e capacità di comprensione: conoscere i principi della sicurezza informatica dei sistemi e delle applicazioni software, le tecniche di attacco basate sulle relative vulnerabilità, le contromisure che é possibile predisporre per proteggersi da tali attacchi, e le tecniche di penetration testing basate sugli attacchi in questione. Applicazione di conoscenza e comprensione: deve essere capace di identificare le vulnerabilità presenti sul sistema, e di applicare le metodologie di penetration testing al fine di valutare il livello di sicurezza dei sistemi e delle relative applicazioni, proponendo di conseguenza le opportune contromisure. Autonomia di giudizio: avere acquisito la corretta percezione dei rischi di sicurezza e del modo in cui gli aspetti di sicurezza informatica si intrecciano con l'organizzazione, la configurazione e l'uso di un sistema informatico. Abilità comunicative: deve avere acquisito terminologia tecnica specifica dell'area e deve saper discutere di aspetti di sicurezza, e di meccanismi di protezione. Inoltre lo studente migliorerà la propria padronanza della lingua inglese a livello tecnico informatico. Capacità di apprendere: avendo appreso i principi findamentali sarà in grado in futuro di apprezzare e valutare tecnologie e metodologie nuove che si basano sugli stessi principi.
Knowledge and understanding: know the basic principles of system and software security, the attack techniques based on the vulnerabilities of these systems, the countermeasures that can be put in place to protect the system from these attacks, and the penetration testing methodologies based on the above attacks. Applying knowledge and understanding: students must be able to recognize the vulnerabilities of a computer system, and to apply the penetration testing methodologies in order to assess the security level of computer systems and of the software running on it, and to propose suitable countermeasures to keep the system secure. Making judgements: They must also acquire a correct perception of security risks and of the way security issues intertwine with the organization, the configuration, and the use of a computer system. Communication skills: students must have acquired the specific technical terminology and must be able to discuss security aspects and protection mechanisms. Moreover the students will increase their proficiency in the technical English of computer science. Learning skills: having acquired the fundamental principles the student will later be able to appreaciate and evaluate new technologies and methodologies based on the same principles.
Prerequisiti/Required background knowledge
Conoscenza del funzionamento dei sistemi operativi e delle reti di calcolatori, delle problematiche e soluzioni per la sicurezza delle reti di calcolatori, nozioni di base di utilizzo di Unix, programmazione in C.
Knowledge of the principles of operation of operating systems and computer networks, principles and techniques of computer networks security, basic notions of Unix usage, C programming.
Metodi didattici/Teaching methods
Il corso è insegnato interamente in laboratorio. Ciascuna lezione è costituita da una presentazione degli argomenti nella quale gli aspetti tecnici vengono arricchiti da ampi riferimenti ad incidenti informatici recenti, seguita da attività pratica. Per la prima parte del corso, focalizzata sullo studio delle vulnerabilitá software, gli studenti sono guidati nella realizzazione di codice in grado di sfruttare vulnerablitá del sistema operativo o di applicazioni specifiche, con l'obiettivo di violarne la sicurezza del sistema, ottenendo un accesso allo stesso o l'esecuzione di codice malevolo, al fine di acquisire sensibilità riguardo alle vulnerabilità e per comprendere le caratteristiche e i limiti delle tecnologie e dei meccanismi di sicurezza presentati. Per la seconda parte di corso, focalizzata sul penetration testing, gli studenti sono guidati nell'applicazione di metodologie di penetration testing, utilizzando delle piattaforme software adatte a tali attivitá, utilizzando come bersaglio dei sistemi vulnerabili appositamente configurati, al fine di acquisire esperienza sull'applicazione concreta delle metodologie presentate nel corso. Gli argomenti trattati in ogni lezione insieme alle appropriate indicazioni bibliografiche e le indicazioni sull'attività pratica sono riportate sulla piattaforma DIR per permettere agli studenti che seguono il corso di rivedere o completare le attività proposte e di mantenersi al passo con il corso in caso perdano qualche lezione; inoltre questo permette agli studenti che non frequentano di svolgere autonomamente l'attività di laboratorio, e di seguire pur a distanza il corso delle lezioni.
The course is entirely taught in lab. Each lecture begins with a presentation of the subject, during which technical aspects are enriched with references to recent security incidents. Hands on activity follows. For the first part of the course, which is focused on the study of software vulnerabilities, students are guided in the realization of code able to exploit vulnerabilities of operating systems or of specific applications, with the goal of carrying out attacks aimed at obtaining unrestricted access to the system or the execution of malicious code, so that they gain a feeling for vulnerabilities and understand the features and limits of security technologies and mechanisms. For the second part of the course, which is focused on penetration testing, students are guided in the application of penetration testing methologies, using suitable software platforms, using as target vulnerable systems purposely built and configured, so as to gain experience on the concrete application of the methodologies taught in the course. Students will find on the DIR platform the subjects treated in each leture, along with appropriate bibliographic references, and indications on the hands-on activity. This way students that attend the course can review or complete proposed activities and keep abreast of the course when they miss a class. This also enables non attending students to experiment on their own with the hands-on activity and to follow autonomosly the class.
Altre informazioni/Further information
L'attività in laboratorio richiede una partecipazione attiva e individuale degli studenti e li induce a porsi dei quesiti (e spesso di conseguenza a porne al docente); in tal modo permette una regolare verifica del modo in cui gli argomenti vengono recepiti. L'attività in laboratorio è pensata come strumento didattico per facilitare la comprensione e lo sviluppo della necessaria sensibilità, non come mezzo per insegnare ad utilizzare strumenti di sicurezza. Però lo studente volenteroso trae dall'attività in laboratorio anche utili competenze pratiche.
Hands-on activity requires active participation of the students, and leads the latter to ask themselves questions (and, as a consequence, often to ask questions to the instructor); this way it allows a regular monitoring of the way the subject is being understood. The activity in lab is thought as a way to ease comprehension and to develop the necessary sensitivity, and not as a means to teach usage of security tools. Yet, the motivated students gains from such activity also useful practival skills.
Modalità di verifica dell'apprendimento/Assessment methods
Esame orale. L'esame prevede un colloquio orale in cui saranno discusse le soluzioni, fornite dagli studenti, ad alcuni esercizi di laboratorio, assegnati dal docente, che gli studenti dovranno svolgere durante il corso. Oltre a tale discussione, allo studente saranno poste alcune domande, incentrate sui meccanismi o tecnologie presentate nel corso, al fine di verificare che gli obiettivi formativi siano stati raggiunti.
Oral exam. The exam is oral. In the exam, students will be asked to discuss the solutions to some lab exercies, that will be assigned by the teacher and will have to be completed and submitted during the course. In addition to this discussion, students will be asked to answer a few questions, focusing on the basic principles, mechanisms and technology taught in class and has acquired the appropriate technical language, through a request to describe some of the subjects, to ascertain whether they have attained the formative objectives or not.
Programma esteso/Content
1. Software Security: Vulnerabilities, Attacks, and Countermeasures. 1.1 Privileged programs (Set-UID programs) and vulnerabilities 1.2 Buffer Overflow vulnerability and attack 1.3 Return-to-libc attack 1.4 Race Condition vulnerability and attack 1.5 Format String vulnerability and attack 1.6 Input validation 1.7 Shellshock attack 2. Web Security: Vulnerabilities, Attacks, and Coutermeasures 2.1 Same Origin Policy 2.2 Cross-Site Scripting Attack 2.3 Cross-Site Request Forgerty Attack 2.4 SQL-Injection Attack 2.5 Click-Jacking Attack 2.6 Web Tracking 3. Smartphone Security (cenni) 3.1 Access control in Android operating system 3.2 Rooting Android devices 3.3 Repackaging attacks 3.4 Attacks on apps 3.5 Whole-disk encryption 4. Penetration Testing: 4.1 Penetration testing methodologies 4.2 Gathering intelligence 4.3 Scanning and Enumeration 4.4 Vulnerability scanning 4.5 Obtaining access 4.6 Retaining access 4.7 Reporting
1. Software Security: Vulnerabilities, Attacks, and Countermeasures. 1.1 Privileged programs (Set-UID programs) and vulnerabilities 1.2 Buffer Overflow vulnerability and attack 1.3 Return-to-libc attack 1.4 Race Condition vulnerability and attack 1.5 Format String vulnerability and attack 1.6 Input validation 1.7 Shellshock attack 2. Web Security: Vulnerabilities, Attacks, and Coutermeasures 2.1 Same Origin Policy 2.2 Cross-Site Scripting Attack 2.3 Cross-Site Request Forgerty Attack 2.4 SQL-Injection Attack 2.5 Click-Jacking Attack 2.6 Web Tracking 3. Smartphone Security (cenni) 3.1 Access control in Android operating system 3.2 Rooting Android devices 3.3 Repackaging attacks 3.4 Attacks on apps 3.5 Whole-disk encryption 4. Penetration Testing: 4.1 Penetration testing methodologies 4.2 Gathering intelligence 4.3 Scanning and Enumeration 4.4 Vulnerability scanning 4.5 Obtaining access 4.6 Retaining access 4.7 Reporting
Risultati di apprendimento attesi/Intended learning objectives
Descrivere i requisiti di sicurezza di un sistema. Spiegare le principali vulnerabilitá dei sistemi software, i relativi attacchi e le possibili contromisure. Sviluppare codice in grado di sfruttare le vulnerabilitá software per compromettere la sicurezza di un sistema. Spiegare le principali vulnerabilitá dei sistemi web, i relativi attacchi e le possibili contromisure. Sviluppare codice in grado di sfruttare le vulnerabilitá dei sistemi web per comprometterne la sicurezza. Spiegare le principali vulnerabilitá dei sistemi operativi per smartphone, i relativi attacchi e le possibili contromisure. Spiegare le principali vulnerabilitá delle app per smartphone, i relativi attacchi e le possibili contromisure. Spiegare le metodologie di penetration testing, e in particolare di tutti i passaggi che esse comportano. Utilizzare una piattaforma software per effettuare il penetration testing di semplici sistemi bersaglio.
Describe the security requirements of a system. Explain the main vulnerabilities of software systems, the attacks they allow, and the possible countermeasures. Develop code able to exploit software vulnerabilities with the aim of compromising the security of a system. Explain the main vulnerabilities of web systems, the attacks they allow, and the possible countermeasures. Develop code able to exploit the vulnerabilities of web systems with the aim of compromising their security. Explain the main vulnerabilities of smartphone operating systems, the attacks they allow, and the possible countermeasures. Explain the main vulnerabilities of smartphone apps, the attacks they allow, and the possible countermeasures. Explain penetration testing methodologies, and in particular their various steps. Use a suitable software platform to carry out the penetration testing of simple target systems.
×
Print
Course
BIOLOGIA COMPUTAZIONALE
Course ID
MF0378
Academic Year
2021/2022
Year of rule
2021/2022
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
MIGNONE Flavio
Teachers
CFU
3
Teaching duration (hours)
24
Individual study time
51
SSD
BIO/11 - BIOLOGIA MOLECOLARE
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
C
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Il corso si propone di fornire i fondamenti della replicazione e trascrizione del DNA, dei meccanismi della traduzione e delle tecniche di biologia molecolare.
The course provides the basics of DNA replication and transcription , of traslation mechanisms and of molecular biology methods.
Testi di riferimento/Textbooks
- Watson et al., Biologia molecolare del gene” 7° edizione. Zanichelli - Amaldi et al., Biologia Molecolare 3° edizione. Casa Editrice Ambrosiana - Lewin, B. "Il Gene X". Zanichelli - Albertz et al., Biologia Molecolare della Cellula. Zanichelli - Materiale distribuito durante le lezioni
- Watson et al., Biologia molecolare del gene” 7° edition. Zanichelli - Amaldi et al., Biologia Molecolare 3° edition. Casa Editrice Ambrosiana - Lewin, B. "Il Gene X". Zanichelli - Albertz et al., Biologia Molecolare della Cellula. Zanichelli - Lesson presentations
Obiettivi formativi/Mission
Lo studente acquisisce: 1) Conoscenza e padronanza a) dei meccanismi molecolari alla base della duplicazione del DNA, della trascrizione e della traduzione in cellule eucariotiche e procariotiche e b) delle tecniche di base di biologia molecolare. 2) Abilità nell’utilizzare le conoscenze acquisite a corsi di fisiologia, di patologia generale e di altri corsi più specialistici, anche pratici, che prevedono una conoscenza a livello molecolare dei processi biologici che coinvolgono DNA, RNA e proteine. Grazie all’attività pratica, di gestire autonomamente le principali tecniche di base impiegate per l'estrazione del DNA, la sua amplificazione a mezzo PCR e la successiva analisi elettroforetica. 3) Abilità comunicative nella conoscenza ed utilizzo di un lessico appropriato in relazione agli argomenti trattati durante il corso.
The student acquires: 1) Knowledge and understanding a) the molecular mechanisms of DNA duplication, of transcription and translation into eukaryotic and prokaryotic cells and 2) the basic molecular biology techniques. 2) Ability to use these principles in courses of physiology, pathology and other more specialized courses, also practice, that involve molecular knowledge of biological processes involving DNA, RNA and proteins. With the practical activity, he will be able to use the main techniques employed for DNA extraction, PCR amplification and subsequent electrophoretic analysis. 3) Communication skills about the use of an appropriate vocabulary in relation to the topics covered during the course.
Prerequisiti/Required background knowledge
Il docente sconsiglia di affrontare lo studio della materia senza le opportune basi colturali fornite dalla chimica generale, dai fondamenti di istologia embriologia e anatomia funzionale, dalla genetica I e dai principi di biochimica A e B. Lo studente dovrebbe inoltre avere un’adeguata proprietà di linguaggio e padronanza scientifica.
The teacher does not advise to address the study of matter without the appropriate culture provided by the chemistry, citology and histology, genetic and biochemistry. The student should also have a property of language and scientific mastery.
Metodi didattici/Teaching methods
Lezione frontale in aula, esercitazioni in aula ed esperienza pratica in laboratorio.
Lessons in class, practice in class and laboratory sessions.
Altre informazioni/Further information
Le diapositive proiettate dal docente durante la lezione sono disponibili nella sezione DIR (Biologia Molecolare I). Il docente darà informazioni dettagliate riguardanti l’organizzazione temporale (giorni e orario) della parte di laboratorio. Per accedere al laboratorio è necessario frequentare 70% della parte teorica del corso (lezioni in aula). Al termine di ogni esperienza di laboratorio i risultati ottenuti verranno discussi ed analizzati. Il docente risponde solo alla e-mail firmate e provenienti dal dominio nome.cognome@uniupo.it.
The slides projected by the teacher during the lesson are available in the DIR section (Molecular Biology I). The informations about the time organization (days and times) of the laboratory practice activity will be given during the couse. At the end of each laboratory practice activity, the results obtained will be discussed and analyzed. It is necessary, to access the laboratory session, to attend 70% of the theoretical part of the course (lesson in class). The teacher responds to the e-mails signed and coming from the domain name.surname@uniupo.it.
Modalità di verifica dell'apprendimento/Assessment methods
Obiettivo della prova di esame consiste nel verificare il livello di conoscenza ed approfondimento di tutti gli argomenti riportati nel programma del corso e la capacità di ragionamento sviluppata dallo studente. L’esame prevede una prova scritta ed una prova orale. La prova scritta che consiste in domande a risposta multipla e il suo superamento è condizione necessaria per sostenere la prova orale. Il voto finale dipenderà esclusivamente dalla prova orale. Durante la prova non è permesso consultare alcun tipo di materiale.
The purpose of the exam is to verify the level of knowledge into all the subjects present in the course program and the reasoning capacity developed by the student. The exam consists in a written test and an oral examination, The a written test consists of multiple-choice questions and the overcome the test is mandatory to take the oral exams.The final score is solely based on the oral examination. During the test is not possibile to consult any type of material.
Programma esteso/Content
La Replicazione del DNA. Gli acidi nucleici. Le DNA polimerasi. La topologia del DNA. Struttura e meccanismo d'azione. Il replisoma e i suoi componenti. Il meccanismo di correzione delle bozze. La topoisomerasi I e suo meccanismo d'azione. Il danno del DNA. Restauro del DNA. Meccanismi di reversione, escissione, “mismatch-repair” e per ricombinazione. La trasposizione del DNA. La cromatina, il nucleosoma e gli istoni. La trascrizione del DNA. Le RNA polimerasi procariore ed eucariote. L'unita' trascrizionale procariote ed eucariote. Regolazione dell’inizio della trascrizione negli eucarioti. Fattori di trascrizione generali e complesso d’inizio. Modificazioni post-trascrizionali. Introni e “splicing”. Splicing differenziale. RNA catalitico. RNA “editing”. Controllo genico negli eucarioti. Attivatori e repressori della trascrizione e meccanismi molecolari del controllo trascrizionale. RNA interference. I meccanismi della traduzione. Il DNA ribosomiale. Struttura del ribosoma. Il codice genetico. tRNA e sua struttura. AAtRNA sintetasi e suo meccanismo d'azione. Il riconoscimento codone-anticodone "Vacillamento". Formazione del complesso di inizio della traduzione. IF e loro regolazione. Allungamento della catena ed EF. Terminazione della sintesi proteica. Principali modificazioni post-traduzionali delle proteine. Laboratorio di Biologia Molecolare (principi teorici). Clonaggio di DNA ricombinante ed enzimi di restrizione. Vettori di clonaggio e di espressione. Costruzione e screening di genoteche. Tecniche di analisi degli acidi nucleici. Sequenziamento del DNA e tecniche di PCR (end-point e quantitativa). Esercitazioni in laboratorio. Preparazione di DNA plasmidico, taglio del DNA con enzimi di restrizione e analisi su gel di agarosio. PCR end-point e quantificazione del DNA mediante analisi spettrofotometrica.
DNA replication. Nucleic acids. DNA topology. Topoisomerases and their mechanism of action. Prokaryotic and eukaryotic DNA polymesares: structure and their mechanism of action. The replisome. Effect of DNA damage. DNA repair systems: direct repair, excision repair, mismatch-repair and recombination repair. Transposition. Chromatin, nucleosomes and histones. DNA transcription. Prokaryotic and eukaryotic RNA polymesares. Prokaryotic and eukaryotic gene organization. Initiation of transcription. General factors and basal transcription apparatus. RNA processing. Introns and splicing. Alternative splicing. Catalytic RNA. RNA editing. Global eukariotic regulation of gene expression. Regulatory transcription factors and molecular mechanisms of transcription regulation. RNA interference. Traslation mechanisms. Ribosomal DNA. Ribosome structure. The genetic code. tRNA structure. Codon-anticodon recognition, wobbling. AAtRNA synthetase and their mechanism of action. IF and their regulation. Elongation and EF. Termination of protein synthesis. Protein modifications. Laboratory of biology molecular (theory). Cloning ed restriction enzymes. Cloning and expression vectors. Library construction and screening. Analysis of nucleic acid fragments. DNA sequencing and PCR (end-point and quantitative). Practice: Plasmid preparation, DNA cut and analysis on agarose gels. PCR end-point. DNA quantification by spectrophotometer.
Risultati di apprendimento attesi/Intended learning objectives
Lo studente: 1) Conoscenza e comprensione: conoscerà i meccanismi molecolari alla base della duplicazione del DNA, della trascrizione e della traduzione in cellule eucariotiche e procariotiche e b) delle tecniche di base di biologia molecolare. 2) Abilità: sarà in grado di utilizzare le conoscenze in tutte le discipline che richiedono conoscenze riguardanti i meccanismi molecolari della duplicazione e trascrizione del DNA e della traduzione in cellule eucariotiche e procariotiche. Inoltre le basi teoriche delle tecniche di biologia molecolare lo faciliteranno nelle attività di laboratorio che prevedono l’utilizzo di tali tecniche. Inoltre l'attività pratica renderà lo studente capace di gestire autonomamente le principali tecniche di base impiegate per l'estrazione del DNA, la sua amplificazione a mezzo PCR e la successiva analisi elettroforetica. 3) Autonomia di giudizio: acquisterà la capacità di analizzare con senso critico gli elementi legati ai meccanismi molecolari che stanno alla base della duplicazione del DNA, della trascrizione e della traduzione in cellule eucariotiche e procariotiche e b) delle tecniche di base di biologia molecolare. 4) Abilità comunicative: avrà padronanza di un lessico relativo i meccanismi molecolari della cellula. 5) Capacità di apprendimento: acquisirà la capacità di utilizzare il materiale didattico fornito per uno studio critico e ragionato degli argomenti trattati ed inoltre sarà in grado di approfondire ed aggiornare in maniera autonoma, tramite lettura di testi ed articoli scientifici problematiche correlati a tutti gli argomenti trattati durante il corso.
The student: 1) Knowledge and understanding: he will know a) the molecular mechanisms of DNA duplication, of transcription and translation into eukaryotic and prokaryotic cells and 2) the basic molecular biology techniques. 2) Skill: he will be able to use the information acquired in all disciplines that require knowledge about the molecular mechanisms of DNA duplication and transcription and of translation into eukaryotic and prokaryotic cells. Furthermore, the theoretical bases of molecular biology techniques will help the student in laboratory activities involving the use of these techniques. In particular he will be able to use the main techniques employed for the extraction of DNA, its amplification by PCR Furthermore, the theoretical bases of molecular biology techniques will help the student in laboratory activities involving the use of these techniques. 3) Autonomy of judgment: he will acquire the ability to critically analyze the elements linked to the molecular mechanisms about the DNA duplication, transcription and translation in eukaryotic and prokaryotic cells and b) to the basic techniques of molecular biology. 4) Communication skills: he will known and will use an appropriate vocabulary in relation to molecular mechanisms of the cell. 5) Learning skills: he will acquire the ability to use the teaching material provided for a critical and reasoned study of the topics and also he will be able to deepen and update independently, through reading texts and scientific articles, issues related to all topics covered during the course.
×
Print
Course
BUSINESS INTELLIGENCE: ASPETTI TEMPORALI E SUPPORTO ALLE DECISIONI
Course ID
MF0289
Academic Year
2021/2022
Year of rule
2021/2022
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
MONTANI Stefania
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
Italiano/Inglese
Italian/English
Contenuti/Content Summary
Il corso sarà articolato nelle seguenti parti: A) Datawarehousing B) Basi di dati temporali C) Supporto alle decisioni aziendali I contenuti delle varie parti si possono riassumere come segue: A) Metodologie e tecniche per reperire, analizzare, sintetizzare e ri-organizzare dati operazionali, al supporto di decisioni strategiche. B) Tecniche e metodologie per gestire il tempo nelle basi di dati relazionali. C) Metodologie e tecniche per la realizzazione di un moderno strumento di Business Intelligence;
The course will be organized into the following parts: A) Datawarehousing B) Temporal databases C) Enterprise decision support Contents of the four parts can be summarized as follows: A) Methodologies and techniques to collect, analyse, sinthetize and re-organize operational data, to support strategical decision-making B) Methodologies and techniques to deal with validity and transaction time in relational databases C) Methodologies and techniques to realize a modern Business Intelligence system;
Testi di riferimento/Textbooks
A) M. Golfarelli, S. Rizzi: “Data Warehose”, McGraw-Hill, Milano. B) La seconda parte del corso si avvale di pubblicazioni su riviste scientifiche fornite dal docente. C) Z. Michalewicz et al., Adaptive Business Intelligence, Springer.
A) M. Golfarelli, S. Rizzi: “Data Warehouse”, McGraw-Hill, Milano. B) The second part of the course (Temporal Issues) is bases of scientific journal publications provided by the teacher. C) Z. Michalewicz et al., Adaptive Business Intelligence, Springer.
Obiettivi formativi/Mission
Conoscenza e capacità di comprensione: gli studenti devono acquisire approfondita conoscenza di A) metodologie per reperire, analizzare, sintetizzare e ri-organizzare i dati operazionali; metodologie di progettazione a livello concettuale e di realizzazione livello logico in ambito relazionale di datawarehousing B) semantica delle basi di dati temporali; principali metodologie per gestire i tempi di validita' e di transazione nelle basi di dati relazionali; problematiche di base per il trattamento del tempo in basi di conoscenza C) metodologie e tecniche di rappresentazione e gestione della conoscenza, predizione, ottimizzazione, adattamento Capacita' di applicare conoscenza: A) capacita' di progettazione a livello concettuale e di realizzazione livello logico in ambito relazionale di datawarehousing, a partire dalle sorgenti di dati operazionali B) capacita' di utilizzare DBMS temporali quali TSQL2 C) capacità di valutare e/o applicare le tecniche studiate per progettare un sistema di supporto alle decisioni in un contesto aziendale, dove possono essere presenti dati e conoscenze eterogenee; Autonomia di giudizio: A) Abilita' nel determinare i fatti di interesse, la granularita', le dimensioni e le gerarchie dimensionali per un data warehouse B) Abilita' nel riconoscere l'eventuale necessita' di adottare tecniche specifiche\generali per la gestione del tempo nelle basi di dati; abilita' nell'individuare problematiche temporali (in basi di dati relazionali), e le metodologie atte a gestirle C) capacità di lavorare in maniera autonoma, anche in situazioni aziendali complesse o a fronte di informazioni incomplete Abilita, comunicative: A-B) Gli studenti devono acquisire e saper utilizzare la terminologia utilizzata nel campo del datawarehousing e delle basi di dati temporali. B) Devono saper esprimere in modo rigoroso (formale) la semantica delle basi di dati relazionali. C) devono saper giustificare le scelte progettuali o implementative fatte comunicandole in modo chiaro anche a utenti meno esperti Capacita' di apprendere: Gli studenti devono aver acquisito la capacita' di A) analizzare e modellare in modo uniforme dati provenienti da sorgenti eterogenee B) analizzare problemi temporali anche complessi nell'ambito delle basi di dati relationali C) descrivere e saper scegliere le più opportune tecniche per la realizzazione di un sistema di supporto alle decisioni aziendali
Knowledge and comprehension: students must acquire a deep knowledge about: A) the methodologies to retrieve, analyse, synthetise, and re-organise operational data; the methodologies to design at the conceptual and at the logical relational level a datawarehouse B) the semantics of temporal databases; the main methodologies to mana valid time and transaction time in temporal relational databases; the main problems when dealing with "time" in knowledge bases C) methodologies and techniques for: knowledge representation and management, prediction, optimization, adaptation. Capacity to apply knowledge and comprehension: A) ability to design (conceptual and logical level) and develop a datawarehouse in the relational context, starting from operational data sources B) capacity to properly use TSQL2-like temporal DBMS. C) ability to evaluate and/or apply the techniques studied in the course to design a decision support tool in an enterprise context, where heterogeneous data and knowledge may be available; Judgement autonomy: A) ability to identify facts of interest, granularity, dimensions and the hierarchy of dimensional attributes for a datawarehouse B) capability of recognizing the necessity of general\specific techniques to cope with time in relational DBs; ability to identify temporal problems (in DBs), and the methodologies to solve them C) ability to work in an autonomous way, and deal with complex enterprise situations or with incomplete information Communication abilities: A-B) Students must acquire and adopt the rigorous terminology used in datawarehousing and in temporal databases. B) They must also be able to express in a rigourous (formal) way the semantics of temporal databases. C) They must be able to justify their design or implementation choices and clearly communicate them also to a non expert audience. Learning capacity: students must acquire the capability of A) analysing a modeling in a uniform way data coming from heterogeneous sources B) analysing possibly complex temporal problems in temporal databases C) describing and properly choosing the correct techniques to realize an enterprise decision support system
Prerequisiti/Required background knowledge
Nozioni di base delle basi di dati relazionali, algebra relazionale, SQL
Basic notions about relational databases, relational algebra, SQL
Metodi didattici/Teaching methods
Lezione frontale in aula. Le lezioni frontali contempleranno anche la risposta a quesiti o la risoluzione di esercizi esemplificativi per lo svolgimento dell'esame. Esempi di test d'esame potranno essere forniti agli studenti. Le slide delle lezioni, i testi consigliati, ed altro materiale saranno forniti anche sulla piattaforma DIR, per consentire anche a chi non frequenta di tenersi al passo con lo svolgimento del corso.
Direct lessons in classroom. Classroom lessons will also include example questions or exercises useful for the final test. Example tests can also be provided to students. Slides, textbooks indications and additional material will be provided also through the DIR platform. In this way, the students who do not attend will be allowed to easily follow the course progression.
Modalità di verifica dell'apprendimento/Assessment methods
A) Scritto. Gli studenti devono rispondere a domande generali sul contenuto del corso, e svolgere piccoli esercizi. B) Orale C) Esame scritto. L'esame su questa parte del corso prevede un minimo di 3 domande, che verteranno su argomenti scelti tra: gestione della conoscenza, predizione, ottimizzazione, adattamento. Il voto terra' conto dei risultati parziali ottenuti nelle singole domande. Eventualmente (ad esempio, per richiesta dello studente), la stessa tipologia di esame potra' essere svolta oralmente
A) Written. Students must answer questions and do small exercises -B) Oral examination C) Written test. The test will be composed by three questions at least, focused on different course topics chosen among knowledge management, prediction, optimization, adaptation. The final score will take into account the partial scores of the different questions. Possibly (e.g., on student's request), the same exam type will be executed orally.
Programma esteso/Content
A (Data Warehousing): - Introduzione: obiettivi ed architetture - tecniche per reperire e riconciliare i dati operazionali - linguaggi di query OLAP - modelli e tecniche per l'implementazione del conceptual multidimensional data model in ambito relazionale - NOSQL (cenni) B (ASPETTI TEMPORALI): - tempi di validita' e di transazione - Un approccio generale al tempo nei DB relazionali: TSQL2 - il modello BCDM per la semantica delle basi di dati relazionali temporali - trattamento del tempo in Intelligenza Artificiale (cenni) C (Supporto alle decisioni aziendali): Nel corso l’esposizione sarà organizzata in quattro parti, ciascuna riferita alla realizzazione di uno dei quattro principali moduli che compongono la struttura di un moderno strumento di Business Intelligence: 1. gestione della conoscenza: conoscenza implicita ed esplicita; Rule-based Reasoning e Case-based Reasoning; soluzioni di Case-based Reasoning avanzate (dati in forma di serie temporali, fuzzy CBR, process-oriented CBR); 2. predizione: classificazione, regressione, serie temporali; metodi matematici, basati su distanze, logici, basati su euristiche; metodi ibridi; 3. ottimizzazione: metodi matematici, algoritmi evoluzionistici, ant systems, metodi ibridi; 4. adattamento: tecniche per migliorare le prestazioni del modulo di previsione.
A (Data Warehousing): - Introduction: goals and architectures for Data Warehousing - techniques to collect and reconcile heterogeneous operational data - languages and techniques for the conceptual design of a multidimensional data model - Advanced query languages for OLAP analysis - model and techniques for a relational implementation of the conceptual multidimensional data model – NoSQL (hints) B (Temporal issues): - Validity vs transaction time - TSQL2: a general approach coping with time in relational databases - The BCDM model for the semantics of temporal relational databases - Properties of temporal relational models - Advanced temporal issues and Artificial Intelligence (hints) C (Enterprise decision support): The subject will be organised in four parts, each one referring to the realization of a specific module in a modern Business Intelligence tool architecture: 1. knowledge management: implicit and explicit knowledge; Rule-based Reasoning and Case-based Reasoning; advanced Case-based Reasoning solutions (time series data, fuzzy CBR, process-oriented CBR); 2. prediction: classification, regression, time series; mathematical models, distance-based models, logic models, heuristic models; hybrid methods; 3. optimisation: mathematical methods, evolutionary algorithms, ant systems, hybrid methods; 4. adaptation: techniques to improve the prediction module performances.
Risultati di apprendimento attesi/Intended learning objectives
Gli studenti devono aver acquisito le seguenti conoscenze, competenze, ed abilita': A) - conoscenza delle tecniche per reperire e riconciliare i dati operazionali; - conoscenza generale dei linguaggi di query OLAP e capacita' di formulare query - conoscenza a capacita' di gestione di modelli e tecniche per l'implementazione del conceptual multidimensional data model in ambito relazionale - conoscenza generale di NOSQL (cenni) B) - conoscenza e capacita' di distinguere i tempi di validita' e di transazione - conosceza e capacita' di utilizzare l'approccio TSQL2 al tempo nei DB relazionali - conosceza e capacita' di utilizzare il modello BCDM per la semantica delle basi di dati relazionali temporali - conoscenza delle principali problematiche concernenti il trattamento del tempo in Intelligenza Artificiale (cenni) C) Le competenze da verificare, e necessarie per il superamento del corso, consistono nell'aver appreso i concetti di base relativi a: 1.gestione della conoscenza 2.predizione 3.ottimizzazione 4.adattamento Occorre inoltre essere in grado di dimostrare la capacita' di applicarli nel rispondere a quesiti di teoria, o nello svolgere alcuni esercizi.
Students must acquire the following knowledge, competences, and abilities A) - knowledge about the techniques to retrieve and reconcile operational data sources - general knowledge about OLAP query languages, and ability to formulate OLAP queries - model and techniques for a relational design and implementation of the conceptual multidimensional data model – NoSQL (hints) B) - knowledge and ability to distinguish validity vs transaction time - knowledge and ability to use TSQL2-like approaches to cope with time in relational databases - knowledge and ability to use the BCDM model to model the semantics of temporal relational databases - knowledge about the main issues concerning the treatment of time in Artificial Intelligence (hints) C) Having understood notions of: 1. knowledge management 2. prediction 3. optimisation 4. adaptation described in the lessons; being able to apply such notions in answering theoretic questions as well as exercises.
×
Print
Course
CALCOLABILITA' E COMPLESSITA'
Course ID
S1421
Academic Year
2021/2022
Year of rule
2021/2022
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
EGIDI Lavinia
Teachers
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
B
Year
1
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
Italiano.
Italian.
Contenuti/Content Summary
Il corso di calcolabilità e complessità è una sorta di pausa di riflessione sull'informatica in sé. Non propone tecniche e strumenti per realizzare sistemi e risolvere problemi, ma si concentra sul significato di computazione, attraverso l'analisi dei modelli di calcolo e della loro potenza, e sulla inerente difficoltà dei problemi (non dei singoli algoritmi), mettendoli in relazione dal punto di vista delle risorse che richiedono. In questo corso ci si domanda se con un computer si può fare tutto: la risposta è no, in alcuni casi è proprio impossibile, in altri ci vuole troppo tempo o troppa memoria. Le risposte che si ottengono sono del tutto generali, valide e significative in qualunque ambito dell'informatica. Conoscere i limiti degli strumenti che si adoperano è fondamentale per essere in grado di porsi obiettivi raggiungibili, ridimensionando le richieste, accettando soluzioni approssimate. E gli strumenti, tecnici e cognitivi, che si acquisiscono per questo tipo di studio sono potenti e di ampia applicabilità.
The essence of this course is reasoning about computer science itself. The course doesn't offer techniques and tools to implement systems and solve problems, but it rather concentrates on the meaning of computing, through the analysis of models of computation and of their power, on the inherent hardness of problems (not of single algorithms), relating them to each other from the point of view of the resources they require. The question asked in this course is whether computers can do anything: the answer is no, in some cases computer solving is utterly impossible, in others the time and memory requirements are prohibitive. The answers are completely general, valid and meaningful in any field of computer science. Being aware of the limits of the tools that one uses is essential in order to be able to set reasonable goals, resizing requests as needed, accepting approximate solutions. The technical and cognitive tools acquired in this kind of analysis are powerful and widely applicable.
Testi di riferimento/Textbooks
Testo principale: Thomas A. Sudkamp, Languages and Machines, Pearson International Edition, 2006. Per alcune (poche) parti: C. Papadimitriou, Computational Complexity, Addison-Wesley, 1994. Consultazione, per l’NP-completezza: Garey-Johnson, Computers and Intractability, Freeman, 1979. Del materiale aggiuntivo è fornito sul sito online del corso.
Main text: Thomas A. Sudkamp, Languages and Machines, Pearson International Edition, 2006. For some (few parts): C. Papadimitriou, Computational Complexity, Addison-Wesley, 1994. Reference on NP-completeness: Garey-Johnson, Computers and Intractability, Freeman, 1979. Additional material is provided on the course's online site.
Obiettivi formativi/Mission
Conoscenza e capacità di comprensione: concetto di modello di calcolo, macchine di Turing, concetto di funzione calcolabile, ricorsività e ricorsiva enumerabilità di insiemi, classi di complessità in termini di tempo, P ed NP e loro rapporto, NP-completezza, complessità in termini di spazio; tecniche di simulazione, riduzione e diagonalizzazione; esistenza di problemi non decidibili e di problemi che richiedono troppe risorse di computazione per essere trattati in pratica Capacità di applicare conoscenza e comprensione: -capacità di confrontare modelli di calcolo -capacità di applicare metodologie di analisi della inerente difficoltà dei problemi -in particolare capacità di riconoscere il contesto in cui applicare le tecniche di simulazione, riduzione e diagonalizzazione -capacità di applicare le tecniche descritte in casi semplici. Come effetto collaterale, lo studente consoliderà le proprie competenze di programmazione. Autonomia di giudizio: Lo studente acquisirà strumenti , tecnici e cognitivi, che sono potenti e di ampia applicabilità, e apprenderà a riconoscere i limiti degli strumenti che l'informatico adopera, competenza fondamentale per essere in grado di porsi obiettivi raggiungibili, ridimensionando le richieste, e accettando soluzioni approssimate. Abilità comunicative: Per ottenere tali obbiettivi, lo studente acquisirà un linguaggio formale specifico. Inoltre lo studente migliorerà la propria padronanza della lingua inglese a livello tecnico informatico. Capacità di apprendere: lo studente affinerà il rigore delle proprie capacità di ragionamento logico. Mettendo in discussione l'onnipotenza degli strumenti di calcolo, lo studente avrà un nuovo punto di vista dal quale rivedere quanto appreso fino ad ora. Infine, gli strumenti tecnici e cognitivi che vengono sviluppati in questo corso sono applicabili a tutte le aree dell'informatica e dunque sono un arricchimento a prescindere dalle specifiche nozioni affrontate nel corso.
Knowledge and understanding: concept of model of computation, Turing machine, computable function, recursive and recursively enumerable sets, time complexity classes, P and NP and their mutual relationship, NP-completeness, space complexity; simulation, reduction and diagonalization techniques; existence of undecidable problems and of problems that require too many computational resources to be feasible in practice Applying knowledge and understanding: - comparing models of computation - applying methodologies for analyzing the inherent hardness of problems - in particular: ability to discern the context in which each of the techniques (simulation, reduction and diagonalization) is best applied - ability to apply the mentioned techniques to simple cases As a by-product, students will consolidate their own programming skills. Making judgements:The student will acquire technical and cognitive tools that are powerful and of wide applicability, and will learn to recognize the limits of the tools used by computer scientists; the latter is a fundamental competence to be able to set oneself reachable objectives, appropriately reducing requests and accepting approximate solutions. Communication skills: In order to attain such objectives, the student will acquire a specific formal language. Moreover the students will increase their proficiency in the technical English of computer science. Learning skills: The students will sharpen the rigor of their own logical reasoning skills. Challenging the idea of omnipotence of computational devices, they will have a new point of view from which revisit all that they have learned so far. Finally the technical and cognitive tools developed in this course can be applied to any area of computer science and therefore constitute an enrichment independently of the specific notions around which they were introduced.
Prerequisiti/Required background knowledge
Conoscenza dei concetti fondamentali di programmazione, logica, analisi, e preferibilmente di architetture degli elaboratori e linguaggi formali. Capacità di programmare in Java.
Knowledge of the fundamental concept of programming, logic, analysis, and preferably computer architectures and formal languages. Java programming.
Metodi didattici/Teaching methods
Il corso consta di lezioni teoriche in aula e di attività in laboratorio. L' attività in laboratorio è parte integrante del corso. A lezione vengono presentati in modo formale definizioni e teoremi (con le rispettive dimostrazioni) per comunicare le nozioni, lavorare sul rigore del ragionamento logico e insegnare la terminologia formale. In particolare viene posta enfasi sulle tecniche alla base delle dimostrazioni e dei ragionamenti, confrontandone l'applicazione in vari ambiti, per aiutare lo studente nella concettualizzazione delle stesse e per stimolarli ad acquisirle come strumento di lavoro di utilizzo piú vasto. Inoltre gli studenti vengono incoraggiati a partecipare suggerendo l'applicazione di tecniche, sviluppando il ragionamento con il richiamo di concetti fondamentali e risultati già presentati nel corso. In laboratorio si richiede agli studenti la realizzazione di progetti software per approfondire la comprensione dei modelli studiati e per cogliere fino in fondo il carattere costruttivo delle dimostrazioni di quasi tutti i teoremi presentati durante il corso. La partecipazione in laboratorio trasforma per ciascuno l'eventuale frequenza passiva in esigenza di confrontarsi attivamente con le nozioni e i risultati che si studiano, e specialmente con i ragionamenti seguiti. Sulla piattaforma DIR sono a disposizione: tutte le informazioni pratiche sul corso, indicazioni sui libri di testo e il programma, materiale didattico aggiuntivo, argomenti trattati e indicazioni bibliografiche per ogni singola lezione compilati subito dopo la lezione, specifiche ed eventuale materiale aggiuntivo per l'attività che si svolge in laboratorio. In tal modo, lo studente che frequenta può rivedere e approfondire l'attività di ciascuna lezione; lo studente che non frequenta ha a disposizione tutto il materiale per mantenersi al passo con il corso oppure per prepararsi in autonomia. Poiché il libro di testo consigliato è in inglese, lo studio sarà per lo studente uno strumento per migliorare la propria padronanza del linguaggio tecnico informatico in inglese.
The course consists of theoretical classes and hands on activity in lab. In class definitions and theorems (with proofs) are presented formally in order to communicate to students the notions, to work on the rigor of reasoning and to teach the formal terminology. In particular the techniques on which proofs are based are emphasized, and their applications in different areas are compared; this serves the double aim of helping the students to conceptualize these techniques and of stimulating them to acquire the techniques as a tool for wider usage. Moreover the students are encouraged to participate suggesting the application of techniques, developing reasoning by recalling fundamental concepts and results previously presented in the course. In lab the students are requested to realize software projects in order to understand in depth the models studied and in order to fully comprehend the constructive character of almost all the proofs of the theorems presented in this course. Participation to lab activity replaces the possibly passive attendance to classes with a necessity to actively measure oneself with the notions and the results studied and especially with the arguments presented. On the DIR platform students find: all the practical information on the course, information on textbooks and the program, additional didactic material, for each class the subject treated and bibliographic references (written soon after the class), specifics and if necessary additional material for the activity in lab. This way, students that attend classes can review and consolidate subjects presented in class or activities proposed in lab; students that don't attend classes can keep abreast of the course or study autonomously. Since the recommended textbook is in English, preparing for the exam will give the students the possibility to practice the technical language of computer science.
Altre informazioni/Further information
L'attività in laboratorio richiede una partecipazione attiva e individuale degli studenti e li induce a porsi dei quesiti (e spesso di conseguenza a porne al docente); in tal modo permette una regolare verifica del modo in cui gli argomenti vengono recepiti. L'attività prevede principalmente sviluppo in linguaggio Java: quindi al di là delle funzioni ai fini degli obiettivi formativi specifici del corso, è in generale per gli studenti un ulteriore momento per consolidare le proprie competenze di programmazione e per affinare le proprie capacità di utilizzo del linguaggio Java.
Hands-on activity requires active participation of the students, and leads the latter to ask themselves questions (and, as a consequence, often to ask questions to the instructor); this way it allows a regular monitoring of the way the subject is being understood. The activity in lab fundamentally requires programming in Java: therefore, beyond its importance as a means to reach the formative objectives of the course, it is in general an additional moment to consolidate the students' programming skills and to refine their competences as Java programmers.
Modalità di verifica dell'apprendimento/Assessment methods
Esame orale L'esame orale consta in media di tre domande: una generale introduttiva sui metodi formali, una su argomenti di calcolabilità e una riguardante argomenti di complessità. Lo scopo è verificare che lo studente abbia compreso i concetti fondamentali e li sappia esporre con proprietà di linguaggio, e abbia acquisito gli strumenti metodologici e li sappia applicare. Pertanto viene richiesto da una parte di esporre definizioni e dimostrazioni, e dall'altra di ragionare su contesti leggermente modificati o di fare collegamenti tra argomenti diversi trattati nel corso, o di applicare le tecniche apprese a problemi visti durante il corso o simili. Durante il colloquio si verifica anche il livello di formalità raggiunto dallo studente nell'espressione e nel ragionamento. Il numero di domande poste all'orale è puramente indicativo perché, a seconda del modo in cui lo studente risponde (formalità, chiarezza, completezza, precisione,...), possono essere necessarie piú domande o ne possono bastare meno per verificare che gli obiettivi formativi siano stati raggiunti.
Oral exam The oral exam consists normally of three questions: one general introductory question on formal methods, one more specific on computability aspects and the third on complexity. The goal is to ascertain whether the student has understood the fundamental concepts and can present them with a formal language, and has acquired the methodological instruments and can apply them. Therefore, on one hand the student is requested to present definitions and proofs, and on the other hand the student must reason on slightly modified contexts or explore connections among different parts of the course. During the interview the level of formality, both in expression and reasoning, is also ascertained. The number of questions can vary, depending on the quality of the answers (with respect to clarity, completeness, precision, formality,...), since the final aim is to ascertain that the formative objectives have been reached.
Programma esteso/Content
Introduzione alla calcolabilità: La prima parte di programma è volta all'acquisizione di tecniche formali e di strumenti per l'analisi e la formalizzazione del concetto di calcolabilità (Macchine di Turing, definizioni formali e funzionamento. Confronto di modelli diversi di macchina. Tecnica di simulazione. Funzioni calcolabili secondo Turing.) Segue una formalizzazione basilare di classi di difficoltà di problemi in base ad aspetti puramente di calcolabilità, senza tenere conto di limiti di risorse (Insiemi ricorsivi e ricorsivamente enumerabili. Enumeratori.). Il disorso prosegue con risultati generali e fondamentali che, nel seguire l'evoluzione storica, forniscono un primo raccordo con il mondo dell'informatica attuale (Tesi di Church, Codifica di macchine di Turing e macchina universale). Seguono risultati negativi che sottolineano i limiti degli strumenti informatici e vengono contestualmente forniti strumenti per l'estensione di tali risultati negativi (Diagonalizzazione, Esistenza di funzioni non calcolabili, Dimostrazioni del fatto che un insieme non è ricorsivo o non è ricorsivamente enumerabile, Indecidibilità, problema dell'HALT, riduzioni e teorema di Rice). Infine, la parte di calcolabilità si conclude rapportando gli strumenti e i risultati appresi, ad aspetti dell'informatica che si usano tutti i giorni o noti agli studenti da altri corsi (Importanza del costrutto "while" nei linguaggi di programmazione, Confronto di macchine di Turing con modelli di calcolo piú deboli (automi a stati finiti e a pila), grammatiche illimitate e dipendenti da contesto e ricorsività). Introduzione alla complessità strutturale: la parte di complessità relativizza l'analisi e la formalizzazione fatte precedentemente, nonché gli strumenti introdotti, ad una situazione piú realistica in cui le risorse sono limitate; si focalizza in particolare sul rapporto tra la difficoltà di problemi, e il significato delle classi di complessità nondeterministiche. (Misure di complessità, modelli e rappresentazione di problemi. Teorema di accelerazione lineare. Macchine di Turing non deterministiche, significato di non determinismo. Le classi P ed NP, problemi in NP, riduzioni polinomiali, NP-completezza, SAT e il teorema di Cook. Complessità in termini di spazio, relazioni tra complessità in termini di spazio e tempo, e spazio non deterministico e tempo; teorema di Savitch. Esistenza di problemi di complessità arbitraria, teoremi della gerarchia e funzioni time e space constructible.)
Introduction to Computability: The first part of the course aims at the acquisition of formal techniques and analysis tools, and to the formalization of the concept of computability (Turing Machines, formal definitions and operation. Comparison of different machine models. Simulation technique. Turing computable functions). Following, the course offers a basilar formalization of classes of hardness of problems, based solely on computability aspects, with no reference to resource limitations. (Recursive and recursively enumerable sets. Enumerators). Then the presentation moves to general results and, following the track of historical evolution, gives a first connection to present-day computer science (Church thesis, Turing machines coding and universal Turing machine). Then negative results underline the limits of computer science tools; moreover tools for the extension of such negative results are provided (Diagonalization. Existence of non computable functions. Proofs that sets are not enumerable or not recursively enumerable. Undecidability, Halting problem and reductions). The introduction to computability is concluded relating the tools and results learned to every-day computer science or to subjects known to students from other courses (Importance of the "while" construct in programming languages. Comparison of Turing machines with weaker models of computation, such as finite state and pushdown automata, unrestricted and context sensitive grammars, and recursivity). Introduction to structural complexity: The second part of the course relativizes the analysis and the formalization carried out in the introduction to computability, to a more realistic situation in which resources are limited; it focuses in particular on the relation among classes of problems distinguished in terms of computational hardness, and on the meaning of nondeterministic classes. (Complexity measures, models and problem representation. Linear speedup theorem. Non deterministic Turing machines and the meaning of non determinism. Classes P and NP, problems in NP, polynomial time reductions, NP-completeness, SAT and Cook's theorem Space complexity, deterministic space vs. deterministic time, non deterministic space vs. time; Savitch's theorem. Existence of problems of arbitrary complexity and hierarchy theorems, time and space constructible functions).
Risultati di apprendimento attesi/Intended learning objectives
Dare una definizione formale di macchina di Turing. Spiegare il significato di modello di calcolo. Descrivere la tecnica di simulazione. Applicare la tecnica su specifiche variazioni di macchina di Turing, e sul rapporto tra macchine di Turing e grammatiche formali. Definire e spiegare i concetti di funzione calcolabile, insiemi ricorsivi e ricorsivamente enumerabili. Presentare e discutere le tecniche per dimostrare la non ricorsività o la non ricorsiva enumerabilità di un insieme. Enunciare e spiegare il significato della Tesi di Church. Definire le classi di complessità in termini di tempi e di spazio. Definire e spiegare il significato di non determinismo. Definire il concetto di NP-completezza e la sua importanza. Analizzare il rapporto tra classi di complessità in funzione della variazione di risorse. Enunciare, spiegare e dimostrare i teoremi presentati a lezione. Analizzare la funzione delle specifiche ipotesi nei teoremi presentati a lezione. Mostrare applicazioni della tecnica di riduzione nell'opportuno ambito di utilizzo nel mondo della calcolabilita e in quello della complessità. Mostrare applicazioni della tecnica di diagonalizzazione nell'opportuno ambito di utilizzo nel mondo della calcolabilita e in quello della complessità. Proporre la tecnica giusta da utilizzare in una particolare variazione di qualche problema visto a lezione.
Give a formal definition of Turing machine. Explain the meaning of computational model. Describe the simulation technique. Apply simulation to specific variations of Turing machines and on Turing machines with respect to formal grammars. Define and explain the concepts of computable function, recursive and recursively enumerable sets. Present and discuss the technique to prove non recursivity or non recursive enumerability of a set. State and explain the meaning of Church's Thesis. Define time and space complexity classes. Define and explain the concept of non determinism. Define the concept of NP-completeness and its importance. Analyze the relationship between complexity classes as a function of amounts of resources. State, explain and prove the theorems presented in class. Analyze the function of specific hypothesis in the theorems presented in class. Show an application of the reduction technique in the appropriate area of usage in computability or complexity. Show an application of the diagonalization technique in the appropriate area of usage in computability or complexity. Propose the right technique to be used on a specific variation of some problem seen in class,
×
Print
Course
COMPUTATIONAL STATISTICS
Course ID
MF0410
Academic Year
2021/2022
Year of rule
2021/2022
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
FERRERO Enrico
Teachers
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
MAT/06 - PROBABILITÀ E STATISTICA MATEMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
C
Year
1
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Nozioni avanzate di probabilità e statistica. Processi markoviani. Linguaggio di programmazione R
Advanced notions of probability and statistics. Markov processes. Programming language R
Testi di riferimento/Textbooks
Dispense del docente, Papoulis A. (1991) Probability, Random Variables and Stochastic Processes, Third edition, McGraw-Hill International Gardiner C.W. (1990) Handbook of Stochastic Methods, Springer-Verlag Iacus, Masarotto "Statistica con R" (2003) Mc Graw Hill
Dispense del docente, Papoulis A. (1991) Probability, Random Variables and Stochastic Processes, Third edition, McGraw-Hill International Gardiner C.W. (1990) Handbook of Stochastic Methods, Springer-Verlag Iacus, Masarotto "Statistica con R" (2003) Mc Graw Hill
Obiettivi formativi/Mission
Capacità di sviluppare modelli stocastici
Ability to develop stochastic models
Prerequisiti/Required background knowledge
Corsi di base di matematica e statistica
Basic mathematics and statistics courses
Metodi didattici/Teaching methods
Lezioni frontali ed esercitazioni
Frontal lessons and exercises
Altre informazioni/Further information
Nessuna
No other information
Modalità di verifica dell'apprendimento/Assessment methods
Relazione sulle esercitazioni svolte e risultati delle elaborazioni statistiche
Report on the exercises carried out and the results of the statistical elaborations
Programma esteso/Content
Vettori e successioni di variabili casuali. Generalità e definizioni, trasformazioni, valori attesi, funzioni caratterische, convergenza stocastica, teoremi limite. Processi stocastici: concetti generali, sistemi senza memoria, sistemi lineari, spettri di potenza, random walk, moto Browniano, segnali deterministici nel rumore, Processi di Markov, generalità, Processi omogenei, Equazione di Chapman Kolmogorov, Catene di Markov a tempo discreto, catene a tempo continuo, processi continuo, equazione di diffusione, equazione di Fokker-Planck. Esercitazioni con R
Vectors and sequences of random variables. Generalities and definitions, transformations, expected values, characteristic functions, stochastic convergence, limit theorems. Stochastic processes: general concepts, systems without memory, linear systems, power spectra, random walk, Brownian motion, deterministic signals in noise, Markov processes, generalities, homogeneous processes, Chapman Kolmogorov equation, Markov time discrete chains, chains continuous time, continuous processes, diffusion equation, Fokker-Planck equation. Exercises with R
Risultati di apprendimento attesi/Intended learning objectives
Capacità di elaborare dataset statistici e realizzazioni di modelli basati su processi stocastici
Ability to elaborate statistical datasets and realizations of models based on stochastic processes
×
Print
Course
INTELLIGENZA ARTIFICIALE E SUPPORTO INTELLIGENTE ALLE DECISIONI
Course ID
MF0293
Academic Year
2021/2022
Year of rule
2021/2022
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
PORTINALE Luigi
Teachers
CFU
9
Teaching duration (hours)
72
Individual study time
153
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OPZ
Course category
B
Year
1
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Il corso completo di INTELLIGENZA ARTIFICIALE E SUPPORTO ALLE DECISIONI si compone di due moduli: Intelligenza Artificiale (6 CFU) e Sistemi Intelligenti di Supporto alle Decisioni (3 CFU). Nel seguito le informazioni relative ai singoli moduli vengono riportate separatamente (considerare solo quelle del modulo a cui si e' interessati) INTELLIGENZA ARTIFICIALE: Algoritmi di ricerca nello spazio degli stati; Sistemi di ragionamento basato su casi; Rapresentazione di conoscenza incerta: probabilita' e Reti Bayesiane, Teoria delle decisioni e Diagrammi di Influenza. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Richiami di teoria delle decisioni; Utilita’ multi-attributo; Diagrammi di influenza; Decisioni one-shot e sequenziali; Decision-theoretic planning (Markov Decision Processes).
The course is composed by two modules: Artificial Intelligence (6 CFU) and Intelligent Decision Support Systems (3 CFU). Please consider only the information of the module you are interested in. ARTIFICIAL INTELLIGENCE State space search; Case-Based Reasoning; Uncertain knowledge representation: probability theory and Bayesian Networks; Introduction to Decision Theory. INTELLIGENT DECISION SUPPORT SYSTEMS Decision Theory, Multi-attribute utility, Influence diagrams, One-shot and sequential decisions, Decision-theoretic planning (Markov Decision Processes)
Testi di riferimento/Textbooks
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3a edizione), Prentice-Hall. Traduzione italiana pubblicata da Pearson Education.
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3rd edition), Prentice-Hall.
Obiettivi formativi/Mission
INTELLIGENZA ARTIFICIALE: Introdurre le nozioni fondamentali dell’Intelligenza artificiale. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Modellare processi decisionali one-shot e sequenziali
ARTIFICIAL INTELLIGENCE: To introduce the fundamentals notions of AI systems INTELLIGENT DECISION SUPPORT SYSTEMS: Modeling one-shot and sequential decision processes
Prerequisiti/Required background knowledge
INTELLIGENZA ARTIFICIALE: ASD-I e ASD-II (consigliati), Calcolo delle Probabilita’ (consigliato). SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Intelligenza artifciale Calcolo delle probabilita'
ARTIFICIAL INTELLIGENCE: Suggested: Algorithms I and II, Probability and Statistics. INTELLIGENT DECISION SUPPORT SYSTEMS: Artificial Intelligence, Probability
Metodi didattici/Teaching methods
Lezioni frontali in aula, esercitazioni tramite piattaforma Moodle, uso di strumenti software.
Lectures and exercises using Moodle and software tools.
Altre informazioni/Further information
Disponibili registrazioni lezioni in aula e video lezioni
Video lectures available
Modalità di verifica dell'apprendimento/Assessment methods
INTELLIGENZA ARTIFICIALE: Esame scritto integrato da eventuale esame orale. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Discussione di un progetto individuale
ARTIFICIAL INTELLIGENCE: Written and oral (not mandatory) exam INTELLIGENT DECISION SUPPORT SYSTEMS: Oral discussion of a project
Programma esteso/Content
INTELLIGENZA ARTIFICIALE: Introduzione e cenni storici sull'AI. Ricerca nello spazio degli stati: ricerca path-based cieca ed euristica. L'algoritmo A*. Algoritmi di miglioramento iterativo: hill-climbing e simulated annealing; Cenni su problemi CSP. Algoritmi per giochi a 2 concorrenti: minimax e alfa/beta pruning. Rappresentazione della conoscenza: cenni su formalismi logici e a regole. Sistemi di Case-Based Reasoning; Conoscenza Incerta: richiami di calcolo delle probabilità. Bayesian Belief Networks (proprietà ed algoritmi) e uso di tool per il loro sviluppo (Genie, Hugin, ecc...). Introduzione alla Teoria delle decisioni. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Richiami di teoria delle decisioni. Utilita’ multi-attributo. Diagrammi di influenza Decisioni one-shot e sequenziali Decision-theoretic planning (Markov decision processes).
ARTIFICIAL INTELLIGENCE: Introduction and history of AI State space search: path-based blind and heuristic search. A* algorithm. Iterative improvement algorithms: hillclimbing and simulated annealing CSP problems Two players games: minimax and alpha/beta pruning Knowledge representations: hints on logical formalism. Case-Based Reasoning systems; the CBR-Works tool. Uncertain knowledge: probability theory, Bayesian Networks (properties and algorithms); BN tools (Genie, Hugin, etc...). Fundamentals of Decision theory. INTELLIGENT DECISION SUPPORT SYSTEMS: Decision Theory Multi-attribute utility Influence diagrams One-sot and sequential decisions Decision-theoretic planning (Markov Decision Processes)
Risultati di apprendimento attesi/Intended learning objectives
INTELLIGENZA ARTIFICIALE: conoscere gli algoritmi di ricerca principali usati nell' IA, saper rappresentare conoscenza in sistemi intelligenti, conoscere gli algoritmi di inferenza tipici dei sistemi intelligenti moderni. SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Saper modellare ed analizzare processi decisionali one-shot e sequenziali tramite modelli grafico-probabilistici
ARTIFICIAL INTELLIGENCE: to know main AI search algorithms, to be able to represent knowledge in intelligent systems, to know the main inference algorithms adopted in intelligent systems. INTELLIGENT DECISION SUPPORT SYSTEMS: being able to model ad analyze one-shot and sequential decision processes, using probabilistic graphical models.
×
Print
Course
INFORMATION RETRIEVAL
Course ID
MF0287
Academic Year
2021/2022
Year of rule
2021/2022
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
RUFFO Giancarlo Francesco
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
B
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Introduzione agli algoritmi principali e alle strutture dati per il recupero dei documenti, facenti parte di una collezione di grandi dimensioni, che soddisfano un determinato bisogno informativo. Introduzione ai modelli principali agli strumenti di analisi basata sui dati che consentono lo studio di un sistema complesso rappresentato nei termini di una rete.
Introduction to the main algorithms and data structures for the retrieval, within a large collection, of the documents that satisfy an information need. Introduction to the main models and data driven analytical tools that allow the understanding of a complex system represented by means of a network.
Testi di riferimento/Textbooks
[ir] C. D. Manning, P. Raghavan and H. Schütze, Introduction to Information Retrieval, Cambridge University Press. 2008 [ns] F. Menczer, S. Fortunato & C. Davis, A First Course in Network Science, Cambridge University Press. 2020
[ir] C. D. Manning, P. Raghavan and H. Schütze, Introduction to Information Retrieval, Cambridge University Press. 2008 [ns] F. Menczer, S. Fortunato & C. Davis, A First Course in Network Science, Cambridge University Press. 2020
Obiettivi formativi/Mission
Conoscenza e comprensione: algoritmi e strutture dati di base per information retrieval e analisi di reti complesse Conoscenza applicata e comprensione: gli studenti saranno in grado di implementare ed usare un sistema di information retrieval e allo stesso modo sapranno analizzare dati presentati sotto forma di una rete, usando strumenti di pubblico dominio Effettuare valutazioni: gli studenti saranno in grado di esprimere in maniera autonoma una valutazione sulle tecniche più idonee per risolvere un generico problema di information retrieval e di scienza delle reti Capacità comunicative: Gli studenti impareranno a comunicare ed a giustificare l’uso delle tecniche più appropriate per la soluzione di un dato problema Capacità di apprendimento: gli studenti saranno in grado di apprendere in modo autonomo come raffinare le tecniche di base che impareranno durante il corso e a come usare al meglio gli strumenti disponibili
Knowledge and understanding: basic algorithms and data structures for Information Retrieval and Complex Networks Analysis. Applying knowledge and understanding: students will be able to build and use an information retrieval system, as well as analysing networked data, using available open source tools. Making judgements: students will be able to autonomously evaluate the best techniques to solve infomation retrieval and network science problems. Communication skills: students will learn to communicate and justify the use of the appropriate technique for a given problem. Learning skills: students will be able to autonomously learn how to refine basic techniques and how to best use the available tools.
Prerequisiti/Required background knowledge
Corsi avanzati di programmazione ed algoritmi; basi di algebra lineare, calcolo delle probabilità e statistica.
Advanced courses on Computer Programming and Algorithms; basics on linear algebra, probability theory and statistics.
Metodi didattici/Teaching methods
Lezioni frontali ed esercitazioni di laboratorio al computer
Standard lectures and computer lab sessions
Altre informazioni/Further information
Monitoraggio del processo di apprendimento: durante l’insegnamento gli studenti interagiranno con il docente per la soluzione di esercizi e di compiti di laboratorio
Monitoring the learning process: during the course the students will interact with the teacher to solve exercises and lab assignments.
Modalità di verifica dell'apprendimento/Assessment methods
Esame orale
Oral exam
Programma esteso/Content
Information Retrieval: liste di posting. Costruzione e compressione degli indici. Modello a spazi vettoriali. Valori di rilevanza. Valutazione di un sistema di information retrieval. Classificazione di testo. Tecniche di clustering. Basi di ricerca su Web. Crawling ed indicizzazione su Web. Analisi basata sui collegamenti. Scienza delle reti: introduzione alla teoria dei grafi; fenomeno dei piccoli mondi; hub; reti; dirette e non dirette; modelli di rete; individuazione di comunità; reti dinamiche.
Informaton Retrieval: Postings lists; Index construction and compression; Vector space model. Relevance scores; Evaluation of information retrieval systems; Text classification; Clustering techniques; Web search basics; Web crawling and indexes; Link analysis. Network Science: Introduction to networks Graph Theory; Small worlds; Hubs; Directed and Weighted networks; Network models; Community detection; Network Dynamics.
Risultati di apprendimento attesi/Intended learning objectives
Il raggiungimento, misurato in base ad un voto finale, degli obiettivi formativi
The achievement, up to a degree measured by grades, of the learning goals.
×
Print
Course
FONDAMENTI DI LINGUAGGI DI PROGRAMMAZIONE
Course ID
S1422
Academic Year
2021/2022
Year of rule
2021/2022
Degree
INFORMATICA
Curriculum
CORSO GENERICO
Teaching leader
GIANNINI Paola
Teachers
CFU
6
Teaching duration (hours)
48
Individual study time
102
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
B
Year
1
Period
Primo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
Italiano.
Italian.
Contenuti/Content Summary
Introduzione alla programmazione multiparadigma, alla definizione della semantica statica e dinamica dei linguaggi di programmazione e alla loro relazione.
Introduction to multiparadigm programming, and the definition of the static and dynamic semantics of programming languages ​​with their relationship.
Testi di riferimento/Textbooks
Pierce, Types and Programming Languages, The MIT Press.  Programming in Scala, Odersky, spoon and Venners, Artima (third edition). Documentazione su Scala presente in rete. Lucidi usati dal docente.
Pierce, Types and Programming Languages, The MIT Press.  Programming in Scala, Odersky, spoon and Venners, Artima (third edition). Scala documentation available on the net. Slides used by the teacher.
Obiettivi formativi/Mission
Conoscenza e capacità di comprensione: lo studente deve acquisire familiarità con i metodi formali di descrizioni della semantica dei linguaggi di programmazione ed essere in grado di programmare nel linguaggio Scala. Capacità di applicare conoscenza e comprensione: lo studente deve essere in grado di modellare la semantica statica e dinamica di costrutti di linguaggi programmazione e descriverne l’interazione. Deve inoltre essere in grado di usare in modo appropriato i costrutti di un linguaggio di programmazione. Autonomia di giudizio: lo studente essere in grado di scegliere, motivandone la ragione, il paradigma di programmazione più appropriato per la soluzione di un problema. Abilità comunicative: lo studente deve saper esprimere e motivare anche in forma scritta le proprie scelte. Capacità di apprendere: lo studente deve essere in grado di imparare facilmente un nuovo linguaggio di programmazione, discriminandone gli aspetti fondamentali da quelli meramente sintattici.
Knowledge and understanding: the student must become familiar with the formal methods for the description of the semantics of programming languages and being able to program in the Scale language. Applying knowledge and understanding: the student should be able to model the static and dynamic semantics of programming languages constructs and to describe their interaction. Moreover, he/she should be able to use in an appropriate way the construct of a programming language. Making judgments: the student should be able to choose, motivating the reasons, the programming paradigm most appropriate for solving a specific problem. Communication skills: the student must be able to express and motivate his/her own choices orally and in writing. Learning skills: the student must be able to learn easily a new programming language by discriminating its fundamental aspects from the merely syntactic ones.
Prerequisiti/Required background knowledge
Familiarità con il linguaggi di programmazione acquisita nei corsi triennali di programmazione e programmazione ad oggetti. 
Familiarity with programming in the imperative and object oriented paradigms.
Metodi didattici/Teaching methods
Lezioni che introducono i concetti teorici e esercitazioni in presenza. La parte sul linguaggio Scala sara' svolta in laboratorio con lezioni e esercitazioni combinate.
Lessons introducing theoretical concepts and face-to-face exercises. The part on Scala language will be carried out in the laboratory with combined lessons and exercises.
Altre informazioni/Further information
Lo studente deve acquisire familiarità con i metodi formali di descrizioni della semantica dei programmi sia dal punto di vista statico che dinamico, questo viene controllato mediante la risoluzione di esercizi che vengono proposti durante il corso. 
The student should become familiar with the methods of formal descriptions of the semantics of programs, both in terms of static and dynamic, this is controlled by the resolution of exercises that are offered during the course.
Modalità di verifica dell'apprendimento/Assessment methods
Esame scritto con 5 o 6 esercizi che coprono i contenuti svolti durante il corso e le esercitazioni. La valutazione complessiva terra' conto dei punteggi parziali conseguiti nei singoli esercizi pesati a seconda della loro difficolta'. Inoltre si richiede lo svolgimento di 6-7 esercizi in Scala che coprono i concetti introdotti in classe. La valutazione complessiva sara' per 80% data dallo scritto e per il 20% dagli esercizi Scala.
Written exam composed of 5 or 6 exercises on the topics presented during the lessons and the exercise sessions. The final grade will be given on the basis of the partial scores achieved in the individual exercises weighted on their difficulty. Moreover, it is required to has written and run 6-7 Scala programs covering the concepts introduced in class. The overall evaluation will be 80% given by the writing and 20% by the Scala exercises.
Programma esteso/Content
Nella prima parte del corso verranno introdotte le tecniche di descrizione della semantica, statica e dinamica, dei linguaggi di programmazione funzionali e ad oggetti. Per quanto riguarda la semantica dinamica verra' introdotta la semantica operazionale strutturata che permette di descrivere in modo astratto l'esecuzione dei programmi. Per la semantica statica verrano introdotti i sistemi di tipo che permettono di controllarne staticamente alcune interessanti proprietà. In questo modo verranno descritti i costrutti dei linguaggi quali espressioni, funzioni, computazioni lazy, costrutti imperativi ed oggetti. Si passera' poi a vedere queste tecniche applicate a una parte significativa del linguaggio Scala , che integra i paradigmi funzionale e ad oggetti. Inoltre verranno svolti esercizi che esemplificano le principali caratteristiche che rendono Scala un linguaggio sicuro ed adatto alle computazioni su Big Data.
In the first part of the course the techniques of description of the semantics, static and dynamic, of functional and object-oriented programming languages will be introduced. As far as dynamic semantics are concerned, structured operational semantics will be introduced which allows to describe in an abstract way the execution of programs. For static semantics, type systems will be introduced which allow us to statically control some interesting properties. In this way, language constructs such as expressions, functions, lazy computations, imperative constructs and objects will be described. We will then move on to see these techniques applied to a significant part of the Scala language, which integrates functional and object-oriented paradigms. In addition, exercises will be carried out that exemplify the main characteristics that make Scala a safe language suitable for computations on Big Data.
Risultati di apprendimento attesi/Intended learning objectives
Abilità di modellare formalmente la semantica di costrutti di linguaggi, con particolare enfasi alla relazione fra semantica statica e semantica dinamica. Uso appropriato degli aspetti muti-paradigna del linguaggio Scala e capacità di riconoscere queste caratteristiche anche in altri linguaggi.
Ability to describe formally the semantics of programming languages constructs, with particular emphasis on the relationship between static semantics and dynamic semantics. Appropriate usage of the mute-paradigm aspects of the Scala programming language and ability to recognize these features in other languages as well.
Print guide
Print
Year Course ID Course Teachers SSD Curriculum Site CFU
1 MF0057 Artificial Intelligence Portinale Luigi INF/01 All ALESSANDRIA 6
1 MF0293 Artificial Intelligence and Intelligent Decision Support Systems Portinale Luigi INF/01 All ALESSANDRIA 9
1 MF0288 BUSINESS INTELLIGENCE: DATA WAREHOUSE, TEMPORAL ASPECTS AND DECISION SUPPORT Terenziani Paolo, Montani Stefania INF/01 All ALESSANDRIA 9
1 MF0289 BUSINESS INTELLIGENCE: TEMPORAL ASPECTS AND DECISION SUPPORT Terenziani Paolo, Montani Stefania INF/01 All ALESSANDRIA 6
1 S1421 COMPUTABILITY AND COMPLEXITY Egidi Lavinia INF/01 All ALESSANDRIA 6
1 MF0378 COMPUTATIONAL BIOLOGY Mignone Flavio BIO/11 All ALESSANDRIA 3
1 MF0410 Computational statistics Ferrero Enrico MAT/06 All ALESSANDRIA 6
1 MF0409 Cyber Security 2 Anglano Cosimo Filomeno INF/01 All ALESSANDRIA 6
1 S1422 FOUNDATIONS OF PROGRAMMING LANGUAGES Giannini Paola INF/01 All ALESSANDRIA 6
1 MF0291 Foundations of semantic web and declarative problem solving Giordano Laura, Theseider Dupre' Daniele INF/01 All ALESSANDRIA 6
1 MF0294 HIGH PERFORMANCE COMPUTING Anglano Cosimo Filomeno, Canonico Massimo INF/01 All ALESSANDRIA 6
1 MF0287 INFORMATION RETRIEVAL Ruffo Giancarlo Francesco INF/01 All ALESSANDRIA 6
1 S1429 Intelligent Decision Support System Portinale Luigi INF/01 All ALESSANDRIA 3
1 MF0459 Knowledge representation and computational logic Giordano Laura, Theseider Dupre' Daniele INF/01 All ALESSANDRIA 9
1 S0596 MULTIMEDIA SYSTEMS Leonardi Giorgio INF/01 All ALESSANDRIA 6
1 S0515 NUMERICAL ANALYSIS Aceto Lidia MAT/08 All ALESSANDRIA 6
2 MF0378 COMPUTATIONAL BIOLOGY Mignone Flavio BIO/11 All ALESSANDRIA 3
2 MF0409 Cyber Security 2 Anglano Cosimo Filomeno INF/01 All ALESSANDRIA 6
2 MF0376 DATA MINING FOR EXPERIMENTAL DATA Robotti Elisa CHIM/01 All ALESSANDRIA 6
2 MF0374 DEEP LEARNING Portinale Luigi INF/01 All ALESSANDRIA 3
2 S0069 Final proof PROFIN_S All ALESSANDRIA 37
2 MF0287 INFORMATION RETRIEVAL Ruffo Giancarlo Francesco INF/01 All ALESSANDRIA 6
2 MF0292 MACHINE LEARNING Portinale Luigi INF/01 All ALESSANDRIA 6
2 MF0375 MACHINE LEARNING AND DEEP LEARNING Portinale Luigi INF/01 All ALESSANDRIA 9
2 MF0168 Performance Evaluation Franceschinis Giuliana Annamaria INF/01 All ALESSANDRIA 6
Data synched: 16/07/2023, 01:05