190 resultados para Android Logica Java Deduzione Naturale Didattica
Resumo:
Molti concetti basilari dell'Analisi Matematica si fondano sulla definizione di limite, della quale si è avuta una formulazione rigorosa solo nel XIX secolo, grazie a Cauchy e a Weierstrass. Il primo capitolo ripercorre brevemente le tappe storiche di un percorso lungo e difficile, durato circa 2000 anni, evidenziando le difficoltà dei grandi matematici che si sono occupati dei concetti infinitesimali. Nel secondo capitolo vengono esposte le possibili cause delle difficoltà degli studenti nell'apprendimento dei limiti. Nel terzo capitolo vengono descritte ed analizzate le risposte degli studenti liceali ed universitari ad un questionario sui limiti.
Resumo:
Questa tesi è incentrata sullo studio dei sistemi di numerazione. Dopo un'analisi storica dei vari contributi apportati dai diversi popoli, si mostrano alcune applicazioni didattiche elementari e alcuni giochi ricreativi. Per mostrare l'interesse di questi sistemi anche per la ricerca contemporanea, si passa a una trattazione più generale fino a giungere alla geometria frattale.
Resumo:
La tesi nasce da un'attività di ricerca approfondita su alcune tecnologie innovative e all'avanguardia nell'ambito del mobile computing e dell'Internet of Things. Tra queste il focus principale è orientato allo studio del Bluetooth Low Energy, nuova specifica di Bluetooth caratterizzata principalmente da un consumo di energia assai ridotto. In particolare, si è approfondito il suo funzionamento nel caso dei beacon, piccoli dispositivi che permettono una localizzazione mediante l'invio di un segnale BLE. Inoltre è stata analizzata la possibilità di interazione con Android, poiché oggigiorno non si può evitare di pensare a come queste tecnologie possano interfacciarsi con il mondo degli smartphone e dei tablet. Come conseguenza di tale attività di ricerca è stato analizzato un caso di studio che permettesse di applicare le tecnologie studiate e la loro interazione. Si è pensato quindi a un piccolo sistema distribuito per schermi adattativi (capaci di modificare i contenuti visualizzati in relazione ad eventi esterni) affinché ogni schermo mostrasse dinamicamente l'orario delle lezioni di ciascuno studente all'avvicinarsi di quest'ultimo, e solo per il tempo di permanenza nei pressi dello schermo. Si è quindi progettato e sviluppato un prototipo, e infine durante il testing si sono potute verificare le attuali potenzialità di queste tecnologie e trarre conclusioni sulla possibilità della loro futura diffusione e di impiego in contesti differenti.
Resumo:
Il lavoro svolto in questa tesi consiste nell'implementare un'applicazione Android per lo streaming video, conforme allo standard MPEG-DASH. L'obiettivo è quello di fornire un valido strumento al fine di eseguire delle analisi sperimentali su algoritmi particolari, detti di rate adaptation. MPEG-Dynamic Adaptive Streaming over Http è uno standard emergente ed è considerato da molti il futuro dello streaming multimediale. Questa tecnologia consente di auto-regolare la qualità del video in base alle condizioni della rete, la capacità del dispositivo o le preferenze dell'utente. Inoltre, essendo uno standard, permette di rendere interoperabili i server e i device dei vari fornitori di contenuti multimediali. Nei primi capitoli introduttivi verrà presentato lo standard e i lavori correlati, successivamente verrà descritta la mia proposta applicativa: DashPlayer. In conclusione, verrà compiuta una valutazione sperimentali sugli algoritmi sopracitati che costituiscono la parte logico-funzionale dell'applicazione.
Resumo:
L'informatica e le sue tecnologie nella società moderna si riassumono spesso in un assioma fuorviante: essa, infatti, è comunemente legata al concetto che ciò che le tecnologie ci offrono può essere accessibile da tutti e sfruttato, all'interno della propria quotidianità, in modi più o meno semplici. Anche se quello appena descritto è un obiettivo fondamentale del mondo high-tech, occorre chiarire subito una questione: l'informatica non è semplicemente tutto ciò che le tecnologie ci offrono, perchè questo pensiero sommario fa presagire ad un'informatica "generalizzante"; l'informatica invece si divide tra molteplici ambiti, toccando diversi mondi inter-disciplinari. L'importanza di queste tecnologie nella società moderna deve spingerci a porre domande, riflessioni sul perchè l'informatica, in tutte le sue sfaccettature, negli ultimi decenni, ha portato una vera e propria rivoluzione nelle nostre vite, nelle nostre abitudini, e non di meno importanza, nel nostro contesto lavorativo e aziendale, e non ha alcuna intenzione (per fortuna) di fermare le proprie possibilità di sviluppo. In questo trattato ci occuperemo di definire una particolare tecnica moderna relativa a una parte di quel mondo complesso che viene definito come "Intelligenza Artificiale". L'intelligenza Artificiale (IA) è una scienza che si è sviluppata proprio con il progresso tecnologico e dei suoi potenti strumenti, che non sono solo informatici, ma soprattutto teorico-matematici (probabilistici) e anche inerenti l'ambito Elettronico-TLC (basti pensare alla Robotica): ecco l'interdisciplinarità. Concetto che è fondamentale per poi affrontare il nocciolo del percorso presentato nel secondo capitolo del documento proposto: i due approcci possibili, semantico e probabilistico, verso l'elaborazione del linguaggio naturale(NLP), branca fondamentale di IA. Per quanto darò un buono spazio nella tesi a come le tecniche di NLP semantiche e statistiche si siano sviluppate nel tempo, verrà prestata attenzione soprattutto ai concetti fondamentali di questi ambiti, perché, come già detto sopra, anche se è fondamentale farsi delle basi e conoscere l'evoluzione di queste tecnologie nel tempo, l'obiettivo è quello a un certo punto di staccarsi e studiare il livello tecnologico moderno inerenti a questo mondo, con uno sguardo anche al domani: in questo caso, la Sentiment Analysis (capitolo 3). Sentiment Analysis (SA) è una tecnica di NLP che si sta definendo proprio ai giorni nostri, tecnica che si è sviluppata soprattutto in relazione all'esplosione del fenomeno Social Network, che viviamo e "tocchiamo" costantemente. L'approfondimento centrale della tesi verterà sulla presentazione di alcuni esempi moderni e modelli di SA che riguardano entrambi gli approcci (statistico e semantico), con particolare attenzione a modelli di SA che sono stati proposti per Twitter in questi ultimi anni, valutando quali sono gli scenari che propone questa tecnica moderna, e a quali conseguenze contestuali (e non) potrebbe portare questa particolare tecnica.
Resumo:
Quando avvengono disastri naturali, spesso la copertura dati viene a mancare e le infrastutture o sono danneggiate o sono sovraccariche; in questo modo è difficile comunicare sia da parte delle persone che hanno bisogno di aiuto, sia da parte dei soccorritori che cercano di organizzare i soccorsi. Con questa tesi si è voluto realizzare un'applicazione Android che permetta agli utenti di segnalare il proprio bisogno di aiuto, anche se il device non ha una connessione internet attiva. L'applicazione, sfruttando il Wi-Fi e il Wi-Fi Direct, cercherà di formare una rete di dispositivi, attraverso la quale i messaggi di aiuto degli utenti verranno scambiati tra i device. Questa rete, man mano, si allargherà fino ad arrivare ad includere device che avranno una connessione dati attiva. Questi comunicheranno con il mio server, al quale manderanno tutti i messaggi che gli sono arrivati. I dati del server, ossia i messaggi che sono stati mandati dagli utenti, verranno mostrati sul sito ltw1528.web.cs.unibo.it. Attraverso questo sito, i soccorritori potranno vedere la posizione degli utenti in stato di bisogno, cosicché potranno mandarli un messaggio di soccorso, che si propagherà nella rete formatasi in precedenza, ed organizzare i soccorsi in maniera ottimale. Si è anche voluto fare uno studio simulativo per testare la scalabilità dell'applicazione e per raccogliere dati statistici, quali il delay medio tra l'arrivo del messaggio al device con connessione dati e il tempo in cui è stato creato, l'influenza sulla batteria del numero dei messaggi scambiati e il numero degli host, il delay tra il tempo di invio e il tempo di arrivo nello scambio di messaggi al variare del numero degli host.
Resumo:
L'obiettivo di questa tesi è quello di fornire le informazioni di base che, un aspirante programmatore Android, deve sapere per scrivere applicazioni che facciano uso dei sensori presenti nei moderni telefoni cellulari (accelerometro, giroscopio, sensore di prossimità, ecc...). La tesi si apre citando qualche aneddoto storico sulla nascita del sistema operativo più famoso al mondo ed elencando tutte le releases ufficiali e le novità che hanno portato dalla 1.0 all'attuale 5.1.1 Lollipop. Verranno analizzate le componenti fondamentali per costruire un applicazione Android: Activities, Services, Content Providers e Broadcast Receivers. Verrà introdotto e approfondito il concetto di sensore, sia punto di vista fisico sia dal punto di vista informatico/logico, evidenziando le tre dimensioni più importanti ovvero struttura, interazione e comportamento. Si analizzeranno tutte i tipi di errori e problematiche reali che potrebbero influire negativamente sui valori delle misurazioni (disturbi, rumori, ecc...) e si propone la moderna soluzione del Sensor Fusion come caso particolare di studio, prendendo spunto dal lavoro di grandi aziende come la Invensense e la Kionix Inc. Infine, si conclude l'elaborato passando dalle parole al codice: verranno affrontate le fasi di analisi e d'implementazione di un'applicazione esemplificativa capace di determinare l'orientamento del dispositivo nello spazio, sfruttando diverse tecniche Sensor Fusion.
Resumo:
I laghi vulcanici sono corpi idrici che si posizionano all’interno di crateri originatisi da eruzioni idrotermali, idrovulcaniche o magmatiche. Dato il particolare ambiente di formazione di questi bacini, le condizioni fisico-chimiche delle loro acque riflettono l’influenza dei diversi “input” vulcanici quali gas e fluidi che risultano dall’interazione tra le acque sotterranee e i fluidi rilasciati da un corpo magmatico in profondità. Il presente lavoro consiste nella caratterizzazione geochimica delle acque del lago craterico del Kawah Ijen e nella definizione dei principali processi che la controllano, come i processi di diluizione, degassamento e precipitazione di fasi minerali. Tale definizione è la base conoscitiva necessaria per una più realistica interpretazione delle eventuali variazioni geochimiche spazio-temporali
Resumo:
Questo elaborato vuole illustrare l’importanza del gas naturale liquefatto, attraverso l’analisi della Strategia Energetica Nazionale e del Bilancio Energetico Nazionale, sostenendo la necessità di costruire ulteriori rigassificatori sul suolo italiano per permettere al nostro Paese, in previsione di una futura ripresa economica, di svincolarsi dalla quasi totale dipendenza di importazioni attraverso “pipeline” che vincolano in modo rigido e monopolistico il Paese importatore a quello esportatore e ai Paesi che vengono attraversati dalla condotta stessa
Resumo:
Argomento del lavoro è stato lo studio di problemi legati alla Flow-Asurance. In particolare, si focalizza su due aspetti: i) una valutazione comparativa delle diverse equazioni di stato implementate nel simulatore multifase OLGA, per valutare quella che porta a risultati più conservativi; ii) l’analisi della formazione di idrati, all’interno di sistemi caratterizzati dalla presenza di gas ed acqua. Il primo argomento di studio nasce dal fatto che per garantire continuità del flusso è necessario conoscere il comportamento volumetrico del fluido all’interno delle pipelines. Per effettuare tali studi, la Flow-Assurance si basa sulle Equazioni di Stato cubiche. In particolare, sono state confrontate: -L’equazione di Soave-Redlich-Kwong; -L’equazione di Peng-Robinson; -L’equazione di Peng-Robinson modificata da Peneloux. Sono stati analizzati 4 fluidi idrocarburici (2 multifase, un olio e un gas) con diverse composizioni e diverse condizioni di fase. Le variabili considerate sono state pressione, temperatura, densità e viscosità; sono state poi valutate le perdite di carico, parametro fondamentale nello studio del trasporto di un fluido, valutando che l'equazione di Peng-Robinson è quella più adatta per caratterizzare termodinamicamente il fluido durante una fase di design, in quanto fornisce l'andamento più conservativo. Dopo aver accertato la presenza di idrati nei fluidi multifase, l’obiettivo del lavoro è stato analizzare come il sistema rispondesse all’aggiunta di inibitori chimici per uscire dalla regione termodinamica di stabilità dell’idrato. Gli inibitori utilizzati sono stati metanolo e mono-etilen-glicole in soluzione acquosa. L’analisi è stata effettuata confrontando due metodi: -Metodo analitico di Hammerschmidt; -Metodo iterativo con PVTSim. I risultati ottenuti hanno dimostrato che entrambi gli inibitori utilizzati risolvono il problema della formazione di idrato spostando la curva di stabilità al di fuori delle pressioni e temperature che si incontrano nella pipeline. Valutando le quantità da iniettare, il metodo di Hammerschmidt risulta quello più conservativo, indicando portate maggiori rispetto al PVTsim, soprattutto aggiungendo metanolo.
Resumo:
Applicazione android per la geolocalizzazione di strumenti di illuminazione
Resumo:
All’interno di questa tesi è stata affrontata la tematica della realizzazione di comuni- cazioni sicure, in modo da ottenere l'indipendenza di queste ultime dal canale utilizzato, con l'ausilio di strumenti in grado di fornire supporto per la creazione di applicativi orientati allo scambio di dati e messaggi, quali i linguaggi di programmazione Java e Jolie, il quale è basato sul precedente. Sono state inizialmente analizzate le principali caratteristiche e le problematiche più importanti che è necessario dover risolvere in modo da poter arrivare al risultato desiderato. Successivamente, è stato dato un ampio sguardo ad una delle scienze più applicate per risolvere i problemi tipici che affliggono questo tipo di comunicazioni, la crittografia. Sono stati elencati gli strumenti messi a disposizione ed il loro funzionamento. La crittografia viene poi applicata al protocollo SSL, il quale rappresenta la soluzione maggiormente diffusa, sia sul Web che in altri ambiti, per proteggere le informazioni personali che transitano tra gli end-point di una comunicazione. Sono state elencate le principali caratteristiche, alcuni cenni riguardanti la nascita e lo sviluppo ed è stato descritto il funzionamento di questo protocollo, soprattutto per quanto riguarda la sua fase preliminare, che è una delle parti che lo caratterizzano maggiormente. In seguito, è stata analizzata la soluzione fornita all’interno delle librerie del linguaggio Java per realizzare comunicazioni indipendenti dal mezzo di comunicazione che soddisfino le politiche dettate dal protocollo SSL. Questa soluzione è rappresentata dalla classe SSLEngine, che è quindi stata esaminata, a partire dal ciclo di vita e dall'inizializzazione, fino ad arrivare all'interazione all'interno di un applicazione. Quanto esplorato in precedenza viene poi applicato a Jolie, un linguaggio di programmazione basato sulle comunicazioni e sviluppato in Java, all'interno dell'Università di Bologna. Dopo uno sguardo generale alle sue caratteristiche è stata approfondita la gestione dei protocolli, e di conseguenza, l'introduzione di SSL all'interno di essi, realizzata tramite la classe SSLProtocol. Questa classe contiene ed implementa i concetti analizzati nel capitolo riguardante Java, adattandoli all'architettura ed alla progettazione pensata appositamente per Jolie; è stata quindi effettuata un'analisi del codice e della gestione della classe SSLEngine per realizzare comunicazioni sicure. Infine, per verificare l’effettivo funzionamento, sono stati creati due semplici casi d’uso per poter sfruttare i vantaggi offerti da Jolie, il quale è particolarmente indicato per la creazione di applicazioni orientate ai servizi.
Resumo:
La tesi ha lo scopo di indagare le tecnologie disponibili per la realizzazione di linguaggi di programmazione e linguaggi domain specific in ambiente Java. In particolare, vengono proposti e analizzati tre strumenti presenti sul mercato: JavaCC, ANTLR e Xtext. Al termine dell’elaborato, il lettore dovrebbe avere un’idea generale dei principali meccanismi e sistemi utilizzati (come lexer, parser, AST, parse trees, etc.), oltre che del funzionamento dei tre tools presentati. Inoltre, si vogliono individuare vantaggi e svantaggi di ciascuno strumento attraverso un’analisi delle funzionalità offerte, così da fornire un giudizio critico per la scelta e la valutazione dei sistemi da utilizzare.
Resumo:
La grande crescita e l'enorme distribuzione che hanno avuto negli ultimi tempi i moderni devices mobile (smartphones, tablet, dispositivi wearable, etc...) ha dato l'avvio ad un massiccio sviluppo di applicazioni mobile di qualunque genere, dall'health-care all'AR (Augmented Reality, realtà aumentata), dalle applicazioni social alle applicazioni che offrono servizi all'utente.
Resumo:
L’obiettivo di questa tesi è la trasposizione del gioco da tavolo “Mahjong” su un’applicazione mobile. Essa è sviluppata in Android, ma l’idea è quella di estenderla anche alle altre piattaforme. Col passare del tempo il Mahjong si è diffuso in molti paesi e per questo ne sono nate molte varianti. In questo caso si adotta il regolamento ravennate 200-400, opportunamente modificato per adattarlo all’applicazione. Il nome dell’applicativo nasce dal fatto che esso dovrà gestire un numero molto elevato di lingue e che nessuno ha ancora sviluppato un gioco multiplayer sul Mahjong, per cui sarà il primo a livello mondiale. Nell’applicazione un utente dovrà creare il tavolo di gioco e solo allora gli altri potranno visualizzarlo. Dopo che tutti si saranno seduti, chiunque potrà chiedere di iniziare una partita, che comincerà non appena tutti avranno accettato la richiesta. È stato progettato un database, in modo da salvare lo stato attuale di tutti i tavoli. Le informazioni sullo stato di ogni partita, invece, sono salvate in un file diverso per ciascuna. L’architettura utilizzata per lo sviluppo dell’applicativo è del tipo client-server. Per la parte server dell’applicazione si è scelto di usare il linguaggio java, utilizzando le socket e instaurando connessioni SSL. Il server utilizza inoltre connessioni non persistenti. Tutte le richieste inviate e ricevute dal server sono create in un formato adatto all'interscambio di dati fra applicazioni client-server, chiamato JSON. Nel server si è creato, inoltre, un servizio di “caching” delle partite, in modo da incrementare le prestazioni e la velocità di elaborazione delle richieste. Per connettere in modo corretto il server al database si utilizza JDBC.