Differenze tra le versioni di "Mobile computing"

Da WikiDsy.
(Lezione di Martedì 8-11-05)
 
(115 versioni intermedie di 16 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;
 
 
 
'''''N.B.: La quasi totalità dei link a pagine esterne al wikiDsy sono stati inseriti dal sottoscritto e NON dal professore. Questo per far si di integrare meglio quanto spiegato a lezione con il vasto materiale disponibile in rete.'''''
 
 
 
Editaggio a cura di: --[[Utente:Voodoo|Voodoo]] 12:21, Nov 9, 2005 (CET)
 
 
 
== Diario del corso ==
 
 
 
=== Lezione di Martedì 4-10-05 ===
 
 
 
Un sito che percorrerà molti degli argomenti del corso è [http://www.html.it/mobile/ questo].
 
 
 
'''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: capacità di calcolo classico;
 
* [http://en.wikipedia.org/wiki/Mobile_computing Mobile Computing]: la mobilità è la caratteristica principale;
 
* Pervasive Computing: implementazione di funzioni di calcolo e comunicazione in oggetti;
 
* [http://en.wikipedia.org/wiki/Ubiquitous_computing Ubiquitous Computing]: una combinazione dell'aspetto mobile e pervasive;
 
* Disappearing Computing: l'embeddedness dei dispositivi tende a farli divenire oggetti della vita quotidiana,regiscono ad eventi in relazione all'utente e al suo contesto;
 
 
 
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...
 
 
 
[http://it.wikipedia.org/wiki/Smartphone Smartphones]
 
 
 
[http://it.wikipedia.org/wiki/PDA 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;
 
 
 
[http://en.wikipedia.org/wiki/BlackBerry Blackberry]:
 
 
 
* frequentemente utilizzati in USA;
 
* usato molto e principalmente per e-mail;
 
* ha una tastierina;
 
 
 
[http://it.wikipedia.org/wiki/Tablet PCTablet 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;
 
 
 
* 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:
 
*# [http://en.wikipedia.org/wiki/PalmOS PalmOS](il più stabile secondo il prof);
 
*# [http://en.wikipedia.org/wiki/Symbian_OS SymbianOS] (orientato alla telefonia);
 
*# [http://it.wikipedia.org/wiki/Windows_Mobile Windows Mobile](il meno stabile secondo il prof.);
 
*# OS in java e Linux: percentuali ridotte sul mercato;
 
*## [http://en.wikipedia.org/wiki/Mobilinux Mobilinux ]
 
 
 
* Cosa vuol dire [http://en.wikipedia.org/wiki/Original_equipment_manufacturer OEM]
 
 
 
----
 
 
 
=== Lezione di Martedì 11-10-05 ===
 
 
 
* Osservazione dell'architettura dei sistemi operativi per mobili,in particolare:
 
*# [http://it.wikipedia.org/wiki/Windows_Mobile Windows Mobile]: è un OS per dispositivi mobili(PDA e smart phones),dipendente da componenti di [http://en.wikipedia.org/wiki/Windows_CE Windows CE],con le seguenti caratteristiche principali:
 
*## struttura modulare;
 
*## multitasking(supporta sottoinsieme delle [http://en.wikipedia.org/wiki/Windows_API Win32 API] e .NET)
 
*## possibilità di sviluppo attraverso piattaforme di sviluppo comuni anche per i desktop:gli ultimi due punti rendono agibile il compito di sviluppatori che non devono affrontare una lunga curva di apprendimento;<br>L'ultima versione è la [http://it.wikipedia.org/wiki/Windows_Mobile#Windows_Mobile_5.0 5.0],sincronizzazione dei dati pc/dispostivo mobile tramite [http://en.wikipedia.org/wiki/ActiveSync ActiveSync]
 
*# [http://en.wikipedia.org/wiki/PalmOS PalmOS]:
 
*## ha dominato per molto tempo il mercato dei [http://en.wikipedia.org/wiki/Personal_digital_assistant PDA];
 
*## dalla V5 è anche multitasking e multithreading
 
*## le applicazioni possono includere ''Conduits'',cioè software di sincronizzazione dati pc/dispositivo simili per funzione al corrispettivo Microsoft ActiveSync
 
*## versioni principali: [http://www.palmsource.com/palmos/garnet.html Garnet] e [http://www.palmos.com/dev/tech/oses/cobalt60.html Cobalt]
 
*## supporto telefonia,Wifi,Bluetooth,UI migliorata;
 
*# [http://en.wikipedia.org/wiki/Symbian_OS Symbian]:
 
*## OS di riferimento per smart phones
 
*## le versioni precedenti si chiamavano [http://en.wikipedia.org/wiki/EPOC_%28computing%29 EPOC];
 
*## supporto svariati protocolli e piattaforme di sviluppo,sicurezza,applicativi vari;
 
*## [http://www.symbian.com/ home page] e panoramica in flash della versione [http://www.symbian.com/technology/OSoverview/OSoverview_v9.html 9.0]
 
*# Linux:
 
*## poco supportato dai produttori ma diffuso sui sistemi embedded fissi;
 
*## sfrutta [http://docs.kde.org/development/it/kdevelop/kdevelop/qtembedded.html QT Embedded] come piattaforma di sviluppo per le GUI e supporta java(come [http://www.esmertec.com/ Esmertec]);
 
 
 
''Pre-lezione: si è speso qualche parola in merito agli scioperi degli insegnanti riguardo la protesta su D.legisl. della Moratti:''
 
 
 
* ''Posizione ricercatori DICO,ecc.. [http://www.sl-lab.it/cgi-bin/twiki/view/Main/DDLMoratti qui]''
 
 
 
'''Connettitività locale'''
 
 
 
{| border=1
 
! WPAN!! WLAN
 
|-
 
| copertura inferiore ai 10m|| copertura inferiore ai 100m
 
|-
 
| Rimpiazza cavi|| estensione o rimpiazzo di una rete locale
 
|-
 
|throughput fino a 4 Mbps|| fino a 54 Mbps
 
|-
 
|standard IrDA,Bluetooth,802.15|| 802.11a/b/g,HIPERLAN/2
 
|}
 
 
 
 
 
* [http://it.wikipedia.org/wiki/Bluetooth Bluetooth]:
 
** non richiede linea diretta(cioè senza ostacoli nel mezzo)per la comunicazione;
 
** copertura fino a 10m,amplificabile fino a 100m;
 
** usa lo spettro 2.4GHz con il [http://en.wikipedia.org/wiki/Frequency-hopping_spread_spectrum frequency hopping]; vedere anche [http://it.wikipedia.org/wiki/Spread_spectrum qui]
 
** scopre automaticamente altri dispositivi nel raggio di portata;
 
** possibilità di crittare la comunicazione,più è grande la chiave più lenta sarà la comunicazione;alcune tecniche d'attacco sono:<br>[http://en.wikipedia.org/wiki/BlueJacking BlueJacking] e [http://en.wikipedia.org/wiki/Bluesnarfing Bluesnarfing]<br>
 
** permette connessioni simultanee;
 
** la tecnologia bluetooth permette il formarsi di alcuni tipi di rete:
 
*** [http://en.wikipedia.org/wiki/Piconet piconet]:rete wireless di 2 o più dispositivi connessi(fino ad 8);rapporto master/slave fra i dispositivi comunicanti;
 
*** rete ad hoc: costituita da al massimo 8 dispositivi,òa quale non necessita di amministrazione e preconfigurazione,in cui c'è una comunicazione diretta di un dispositivo con gli altri;Vedere <nowiki>http://en.wikipedia.org/wiki/Ad-hoc_network</nowiki> <!-- quell'url non viene considerato!! -->
 
*** [http://en.wikipedia.org/wiki/Scatternet scatternet]: connessione di più piconet con più di 8 dispositivi,dove la comunicazione diretta avviene all'interno delle piconet;
 
* [http://www.irda.org/ IrDA]:
 
** standard per trasmissione di dati tramite connessione ad infrarossi;
 
** serve linea diretta di comunicazione;
 
** raggio di portata ridotto(1-2m);
 
** basso costo;
 
** supporto comunicazione bidirezionale;
 
** thoughput da 9.3 Kbps  fino a 4 Mbps;
 
* 802.15:
 
** specifica dell'[http://en.wikipedia.org/wiki/IEEE IEEE] per creare un ostandard per WPAN;
 
** simile al BLuetooth;
 
** è ancora ''in progress'';
 
* [http://en.wikipedia.org/wiki/WLAN WLAN]:
 
** configurazione ad hoc(la più semplice,non richiede amministrazione o preconfigurazione,non richiedono [http://en.wikipedia.org/wiki/Wireless_access_point Access Point],poichè gli adattatori comunicano direttamente fra loro);
 
** può essere ampliata dagli Access Point,che possono anche eventualmente fornire il collegamento alla rete cablata;
 
** standard:
 
*** [http://en.wikipedia.org/wiki/802.11 802.11]:
 
**** 802.11/b(WiFi):usa lo spettro dei 2.4GHz con la tecnica [http://en.wikipedia.org/wiki/DSSS DSSS];è la più popolare. Throughput massimo di 11 Mbps,scende con l'allontanarsi dall'AP. Può penetrare barriere anche spesse,più facilmente rispetto alle alte frequenze. Lo svantaggio è che usa una frequenza molto usata e può portare a congestioni/interferenze nella comunicazione. L'implementazione del roaming fra gli AP stessi,è a carico degli AP. Schemi di sicurezza tramite [http://en.wikipedia.org/wiki/WEP WEP]
 
**** 802.11a usa l'OFDM e la frequenza 5GHz,frequenza limitata in alcuni paesi. Throughput fino a 54 Mbps,buono per scambio di grossi file,accesso veloce ad internet e per applicazioni multimediali. Ha un raggio di copertura ridotto,per mantenerlo largo servono molti più AP rispetto alla 802.11b. Non è compatibile con la versione b.
 
**** 802.11g: compatibile con la versione b,comunica sulla sua stessa frequenza con il DSSS,ma è in grado di raggiungere tassi di trasmissione fino a 54 Mbps usando l'OFDM sempre all'interno della banda a 2.4 GHz. Quindi gli AP dei due tipi saranno i ngrado di comunicare. Per raggiungere il tasso di 54 Mbps entrambe le reti devono essere di tipo g.
 
* [http://en.wikipedia.org/wiki/WiMAX WiMAX]:estensione del WiFi a raggio chilometrico per la realizzazione di WMAN
 
** [http://www.wimaxforum.org/home/ WiMAX forum]
 
* [http://en.wikipedia.org/wiki/Ultra_wideband UWB]:tecnologia a corto raggio ma a banda larga,con precedenti militari;
 
 
 
 
 
 
 
''Differenza tra FHSS,DSSS e [http://en.wikipedia.org/wiki/OFDM OFDM]''
 
 
 
La tecnica FHSS usa una banda portante stretta che cicla rapidamente le frequenze. Sia il mittente sia il destinatario conoscono il modello di cambio di frequenza usato. L'idea è avere sempre a disposizione una frequenza su cui scambiarsi i dati,altrimenti i dati vengono rispediti. Quindi attraverso una gusta sincronizzazione si ottiene un canale unico attraverso il quale l'informazione viene veicolata. Al resto del mondo,non essendo sincronizzato con la loro modalità di collegamento e scambio di frequenze,tutto ciò appare come raffiche di rumori. Si ha un throughput massimo di 1 Mbps. <br>La tecnica DSSS sparge il segnale lungo una banda larga di frequenze radio simultaneamente. Ogni bit trasmesso ha un bit di modello ridondante chiamato chip,il quale più è lungo è più è affidabile il reperimento dei dati. La maggiore lunghezza dei bit richiede però più banda. Chi non si aspetta i lsegnale lo riceve come un rumore a banda larga di debole potenza e viene rifiutato. E' una tecnica quindi che richiede più potenza dell'FHSS ma incrementa il tasso di trasmissione dei dati fino a 2 Mbps.<br> OFDM trasmette i dati in parallelo,al contrario delle tecniche precedenti,proteggendo meglio i segnali dalle interferenze. Ha un'altissima efficienza di spettro,cioè più dati di quanti ce ne possano stare possono essere trasmessi su una porzione ridotta di banda. Di contro la sua implementazione è più difficile e consuma grandi quantità di potenza.
 
 
 
 
 
----
 
 
 
=== Lezione di Venerdì 14-10-05 ===
 
 
 
'''******************Stato di Updating******************'''
 
{| style="width: 100%; padding: 3px; background: #f7f8ff; border: 1px solid gray; margin: 0 auto;" |
 
|''Questo articolo è solo un abbozzo (''stub''). Se puoi contribuisci adesso a migliorarlo secondo le convenzioni di Wikipedia.''
 
|}
 
* [http://it.wikipedia.org/wiki/GSM GSM]: tre componenti principali:
 
*# Mobile station(telefonino e SIM);
 
*# [http://en.wikipedia.org/wiki/Base_Station_Subsystem BSS](Base Station Subsystem): a livello di cella,handover;
 
*# [http://en.wikipedia.org/wiki/Network_Switching_Subsystem Network Subsystem]: realizza la comunicazione fra stazioni-mobili o fra mobili-mobili;
 
*#* [http://en.wikipedia.org/wiki/GSM_services servizi]
 
 
 
* [http://en.wikipedia.org/wiki/UMTS UMTS]
 
* [http://en.wikipedia.org/wiki/HSCSD HSCSD]: circuit switched;
 
* [http://en.wikipedia.org/wiki/GGSN#GGSN_-_Gateway_GPRS_Support_Node GGSN];
 
* [http://en.wikipedia.org/wiki/EDGE EDGE]
 
 
 
* 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);
 
 
 
'''Glossario'''
 
 
 
* [http://it.wikipedia.org/wiki/GPS GPS]: http://home-2.worldonline.nl/~samsvl/
 
* Cos'è l'[http://en.wikipedia.org/wiki/Handoff handover]
 
* Cos'è il [http://en.wikipedia.org/wiki/Roaming roaming]
 
* [http://en.wikipedia.org/wiki/Circuit_Switched_Data CSD]
 
 
 
----
 
 
 
=== Lezione di Martedì 18-10-05 ===
 
 
 
'''******************Stato di Updating******************'''
 
{| style="width: 100%; padding: 3px; background: #f7f8ff; border: 1px solid gray; margin: 0 auto;" |
 
|''Questo articolo è solo un abbozzo (''stub''). Se puoi contribuisci adesso a migliorarlo secondo le convenzioni di Wikipedia.''
 
|}
 
* Descrizione dello stack di protocolli WAP,con raffronto al TCP/IP per la sua comprensione;
 
 
 
----
 
 
 
=== Lezione di Venerdì 21-10-05 SOSPESA===
 
 
 
Lezione sospesa
 
 
 
----
 
 
 
=== Lezione di Martedì 25-10-05 ===
 
 
 
'''******************Stato di Updating******************'''
 
{| style="width: 100%; padding: 3px; background: #f7f8ff; border: 1px solid gray; margin: 0 auto;" |
 
|''Questo articolo è solo un abbozzo (''stub''). Se puoi contribuisci adesso a migliorarlo secondo le convenzioni di Wikipedia.''
 
|}
 
* 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 [http://en.wikipedia.org/wiki/Perl ''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;
 
** [http://en.wikipedia.org/wiki/JavaServer_Pages 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;
 
** PHP 5.0.5: può essere usato per:
 
*** Server-side scripting
 
*** scripting a linea di comando
 
*** applicazioni grafiche client-side
 
   
 
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] ''(anche se consiglio di leggersi le istruzioni di installazione nel file zip);'' <br>
 
Guida ad IIS: [http://www.html.it/iis/01.htm qui]<br>
 
PHP: [http://www.php.net/downloads.php download Zip package]'' ('''non''' l'installer msi,per i sistemi Windows,perchè ha limitate funzionalità rispetto al pacchetto zip'')<br>
 
 
 
Tutorial per [http://en.wikipedia.org/wiki/PHP PHP]:
 
* [http://www.php.net/ Home page]
 
* risorse varie: [http://www.latoserver.it/php/pi-acca-pi.php3 qui]
 
* [http://www.zend.com/php/beginners/index.php PHP Absolute beginners]
 
* Alcuni [http://www.phpclasses.org/browse/ scripts]
 
* Altre [http://freephp.html.it/ guide];
 
 
 
----
 
 
 
=== Lezione di Venerdì 4-11-05 ===
 
 
 
Introduzione all'[http://www.w3.org/XML/ XML]
 
* Tutorial:
 
** http://www.w3schools.com/xml/default.asp
 
** http://www.html.it/xml/tutorial/
 
** http://xml.aspitalia.com/
 
** http://www.corsojava.it/testi/xml/index.jsp
 
** http://www.spiderpro.com/bu/buxmlm001.html
 
* XML e Apache: http://xml.apache.org/
 
 
 
----
 
 
 
=== Lezione di Martedì 8-11-05 ===
 
 
 
Linguaggi di markup
 
* WML
 
* [http://www.w3.org/TR/xhtml1/ XHTML], [http://www.w3c.it/traduzioni/REC-xhtml-basic-20001219-it.html XHTML Basic],  [http://www.w3c.it/traduzioni/xhtml1-it.html XHTML-MP]
 
* [http://www.w3.org/TR/REC-html40/ HTML], [http://www.w3.org/TR/voicexml20/ VoiceXML], [http://www.w3.org/TR/SVG/ SVG]
 
* Generazione dinamica con PHP e [http://www.mysql.com/ MySQL]
 
 
 
'''WAP,WML Tutorial:'''
 
* http://www.w3schools.com/wap/
 
* http://wapitalia.html.it/wml/
 
* http://www.wirelessdevnet.com/channels/wap/training/wml.html
 
* http://xml.coverpages.org/wap-wml.html
 
* http://www.zvon.org/xxl/WMLTutorial/Output/introduction.html
 
* http://www.wmlscript.it/j2me/index.asp
 
'''XHTML,riferimenti:'''
 
* http://www.html.it/xhtml/
 
* http://www.w3schools.com/xhtml/
 
* http://www.zvon.org/xxl/xhtmlReference/Output/
 
* http://www.digitalmediaminute.com/reference/entity/index.php
 
* http://www.xhtml.org/
 
'''XHTML-MP:'''
 
* [http://developer.openwave.com/dvl/support/documentation/guides_and_references/xhtml-mp_style_guide/ xhtml-mp_style_guide]
 
* http://www.developershome.com/wap/xhtmlmp/
 
* http://www.xml.com/pub/a/2004/04/14/mobile.html
 
* [http://htmllint.itc.keio.ac.jp/htmllint/tagslist.cgi?HTMLVersion=XHTML-MP tag list]
 
'''HTML:'''
 
* Validator Service: [http://validator.w3.org/ qui]
 
* http://www.w3schools.com/html/html_intro.asp
 
* http://www.cwru.edu/help/introHTML/toc.html
 
* http://www.html.it/guida/
 
'''VoiceXML:'''
 
* http://www.vxmlitalia.com/
 
* http://www.zvon.org/xxl/VoiceXMLReference/Output/
 
* http://www.vxml.org/
 
'''SVG:'''
 
* http://www.html.it/svg/
 
* http://www.svg-whiz.com/wiki/index.php?title=Main_Page
 
* http://www.dmi.unict.it/~snicotra/svgweb/
 
* http://www.w3schools.com/svg/default.asp
 
* [http://www.carto.net/papers/svg/comparison_flash_svg/ .SWF Vs SVG]
 
 
 
----
 
 
 
=== Lezione di Venerdì 11-11-05 ===
 
 
 
* [http://www.w3.org/TR/xslt XSLT]
 
<u>Tutorial</u>: http://www.w3schools.com/xsl/
 
: http://www.zvon.org/xxl/XSLTreference/Output/
 
: http://www.zvon.org/xxl/XSLTutorial/Books/Book1/
 
: http://www.xml.com/pub/a/2000/08/holman/
 
: [http://www.xslt.com/resources.html Risorse varie]
 
: http://www.html.it/xslt/
 
: http://www.topxml.com/xsl/tutorials/intro/default.asp
 
: http://www.topxml.com/xsl/XSLTRef.asp
 
* [http://www.w3.org/TR/xpath XPath]
 
<u>Tutorials</u>:
 
: http://www.w3schools.com/xpath/default.asp
 
: http://www.zvon.org/xxl/XPathTutorial/General/examples.html
 
: http://www.html.it/linguaggi_xml/xml_02.htm
 
: [http://www.topxml.com/xpathvisualizer/ Risorse varie]
 
* Applicare trasformazioni XSLT con PHP
 
----
 
=== Lezione di Martedì 15-11-05 ===
 
 
 
Generazione dinamica con XSLT - Esercitazione
 
----
 
=== Lezione di Venerdì 18-11-05 ===
 
 
 
<u>''J2ME - Prima parte''</u>
 
* [http://java.sun.com/j2me/index.jsp J2ME]
 
* [http://java.sun.com/j2me/docs/index.html Documentazione]
 
* http://www.wmlscript.it/j2me/index.asp  ''(Tutorial)''
 
* [http://billday.com/Work/J2ME/BillDay_j2meIntro.pdf Introduction to Java wireless programming] ''(PDF)'' <br>
 
* [http://billday.com/Work/RapidFire101/BillDay_wireless101.pdf Ricapitolazione argomenti trattati nelle lezioni di teoria]<br>
 
* [http://java.sun.com/products/sjwtoolkit/ Sun Java Wireless Toolkit]
 
* [http://java.sun.com/blueprints/wireless/ Tutorials della Sun]
 
* [http://developers.sun.com/events/techdays/presentations/brazil/DevelopingWirelessApplications.pdf Developing Wireless Applications] ''(PDF)''
 
* [http://developers.sun.com/techtopics/mobility/device/device J2ME Device list]
 
* [https://www6.software.ibm.com/developerworks/education/wi-smart/ Build a smart J2ME mobile application- part I] ''(accessibile previa registrazione)''
 
* [https://www6.software.ibm.com/developerworks/education/wi-smart2/ Build a smart J2ME mobile application- part II] ''(accessibile previa registrazione)''
 
* [http://www.j2mepolish.org/  J2ME Polish] ''(suite of tools for creating "polished" J2ME applications)'' <br>
 
* [http://www.wirelessdevnet.com/channels/java/features/j2me_http.phtml Network programming with J2ME]
 
* [http://wiki.java.net/bin/view/Javapedia Javapedia]
 
* http://www.javastaff.com/
 
 
 
----
 
=== Lezione di Martedì 22-11-05 ===
 
 
 
<u>''J2ME - Seconda parte''</u>
 
* [http://jcp.org/aboutJava/communityprocess/final/jsr118/index.html MIDP specification]
 
* [http://www.wmlscript.it/j2me/midp20.asp Guida MIDP 2.0]
 
 
 
----
 
=== Lezione di Venerdì 25-11-05 ===
 
Intervento Microsoft sulla programmazione per il .Net Compact Framework.<br>
 
Sono [http://webdid.usr.dico.unimi.it/mobicomp/syllabus/files/499300.VS2005.ppt online] le slides in formato powerpoint.
 
 
 
----
 
=== Lezione di Martedì 29-11-05 ===
 
 
 
'''******************Stato di Updating******************'''
 
{| style="width: 100%; padding: 3px; background: #f7f8ff; border: 1px solid gray; margin: 0 auto;" |
 
|''Questo articolo è solo un abbozzo (''stub''). Se puoi contribuisci adesso a migliorarlo secondo le convenzioni di Wikipedia.''
 
|}
 
* Servizi dipendenti dal contesto
 
 
 
----
 
 
 
=== Lezione di Venerdì 2-12-05 ===
 
 
 
'''******************Stato di Updating******************'''
 
{| style="width: 100%; padding: 3px; background: #f7f8ff; border: 1px solid gray; margin: 0 auto;" |
 
|''Questo articolo è solo un abbozzo (''stub''). Se puoi contribuisci adesso a migliorarlo secondo le convenzioni di Wikipedia.''
 
|}
 
* ccpp: recommendation del W3C
 
 
 
----
 
 
 
=== Lezione di Martedì 6-12-05 SOSPESA===
 
 
 
Annullata.
 
 
 
----
 
=== Lezione di Venerdì 9-12-05 SOSPESA===
 
 
 
Annullata.
 
 
 
----
 

Versione attuale delle 11:02, 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)
____________________