Obiettivi formativi OBIETTIVI GENERALI
Insegnare agli studenti le leggi fondamentali della fisica e la loro applicazione a situazioni del mondo reale.
Sviluppare le abilità di problem solving, descrivendo i fenomeni fisici sia attraverso la formulazione matematica sia mediante l’intuizione fisica.
OBIETTIVI SPECIFICI
Conoscenza e comprensione
Conoscere le nozioni di base della meccanica newtoniana, della fisica dei fluidi, della termodinamica, dell’elettricità e del magnetismo.
Conoscere i concetti fondamentali di forza, momento della forza, lavoro, energia potenziale, energia cinetica, energia meccanica, potenza, impulso, quantità di moto e momento angolare.
Conoscere alcune leggi di conservazione della fisica e la loro importanza.
Conoscere i concetti di temperatura, calore ed entropia applicati a semplici sistemi termodinamici.
Conoscere i concetti di campo elettrico e potenziale, campo magnetico e correnti elettriche.
Comprendere il testo di un esercizio di fisica.
Capacità applicative
Lo studente sarà in grado di risolvere una grande varietà di problemi di fisica, formalizzando la loro soluzione dal punto di vista matematico.
Sarà inoltre in grado di risolvere problemi in modo coerente, sia dal punto di vista formale che quantitativo, e di valutare gli effetti dominanti in un problema fisico.
Saprà applicare le leggi di Newton per descrivere il moto di un punto materiale, di sistemi di punti e la rotazione dei corpi rigidi.
Sarà in grado di risolvere problemi di dinamica utilizzando i concetti di lavoro, energia cinetica, energia potenziale ed energia meccanica.
Saprà utilizzare la conservazione dell’energia, della quantità di moto e del momento angolare in un’ampia gamma di situazioni.
Sarà in grado di risolvere semplici problemi di statica e dinamica dei fluidi.
Saprà affrontare semplici problemi riguardanti l’energia termica utilizzando il primo principio della termodinamica.
Sarà in grado di descrivere il significato del concetto di entropia e della seconda legge della termodinamica.
Saprà descrivere i campi elettrici e il loro potenziale nel caso di cariche stazionarie.
Sarà in grado di descrivere i campi magnetici generati da correnti stazionarie e i fenomeni legati all’induzione elettromagnetica.
Capacità critiche e di giudizio
Sarà in grado di stabilire se una relazione tra grandezze fisiche o una legge sia corretta anche dal punto di vista dimensionale.
Svilupperà capacità di ragionamento quantitativo e analitico utili per studiare, modellizzare e comprendere problemi di fisica.
Capacità comunicative
Sarà in grado di parlare di fisica utilizzando una terminologia appropriata.
Saprà descrivere un problema complesso, isolandone i contributi più rilevanti.
Capacità di apprendimento
Avrà la capacità di consultare testi di fisica e comprenderne i contenuti.
|
Obiettivi formativi Obiettivi formativi
Il corso fornisce agli studenti le conoscenze fondamentali sul funzionamento dei sistemi di elaborazione moderni, dal software di base che gestisce le risorse di un singolo calcolatore fino ai protocolli che permettono la comunicazione tra host attraverso Internet. Il corso è articolato in due parti integrate. La prima parte è dedicata ai sistemi operativi e affronta l'organizzazione e i servizi del sistema operativo, la gestione dei processi e dei thread, lo scheduling della CPU, la sincronizzazione e la concorrenza, la gestione della memoria e della memoria virtuale, il file system e la gestione dell'I/O e delle periferiche di memorizzazione. La seconda parte è dedicata alle reti di calcolatori e all'architettura di Internet, con particolare attenzione allo stack protocollare TCP/IP, ai principali protocolli e meccanismi che permettono la comunicazione tra host, l'instradamento dei pacchetti, il controllo dell'affidabilità e della congestione, la risoluzione dei nomi e l'accesso al mezzo nelle reti locali e wireless. Verranno inoltre presentati protocolli di trasporto moderni, tra cui QUIC, evidenziandone il ruolo nell'evoluzione dell'architettura di Internet. Il corso prevede anche attività pratiche finalizzate alla comprensione del comportamento del sistema operativo e alla configurazione, osservazione e analisi di reti e protocolli.
Conoscenza e capacità di comprensione
Al termine del corso, lo studente avrà acquisito una conoscenza solida dei principi alla base dei sistemi operativi e delle reti di calcolatori. Per quanto riguarda i sistemi operativi, comprenderà il ruolo del sistema operativo come gestore delle risorse e come interfaccia tra hardware e applicazioni, il ciclo di vita dei processi e dei thread, le principali politiche di scheduling della CPU, i meccanismi di sincronizzazione e i problemi classici della concorrenza (mutua esclusione, semafori, monitor, deadlock), nonché le tecniche di gestione della memoria fisica e virtuale, di paginazione e di organizzazione del file system e dell'I/O. Per quanto riguarda le reti, lo studente comprenderà il ruolo dei diversi livelli dello stack TCP/IP, dai protocolli di livello applicativo fino ai meccanismi di trasporto, rete e accesso al mezzo. Comprenderà il funzionamento di protocolli fondamentali quali IP, TCP, UDP e DNS e dei principali meccanismi di instradamento, nonché le problematiche relative all'affidabilità, al controllo di congestione, alla frammentazione, all'indirizzamento e alla condivisione del canale. Acquisirà inoltre conoscenze di base sulle reti wireless e sul protocollo CSMA/CA, oltre a comprendere le motivazioni e le caratteristiche principali di protocolli di trasporto moderni come QUIC.
Capacità di applicare conoscenza e comprensione
Lo studente sarà in grado di analizzare il comportamento di un sistema operativo, valutando l'effetto delle diverse politiche di gestione dei processi, della memoria e delle risorse sulle prestazioni complessive del sistema. Saprà ragionare su scenari di concorrenza, individuando e prevenendo condizioni di corsa, situazioni di stallo e problemi di consistenza, e calcolare grandezze fondamentali quali tempi di attesa, tempi di completamento e utilizzo della CPU. Per quanto riguarda le reti, sarà in grado di analizzare il funzionamento di una rete TCP/IP, identificando il ruolo dei diversi protocolli coinvolti nella comunicazione end-to-end, interpretare scenari di comunicazione e calcolare grandezze fondamentali quali ritardi, throughput, utilizzo del canale e dimensioni delle finestre di trasmissione, valutando il comportamento dei protocolli di trasporto e di rete in presenza di congestione, perdite o vincoli di banda. Sarà inoltre capace di configurare semplici scenari di rete, osservare lo scambio di pacchetti e interpretare i risultati ottenuti attraverso strumenti di analisi e attività pratiche di laboratorio.
Autonomia di giudizio
Il corso mira a sviluppare la capacità di valutare criticamente le scelte progettuali adottate sia a livello di sistema operativo sia a livello di architettura di rete. Lo studente sarà in grado di discutere vantaggi e limiti delle principali soluzioni adottate nella gestione delle risorse di un calcolatore, quali le politiche di scheduling, i meccanismi di sincronizzazione e le strategie di gestione della memoria, e di confrontare soluzioni architetturali di rete considerando aspetti quali scalabilità, affidabilità, efficienza, ritardo, sicurezza, mobilità e interoperabilità. Sarà inoltre in grado di confrontare protocolli tradizionali e moderni, come TCP e QUIC, comprendendo le ragioni progettuali alla base della loro evoluzione e valutando l'impatto delle diverse scelte sulle prestazioni complessive del sistema e della rete.
Abilità comunicative
Lo studente acquisirà la capacità di descrivere in modo chiaro e rigoroso il funzionamento di un sistema operativo e dei principali protocolli di Internet, nonché dei meccanismi che regolano la gestione delle risorse e la comunicazione tra dispositivi. Sarà in grado di utilizzare un linguaggio tecnico appropriato per spiegare concetti quali processo, thread, scheduling, sincronizzazione, deadlock, memoria virtuale, incapsulamento, indirizzamento, instradamento, controllo di flusso, controllo di congestione, risoluzione dei nomi e accesso al mezzo. Il corso favorisce inoltre la capacità di presentare e discutere risultati derivanti da esercizi, analisi di protocolli e attività pratiche.
Capacità di apprendimento
Al termine del corso, lo studente avrà sviluppato le competenze necessarie per approfondire autonomamente temi avanzati nel campo dei sistemi operativi, delle reti di calcolatori e dell'evoluzione di Internet. Sarà in grado di leggere documentazione tecnica, comprendere specifiche di sistema e specifiche protocollari, interpretare risultati sperimentali e aggiornare le proprie conoscenze rispetto allo sviluppo di nuovi sistemi, protocolli, architetture e tecnologie.
|
Obiettivi formativi Obiettivi formativi
Il corso, denominato AI Lab: Computer Vision & NLP e indicato di seguito, per semplicità, come AI Lab, ha l'obiettivo di fornire agli studenti una preparazione avanzata sulla progettazione, lo sviluppo e la valutazione di sistemi intelligenti di Artificial Perception, basati sulle più moderne tecniche di Intelligenza Artificiale. Pur richiamando nel titolo la Computer Vision e il Natural Language Processing (NLP), il corso deve essere interpretato in una prospettiva più ampia come un laboratorio avanzato di Intelligenza Artificiale applicata alla comprensione di immagini, video, linguaggio e segnali eterogenei, nel quale convergono Computer Vision, analisi dei segnali, Machine Learning, Deep Learning e modelli di Intelligenza Artificiale di ultima generazione.
Il corso considera la Computer Vision come disciplina portante, estendendone tuttavia metodologie e principi all'analisi di altre sorgenti informative quali EEG, Wi-Fi sensing, segnali fisiologici e dati provenienti da sensori eterogenei, mostrando come numerosi paradigmi dell'Intelligenza Artificiale possano essere trasferiti tra differenti domini percettivi. Parallelamente vengono introdotti elementi di Natural Language Processing, evidenziando come immagini, video, linguaggio e segnali costituiscano differenti modalità attraverso cui un sistema intelligente può percepire, interpretare e comprendere il mondo circostante. Particolare attenzione viene dedicata ai principali problemi della moderna percezione artificiale, tra cui image classification, object detection, semantic e instance segmentation, image registration, tracking, change detection, saliency detection, anomaly detection, action recognition, action anticipation, scene understanding, image captioning, visual reasoning, visual grounding, image retrieval e altri problemi avanzati della moderna Computer Vision. Il corso affronta inoltre metodologie per l'analisi avanzata dei segnali e introduce concetti fondamentali per l'elaborazione intelligente di dati non strettamente visivi. Per affrontare tali problematiche vengono presentati sia approcci classici di Computer Vision ed elaborazione dei segnali, sia i più recenti paradigmi dell'Intelligenza Artificiale. Il corso introduce algoritmi hand-crafted, tecniche di Machine Learning, architetture di Deep Learning e modelli di ultima generazione, illustrando esempi rappresentativi quali Convolutional Neural Networks (CNNs), Residual Networks (ResNet), U-Net e relative varianti, Siamese Networks, Teacher–Student architectures, Graph Neural Networks (GNNs), Vision Transformers (ViTs), Foundation Models, Vision-Language Models e Large Language Models (LLMs). L'obiettivo non consiste esclusivamente nell'apprendere il funzionamento di tali modelli, ma soprattutto nello sviluppare la capacità di comprenderne criticamente principi, vantaggi, limiti e scenari di applicazione.
Un principio fondamentale del corso consiste nello sviluppare una visione critica della progettazione di sistemi intelligenti. Lo studente apprenderà che non esiste un algoritmo universalmente migliore, ma che la scelta tra approcci classici, algoritmi hand-crafted, Machine Learning, Deep Learning o Foundation Models dipende dalla natura del problema, dalla disponibilità dei dati, dai vincoli computazionali, dai requisiti di interpretabilità, dalle prestazioni richieste e dal contesto applicativo. Il corso promuove pertanto un approccio problem-driven, orientato alla selezione consapevole della metodologia più appropriata piuttosto che all'utilizzo indiscriminato di una specifica tecnologia. Il corso mantiene una forte prospettiva applicativa, mostrando come le metodologie presentate possano essere impiegate nello sviluppo di sistemi intelligenti per robotica autonoma, robot umanoidi, droni UAV, rover terrestri, robot mobili, robot subacquei (AUV/UUV), veicoli autonomi, immagini satellitari e telerilevamento, Human–Computer Interaction, biometria, medicina, monitoraggio ambientale, monitoraggio industriale, smart cities, sicurezza, difesa, ambient intelligence e numerosi altri scenari scientifici e industriali nei quali la capacità di percepire, interpretare e comprendere automaticamente il mondo circostante rappresenta un requisito fondamentale. Particolare enfasi viene infine dedicata allo sviluppo di una mentalità progettuale e scientifica. Il corso non si limita alla presentazione di tecniche consolidate, ma mira a formare studenti capaci di analizzare criticamente la letteratura scientifica internazionale, comprendere lo stato dell'arte, confrontare metodologie differenti, progettare soluzioni originali e valutarne rigorosamente le prestazioni sperimentali. L'obiettivo finale è formare professionisti e ricercatori in grado di sviluppare sistemi intelligenti innovativi, scientificamente fondati e competitivi rispetto allo stato dell'arte internazionale.
Conoscenza e capacità di comprensione
Al termine del corso lo studente avrà acquisito una conoscenza approfondita dei principali fondamenti teorici e metodologici della moderna Artificial Perception, comprendendo come immagini, video, linguaggio e segnali eterogenei possano essere elaborati mediante tecniche avanzate di Intelligenza Artificiale per estrarre informazione utile alla comprensione dell'uomo, dell'ambiente e del contesto operativo. Lo studente comprenderà i principali problemi affrontati dalla moderna Computer Vision e dall'analisi avanzata dei segnali, acquisendo conoscenze relative a classificazione, rilevamento, segmentazione, registrazione, riconoscimento di azioni, analisi del movimento, change detection, saliency detection, anomaly detection, visual reasoning, image captioning, scene understanding e altri problemi di percezione artificiale. Comprenderà inoltre i principi teorici alla base dell'elaborazione di segnali quali EEG, Wi-Fi sensing e altri segnali provenienti da sensori intelligenti, riconoscendone analogie e differenze rispetto all'elaborazione di dati visivi. Lo studente acquisirà inoltre una conoscenza approfondita delle principali famiglie di algoritmi utilizzate nella moderna Intelligenza Artificiale, comprendendo sia approcci classici e tecniche hand-crafted, sia metodi di Machine Learning, Deep Learning e modelli di ultima generazione. In particolare comprenderà i principi di funzionamento delle principali architetture neurali, tra cui CNN, ResNet, U-Net, Siamese Networks, Teacher–Student architectures, Graph Neural Networks, Vision Transformers, Foundation Models, Vision-Language Models e Large Language Models, analizzandone punti di forza, limiti e principali ambiti applicativi. Particolare attenzione sarà dedicata alla comprensione critica delle diverse metodologie, evidenziando come la scelta della soluzione più appropriata dipenda dalla natura del problema affrontato, dalla disponibilità dei dati, dalla complessità computazionale, dai vincoli hardware e dagli obiettivi applicativi. Lo studente comprenderà pertanto come algoritmi classici, approcci hand-crafted, Machine Learning, Deep Learning e Foundation Models rappresentino strumenti complementari piuttosto che soluzioni alternative universalmente valide. Infine, lo studente acquisirà una conoscenza approfondita dei principali scenari applicativi della moderna percezione artificiale, comprendendo come le tecnologie studiate possano essere utilizzate nello sviluppo di sistemi intelligenti per robotica, droni, rover, robot subacquei, immagini satellitari, Human–Computer Interaction, biometria, medicina, monitoraggio ambientale, sicurezza, difesa, smart cities e numerosi altri contesti nei quali la capacità di percepire, interpretare e comprendere automaticamente dati complessi costituisce un elemento centrale.
Capacità di applicare conoscenza e comprensione
Al termine del corso lo studente sarà in grado di progettare, sviluppare, implementare e valutare sistemi intelligenti per la percezione artificiale, applicando criticamente le conoscenze acquisite all'analisi di immagini, video, linguaggio e segnali eterogenei. Sarà in grado di affrontare problemi complessi di Computer Vision e Artificial Intelligence attraverso la progettazione di pipeline complete che comprendano acquisizione dei dati, pre-processing, rappresentazione dell'informazione, estrazione di caratteristiche, scelta del paradigma algoritmico, addestramento dei modelli, validazione sperimentale e valutazione delle prestazioni. Lo studente saprà selezionare in modo consapevole la metodologia più appropriata rispetto allo specifico problema affrontato, scegliendo criticamente tra approcci classici di Computer Vision ed elaborazione dei segnali, algoritmi hand-crafted, tecniche di Machine Learning, architetture Deep Learning e modelli di Intelligenza Artificiale di ultima generazione. Sarà inoltre in grado di motivare tale scelta sulla base delle caratteristiche del problema, della disponibilità dei dati, dei vincoli computazionali, dei requisiti di interpretabilità, della robustezza richiesta e dello scenario applicativo.
Lo studente acquisirà la capacità di progettare e implementare sistemi intelligenti per numerosi problemi della moderna percezione artificiale, quali classificazione, object detection, segmentazione, change detection, saliency detection, anomaly detection, tracking, action recognition, scene understanding, image captioning, visual reasoning, image retrieval e analisi avanzata dei segnali. Sarà inoltre in grado di applicare metodologie analoghe all'analisi di segnali EEG, Wi-Fi sensing e altri dati provenienti da sensori intelligenti, comprendendo come differenti tipologie di informazione possano essere elaborate mediante paradigmi comuni di Intelligenza Artificiale. Particolare attenzione sarà dedicata anche allo sviluppo di sistemi intelligenti per applicazioni reali quali robotica autonoma, robot umanoidi, droni UAV, rover terrestri, robot subacquei, immagini satellitari, telerilevamento, Human–Computer Interaction, biometria, medicina, sicurezza, difesa, monitoraggio ambientale e industriale, favorendo la capacità dello studente di trasferire le metodologie apprese a nuovi domini applicativi. Una parte sostanziale della verifica finale consiste nella progettazione e nello sviluppo di un progetto originale, realizzato individualmente o in gruppo, attraverso il quale lo studente dovrà dimostrare la capacità di trasformare concetti teorici in una soluzione completa, funzionante e scientificamente motivata. Il progetto prevede inoltre la redazione di una relazione tecnica in stile scientifico e la presentazione pubblica dei risultati ottenuti, favorendo l'acquisizione di competenze progettuali, sperimentali e metodologiche tipiche della ricerca moderna.
Autonomia di giudizio
Il corso mira a sviluppare nello studente una solida capacità di analisi critica e di valutazione scientifica dei sistemi intelligenti di percezione artificiale. Al termine del percorso formativo lo studente sarà in grado di analizzare criticamente algoritmi, modelli e architetture di Intelligenza Artificiale, valutandone accuratezza, robustezza, generalizzazione, interpretabilità, complessità computazionale, scalabilità e adeguatezza rispetto allo specifico scenario applicativo. Lo studente svilupperà la capacità di comprendere che non esiste una soluzione universalmente ottimale, ma che la scelta della metodologia più appropriata richiede una valutazione critica del problema, della qualità e quantità dei dati disponibili, dei vincoli tecnologici e degli obiettivi progettuali. Sarà pertanto in grado di confrontare approcci differenti, comprendendone vantaggi e limiti e motivando razionalmente le proprie decisioni progettuali. Particolare enfasi sarà posta sulla capacità di consultare autonomamente la letteratura scientifica internazionale, comprendere lo stato dell'arte, analizzare criticamente articoli scientifici e individuare possibili direzioni di miglioramento rispetto alle metodologie esistenti. Lo studente sarà pertanto in grado di distinguere tra contributi consolidati, metodologie emergenti e soluzioni sperimentali, sviluppando una mentalità orientata alla ricerca e all'innovazione.
Il corso promuove inoltre una riflessione critica sugli aspetti metodologici, sperimentali ed etici dell'Intelligenza Artificiale, affrontando temi quali qualità dei dati, bias, robustezza dei modelli, interpretabilità, riproducibilità degli esperimenti, affidabilità dei sistemi intelligenti e corretto utilizzo delle tecnologie nei diversi contesti applicativi. Tali competenze consentiranno allo studente di valutare non soltanto le prestazioni quantitative di un sistema, ma anche la sua effettiva sostenibilità scientifica, tecnologica e applicativa. Infine, il corso mira a sviluppare nello studente la capacità di proporre autonomamente nuove idee progettuali, identificare problemi di ricerca ancora aperti e progettare soluzioni innovative basate su solide motivazioni scientifiche, favorendo un approccio critico, creativo e rigoroso tipico dell'attività di ricerca e sviluppo.
Abilità comunicative
Al termine del corso lo studente sarà in grado di comunicare in modo chiaro, rigoroso e scientificamente corretto problemi, metodologie, modelli, risultati sperimentali e scelte progettuali relativi ai sistemi di percezione artificiale basati su Intelligenza Artificiale. Sarà capace di descrivere l'intero processo di progettazione di un sistema intelligente, dalla definizione del problema fino alla validazione sperimentale, illustrando criticamente le motivazioni alla base delle soluzioni adottate e discutendone vantaggi, limiti e possibili sviluppi futuri. Lo studente acquisirà la capacità di presentare e confrontare differenti paradigmi computazionali, spiegando in modo appropriato quando sia preferibile adottare algoritmi classici di Computer Vision ed elaborazione dei segnali, approcci hand-crafted, tecniche di Machine Learning, architetture Deep Learning o modelli di Intelligenza Artificiale di ultima generazione. Sarà inoltre in grado di motivare criticamente le proprie scelte progettuali sulla base delle caratteristiche del problema, dei dati disponibili, dei vincoli computazionali e degli obiettivi applicativi. Particolare attenzione sarà dedicata alla capacità di comunicare risultati sperimentali attraverso l'utilizzo di metriche di valutazione, confronti quantitativi con lo stato dell'arte, analisi statistiche, rappresentazioni grafiche e protocolli sperimentali riproducibili. Lo studente svilupperà inoltre la capacità di interpretare criticamente tali risultati, distinguendo tra miglioramenti significativi e variazioni dovute a fattori sperimentali.
Tali competenze verranno verificate principalmente attraverso la presentazione e discussione del progetto sviluppato durante il corso. Lo studente dovrà dimostrare di saper illustrare in modo chiaro e rigoroso il problema affrontato, descrivere l'architettura proposta, motivare le scelte metodologiche, confrontare criticamente la soluzione realizzata con la letteratura scientifica esistente e discutere risultati, limiti e possibili evoluzioni del lavoro svolto. Particolare attenzione sarà dedicata anche alla capacità di redigere una relazione tecnica in stile scientifico, organizzata secondo gli standard tipici della moderna ricerca internazionale nel settore dell'Artificial Intelligence.
Capacità di apprendimento
Al termine del corso lo studente avrà acquisito gli strumenti metodologici necessari per approfondire autonomamente nuove tecniche, modelli e paradigmi dell'Intelligenza Artificiale applicata alla percezione artificiale, mantenendosi costantemente aggiornato rispetto alla rapida evoluzione dello stato dell'arte. Lo studente sarà in grado di leggere, comprendere e analizzare criticamente articoli scientifici, documentazione tecnica e contributi di ricerca riguardanti Computer Vision, analisi dei segnali, Machine Learning, Deep Learning, Foundation Models, Vision-Language Models, Large Language Models e più in generale le moderne tecnologie di Artificial Intelligence. Acquisirà inoltre la capacità di trasferire metodologie consolidate verso nuovi problemi applicativi, adattando modelli e algoritmi a differenti domini percettivi e a differenti tipologie di dati.
Il corso intende fornire non soltanto conoscenze specifiche relative agli argomenti trattati durante le lezioni, ma soprattutto una metodologia di lavoro utile ad affrontare problemi complessi di progettazione, sperimentazione e ricerca. Lo studente svilupperà quindi la capacità di identificare autonomamente nuovi problemi scientifici, formulare ipotesi progettuali, selezionare criticamente le tecnologie più appropriate, progettare protocolli sperimentali rigorosi e valutare oggettivamente i risultati ottenuti. Particolare enfasi sarà dedicata allo sviluppo di una mentalità orientata all'innovazione, nella quale l'apprendimento continuo rappresenta uno strumento fondamentale per affrontare l'evoluzione estremamente rapida delle tecnologie di Intelligenza Artificiale. Lo studente acquisirà pertanto la capacità di integrare nuovi algoritmi, nuove architetture e nuovi paradigmi computazionali all'interno delle proprie competenze, mantenendo un approccio scientificamente rigoroso e criticamente consapevole. Al termine del percorso formativo lo studente sarà quindi in grado di proseguire autonomamente il proprio percorso di aggiornamento scientifico e professionale, affrontando con competenza sia attività di ricerca sia attività di sviluppo industriale nell'ambito della Computer Vision, dell'analisi avanzata dei segnali e, più in generale, della moderna Artificial Intelligence.
|