|
|
(198 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 ===
| |
− | | |
− | '''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;
| |
− | * Mobile Computing: la mobilità è la caratteristica principale;
| |
− | * Pervasive Computing: implementazione di funzioni di calcolo e comunicazione in oggetti;
| |
− | * 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...
| |
− | | |
− | 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;
| |
− | | |
− | * [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:
| |
− | *# 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;
| |
− | | |
− | * [http://it.wikipedia.org/wiki/GPS GPS]: http://home-2.worldonline.nl/~samsvl/
| |
− | | |
− | ----
| |
− | | |
− | === 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 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>
| |
− | | |
− | ----
| |
− | | |
− | === 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.<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 ===
| |
− | | |
− | * Servizi dipendenti dal contesto
| |
− | | |
− | ----
| |
− | | |
− | === Lezione di Venerdì 2-12-05 ===
| |
− | | |
− | * ccpp: recommendation del W3C
| |
− | | |
− | ----
| |
− | | |
− | === Lezione di Martedì 6-12-05 SOSPESA===
| |
− | | |
− | Annullata.
| |
− | | |
− | ----
| |
− | === Lezione di Venerdì 9-12-05 SOSPESA===
| |
− | | |
− | Annullata.
| |
− | | |
− | ----
| |