Differenze tra le versioni di "Mobile computing"

Da WikiDsy.
(Lezione di Martedì 22-11-05)
 
(212 versioni intermedie di 17 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 ===
 
 
 
'''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;
 
 
 
* 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;
 
** 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 scaricando lo zip,trovate all'interno la guida in inglese per tutte le installazioni del caso; <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>
 
 
 
----
 
 
 
=== 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 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
 
'''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
 
 
 
----
 

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)
____________________