Obiettivi formativi Conoscenze acquisite
L'obiettivo principale del corso è di insegnare il metodo scientifico. Per ogni argomento trattato, sono presentate le osservazioni sperimentali (o numeriche) del fenomeno che si vuole capire. Viene quindi illustrato il processo di riduzionismo, con le relative approssimazioni, che porta ad un modello sufficientemente semplice da poter essere trattato matematicamente. Infine sono introdotte le leggi fisiche che permettono la spiegazione del fenomeno osservato, mettendo in luce l'ambito di validità di tale leggi e i loro limiti.
Competenze acquisite
Alla fine di questo corso lo studente dovrebbe aver appreso il metodo scientifico e dovrebbe essere in grado di applicarlo a qualsiasi problema di tipo scientifico che si trovi ad affrontare. In pratica dovrebbe aver sviluppato quella capacità di "problem solving" che è molto richiesta in qualsiasi disciplina tecnico-scientifica. Inoltre dovrebbe aver acquisito un bagaglio di leggi fisiche di base, che gli permettano di capire molti dei fenomeni naturali e dei dispositivi tecnologici che lo circondano.
|
Obiettivi formativi Obiettivi generali:
Al termine del corso gli studenti conoscono le teorie, i modelli e le regole che guidano il progetto e lo sviluppo e la validazione di interfacce e sistemi interattivi usabili.
Gli studenti che superano l’esame sono in grado di progettare sistemi interattivi seguendo i criteri dell’interazione uomo-computer, analizzando il ruolo dell’utente, gli scenari e i compiti principali, e tenendo in considerazione i vincoli implementativi mediante cicli di progetto e sviluppo molto brevi.
Obiettivi specifici:
Conoscenza e comprensione:
Al termine del corso gli studenti conoscono le teorie, i modelli e le regole che guidano il progetto di interfacce e sistemi interattivi usabili. Conoscono inoltre i principi di progettazione agile centrata sull'utente.
Applicare conoscenza e comprensione:
Gli studenti applicano le conoscenze acquisite nella progettazione di un'interfaccia come lavoro di gruppo per l'esame.
Capacità critiche e di giudizio:
Gli studenti, anche attraverso esercitazioni pratiche, acquisiscono competenze nella valutazione e validazione di interfacce uomo computer e sviluppano capacità di giudizio sull'usabilità di un'interfaccia e quindi sulle ricadute dell'uso dell'interfaccia in termini di efficacia, efficienza e soddisfazione.
Capacità comunicative:
Gli studenti sostengono due presentazioni del loro lavoro di gruppo in occasione delle due revisioni previste con il docente. La prima revisione è svolta in aula e la presentazione è pertanto rivolta a tutti i colleghi al fine di esercitare le capacità comunicative.
Capacità di apprendimento:
La capacità di apprendimento è stimolata attraverso 1) attività di progettazione guidata e autonoma con supervisione; 2) l'esposizione a problemi realistici di progettazione stimolando la ricerca autonoma di soluzioni non standard; 3) la presentazione di casi reali e stimolandone la discussione critica.
|
Obiettivi formativi Obiettivi generali:
Il corso illustra i fondamenti dei linguaggi di programmazione. Particolare attenzione viene dedicata alla semantica statica e dinamica dei linguaggi (teoria dei tipi, semantica operazionale ed assiomatica) ed agli strumenti formali per la specifica e la verifica del software.
Obiettivi specifici:
Approfondimento sulle algebre induttive come fondamento di sintassi astratta, strutture dati e semplici logiche (equazionali) di programmi. Cenni sulla co-induzione come fondamento di analisi di processi concorrenti e strutture lazy. Confronto fra linguaggi lazy e eager, statici e dinamici, nel contesto di diversi paradigmi di programmazione: imperativo, funzionale, ad oggetti. Teoria dei tipi, con particolare attenzione al polimorfismo parametrico (alla ML) e di sottoclasse (alla Java).
Conoscenze e comprensione:
Alla fine del corso lo studente avrà acquisito conoscenze fondazionali relative ai linguaggi di programmazione e ai principali paradigmi di programmazione, e sarà in grado di inquadrare in una mappa concettuale coerente alcuni fra le principali aree di studio dell’informatica teorica, comprendendone le interconnessioni.
Applicazione di conoscenza e comprensione:
Alla fine del corso lo studente sarà in grado di orientarsi fra i diversi paradigmi della programmazione, con particolare attenzione alla programmazione funzionale. Avrà acquisito una conoscenza di base del linguaggio funzionale SML e della sua teoria dei tipi, nonchè dell’uso dei metodi formali.
Capacità di giudizio:
Gli studenti acquisiranno strumenti culturali per sviluppare software di qualità e per comprendere ed inquadrare le tendenze emergenti dei linguaggi moderni.
Capacità di comunicazione:
Gli studenti impareranno ad usare il linguaggio della matematica e della logica per descrivere, sviluppare ed analizzare il software, e ad integrare l’approccio formale con un’esposizione intuitiva delle idee.
Capacità di apprendimento:
L’uso di strumenti matematici nella teoria e nella pratica della programmazione sviluppa capacità logiche e consapevolezza della complessità della materia di studio.
|
Obiettivi formativi Obiettivi generali:
L’insegnamento di Organizzazione e Gestione per lo Start-Up Aziendale intende fornire agli studenti le conoscenze e i “fondamentali” per l’analisi e la comprensione delle principali problematiche organizzative che caratterizzano l’avvio e la gestione delle imprese nell’era digitale ed un ampio ventaglio di strumenti utili per la loro risoluzione.
In particolare, una volta affrontati i concetti di base relativi all’impresa e alle dinamiche aziendali, l’insegnamento approfondisce le principali tematiche relative allo start-up, quali la progettazione organizzativa, la pianificazione strategica, la valutazione della business idea e della relativa fattibilità economico-finanziaria.
Tali tematiche vengono affrontate nell’arco di un percorso didattico che si dispiega seguendo cronologicamente gli step funzionali alla redazione di un business plan. Più precisamente, l’insegnamento alterna momenti di lezione frontale ad attività di laboratorio, nelle quali gli studenti, divisi in gruppi, saranno guidati didatticamente nella realizzazione di un business plan relativo ad un’idea d’impresa digitale. Tale percorso consente agli studenti di esaminare in prima persona le caratteristiche del processo di start-up, e li aiuta a comprendere le variabili (e le leve) fondamentali dell’organizzazione, sulle quali la direzione aziendale può agire per il miglioramento delle performance ed il conseguimento di posizioni di vantaggio competitivo sui concorrenti.
Non sono previsti particolari prerequisiti, in termini di conoscenze pregresse di natura economico-aziendale, per la frequenza del corso ed il sostenimento delle prove d’esame.
Obiettivi specifici
Obiettivi: nella prima parte si descriveranno e si analizzeranno le caratteristiche, gli elementi di base e gli attori che la caratterizzano l’azienda, nonché le fasi del suo ciclo vitale. Si approfondiranno, inoltre, i rapporti esistenti tra l’organizzazione e la gestione dell’azienda, introducendo il concetto di “equilibrio” economico quale legge fondamentale alla base della capacità di sopravvivenza dell’azienda nel tempo.
Obiettivi: nella seconda parte inizierà il percorso didattico atto a fornire le conoscenze necessarie per procedere alla realizzazione del business plan. Si partirà dalla disamina delle opportunità di generazione di start-up nell’era digitale, evidenziandone le differenze con lo start-up di impese tradizionali. Si esamineranno i fondamenti della strategia, con il passaggio dalla business idea alla formalizzazione del modello di business, i contenuti di base della progettazione organizzativa, con particolare riguardo al rapporto tra organizzazione, ambiente e strategia, le tecniche di analisi della fattibilità di mercato e di quella economico-finanziaria, le considerazioni alla base della scelta della forma giuridica, nonché quelle per l’individuazione delle forme di finanziamento più appropriate.
Obiettivi: nella terza parte si approfondirà il ruolo e la struttura del business plan. Più precisamente, gli studenti, opportunamente divisi in gruppi, verranno didatticamente guidati attraverso il processo di redazione di un business plan. In questa parte, quindi, il business plan verrà considerato come l’obiettivo finale del corso che, oltre a rappresentare un project work valido ai fini della valutazione finale, verrà presentato nell’ambito di un vero e proprio contest alla fine del corso.
Tali obiettivi saranno perseguiti attraverso l’adozione di un appropriato mix di lezioni frontali, testimonianze provenienti dal mondo imprenditoriale e attività laboratoriali di gruppo.
Conoscenza e capacità di comprensione (knowledge and understanding).
Al termine dell’insegnamento gli studenti saranno in grado di riconoscere ed affrontare analiticamente le problematiche organizzative che caratterizzano la fase dello start-up, potendo contare su un ampio background teorico e un toolkit adeguato alla loro soluzione. Più precisamente, la comprensione dei legami tra variabili ambientali, strategiche ed organizzative consentirà loro di approcciare lo sviluppo dell’idea imprenditoriale ricercando la coerenza degli elementi strategico-organizzativi con il mercato di riferimento, nel rispetto delle condizioni di economicità dell’impresa. Inoltre, grazie all’acquisizione degli strumenti necessari alla progettazione di una start-up digitale e alla conoscenza maturata nel processo di redazione del business plan, alla fine del corso gli studenti saranno in grado di sviluppare un’idea imprenditoriale e di valutarne la fattibilità, nonché di formalizzarla all’interno di un business plan per procedere alla sua concreta realizzazione.
Tali conoscenze saranno acquisite alternando momenti di lezione frontale volti a fornire gli strumenti conoscitivi necessari alla comprensione dei vari argomenti, ad attività laboratoriali di gruppo, nelle quali gli studenti, divisi in gruppi, saranno guidati didatticamente dal docente nella realizzazione di un business plan. Saranno inoltre previste testimonianze provenienti dal mondo imprenditoriale in grado di rappresentare dei casi di studio pratici ed esemplificativi di quanto affrontato dal punto di vista teorico.
Capacità di applicare conoscenza e comprensione (applying knowledge and understanding).
Attraverso i lavori individuali e di gruppo gli studenti saranno messi in condizione non solo di comprendere l’origine, la natura e la tipologia delle varie problematiche organizzative, ma di elaborare soluzioni condivise utilizzando tecniche, modelli e strumenti di analisi trasferiti durante le lezioni frontali.
La presentazione, da parte degli studenti, dei risultati dei lavori di gruppo consentirà di sviluppare capacità di riflessione e di argomentazione, unitamente a capacità di scambio, condivisione ed esposizione dei risultati conseguiti.
Le testimonianze degli esperti di organizzazione provenienti da primarie organizzazioni imprenditoriali e la discussione dei relativi temi con gli studenti, infine, permetterà di corroborare – anche con un riscontro pratico – la capacità di applicazione delle tecniche e i risultati conseguiti dagli studenti stessi, e di apprendere dagli eventuali errori commessi.
Autonomia di giudizio (making judgements).
L’insegnamento di Organizzazione Aziendale, attraverso modalità miste di erogazione dei contenuti (lezioni frontali, lavori di gruppo, testimonianze aziendali), pur dedicando un adeguato spazio ai principali modelli teorici consolidati nella letteratura di riferimento, intende stimolare gli studenti a realizzare una propria visione dei fenomeni organizzativi durante tutto il percorso didattico, incentivando l’autonomia di giudizio e la soluzione creativa, pur orientata e guidata dal docente, delle conseguenti problematiche.
In particolare, il processo di redazione del business plan alla base dei lavori di gruppo è stato ideato proprio per incrementare capacità critiche, di riflessione e di elaborazione autonoma di giudizi, compresa quella volta ad evitare i pregiudizi che caratterizzano in quest’area le fasi dei processi decisionali orientati al problem-solving, anche in ordine alle ricadute etiche e sociali che contraddistinguono le scelte organizzative.
Abilità comunicative (communication skills).
Lo svolgimento delle attività laboratoriali di gruppo e la presentazione dei risultati raggiunti rappresenta un importante strumento, adottato nell’insegnamento di Organizzazione Aziendale, per lo sviluppo di capacità comunicative. In particolare, da un lato, le discussioni durante le attività di gruppo sono appositamente costruite per consentire agli studenti di imparare ad interagire e a comunicare, simulando attività di condivisione delle conoscenze e di costruzione del consenso tipiche di contesti lavorativi reali; dall’altro lato, la presentazione del business plan nell’ambito del contest finale è stata ideata proprio per permettere agli studenti di sperimentare in prima persona una reale presentazione della propria idea imprenditoriale di fronte a dei potenziali investitori.
Tali capacità rappresentano una componente “naturale” dell’insegnamento in oggetto, considerato che la tematica della comunicazione organizzativa costituisce argomento di specifica trattazione nell’ambito dello stesso.
Capacità di apprendimento successivo (learning skills).
Considerata l’elevata trasversalità e multidisciplinarietà dei temi trattati, i cui contenuti possono facilmente essere traslati anche in contesti organizzativi diversi dalle imprese (seppur caratterizzati da un orientamento al rispetto delle condizioni di economicità della gestione), l’insegnamento di Organizzazione Aziendale consente di acquisire una base teorica, concettuale ed applicativa utilizzabile per una molteplicità di percorsi educativi e pratici successivi a quello della laurea triennale.
Oltre, infatti, alla naturale prosecuzione verso un percorso di laurea magistrale, non solo di tipo manageriale o aziendalistico, gli studenti acquisiranno competenze ulteriormente sviluppabili, anche in autonomia, ed utilizzabili in aziende, società di consulenza e altre organizzazioni, nonché per la costituzione di start-up innovative e ad elevato contenuto tecnologico.
|
Obiettivi formativi Obiettivi generali:
Il corso è finalizzato all'acquisizione della conoscenza di tecniche algoritmiche e di programmazione adatte alle moderne piattaforme di calcolo multicore ed embedded.
Obiettivi specifici:
Conoscenza e comprensione:
Al termine del corso gli studenti avranno una profonda comprensione dei principali problemi di programmazione posti dai sistemi embedded e multi-core, nonché delle tecniche di programmazione utili per scrivere codice efficiente e scalabile. Avranno una comprensione della programmazione a basso livello e della progettazione HW.
Capacità di applicare conoscenza e comprensione:
gli studenti saranno in grado di progettare, programmare e realizzare sistemi embedded ed avranno una comprensione dei sistemi operativi adottati in tali tipi di sistemi.
Capacità critiche e di giudizio:
gli studenti saranno in grado di affrontare le sfide che si presentano nella progettazione di sistemi embedded e multicore e nell'implementazione di programmi efficienti e scalabili per tali sistemi, anche tenendo conto delle caratteristiche architetturali delle diverse piattaforme di calcolo.
Capacità di comunicare quanto si è appreso:
gli studenti saranno in grado di comunicare in modo efficace, riassumendo le idee principali nella progettazione di software embedded e multicore in modo chiaro e presentando informazioni tecniche accurate.
Capacità di studio autonomo:
obiettivo del corso è di introdurre i principi di base nella progettazione di software embedded e multicore. Gli studenti saranno quindi in grado di estendere la loro conoscenza in modo indipendente, adattandola all’evoluzione delle tecnologie e delle piattaforme di calcolo.
|
Obiettivi formativi Obiettivi generali:
Lo scopo del corso è lo studio del linguaggio java lato server, per la realizzazione di applicazioni web. Il corso fornisce inoltre un’analisi critica di diverse soluzioni implementative di molte funzionalità applicative comuni nello sviluppo di applicazioni web.
Obiettivi specifici:
Programmazione lato server mediante Java Servlet e pagine JSP.
Conoscenza e comprensione:
Il corso permetterà la comprensione del supporto fornito dal linguaggio Java alla realizzazione di applicazioni web. In particolare lo studente studierà le motivazioni alla base di tutte le scelte implementative, in particolare facendo riferimento alle architetture client-server e ai protocolli di rete in uso.
Applicare conoscenza e comprensione:
Attraverso il corso lo studente imparerà a riconoscere tra le possibili soluzioni applicative ad un problema, quale offra i maggiori vantaggi in termini di prestazioni, sicurezza, portabilità e efficienza.
Capacità critiche e di giudizio:
Il corso metterà lo studente in condizione di saper scegliere, dato un problema, la migliore metodologia risolutiva, attraverso la profonda comprensione dei requisiti e dei vincoli imposti dall'architettura.
Capacità comunicative:
Lo studente sarà in grado di motivare le proprie scelte nella proposta di uno specifico approccio realizzativo di un’applicazione Web, e fornire una analisi comparativa dell’approccio scelto con altri approcci possibili.
Capacità di apprendimento:
Lo studente svilupperà capacità di studio autonome e di comprensione e valutazione critica di nuove metodologie, tecnologie e modelli di sviluppo di applicazioni Web.
|
Obiettivi formativi Obiettivi generali:
Il corso di Sicurezza ha l’obiettivo di formare figure professionali capaci di affrontare con successo le sfide costituite dai problemi di sicurezza della società dell’informazione.
Obiettivi specifici:
Il corso prevede lo studio di vari modelli di controllo degli accessi, dell’analisi delle principali difficoltà e risoluzioni di problemi di crittografia e dei principali protocolli di sicurezza utilizzati in rete
Conoscenza e comprensione:
Al superamento dell’esame, lo studente avrà conoscenza e capacità di comprensione delle basi della sicurezza informatica e delle principali tecnologie per l'analisi e la soluzione di problemi di sicurezza.
Applicare conoscenza e comprensione:
Il corso mette in grado lo studente di applicare la propria conoscenza e capacità di comprensione per risolvere problemi di sicurezza informatica, con sufficiente autonomia per affrontare problemi complessi; e per la consultazione efficace di documentazione avanzata di tipo scientifico e tecnologico.
Autonomia di giudizio:
Il corso mira ad acquisire capacità d’interpretazione autonoma per proporre soluzioni a problemi di sicurezza congruenti con le tecnologie disponibili, e di aggiornamento continuo dell'evoluzione tecnologica, per formulare giudizi critici autonomi contribuendo all'avanzamento della sicurezza del sistema.
Abilità comunicative:
Lo studente acquisisce la capacità di presentare e di argomentare le proprie idee in merito ai problemi di sicurezza affrontati ed alle soluzioni proposte, sia con colleghi che con utenti
Capacità di apprendimento successivo:
Il corso prevede lo sviluppo di capacità di approfondimento nell’ambito della sicurezza informatica sia degli aspetti metodologici sia di quelli tecnologici, per adeguarsi al progredire delle tecniche e delle soluzioni ai problemi di sicurezza più comuni, e per proseguire anche in autonomia alla soluzione di nuovi problemi di sicurezza.
|
Obiettivi formativi Obiettivi generali:
Lo studente imparera' come funziona un compilatore sia dal punto di vista teorico che pratico.
Obiettivi specifici:
Conoscenza e comprensione:
Allo studente saranno presentate le parti della Teoria dei Linguaggi Formali e degli Automi necessarie ad avere una base teorica sul funzionamento dei compilatori.
Applicare conoscenza e comprensione:
Lo studente imparerà come usare noti strumenti pratici per la costruzione di compilatori, come Lex a YACC.
Capacità critiche e di giudizio:
Una parte facoltativa dell'esame consisterà nel produrre un compilatore per un semplice linguaggio di programmazione ad alto livello.
Capacità comunicative:
Il corso non si propone espliciti obiettivi sulle capacità comunicative, eccetto di formare all'esposizione rigorosa degli argomenti formali.
Capacità di apprendimento:
I fondamenti teorici e gli strumenti pratici introdotti nel corso forniranno allo studente una base solida per studi più avanzati in questo campo.
|
Obiettivi formativi
Obiettivi generali:
Il corso si propone di fornire agli studenti gli strumenti di base per la modellazione, analisi e progettazione di sistemi intelligenti.
Obiettivi specifici:
Il corso si propone di mettere gli studenti in grado di comprendere ed usare un'ampia gamma di tecniche di modellazione, progettazione, verifica e validazione per sistemi intelligenti.
Conoscenza e comprensione:
Introduzione ad ampio spettro dei principi fondamentali della modellazione, analisi e progettazione dei sistemi intelligenti modellati come sistemi dinamici sia tempo continuo che tempo discreto.
Applicazione di conoscenza e comprensione:
Saper applicare il portafoglio di tecniche e gli approcci illustrati per la modellazione, progettazione, verifica e validazione di sistemi intelligenti.
Autonomia di giudizio:
Gli studenti saranno in grado di prendere autonomamente decisioni razionali sulle tecniche da impiegare nella modellazione, progettazione, verifica e validazione di sistemi intelligenti.
Abilità comunicative:
Gli studenti saranno in grado di interagire in modo proficuo con esperti di dominio su un'ampia gamma di argomenti relativi alla modellazione, progettazione, verifica e validazione di sistemi intelligenti.
Capacità di apprendimento:
Gli studenti saranno in grado di ampliare le loro conoscenze in modo autonomo consultando, secondo necessità, la letteratura scientifica di rilievo.
|
Obiettivi formativi Obiettivi generali:
Apprendimento del paradigma di programmazione funzionale e di aspetti avanzati di programmazione imperativa.
Studio comparato di diversi paradigmi di programmazione (imperativo, funzionale e a oggetti) per sviluppare un senso critico nell'apprendimento e valutazione dei linguaggi di programmazione.
Obiettivi specifici:
Conoscenza e Comprensione:
Aspetti avanzati di programmazione C (in particolare uso di puntatori espliciti e (de)allocazione dinamica di memoria, valutazione della complessità concreta dei programmi). Aspetti base ed avanzati di programmazione funzionale in Haskell (in particolare tipi polimorfi, funzionali di ordine superiore, laziness).
Applicare Conoscenza e Comprensione:
Applicare la metodologie specifiche di diversi paradigmi di programmazione alla soluzione dei problemi.
Capacità Critiche e di Giudizio:
Lo studio comparato dei paradigmi di programmazione permette di valutare ad esempio quale sia il linguaggio più adatto per risolvere un certo problema o sviluppare un progetto software.
Le tecniche di ragionamento sui programmi possono guidare sia il testing che lo sviluppo dei programmi.
Inoltre, lo studente dovrebbe acquisire strumenti necessari per valutare criticamente altri linguaggi di programmazione.
Capacità Comunicative
Lo studente è stimolato, soprattutto nella presentazione da fare a fine corso, a esporre concisamente ma in modo preciso le idee necessarie allo sviluppo di una brillante soluzione a un problema computazionale ed anche l'analisi di un programma.
Capacità di Apprendimento:
Lo studio comparato di diversi paradigmi di programmazione stimola la capacità di apprendimento di altri linguaggi di programmazione, dando allo studente gli strumenti per distinguere gli aspetti caratterizzanti di un linguaggio di programmazione (logica del core language, come ad esempio passaggio di parametri, sistema dei tipi, semantica dei comandi) da quelli più strettamente tecnici (come imparare a usare librerie e strumenti di sviluppo, come IDE e debugger).
|
Obiettivi formativi Obiettivi generali:
Il corso introduce lo studente alla modellazione matematica di problemi di ottimizzazione, allo studio della programmazione lineare e intera e alle loro applicazioni in contesti reali.
Obiettivi specifici:
Apprendere:
1. Le principali tecniche di modellazione di problemi usando strumenti logico/matematici;
2. Le proprietà teoriche e sulle applicazioni pratiche dei principali problemi di ottimizzazione (in particolare su reti);
3. sulla programmazione lineare e sue applicazioni;
4. sull’uso di software di modellazione ed ottimizzazione.
Conoscenza e comprensione:
Sviluppare
1. Capacità di sintesi, di ragionamento logico e di problem solving, mediante tecniche quantitative;
2. capacità di formulare e risolvere (anche in maniera approssimata) problemi computazionalmente difficili;
3. capacità di usare bibliografia e software in inglese;
4. capacità di identificare problemi di programmazione matematica e ottimizzazione;
5. capacità di realizzare un modello di un problema matematico, determinando se è lineare, intero, non lineare, di trovare soluzioni per il modello usando gli algoritmi appropriati, di interpretare la soluzione;
Applicazione di conoscenza e comprensione:
1. Applicazioni pratiche dei principali problemi di ottimizzazione (in particolare su reti);
2. uso di software di modellazione ed ottimizzazione.
Autonomia di giudizio:
Viene rafforzata la autonomia di giudizio dello studente attraverso l'approfondimento della capacità di sintesi, di ragionamento logico-matematico e di problem solving, mediante tecniche quantitative;
Abilità comunicative:
Il corso sviluppa le abilità comunicative degli studenti attraverso lavoro in equipe degli studenti finalizzato a simulare la risoluzione di problemi di ottimizzazione che si possono presentare nel contesto reale di un azienda di logistica.
Capacità di apprendimento
Le capacità acquisite nel corso sono di utilità in insegnamenti di livello superiore su temi avanzati nella teoria della complessita, di algoritmi di rete e di teoria dei grafi.
|