Lectures ISS Bologna 2025-26

SITO WEB ISS2026     Attività Progettuali     ISS on Virtuale    Teams    orario    orario corso    https://app.wooclap.com/ISS23START    sito del corso   

Week 1
17/02/2026 (12:00-15:00)Lab2
18/02/2026 (11:30-14:30)Lab2
Week 2
24/02/2026 (12:00-15:00)Lab2
25/02/2026 (11:30-14:30)Lab2
  • Definizione del 'core' applicativo: le interfacce Java IGrid e ICell come prime formalizzazioni (modelli) delle entità del dominio
  • Goal dello Sprint1: realizzare le entità-base del dominio (Progetto conway26Java) escludendo LifeController.
  • Definizione di Piani di Testing funzionale a partire dalele interfacce. Come evitare dettagli tecnologici nei costruttori
  • Verso una formalizazione della entità Life: dalla interface LifeInterface alla classe
  • Il Main come CompositionRoot della applicazione.
Week 3
3/03/2026 (12:00-15:00)Lab2
4/03/2026 (11:30-14:30)Lab2
  • Creazione di un file jar eseguibile che contiene le dipendenze
  • Il progetto conway26JavaSwing come evoluzione (Sprint2) del progetto conway26Java riusando il file jar (non fat) dello Sprint1 come libreria.

  • DA UNA FUNZIONE A UN SERVIZIO
Week 4
10/03/2026 (12:00-15:00)Lab2
11/03/2026 (11:30-14:30)Lab2
Week 5
17/03/2026 (12:00-15:00)Lab2
18/03/2026 (11:30-14:30)Lab2
Week 6
24/03/2026 (12:00-15:00)Lab2 Lezione soppressa
Collegamento via Teams alle 17:30 per discussione sui progetti proposti. Disucssione si ConwaySprint3 e conseguente esempio di analisii del problema :
25/03/2026 ()Lab2
Week 7
31/03/2026 (12:00-15:00)Lab2
1/04/2026 (11:30-14:30)Lab2
Week 8
8/04/2026 (11:30-14:30)Lab2
Week 9
14/04/2026 (12:00-15:00)Lab2
15/04/2026 (11:30-14:30)Lab2
Week 10
21/04/2026 (12:00-15:00)Lab2
22/04/2026 (11:30-14:30)Lab2
  • Aggiornamento delle librerie unibo.
  • La sintassi del linguaggio qak.
  • Principali Azioni di un QActor nel linguaggio qak.
  • Costruzione cooperativa in Lab2 di un modello qak di un sistema che opera come SistemaS con Javalin.
    WORK TO DO: Fare un documento di analisi/confronto critico tra le due modalità di impostazione/descrizione del sistema
  • WORK TO DO:
    1. definere un modello qak di un sistema firefly che simula il comportamento di una lucciola.
    2. estendere il modello per la simulazione di 3 lucciole
    3. estendere il modello per la simulazione di 100 lucciole
Week 11
28/04/2026 (12:00-15:00)Lab2
29/04/2026 (11:30-14:30)Lab2
Week 12
5/05/2026 (12:00-15:00)Lab2
  • Modifica della libreria unibo.basicomm23-1.0.jar
  • Discussione con i singoli studenti sugli elaborati ricevuti e contemporaneo sviluppo in Lab2 della analisi dei seguenti requisiiti:
    Costruire un sistema software che comanda un Differential Drive Robot (DDR) in modo che, 
    partendo dalla posizione iniziale HOME, il robot si sposti lungo il perimetro di una stanza rettangolare vuota. 
    Il DDR si deve fermare quando tornato in HOME.
    
    Il DDR è anche sensibile ai dati rilevati da un Radar.
    Quando il Radar rileva un 'intruso' a una distanza minore di una distanza prefissata ``DMIN``:
      
      - se il DDR si sta muovendo , il DDR si ferma fino a che il Radar non rileva più un 'intruso' così vicino 
      - se il DDR è fermo in HOME, il DDR ruota su sè stesso fino a che un 'intruso' così vicino scompare
    	
    
6/05/2026 (11:30-14:30)Lab2
Week 13
12/05/2026 (12:00-15:00)Lab2
  • Modifica della libreria unibo.basicomm23-1.0.jar
  • Il progetto vrusage26: esempi di uso del VirtualRobot26 e del POJO RobotObj26 come oggetto osservabile.
  • Uso del virtual robot mediante websocket: TestMovesUsingWs26.java e BoundaryWalkNaiveUsingWs26.java. Analisi del log files e dei thread di esecuzione.
  • Uso del POJO RobotObj26: BoundaryWithBasicMoves.java. La nuova operazione step e sua calibrazione: TuneSteptime.java
  • Calcolo della lungheza dei lati della stanza in unità robotiche: RoomSideLength.java
  • WORKTODO: Realizzare il sistema proposto il 5/05 usando un sonar collegato a un Raspberry PICOW
13/05/2026 (11:30-14:30)Lab2
  • La semplificazione introdotta dal movimento step di RobotObj26 : BoundaryWithStep.java. Confronto con BoundaryWalkNaiveUsingWs26.java. Analisi del log files e dei thread di esecuzione.
  • Verso un robot come servizio (robotservice26) fruibile via rete e osservabile mediante eventi: inserzione di oggetti Java antro attori qak (Demo UsingObjects)
  • Rilevazione delle opinioni degli studenti
  • WORKTODO:
    utilizzare RobotService26 per costruire una mappa della stanza in cui si muove il robot, nella ipotesi di ostacoli fissi e bordi perimetrali liberi da ostacoli (su una fascia di larghezza robotica).
Week 14
19/05/2026 (12:00-15:00)Lab2
20/05/2026 (11:30-14:30)Lab2
  • Confronto con quanto elaborato dagli studenti in merito alla analisi dei requsiti
  • Sperimentazione di un Raspberry PICO W. Attivazione di sonar HC-SR04 e acquisizione dei dati rilevati.
  • WORK TODO: analisi dei requisiti del TemaFinale25 al fine di capire se il tema preenta un 'abstraction gap' rispetto a quanto sviluppato fino ad ora.
Week 15
26/05/2026 (12:00-15:00)Lab2
  • Aggiornamento della libreria unibo.qakactor23-5.0
  • Discussione su come impostare l'analisi dei requisiti: il caso del TemaFinale25
  • Un nuovo 'tipo di robot': Robotsmart26
  • Un esempio di uso: robotsmart26placetopos.qak
  • WORK TODO: con riferimento al modello robotsmart26boundary.qak analizzare le modifiche ritenute necessarie per interrompere e riattivare il giro del robot lungo il perimetro della stanza, in funzione delle distanze rilevate da un Sonar collegato a un PicoW.
27/05/2026 (11:30-14:30)Lab2
Week 16
03/06/2025 (11:30-14:30)Lab2
05/06/2026(11.00)Online Teams
Week 17
(12:00-15:00)Lab2
(11:30-14:30)Lab2


By AN Unibo-DISI