eprints (HSR Hochschule für Technik Rapperswil)
Not a member yet
    1196 research outputs found

    ETH Zürich App Nutzendenzentrierte Weiterentwicklung der mobilen Campus-App

    No full text
    Die vorliegende Masterarbeit entstand im Rahmen des Masterstudiengangs Human Computer Interaction Design der Fachhochschule OST Rapperswil und der Universität Basel. Der Bericht beschreibt die Vorgehensweise, Aktivitäten und Arbeitsergebnisse der konzeptionellen Überarbeitung der bestehenden ETHZ-App. Die App hat das Ziel, den Campus-Alltag der ETHZ-Angehörigen zu erleichtern. Basierend auf dem Vorgehensmodell Goal Directed Design nach Cooper [Cooper et al. 2014] untersuchte die Masterarbeit die potentiellen Nutzenden der App intensiv. Die methodisch gewonnenen Erkenntnisse wurden in einer validierten Persona festgehalten, wovon die Anforderungen bzgl. Funktionsumfang und Design an die Campus-App abgeleitet wurden. Die Lösungsansätze wurden iterativ mit realen Nutzenden, im realen Kontext, validiert. Als Ergebnis des zehn monatigen Projektes liegen eine ausgereifte Persona sowie ein zweifach validierter Prototyp vor. Dank des nutzendenzentrierten Ansatzes ist der Prototyp maximal auf die Bedürfnisse der Nutzenden ausgerichtet. Aufbauend auf dieser Masterthesis kann das ETHZ-Team die Live App nutzendenzentriert weiterentwickeln und so die Benutzendenfreundlichkeit kontinuierlich verbessern. Sekundär beabsichtigte die Arbeit mit gezielten Massnahmen den UX-Mindset der beteiligten Personen der ETHZ zu schärfen. In gemeinsamen Workshops und Diskussionen wurde der nutzendenzentrierte Ansatz sowohl theoretisch, methodisch wie auch praktisch anhand der vorliegenden Arbeit behandelt. Mit dem Abschluss der Masterarbeit konnte das Gelernte aus zwei CAS in einem praktischen Projekt zur Anwendung gebracht werden. Das MAS-Team schaut auf ein spannendes und lehrreiches Projekt zurück. Die positive Rückmeldung der Auftraggeberin bestätigt das MAS-Team in der Zufriedenheit mit den geleisteten Arbeitsergebnissen

    Discord-Bot für Vereine

    No full text
    Diese Arbeit behandelt die Konzeption, Implementierung und initiale Evaluation eines Discord-Bots zur automatisierten Verwaltung vereinsrelevanter Prozesse. Das Ziel bestand darin, ein System zu entwickeln, welches insbesondere die Mitgliederverwaltung, Eventorganisation und Gamification innerhalb einer bestehenden Discord-Infrastruktur integriert. Besonderer Fokus lag auf der Implementierung eines rollenbasierten Berechtigungssystems, der Synchronisation von Events über die Google Calendar API und der Integration eines wissenschaftlich fundierten Gamification-Systems zur Förderung der Mitgliederaktivität und -motivation. Der Discord-Bot wurde in TypeScript unter Verwendung der Bibliothek `discord.js` entwickelt und nutzt die Discord-API für Nutzerinteraktionen. Vereinsrelevante Daten werden in einer MongoDB-Datenbank gespeichert, die eine dokumentenorientierte Struktur für Mitglieder, Rollen, Events und Punktestände bietet. Die Integration des Google Calendar wurde mittels der offiziellen Google API `Node.js`-Clientbibliothek realisiert, wodurch eine automatisierte Synchronisierung von Events ermöglicht wird. Das rollenbasierte Berechtigungskonzept nutzt Discord-Rollen in Verbindung mit Slash-Befehlen, um Administrations- und Nutzerfunktionen zu steuern. Das Deployment erfolgt derzeit manuell über Docker-Container auf einem dedizierten Server. Für die Entwicklung des Gamification-Systems wurde zunächst eine Mitgliederumfrage durchgeführt, um motivationsfördernde Elemente wie Punktesystem, Ranglisten und Belohnungen nutzerzentriert zu gestalten. Aufbauend auf diesen Ergebnissen, sowie unter der Berücksichtigung von wissenschaftlichen Metaanalysen zum Thema Gamification, wurde das Gamification-Konzept entwickelt. Die Evaluation des Gesamtsystems erfolgte durch strukturierte Usability-Tests und Interviews. Der entwickelte Discord-Bot wurde prototypisch auf einem realen Vereinsserver implementiert und evaluiert. Die Usability-Tests bestätigten, dass die zentralen Funktionen wie Mitgliederregistrierung, Eventbenachrichtigungen und Punkteverwaltung von den Nutzenden als benutzerfreundlich wahrgenommen wurden und eine intuitive Bedienung ermöglichten. Das Gamification-System basiert auf einem Punktesystem, das für Aktivitäten wie Eventteilnahmen, erledigte Aufgaben und Spenden Punkte vergibt. Eine Mitgliederumfrage belegte, dass saisonale Ranglisten, transparente Regeln und Sachprämien als motivierend wahrgenommen wurden, während übermässiger Wettbewerb und komplexe Punkteberechnungen tendenziell kritisch gesehen wurden. Aussagen zur langfristigen Wirkung des Systems auf die Vereinsorganisation können aufgrund der limitierten Einsatzdauer noch nicht getroffen werden, jedoch wurde das System insgesamt als potenziell wertvoll für die Förderung von Engagement und die Automatisierung von Verwaltungsprozessen eingeschätzt. Perspektiven für eine künftige Erweiterung umfassen die Implementierung eines Admin-Dashboards, um die Verwaltung von Mitgliederdaten, Ranglisten und Transaktionen zu erleichtern, die Integration atomarer Transaktionen zur Sicherstellung einer konsistenten Datenverarbeitung und die Entkopplung der Discord-spezifischen Logik von den Datenbankmodellen. Zudem sollten eine automatische Bereitstellung, automatisierte Kanal-Erstellung sowie Webhooks für Echtzeit-Updates berücksichtigt werden, um das System langfristig effizienter und benutzerfreundlicher zu gestalten. Insgesamt leistet der entwickelte Discord-Bot einen wertvollen Beitrag zur modernen Vereinsorganisation und bildet eine solide Basis für weitere Ausbaustufen

    TeachOS: Design and Implementation of an OS for Use in the Operating Systems Lecture Track

    No full text
    TeachOS is an operating System for the x86_64 CPU architecture. It is designed to be an interactive learning tool used in the «Operating Systems 1» and «Operating Systems 2» lecture track at OST. As part of a previous thesis, a foundation in form of memory management, including physical and heap memory was created. Topics covered included parsing Multiboot2 information, implementing frame allocation and page tables, and using these components to remap the kernel. Based on this, dynamic memory allocation during kernel runtime was implemented using different allocation strategies. This paper examines the core concept of context-switching in operating systems for the x86 processor architecture. To implement the context-switch mechanisms, multiple operating system concepts had to be researched and implemented. These concepts include Privilege Levels, the Global Descriptor Table, Interrupts and the Interrupt Descriptor Table and Procedure Calls. To give the newly created access to user mode a purpose, the existing heap implementation has been expanded upon, by utilizing the ```cpp new``` and ```cpp delete``` operators in various data-structures. Additionally a separate user mode heap has been created, which is separated from the kernel mode heap via paging, and is dynamically extended when running out of memory. This foundation can be extended in the future, by separating kernel-code and user-code binaries. Doing this allows for better separation of the different privilege levels inside the paging mechanism, which in turn better resembles real world operating systems, and thus better fulfills the primary goal of providing an operating system designed for education

    OST Marketplace App for Android and iOS using Kotlin Multiplatform (KMP)

    No full text
    Whether students want to reduce clutter, generate extra income or contribute to a more sustainable economy, having an accessible way to sell and buy secondhand or new items can be beneficial. Unfortunately, existing marketplaces are not specifically designed for an academic environment. Their users are spread out and trust is limited, which discourages users from using them. To foster the usage of such marketplaces and combat the mentioned issues, a university-specific marketplace app should be created. For the frontend, a cross-platform mobile app was developed. A major part of this thesis was the research and evaluation of Kotlin Multiplatform, which was used to develop the app. This provided both theoretical and practical insights into the technology. Various multiplatform-compatible frameworks and libraries such as Compose Multiplatform, Voyager and Koin were utilized. The backend is a REST API built with Python using FastAPI. SQLAlchemy is used as the ORM to interact with a PostgreSQL database. The entire backend, including a search engine, is hosted on AWS, leveraging services such as ECS Fargate, RDS, EC2, and S3. Firebase was used for push notifications, PubNub for real-time chat and Microsoft Entra ID for authentication. The Kotlin Multiplatform research has concluded that the technology is sufficiently advanced to be used in productive applications. While still young in comparison to its competitors, JetBrains’ support for its technology is evident and its progress is rapid. As of May 6, 2025, the iOS platform has also been marked as stable, meaning that cross-platform mobile development is now fully stable in Kotlin Multiplatform. The developed app, POSTE, is a fully functional marketplace where users can create listings, browse listings, initiate a chat with the seller and much more. OST students can sign in using their OST-specific Microsoft account. This not only enhances the trust among users but also gives a sense of community

    Sport live image stabilization in the cloud

    No full text
    Ziel dieser Bachelorarbeit ist die Prüfung der Machbarkeit einer cloudbasierten Softwarelösung zur Bildstabilisierung. Der Fokus liegt bei der Stabilisierung eines Sport Video Streams in der Cloud, der von einer beliebigen Quelle kommt. Die Verarbeitung soll möglichst zeitnah sein, damit der Benutzer den Stream ohne grosse Verzögerung anschauen kann. Dazu wurde ein Limit von maximal 10 Sekunden Latenz für die Stabilisierung gesetzt. Zusätzlich ist die Lösung mit dem neuen, robusten und schnellen Video Streaming Protokoll SRT (Secure Reliable Transport) umgesetzt worden. Unterschiedliche Verfahren zur Bildstabilisierung wurden auf ihre Eignung für den Einsatz in der Cloud geprüft. Insbesondere im Hinblick auf Performance, Effizienz und Skalierbarkeit. Hierzu kamen verschiedene Bibliotheken und Algorithmen zum Einsatz, deren Stärken und Schwächen anhand von Prototypen in Python und C++ miteinander verglichen wurden. Die eigentliche Umsetzung erfolgte auf Basis von Python und OpenCV, unterstützt durch Containerisierung für eine flexible und schnelle Bereitstellung. Wegen der breiten Unterstützung für wissenschaftliche Bibliotheken und die Vereinfachung der Entwicklung von Prototypen wurde der Vergleich der verschiedenen Algorithmen in Python durchgeführt. Die vielversprechendsten Algorithmen wurden zusätzlich durch gezieltes Anpassen von Parametern, wie dem Smoothing Window, weiter optimiert, um die Stabilisierung qualitativ so gut wie möglich zu gestalten. Das System wurde so konzipiert, dass mehrere parallele Videostreams verarbeitet werden können, ohne dass es zu grossen Qualitätseinbussen kommt. Die entwickelte Applikation ist darauf ausgelegt, dynamisch skaliert zu werden als Microservice und unterschiedliche Anforderungen an die Verarbeitungstiefe abzudecken. Die Leistungsfähigkeit der Lösung wurde sowohl in lokalen Testumgebungen als auch auf einer cloudbasierten Infrastruktur von AWS validiert. Neben der Bildoptimierung wurde auch Wert daraufgelegt, die anfallenden Kosten und die Skalierbarkeit der Lösung zu analysieren, um einen praxistauglichen Ansatz für den produktiven Einsatz zu schaffen. Die Resultate der Arbeit zeigen, dass eine Auslagerung der Bildstabilisierung in die Cloud grundsätzlich technisch möglich ist. Allerdings erreicht die entwickelte Lösung hinsichtlich Qualität nicht das Niveau von integrierten Systemen wie beispielsweise einer GoPro Hero 7, die speziell für Bildstabilisierung optimiert wurde. Ein wesentlicher Faktor ist zudem der hohe Rechenaufwand, der den Betrieb in einer Cloud-Umgebung kostenintensiv macht. Besonders die Verarbeitung mehrerer Videostreams gleichzeitig führt zu einem signifikanten Anstieg des Ressourcenbedarfs. Gleichzeitig lassen die Erkenntnisse aus den Tests darauf schliessen, dass alternative Lösungsansätze, beispielsweise durch die direkte SRT Server Implementierung in C++ mit integrierter Bildstabilisierung, potenziell bessere Ergebnisse in Bezug auf die Latenz liefern könnten

    AI for Creating Standardized Reports

    No full text
    Introduction: This thesis focuses on the intelligent generation of standardized reports - specifically the 8D report, a widely adopted framework in quality management used to systematically identify root causes, implement corrective actions, and ensure continuous improvement in response to customer complaints or internal quality issues. Approach: Rather than fine-tuning a dedicated model for each specific report template, this thesis investigates the use of general-purpose AI models - specifically the large language model (LLM) GPT-4o- mini - to interpret report structures and task specifications through prompt engineering and Retrieval-Augmented Generation (RAG). The system aims to retrieve relevant information from heterogeneous data sources and accurately fill the required report fields, while maintaining constraints such as report structure, data type consistency, object integrity, and completeness. Key challenges include: - Secure handling of sensitive and business-critical data - Understanding and processing unstructured information from diverse sources - Supporting flexible, customizable report formats - Minimizing LLM hallucinations and ensuring factual correctness - Integrating human-in-the-loop validation for final quality assurance To address these challenges, an LLM-powered pipeline is developed that includes input document preprocessing, data vectorization, and structured report content generation. The pipeline also features an automated self-reflection step that guides the user in addressing missing or suspicious field values before intelligently updating the report based on user instructions. Various strategies - such as few-shot prompting, static and dynamic query generation, multi-turn interactions, and ReAct-style agents - are evaluated to identify optimal configurations. Several open-source frameworks are assessed, with particular focus on the toolkit Docling, valued for its ability to handle multiple document formats, perform advanced PDF parsing and Optical Character Recognition (OCR), and support integrated RAG workflows for automated report generation. Result: The proposed generative AI-based pipeline is evaluated for reliability, efficiency, cost, and scalability. Results show that high-quality standardized report template creation and content generation can be achieved without relying on rigid, code-based applications. Based on the observations and research, the thesis proposes different combinations of tools and engineering strategies to achieve an optimal cost-performance balance, depending on task complexity and input structure. The final prototype demonstrates that, with thoughtful system design, AI-driven report generation is both practical and adaptable for real-world business use

    Entwicklung und Integration eines adaptiven POI-Empfehlungssystems in die Vanlife-Applikation

    No full text
    Einleitung: Das Projekt befasst sich mit der Erweiterung der bestehenden «Vanlife Travel» Anwendung durch die Entwicklung und Integration eines intelligenten, adaptiven Empfehlungssystems für Points of Interest (POI). Ziel ist es, das Nutzererlebnis durch personalisierte Vorschläge für Aktivitäten und Sehenswürdigkeiten entlang generierter Reiserouten zu bereichern und so die Nutzerbindung sowie den funktionalen Mehrwert der Plattform zu steigern. Vorgehen: Für die Empfehlungen wurden bestehende POI-Daten aus der Anwendung verwendet, die ursprünglich aus OpenStreetMap stammen und bereits als tag-basierte Geodaten in einer Datenbank strukturiert vorlagen. Nutzerpräferenzen werden über einen initialen Fragebogen erfasst und in einem Profil abgebildet, das einen mehrdimensionalen Benutzer-Vektor (basierend auf Big-Five Persönlichkeitsmerkmalen), eine TravelPreferenceClass und einen GroupStyle umfasst. Technisch kombiniert ein hybrider Empfehlungsansatz wissensbasierte Filterung (Abgleich expliziter Präferenzen mit POI-Tags) und inhaltsbasierte Methoden (Abgleich von POI-Merkmalen mit dem Nutzerprofil, teils mittels einer TagAffinityMatrix) zur gezielten Lösung des Kaltstartproblems. Ergänzt wird dies durch profilbasiertes kollaboratives Filtern, bei dem aggregiertes Nutzerfeedback (Likes/Dislikes) innerhalb von Nutzersegmenten (TravelPreferenceClass) die Empfehlungen dynamisch anpasst. Dieses System wurde nahtlos in die bestehende Microservice-Architektur der Vanlife-Plattform integriert, wobei dedizierte Services für Nutzerprofile, POI-Daten und die Empfehlungsberechnung über RESTful APIs und gRPC kommunizieren. Ergebnis: Das Resultat ist ein voll funktionsfähiges und skalierbares POI-Empfehlungssystem, das Nutzern entlang ihrer Reiseroute relevante und personalisierte Vorschläge unterbreitet. Durch die Zuweisung von Nutzern zu vordefinierten Reisepräferenz-Klassen und die dynamische Aggregation von Nutzerfeedback (Likes/Dislikes) verbessert das System laufend die Empfehlungsqualität. Ein Scoring-Algorithmus fusioniert dazu persönliche Relevanzbewertungen – basierend auf der Affinität des individuellen Benutzer-Vektors zu POI-Tags (unterstützt durch eine TagAffinityMatrix) – mit gruppenbasierten Bewertungen, die aus dem Feedback ähnlicher Nutzer (gleiche TravelPreferenceClass) abgeleitet werden. Diese Scores werden gewichtet zu einem Gesamtwert kombiniert, was zu nachvollziehbaren und relevanten Vorschlägen führt. Die Lösung ist erfolgreich in die Frontend- und Backend-Strukturen eingebettet und bereit für den produktiven Einsatz, um die Reiseplanung für Vanlife-Enthusiasten intelligenter und inspirierender zu gestalten

    Securaware: Plattformlösung zum individualisierten CybersecurityTraining für Privatpersonen

    No full text
    Phishing zählt zu den am weitesten verbreiteten Angriffsformen im Bereich der Cybersecurity und gewinnt durch die voranschreitende Digitalisierung zunehmend an Relevanz im Alltag. Insbesondere Privatpersonen sind häufig unzureichend gegen derartige Angriffe geschützt und benötigen gezielte Massnahmen zur Steigerung ihrer Sicherheitskompetenz. Im Rahmen dieser Bachelorarbeit wird ebendiese Lücke durch die Konzipierung einer Schulungsplattform und Entwicklung eines Prototypen geschlossen. Dieser Prototyp sensibilisiert Privatpersonen für Phishing mithilfe von theoretischen und praxisorientierten Inhalten, Simulationen und Beispielen. Bestehende Awareness-Lösungen, typische Vorgehensweisen von Angreifern und erkennbare Merkmale von Phishing-E-Mails werden in einem ersten Schritt analysiert, um daraus Anforderungen abzuleiten. Darauf aufbauend werden Features und eine Software-Architektur hergeleitet und durch Anwendung von state-of-the-art Software-Engineering-Praktiken der Prototyp implementiert. Mittels eines Usability-Tests wird die Benutzererfahrung evaluiert und optimiert. Es wurde eine innovative und benutzerorientierte Schulungsplattform konzipiert und umgesetzt, welche Benutzer anhand von Phishing-Simulationen, Online-Kursen und Tests über Betrugsversuche im Internet präventiv informiert. Zukünftig kann Securaware iterativ weiterentwickelt und kommerziell verwendet werden

    Linear Type Systems: What Are They, and How Are They Used in Programming Languages

    No full text
    In every programming language, resource management, including memory management, is an essential part of the language. In C/C++, resource management is done manually and therefore the responsibility lies with the developer. This gives you the most control, but it can also lead to errors such as user-after-free and double-free. In contrast, many so-called high-level programming languages use an automatic system with garbage collectors to clean up unused memory. With Rust, there is a system programming language that offers many advantages of manual resource management without sacrificing resource safety. The goal of this paper is to present a type system for a functional programming language that enables a runtime system to perform resource management without a garbage collector. To study the type system for such a functional programming language, the simply typed lambda calculus is used and then extended by a linear type system. This linear type system already enables a certain resource safety. By adding ownership typing, the type system enables a garbage collector free runtime system. A simply typed lambda calculus with a linear type system was presented, which also features a borrowing type system known from Rust. With the type system presented, it is possible to implement a functional programming language that does not require a garbage collector and shifts many errors in resource management to compile time

    Dynamic View Data Warehouse: Intelligente Datenverwaltung mit erweiterten Analysemöglichkeiten

    No full text
    Das Dynamic View Data Warehouse (DVDW) ist eine modulare Plattform zur Vereinheitlichung und Analyse heterogener Unternehmensdaten. Es integriert strukturierte Dateien (CSV, TXT, Excel) mithilfe intelligenter Mustererkennung und ermöglicht deren Nutzung über dynamische Sichten, Import-Management und ein konfigurierbares Dashboard. Das Frontend bietet interaktive Datenvisualisierung und flexible Dashboards, während das Backend für Importe, Validierung, Scheduling und Suchfunktionen verantwortlich ist. Ein separater Authentifizierungsdienst gewährleistet sichere Zugriffe mit rollenbasierter Kontrolle. Das System findet Anwendung in Qualitätsmanagement, Fertigung und Reklamationsanalyse, wo es den manuellen Rechercheaufwand signifikant reduziert und Entscheidungsprozesse beschleunigt. Die Arbeit folgt agilen Praktiken und zeigt, wie moderne Datenintegration und Business-Intelligence-Technologien zu praxisnahen, übertragbaren Lösungen führen

    549

    full texts

    1,196

    metadata records
    Updated in last 30 days.
    eprints (HSR Hochschule für Technik Rapperswil)
    Access Repository Dashboard
    Do you manage Open Research Online? Become a CORE Member to access insider analytics, issue reports and manage access to outputs from your repository in the CORE Repository Dashboard! 👇