Examensarbeten för kandidatexamen // Bachelor Theses
Länka till denna samling:
Browse
Browsar Examensarbeten för kandidatexamen // Bachelor Theses efter Författare "Abel, Andreas"
Visar 1 - 2 av 2
Sökresultat per sida
Sortera efter
- PostConstructing a Game Modelled After Logic and Proofs(2019) Burström, Elias; Källman, Jonatan; Ngo, Tuyen; Nordén, Felix; Chalmers tekniska högskola / Institutionen för data och informationsteknik; Ahrendt, Wolfgang; Fjeld, Morten; Knutsson, Sven; Abel, AndreasLogiskt resonemang spelar en viktig roll för mänskligt beteende och används i många aspekter av vardagslivet. Det är en del av ämnen såsom naturliga språk, matematik och programmering. Allmänhetens knappa kunskap om ämnet speglar däremot inte dess betydelse. I enklare situationer behöver denna brist på kunskap inte vara ett problem, men i mer komplexa situationer kan en avsaknad av kunskap leda till felaktiga resonemang. En förklaring till denna kunskapsbrist kan vara avsaknaden av logik i den allmänna skolan, då ämnet huvudsakligen lärs ut på universitetsnivå. Detta problem skulle kunna mildras med hjälp av Tenjin, ett smartphone-spel baserat på klassisk satslogik i formen av sekventiell analys. Tenjin ämnar göra inlärningsprocessen av formell logik tillgänglig för individer i åldrarna 13–25 genom att ersätta den formella syntaktiska notationen med ett intuitivt, rymd-inspirerat användargränssnitt. För att agera på ett konceptuellt plan för Tenjin, så beskriver denna tes en utvecklings- och designprocess som resulterar i en precis mjukvarurepresentation för en delmängd av klassisk satslogik, samt en testad och intuitiv visualisering för användaren att interagera med. Design av den visuella representationen genomfördes med hjälp utav inkrementell testning. Först testades varje kandidat genom prestanda-tester som baserades på bevis av olika svårighetsgrad. Om en kandidat klarade prestanda-testerna, så testades den sedan genom pappers-prototyptester med riktiga användare. Utveckling av mjukvaran utfördes med hjälp av välgrundade utvecklingsprinciper och verktyg, såsom S.O.L.I.D-principerna och diverse designmönster. Efter en genomgående modelleringsprocess av problemdomänen användes programmeringsspråket C# samt ramverken .NET och Unity för att skriva kodbasen.
- PostNanoPython - Researching the Feasibility of Running Python Scripts on Arduino Using a Virtual Machine(2020) CAMPBELL, TOBIAS; STRÅLMAN, KARL; Chalmers tekniska högskola / Institutionen för data och informationsteknik; Lundin, Peter; Abel, Andreas; Bergholm, BjörnVirtualization today is a prominent method of both deploying and maintaining applications at a low cost. Various types of virtual machines exist and are used in different fields of computer science. Searching for new innovative ways to deploy tests, Swedish consultancy firm Broccoli wants to research the feasibility of running Python on an embedded system. This thesis primarily focuses on language virtual machines, the compilation involved and researching the feasibility of developing a Python virtual machine for a particular embedded system development board, an Arduino Uno. Starting with a subset of the Python grammar, a bytecode compiler written in Java was developed with the ANTLR tool. Meanwhile, a virtual machine running the compiler-generated bytecode was developed using C++. By adding small fragments to the grammar and accordingly writing additional code to account for this, more functionality was added to both the compiler and the virtual machine. By utilizing tests, functionality of the project could be preserved. The compiler runs the whole process of language processing, including lexing, parsing and code generation. It then generates code in a specific binary file format. A binary file can then be interpreted by the virtual machine. This enables the execution of simple Python scripts on both PC and the chosen system, without regard to optimization for neither compilation nor execution. Although not perfect, the current implementation does run on both systems. Some problems include the limited memory space of the Arduino and the lack of support for important language-defining constructs. Despite the drawbacks, with further improvements the current implementation may be used in the future as a means to rapidly deploy tests, which is of interest to Broccoli.