Giancarlo Ruffo

Giancarlo Ruffo

Cursos

Scopo dell’insegnamento è quello di fornire alla classe fondamenti teorici della programmazione a oggetti e di quella funzionale. Ci si aspetta che la classe, una volta superato l'esame, si sappia:
- modellare un applicativo individuandone le componenti e il paradigma migliore per la loro descrizione;
- progettare ed implementare la soluzione scelta usando sia Java che Python;
- realizzare test con JUnit;
- avere padronanza del Collections framework di Java e di Python;
- saper riconoscere e gestire i casi non standard tramite eccezioni.

Categoría Didattica A.A. 2025/2026 / Dipartimento di Scienze e Innovazione Tecnologica / Corsi di Laurea / INFORMATICA - ALESSANDRIA - II e III anno

Come si diffondono le malattie infettive? Perché alcuni meme si diffondono viralmente mentre altri no? Perché alcuni team o organizzazioni ottengono risultati migliori di altri? Siamo davvero tutti connessi da sei gradi di separazione e, in tal caso, come mai i nostri quartieri, luoghi di lavoro e circoli sociali sono così segregati? Le risposte a queste e a molte altre domande sono tutte parte della Scienza delle Reti, un'affascinante disciplina all'intersezione di numerose discipline, tra cui informatica, comunicazione, psicologia, sociologia, matematica ed economia.
Questo insegnamento esplorerà i principi fondamentali delle reti complesse, sottolineando come la loro struttura ne influenzi la funzione. Il tema si sposterà dalla teoria dei grafi e dalla meccanica statistica all'applicazione di metodi basati sulla scienza dei dati, tra cui l'apprendimento automatico e la modellazione computazionale, per analizzare e comprendere le reti del mondo reale. L'insengamento sarà strutturato in modo da fornire agli studenti sia le conoscenze teoriche che le competenze computazionali necessarie per affrontare i moderni problemi della scienza delle reti.
L'insegnamento include inoltre l'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 (information retrieval). L'Information Retrieval (IR) è la disciplina che si occupa di recuperare informazioni da una vasta collezione di risorse, basate su una richiesta (query) dell'utente. Sebbene il concetto di base non sia cambiato, l'IR moderno ha superato il semplice "trova documenti che contengono queste parole". Oggi, l'obiettivo è trovare le informazioni più rilevanti, non solo i documenti corrispondenti, e presentare i risultati in modo utile e personalizzato.

Categoría Didattica A.A. 2025/2026 / Dipartimento di Scienze e Innovazione Tecnologica / Corsi di Laurea Magistrale / INTELLIGENZA ARTIFICIALE E INNOVAZIONE DIGITALE - ALESSANDRIA - II anno

Introduzione ai modelli e alle tecniche analitiche principali di scienza delle reti, disciplina che consente di studiare un sistema complesso rappresentato nei termini di una rete (come una rete sociale, una rete di comunicazione, una rete di contatto, etc.). L'insegnamento include inoltre l'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 (information retrieval).

Categoría Didattica A.A. 2024/2025 / Dipartimento di Scienze e Innovazione Tecnologica / Corsi di Laurea Magistrale / INTELLIGENZA ARTIFICIALE E INNOVAZIONE DIGITALE / ALESSANDRIA

Durante il corso saranno illustrati i concetti di base sull'utilizzo di markup languages come HTML5 e CSS3, i concetti più importanti relativi alla programmazione Web lato client (JavaScript) e lato server (Node.js), nonché le modalità di interazione con DBMS relazionali (RDBMS). Le tecnologie suddette saranno usate anche per applicare i principi fondazionali dell'interazione uomo macchina, usabilità e accessibilità di siti e applicazioni web.

Categoría Didattica A.A. 2024/2025 / Dipartimento di Scienze e Innovazione Tecnologica / Corsi di Laurea / INFORMATICA / ALESSANDRIA

Durante il corso saranno illustrati i concetti di base sull'utilizzo di markup languages come HTML5 e CSS3, i concetti più importanti relativi alla programmazione Web lato client (JavaScript) e lato server (Node.js), nonché le modalità di interazione con DBMS relazionali (RDBMS). Verrà inoltre posta attenzione agli aspetti di accessibilità di siti e applicazioni web.

Categoría

Il corso si compone di due parti. Nella prima viene introdotta la programmazione ad oggetti in Java e la metodologia di sviluppo di programmi basata su Test. Nella seconda parte viene introdotta la programmazione funzionale usando il linguaggio Python.

Categoría