Differenze tra le versioni di "Mobile computing"

Da WikiDsy.
(Lezione di Venerdì 28-10-05)
 
(265 versioni intermedie di 20 utenti non mostrate)
Riga 1: Riga 1:
<!-- Allo staff: mi son portato avanti cominciando ad abbozzare la pagina :). Ho copiato e incollato la formattazione dal corso di bioinformatica per la specialistica -->
+
{{introduzione}}
 +
== Turni ==
 +
{{Turno|(Claudio Bettini)}}
  
== Mobile Computing, anno 2005/2006 ==
+
== A.A. passati ==
 +
{{Annipassati|2006-2007|(Claudio Bettini)}}
 +
{{Annipassati|2005-2006|(Claudio Bettini)}}
  
'''Mobile Computing''' è un corso complementare aperto alle lauree triennali e specialistiche.
+
== Informazioni ==
  
=== Docenti === Claudio Bettini
+
=== Docenti===
e-mail: mailto:bettini@dico.unimi.it
 
  
Pagina personale: [http://homes.dico.unimi.it/~bettini/ qui]
+
* Prof. Claudio Bettini
 +
** Email: bettini [AT] dico [DOT] unimi [DOT] it
 +
** Pagina personale sul DICo: http://homes.dico.unimi.it/~bettini/  
 +
* Collaborazione di Daniele Riboni
 +
** riboni [AT] dico [DOT] unimi [DOT] it
  
=== Orari delle lezioni ===
+
=== Modalità d'esame ===
  
{| border=1
+
* L'esame consiste in un test scritto durante il corso sugli argomenti affrontati (o alternativamente in un orale durante gli appelli) e nella realizzazione, presentazione e discussione di un progetto (che richiede programmazione su dispositivo e lato server).
! Martedì!! Venerdì
+
* Informazioni dettagliate sullo svolgimento del progetto si trovano sulla pagina del corso
|-
 
| 15:45-17:15 Aula Alfa|| 09:00-10:30 Aula Alfa
 
|}
 
  
=== Orario di ricevimento dei docenti ===
+
=== Prerequisiti al corso ===
  
Non è stato chiarito mi pare,quindi mandate una mail per appuntamento.
+
* Indicato principalmente per studenti della laurea magistrale. Ammessi anche gli iscritti al terzo anno della triennale
 +
* Esami di Programmazione (Java preferibilmente) e Sistemi operativi verbalizzati
 +
* Nozioni di Reti di calcolatori e di Basi di dati (almeno corsi seguiti)
  
=== Sito del corso ===
+
=== Giudizio sul corso ===
 +
{{Giudizio}}
 +
{{Giudizio/Interesse}}
 +
{{Giudizio/Difficoltà}}
 +
{{Giudizio/Nonfrequentanti}}
 +
{{Giudizio/Ore}}
  
Se andate [http://webdid.usr.dico.unimi.it/mobicomp/ qui] trovate il programma del corso e il materiale didattico,per cui si deve disporre della password.
+
[[Categoria:Corsi Primo Semestre]]
 
 
=== Materiale didattico ===
 
 
 
* Slides sul sito;
 
* Libro: M. Mallick, ''Mobile and Wireless Design Essentials'', Wiley Technology Publishing, 2003.
 
 
 
=== Modalità d'esame e prerequisiti ===
 
 
 
* E' utile avere almeno seguito i corsi di reti di calcolatori e basi di dati;
 
* Si richiede la '''verbalizzazione''' dell'esame di informatica generale e programmazione java e dell'esame di Sistemi operativi: la questione non è burocratica ma atta a disincentivare la frequenza del corso a chi nn possiede certe conoscenze di base;
 
* La penultima lezione ci sarà un compitino e nell'ultima la presentazione di un progetto,che andrebbe risolto e discusso entro un anno dalla presentazione;
 
** la validità dello scritto è permanente;
 
** in alternativa al compitino uno può decidere di fare lo scritto e poi portare il progetto,discuterlo e fare l'orale;
 
* I probabili linguaggi di programmazione e mark-up usati saranno:
 
** XML;
 
** XSLT;
 
** HTML;
 
** C#.NET
 
** JAVA;
 
** probabilmente anche SQL o ASP per interazioni server/database;
 
 
 
== Diario del corso ==
 
 
 
=== Lezione di Martedì 4-10-05 ===
 
 
 
'''Argomenti trattati nella lezione di oggi''':
 
 
 
* Abbiamo visto a grandi linee l'evoluzione dell'hardware ,che ha portato a:
 
** riduzione delle dimensioni delle macchine;
 
** evoluzione rapporto persona/macchina (molte persone singolarmente lavorano con un calcolatore,per approdare ai PC e infine più macchine al servizio di una sola persona);
 
* Evoluzione di Internet;
 
 
 
Abbiamo definito:
 
 
 
* Traditional Computing;
 
* Mobile Computing;
 
* Pervasive Computing;
 
* Ubiquitous Computing;
 
* Disappearing Computing;
 
 
 
Il Mobile Computing,per sua natura,è e sarà oggetto di forti novità e sviluppo,sia per quanto riguarda  sistemi operativi,linguaggi,protocolli,architetture,algoritmi ed interfacce;</BR>
 
Parimenti presenta altresì difficoltà non indifferenti,quali la rapida evoluzione con il conseguente invecchiamento precoce delle tecnologie,notevole competizione,sistemi operativi immaturi e instabili e una grande eterogeneità hardware,software e di protocolli in circolo.
 
 
 
Abbiamo visto le sue applicazioni a livello lavorativo/aziendale/quotidiano e i ruoli professionali coinvolti in questo settore.
 
 
 
----
 
 
 
=== Lezione di Venerdì 7-10-05 ===
 
 
 
Abbiamo trattato la classificazione dei dispositivi secondo certe caratteristiche:
 
 
 
* I/O: schermo,touchscreen,tastiera,slot di espansione,ecc..
 
* Connettività: globale,locale;
 
* Risorse di calcolo: CPU,RAM,ecc..
 
* Autonomia: batteria;
 
* Supporto applicazioni: JVM,.NET Compact Framework,ecc..
 
* Supporto multimediale: audio,video,ecc...
 
 
 
Abbiamo visto le caratteristiche dei '''PDA'''(Personal Digital Assistent):
 
 
 
* orientati alla gestione/scambio di dati;
 
* supporta solo connettività locale;
 
 
 
'''PDA-phones''':
 
 
 
* supporto UMTS per scambio dati;
 
* risorse di calcolo inferiori ai PDA;
 
 
 
'''Blackberry''':
 
 
 
* frequentemente utilizzati in USA;
 
* usato molto e principalmente per e-mail;
 
* ha una tastierina;
 
 
 
'''Tablet PC''':
 
 
 
* più vicini ai laptop che ai dispositivi mobili;
 
* riconoscitore vocale e di scrittura;
 
* costo elevato;
 
* connessione locale integrata;
 
* SO microsoft: il costo elevato e la mancanza di applicazioni utili non ha fatto decollare il loro sviluppo,deludendo Micro$oft(n.d.A.);
 
 
 
* Esempio di utilizzo di PDA-phones con riconoscimento vocale in aula;
 
 
 
* <u>analisi dei dispositivi in termini di vendite sul mercato</u>:
 
** frammentazione del mercato;
 
** assenza di un leader dominante;
 
** frequenti novità;
 
** convergenza tra PDA e smart-phones;
 
** supporto navigazione GPS,suite Office,ecc..
 
** si riduce il numero di Sistemi operativi e di piattaforme di sviluppo;
 
 
 
* Introduzione ai '''sistemi operativi''':
 
 
 
* differenze tra quelli generici e quelli per mobili;
 
** molto importante l'aspetto di risparmio delle risorse.
 
* I più usati:
 
*# PalmOS(più stabile secondo il prof);
 
*# SymbianOS (orientato alla telefonia);
 
*# Windows Mobile( - stabile);
 
*# OS in java e Linux: percentuali ridotte sul mercato;
 
 
 
----
 
 
 
=== Lezione di Martedì 11-10-05 ===
 
 
 
* Osservazione dell'architettura dei sistemi operativi per mobili,in particolare:
 
*# Windows Mobile;
 
*# PalmOS
 
*# Symbian
 
* Descrizione delle caratteristiche delle tecnologie Bluetooth,IR e Wifi, e delle reti che la utilizzano,ossia WLAN e WPAN;
 
 
 
----
 
 
 
=== Lezione di Venerdì 14-10-05 ===
 
 
 
Pre-lezione: si è speso qualche parola in merito agli scioperi degli insegnanti riguardo la protesta su D.legisl. della Moratti:
 
* [http://www.repubblica.it/2005/f/sezioni/scuola_e_universita/scioperofame/scioperofame/scioperofame.html  Repubblica]
 
* Posizione ricercatori DICO,ecc.. [http://www.sl-lab.it/cgi-bin/twiki/view/Main/DDLMoratti qui]
 
 
 
'''Reti geografiche wireless'''
 
 
 
* GSM: tre componenti principali:
 
*# Mobile station(telefonino e SIM);
 
*# BSS (Base Station Subsystem): a livello di cella,handover;
 
*# Network Subsystem: realizza la comunicazione fra stazioni-mobili o fra mobili-mobili;
 
 
 
* Visione delle bande usate in europa e america,divisione dei canali in frequenze,uso degli slot di tempo;
 
* evoluzione porta ad aumentare la banda di trasferimento dei dati,poichè GSM assolve il suo dovere per quanto riguarda la voce ma non per i dati(lentezza,costo);
 
* HSCSD: circuit switched;
 
* GGSN;
 
 
 
----
 
 
 
=== Lezione di Martedì 14-10-05 ===
 
 
 
* Descrizione dello stack di protocolli WAP,con raffronto al TCP/IP per la sua comprensione;
 
 
 
----
 
 
 
=== Lezione di Martedì 25-10-05 ===
 
 
 
* confronto fra architetture thin client e smart client;
 
'''N.B.: la lezione di venerdì tratterà la programmazione lato server per queste architetture'''
 
 
 
----
 
 
 
=== Lezione di Venerdì 28-10-05 ===
 
 
 
* Meccanismi di richiesta dati da client a server,e sua risposta tramite due metodi principali:
 
*# Uso di [http://it.wikipedia.org/wiki/CGI CGI] e simili: viene eseguito un processo separato per ogni richiesta, l'output del programma viene rispedito in rete al client;
 
'''N.B.:'''CGI non è nè un protocollo di comunicazione nè tanto meno un linguaggio, ma un sistema per definire delle variabili d'ambiente utilizzate dai processi; posso utilizzare i linguaggi che voglio, fra i più utilizzati troviamo ''perl'';
 
*# Uso di server [http://it.wikipedia.org/wiki/Application_programming_interface API]: si usano librerie dinamiche linkate al codice del server ed eseguito come un tutt'uno. Abbiamo vere e proprie applicazioni client e server. Il server non è iterativo ma multiconcorrente, più thread (processi leggeri) vengono lanciati per ogni richiesta;
 
* Abbiamo visto cosa sono:
 
** [http://it.wikipedia.org/wiki/Servlet Java Servlet]: sono qualcosa di simile alle applet ma eseguite server-side;
 
** JSP (Java Server Page): le richieste di questi file producono la loro compilazione in una servlet;
 
vedi [http://forum.java.sun.com/forum.jspa?forumID=45 forum] della sun per chiarimenti;
 
** [http://www.php.net PHP]: script integrabili nel codice HTML;
 
 
 
Tutorial su Java Servlet e JSP: [http://java.sun.com/products/jsp/docs.html qui]<br>
 
Sito Apache: [http://www.apache.org/ qui]<br>
 
Guida su Apache: [http://freephp.html.it/guide/lezioni.asp?idguida=6 HTML.it]<br>
 
Installazione modulo PHP su Apache: [http://openskills.info/topic.php?ID=89 qui]
 
----
 

Versione attuale delle 11:01, 28 lug 2007

Disambigua compass.PNG
Questa è una pagina di introduzione al corso: contiene i turni, le modalità d'insegnamento, alcune informazioni generali ed eventuali giudizi sul corso in questione. Se sei giunto qui passando da un link, puoi tornare indietro e correggerlo in modo che punti direttamente alla voce appropriata.

Turni

A.A. passati

Informazioni

Docenti

  • Prof. Claudio Bettini
  • Collaborazione di Daniele Riboni
    • riboni [AT] dico [DOT] unimi [DOT] it

Modalità d'esame

  • L'esame consiste in un test scritto durante il corso sugli argomenti affrontati (o alternativamente in un orale durante gli appelli) e nella realizzazione, presentazione e discussione di un progetto (che richiede programmazione su dispositivo e lato server).
  • Informazioni dettagliate sullo svolgimento del progetto si trovano sulla pagina del corso

Prerequisiti al corso

  • Indicato principalmente per studenti della laurea magistrale. Ammessi anche gli iscritti al terzo anno della triennale
  • Esami di Programmazione (Java preferibilmente) e Sistemi operativi verbalizzati
  • Nozioni di Reti di calcolatori e di Basi di dati (almeno corsi seguiti)

Giudizio sul corso

I giudizi di seguito espressi sono il parere personale degli studenti,
e potrebbero non rispecchiare il parere medio dei frequentanti.
Non vi è comunque alcun intento di mettere alla gogna i docenti del corso!
Interesse della materia (da 1 a 5 - aiuto)
____________________
Difficoltà del corso (da 1 a 5 - aiuto)
____________________
Difficoltà del corso per non frequentanti (da 1 a 5 - aiuto)
____________________
Ore di studio richieste (da 1 a 5 - aiuto)
____________________