introduzione al corso di tecnologie web -a.a. 2017/18 · meccanismi di manipolazione delle...
TRANSCRIPT
![Page 1: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/1.jpg)
Introduzione al corso di Tecnologie Web - A.A. 2017/18
Fabio VitaliCorsi di laurea in Informatica e Informatica per il ManagementAlma Mater – Università di Bologna
![Page 2: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/2.jpg)
Introduzione
Oggiesaminiamoinbreve:– Informazionipratichesulcorso– Icontenutidelcorso– L’organizzazionedelprogetto– Latipologiad’esame
![Page 3: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/3.jpg)
Docentedellelezioni
• FabioVitali
• Ricevimento:– Primaedopolalezione– Oppurepere-mail:[email protected]
![Page 5: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/5.jpg)
Orariodellelezioni(1)
L'orariodellelezioniè:– Lunedì,13:00-16:00,AulaM1(Mineralogia)– Venerdì,15:00-18:00,AulaM1(Mineralogia)
Èuncorsoda56ore,24orediteoriae32dilaboratorio.Organizzatein6orelasettimana,suunarcodi12settimane
![Page 6: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/6.jpg)
Piccolecuriositàmatematiche
12x6=72
72– 56=16
cioèfare56oreinunospaziodi72lascia16oredimargineQuestosignificacheabbiamounpo'dimarginepergestireimprevisti,malattieescioperivaricheinvariabilmenteaccadonodilunedìovenerdì.
![Page 7: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/7.jpg)
Organizzazionedellelezioni
• Lezioniditeoria(inaula)
• Lezionidiesercitazione(inaulaconvostriportatili)– L'aulaNONHAABBASTANZAPRESEELETTRICHEPERTUTTI.
– Portatevidelleciabatteelettriche
![Page 8: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/8.jpg)
SitoWebdelcorso(1)
Ilsito(anzi,ilwiki)http://vitali.web.cs.unibo.it/TechWeb18
conterrà:– LucidiPowerPointePDF– Annuncivari– Linkadocumentidisponibilisurete
![Page 9: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/9.jpg)
Lelezioni
Organizzazionedellelezioni– Sulucidiimmediatamenteadisposizione– Autonomeecomplete(ognilezioneunargomentodiverso- circa)
– Enfasisulsignificatodelletecnologie,piuttostochesuglistrumenti
– Indicazionedellabibliografia• utilizzataperilucidi(testonormale)• suggeritaperchivolesseapprofondire(testocorsivo)• richiestaperl’esame(testocorsivoegrassetto)
![Page 10: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/10.jpg)
Il w
eb d
ei d
ati
Il w
eb d
ei d
ocum
enti
Il w
eb d
ei p
rogr
amm
i
Le b
asi
Argomentidellelezioni
HTTPURI
Codificadeicaratteri
XML
CSSHTML
Markup
Server-sideNodeJsClient-sideJavascriptJS frameworkWeb ServiceREST
Linked DataOntologie
SPARQL
RDF
![Page 11: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/11.jpg)
Com'èfattol’esame
• E’ necessariopartecipareadunprogettoperteamdurantel’anno.
• L’esameconsistein:– Valutazioneoraledelcontributopersonalealprogetto
• Sfruttaletecnologiespiegatenelcorso• Evidenziaiproblemidimashup tratecnologiediverse
– Compitoscrittodi5/6domande.– Oraleincasieccezionali
![Page 12: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/12.jpg)
ValutazionedelleproveScrittieprogettivengonovalutatiintrentesimi.
– Loscrittopesal'80%delvotofinale– Ilprogettobasepesail30%delvotofinale– L'aggiuntadifunzionalitàfacoltativeportailpeso
finoal40%delvotofinale
Siam ilvotodelloscrittoen ilvotodelprogetto,siap ilpesodelprogetto(p∈ [0.3,0.4]),ilvotofinalesaràdatoda:
0.8*m +p*nAdesempio,prendendo27alloscrittoe28alprogettobaseilvotofinalesarà:
0.8*27+0.3*28=21.6+8.4=30
![Page 13: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/13.jpg)
Ilprogettodel2018
• Quest'annocisaràunprogettoinduelivelli.• Livellostandard:dirapidaesecuzione,richiedepocaprogrammazioneepuòesseresvoltodaungruppoddue/trepersoneconunasettimanadilavoro
• Livelloavanzato:richiedeunpo'disforzo,èilpiùstimolanteintellettualmente,epuòesseresvoltoinduesettimanedaunteamditre/quattropersone.
![Page 14: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/14.jpg)
Appellid'esame
• Unoainiziogiugnoperchivuolefarelevacanzelungheeperchièindebitodall'annoscorso
• Unoametàgiugno,incuimiaspettoMOLTIdivoi,unoainizioluglioeunoametàluglio(nellasettimanadelletesi).
• Unoasettembre(richiestadiateneo)• Unoagennaio2019eunoafebbraio2019
![Page 15: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/15.jpg)
Organizzazionedeiteam• Ognipersonadecideinanticiposeèinteressataasostenere
l'esameinestate,autunno,sessionestraordinariaoindeciso.• Tuttiglistudentisidividonointeamdi2persone(progetto
standard)oppure3-4persone(progettoavanzato).Nonsonoaccettatigruppidipiùdi4persone.Nonsonoaccettatiprogettisingolitranneeccezioniestremeebengiustificate.
• Ogniteamportailprogettoinsieme(noncisonoeccezioni!).Ilteamdichiarainanticipolanaturadelcontributodiciascunmembrooppureaccettachechiunquesiainterrogato(eneldettaglio!)sututtoilprogetto.
• Appositestrutturedati(sulwikidelcorso)vengonotenuteaggiornateconilnumero,nomeecomponentidiogniteam,eperiodoprevistodiesame.
• Iononsonocoinvoltonell'organizzazionedeiteam.
![Page 16: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/16.jpg)
PallinideldocenteIngenerale– HTMLbisognasaperloebasta(Nota:nonverràspiegatoneldettagliocheverràrichiesto)
– C’èenfasisulwebcomeproduttoredicontenutiesull’approcciodichiarativo.
– Ilcontentmodelmistoèutile– Giustocompromessotracompetenzapraticaestudioteorico– Ilprogettonon forniscetuttelecompetenzeperpassarel’esame.Neiprogetti– Ilriuso(dicodice,principi,approcci,architetture)èimportante– L'interoperabilitàèimportante– Iportapizzenonsonotollerati– Glismanettonisonopremiatisolosehannoanchestudiato
![Page 17: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/17.jpg)
Leparolechiavedelcorso
• Interoperabilità• Standard• Mashup• Dichiaratività• Semanticità
![Page 18: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/18.jpg)
Standardeinteroperabilità• Laprimainformaticaeracontentadiunun’applicazioneche
funzionasseebasta.• Coniltemposisonointrodotticoncettidiqualità
dell’implementazione:efficienzanell’usodellerisorse,complessitàcomputazionale,gestibilitàneltempodelcodicesorgente,usabilità,utilizzoappropriatodellelibrerie,ecc.
• Anoiinteressal’interoperabilità,unnuovoaspettodellaprogettazione:nonsolocheilprogrammafunzioniechefunzionibene(perinterpretazionispecifichedi“bene”),machefunzioniconaltriprogrammidellostessotipo.
• Laidentificazionedeistandardappropriati,lacorrettaimplementazionedeglistessi,l’identificazionedisemprenuoveepiùpreciseareediinteroperabilitàsonoconcettifondamentaliperquestocorso
![Page 19: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/19.jpg)
Mashup
• Larealizzazionedisiti,applicazioni,serviziWebrichiedelapadronanzadiunaltonumerodiconcetti,linguaggi,protocolli,ciascunodeiqualièspessosemplice,espressivo,potente.
• Ladifficoltàinquestocasoètrovareilmodopercombinareecongiungerequesticoncettiecc.inunacostruzioneampiaecomplessa,cheforniscaserviziancorapiùsofisticatidiquellideicomponentibase.
• Questoèquellocheintendiamopermashup
![Page 20: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/20.jpg)
Dichiaratività• Laprogettazioneimperativaoproceduraleprevedelaesplicitasomministrazionediistruzioniadunamacchinaubbidienteecieca.– Questoportaconséinevitabilmenterischieproblemi(sintattici,semantici,ecc.)
– Unerroreproceduraleinterrompel’esecuzione.
• Laprogettazionedichiarativadescrivestatiinizialiefinalidiunmondoastratto– Unmeccanismoesistentegeneralacomputazionechepermettelatransizionedallostatoinizialealfinale
– Unerroredichiarativoportaadunostatofinalenondesiderato,nonadun’interruzione.
![Page 21: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/21.jpg)
Semanticità
• Ilwebnonèpiù(nonèmaistato)ilmondodellavisualizzazionepuraesemplicediinformazionitestualio,peggio,strutturate.
• Leinformazionisignificano,eattivanoruoli,funzioni,processirilevantiedipendentidallaloronaturaedallorocontenuto.
• Un'applicazionesemanticafamoltodipiùchevisualizzare:collega,attiva,rendeeseguibilileinformazioniinmanierariccaecomplessa.
![Page 22: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/22.jpg)
Ilprogetto
• UnsistemaVERO,chefunzionaefacoseutili• Realizzabilesiainlaboratoriocheacasa.• Enfasiinpartesullaprogrammazione(approccioprocedurale)masoprattuttosuidocumentiattivi(approcciodichiarativo)
• Enfasisulmashupditecnologieesistentiesofisticate
![Page 23: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/23.jpg)
AlphaTube - UnsistemadiraccomandazioniperYouTube
![Page 24: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/24.jpg)
Losviluppatoresoftwareneglianni'10
• Losvilupposw piùsorprendenteedevidentedegliultimiannièlanascitadiinnumerevolistrumentiperilprogrammatore,concuirealizzareservizisofisticati
• Framework:invecedisceglierenuovilinguaggidiprogrammazione,siusanooralibreriepergliscopipiùdisparati,facilmenteintegrabiliemescolabilitraloro
• API(ApplicationProgrammingInterfaces):invecedisviluppareapplicazionimonolitichechesvolgonoservizicomplessiinun'unicamaniera,sifornisconomeccanismidimanipolazionedellestrutturedatifondamentalieaccessoaglialgoritmipiùsofisticatiperapplicazionisviluppatedaiclienti.
• Questopermetteincredibilesofisticazione,grandecomponibilità,erapiditàdisviluppoprecedentementeirraggiungibili.
![Page 25: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/25.jpg)
LeAPI
• LeAPIcheciinteressanosonoquellechevannosottoilnomediRESTful API,ovverochesfruttanoalmegliolanaturadiHTTPedegliURI(iprotocollipiùimportantidelweb)perfornireiloroservizi.
• UnaAPIRESTful fornisce:– UnURIbaseacuiaccedereperottenereiservizi– UnasintassidegliURIdelleentitàinterrogabiliemodificabili– Unmediatype attraversocuiottenereeforniredatidautilizzareneiservizi
forniti(adesempioXML,JSON,etc.)– Unasemanticaassociataall'usodeivariverbiHTTP(GET,PUT,POST,DELETE)
attraversoiqualiattivareeeseguireiserviziofferti.
• Ladocumentazionediun'APItipicamentedescriveneldettaglionomi(URI),verbi(comandiHTTP)eformati(InternetMediaType)perogniserviziofornito.
![Page 26: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/26.jpg)
AlphaTube
AlphaTubeèunprogettoperlarealizzazionediunambientecomplessoincuiaccederemescolandodatidiservizidiversi:
Allabasec'èilVisualizer,chepermettedivisualizzareinmanierainteressantevideo(ades.musicali)edatirecuperatidaWikipediasuartista,canzone,albumvisualizzato.Inaggiuntac'èilRecommender,chemostraalcunivideo"collegati"aquelloinvisualizzazioneepermettedicreareunplaylist deiprossimivideo.IlRecommender suggerisceivideosullabasediunalgoritmodicomplessitàcrescente,basatoinizialmentesolosuomogeneitàdiartista,album,titolo.IlRecommender avanzatoutilizzamodellicomplessidicrowdsourcing,semantic webesocialnetworkpercreareunsistemadisuggerimentipiùsoddisfacenteepersonalizzato.
Intuttiicasi,loscopoèstudiarealcuneAPIdiservizidisponibilionlineecreareun'applicazionewebcheaccedaaquestidatiinmanieradinamica,conunarappresentazionevisivainunapaginaweb.
![Page 27: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/27.jpg)
Illavoroditeam
• Tuttiimembrideiteamsonotenutialavorareelavorareinsieme.
• E'meglioessereparteattivadiunprogettomediocrechepassivadiunprogettomeraviglioso.
• Nonsarannotolleratiiportatoridipizze• Miriservoall'esamediscoprireilcontributoindividualediciascuno,indipendentementedallabontàdelprogettoconsegnato.
![Page 28: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/28.jpg)
Attenzioneaglianti-pattern
• Durantelafasedianalisidelprogetto,saràmiacuraverificarechenonsianostatefattesciocchezzeimplementative,inparticolareanti-pattern(http://en.wikipedia.org/wiki/Anti-pattern).
• Alcunianti-patterndaevitareassolutamente:– CargoCultprogramming– Coding byexception– CopyandPasteprogramming– HardCode– MagicNumbers andStrings– Reinventing thewheel
![Page 29: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/29.jpg)
Unanti-patterninpiù
Nonesistequestopatterntraquellinotiinletteratura,madovrebbeesistere.Iolochiamo
Giocareapokerconquattrocarte• Quattrocartebastanoperfarepoker.Quindiinteoriaioposso
lasciareunadellecinquecartesultavoloeprovareafarepokersoloconleprimequattro.
• Questopatternlosivedetraglistudentiquandoprovanoarealizzareilprogettoconforzabrutasenzaimmaginarsicheesisteunlinguaggio,unprotocollo,unAPIchecopreesattamentequelruolosenzabisognodireinventarselo.
• L'esempiodiJQuery
![Page 30: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/30.jpg)
Quandodarel'esame• Ognunodevedeciderealpiùprestoinqualesessionedarloe
seriamenteimpegnarsipermantenerequestadecisione.• Idealmente:
– Estate 75-100%,– Autunno 20-0%,– Inverno 5-0%,– Indecisi 0 %.
• Quattroappelliagiugno/luglio,unoasettembre,dueagennaio/febbraio.
• Chipresentailprogettoentrofebbraio2017,anchesenonriesceadareloscritto,nondeverifareilprogettomasolostudiareilnuovoprogramma.
• Chinonriesceaportareilprogettoperfebbraio2017deveprepararsiconilnuovoprogrammaerealizzareilnuovoprogetto
![Page 31: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/31.jpg)
Suggerimentiperl'esame
• Veniteallapresentazioneconilprogettochefunziona.Senonvaiovifacciotornare.Perquestopreferisco– vederviunasettimanadopol'appelloconilprogettochefunziona
• piuttostoche– perderetempoconlapresentazionediunprogettochenonva,– mandarviviainlacrime,e– vederviunasettimanadopol'appelloconilprogettochefunziona
• Venitealloscrittoavendolopreparato.Nonc'ènientedipiùirritantedivedereragazzisvegliecompetenti(visiriconosce)cheprendono8o10alloscrittoperchécihannosoloprovato.
• Loscrittononèdifficileperchihastudiato,èimpossibileperchinonl'hafatto.
![Page 32: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/32.jpg)
Flessibilitàdelcorso
• Provascrittaeprovadiprogettosonoindipendenti.– Ilprogettoèsempredigruppo– Loscrittoèsempreindividuale
• Poteteprovareloscrittotuttelevoltechevolete– Ilvotoprecedenteverràcancellatosoloseconsegnateunnuovoscritto– Gliscrittisonosoloalledatedegliappelliufficiali
• Potetepresentareilprogettotuttelevoltechevolete– SoloselodecideconsensualmenteTUTTOILGRUPPO– Poteteritirarvidallapresentazionedelprogettoinqualunquemomento
etornareunasettimanaoduedopoconlecorrezionicheriteneteopportune.
![Page 33: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/33.jpg)
Rigiditàdelcorso(nessunaeccezionepernessunmotivo)
• Ilprogettodevefunzionare.Completamenteedesattamente.• Ilprogettodeverisiederesuunamacchinadeldipartimento.• SevoleteinstallarelibrerieeSWspecialiperilprogetto,
verificateprimachequestosiapossibilesullemacchineesuisistemioperativioffertidaldipartimento
• IlprogettodevevenirepresentatodatuttoilgruppoinsiemeInviaeccezionaleèaccettabilecheunapersonasiacollegataviaskype.Innessuncasoèaccettabilechesipresentiinunadataunapartedelgruppoeinunadatadiversaglialtri.
• Nonusatetecnologiecherichiedanocompilazionioprocedurecomplessediaggiornamentodelcodiceeseguito.Deveesserepossibileaprireunfilesulserveremodificarloalvolodurantelaprova.
![Page 34: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/34.jpg)
Conclusioni
• IlcorsodiTWvuolecoprirealcuniaspettifondamentalidelletecnologieedeglistandardconnessiconilWorldWideWeb.
• Ilprogettovuoledareun’ideadellavorod’équipeedelfunzionamentodeiteamdistandard,oltreafarprovareconmanol'applicazionedeglistandardstessi.
![Page 35: Introduzione al corso di Tecnologie Web -A.A. 2017/18 · meccanismi di manipolazione delle strutture dati fondamentali e accesso agli algoritmi più sofisticati per applicazioni sviluppate](https://reader030.vdocuments.site/reader030/viewer/2022020319/5c6ff47409d3f2154d8c71f5/html5/thumbnails/35.jpg)
www.unibo.it
Fabio Vitali
Dipartimento di Informatica – Scienze e IngegneriaAlma mater – Università di Bologna