005.1 Programmierung
Refine
Document Type
- Bachelor Thesis (21)
- Master's Thesis (6)
- Diploma Thesis (3)
Keywords
- Programmierung (17)
- Algorithmus (5)
- App <Programm> (2)
- Software (2)
- Antischlupfregelung (1)
- Anwendungssystem (1)
- Arbeitsverhalten (1)
- Autonomer Roboter (1)
- Autonomes Fahrzeug (1)
- Bildverarbeitung (1)
Institute
In dieser Arbeit wird der Einsatz des Wave Function Collapse Algorithmus untersucht. Dazu werden Anforderungen an das Leveldesign für das Videospiel Counter Strike: Global Offensive als Vorlage genutzt. Der Algorithmus wird in der Unity Engine implementiert und evaluiert. Es werden drei Versuchsreihen durchgeführt. Jede Versuchsreihe nutzt andere Einstellungen für die Levelgenerierung und analysiert welche Anforderungen erfüllt werden können. Die Ergebnisse werden verglichen und es werden Rückschlüsse auf die Anwendbarkeit des Algorithmus für die Erstellung von Multiplayer Level mit Ähnlichkeit zu Counter Strike: Global Offensive gezogen.
Diese Arbeit beschäftigt sich mit der Entwicklung von performanten Modulen zur Implementierung von Netcode in einem Multiplayer-Spiel. Sie vergleicht dabei zunächst verschiedene Frameworks und dokumentiert den Entscheidungsprozess anhand eines konkreten Spiels. Es werden daraus folgend mehrere Ansätze für den Aufbau eines Netzwerkmoduls aufgezeigt und diese schließlich miteinander auf ihre Performance verglichen.
In der heutigen Zeit sind elektrische Antriebe in vielen Bereichen des Alltags anzutreffen. Elektrofahrzeuge tragen dazu bei, Reisen umweltfreundlicher zu gestalten. Das Ziel dieser Arbeit ist die Elektrifizierung einer Rasenmäher Maschine mit Schwerpunkt auf VCU-Programmierung. In dieser Arbeit wird detailliert beschrieben, wie alle Funktionen, einschließlich Kommunikation, Tests usw., umgesetzt werden. Darüber hinaus werden auch zukünftige Entwicklungen und Fragen zur Gerätesicherheit untersucht.
Die vorliegende Diplomarbeit befasst sich mit der Konzeption und Entwicklung eines Versuchsaufbaus zur translatorischen und rotatorischen Bewegung von Versuchskörpern. Die Schwerpunkte liegen in der Analyse von Hardware-Komponenten, der Entwicklung eines Konzepts zur Umsetzung der Versuchsanlage, der mechanischen und elektrischen Errichtung der Anlage sowie der Entwicklung von Steuer- und Bediensoftware.
Anomaly Detection is a very acute technical problem among various business enterprises. In this thesis a combination of the Growing Neural Gas and the Generalized Matrix Learning Vector Quantization is presented as a solution based on collected theoretical and practical knowledge. The whole network is described and implemented along with references and experimental results. The proposed model is carefully documented and all the further open researching questions are stated for future investigations.
Die vorliegende Arbeit beschäftigt sich mit dem Entwurf eines Algorithmus für das selbstständige Fahren eines Roboterfahrzeugs von einem Start- zu einem Zielpunkt innerhalb eines begrenzten Raumes unter Zuhilfenahme von neuronalen Netzen zur Kameradatenauswertung. Dabei soll der Fokus auf die Behandlung von Umfeld-Änderungen liegen. Ebenfalls wird die Implementierung für das Modellfahrzeug "JetRacer" beschrieben.
Im Kontext der Wissensvermittlung existieren vielseitige E-Learning Tools, die oft ein dediziertes Lehr-Lern-Szenario betrachten. Die zugrundeliegende Software konzentriert sich somit häufig auf einen spezifischen Bereich oder eine gesonderte Fragestellung, sodass eine Erweiterung des Angebots nicht ohne weiteres möglich ist. Es soll untersucht werden, welche serverseitigen Anforderungen ein System für die E-Learning-Domäne erfüllen muss, um keine derartigen Restriktionen aufzuweisen und gleichzeitig für den Einsatz verschiedener Szenarien der digitalen Lehre geeignet zu sein.
Diese Arbeit behandelt, wie in einem rundenbasierten Strategiespiel ein System zur Integration linearen Missionsdesigns implementiert wurde. Es erlaubt, Missionen anzulegen und in Szenarien zu gruppieren, welche sich wiederum in einer Kampagne zusammenfassen lassen. Dabei können beliebig viele Kampagnen gleichzeitig existieren, ohne dass sich deren Inhalte überschneiden. Die Implementierung des Systems ist umfangreich beschrieben und wird mit relevanten Code-Beispielen veranschaulicht. Das Spiel wurde hinsichtlich der Player Experience, Usability und User Experience mit den Fragebögen MEEGA+ und AttrakDiff evaluiert. Eine Evaluation der User Experience mit AttrakDiff wurde auch für den zum Spiel gehörenden Inhaltseditor durchgeführt. Die dabei ermittelten Ergebnisse zeigen, dass beide Anwendungen von den Probanden grundsätzlich gut bis sehr gut wahrgenommen werden. Durch eine Detailanalyse der einzelnen Wertungen sowie dem zusätzlich gegebenen Feedback konnten Stärken und Schwächen identifiziert werden. Um die Schwachpunkte in zukünftigen Entwicklungsbestrebungen effizient bearbeiten zu können, sind passende Vorschläge und detaillierte Erklärungen der Ursachen beigefügt worden. Der Mehrwert des Kampagnensystems hinsichtlich wahrgenommener Qualität und Motivation wird durch einen Vergleich mit Evaluationsergebnissen einer früheren Version bewiesen. Diese wurden in dem dieser Arbeit vorangegangenen Forschungsmodul, in welchem die damalige Spielversion ebenfalls mit MEEGA+ evaluiert wurde, ermittelt. Zum Verständnis der Arbeit wird Vorwissen mit der Game Engine Unity sowie ihrer grundlegenden Konzepte, bspw. GameObjects und daran angebundene Komponenten, vorausgesetzt. Da an verschiedenen Stellen Bezug auf das Forschungsmodul sowie den darin erlangten Erkenntnissen genommen wird, ist die Konsultation des zugehörigen Abschlussberichtes empfehlenswert. Er liegt dieser Arbeit als digitale Anlage F bei.
Die Datenschutzgrundverordnung hat in der Europäischen Union für ein einheitliches Datenschutzrecht gesorgt. Sie fordert unter anderem eine einfache und verständliche Sprache von Datenschutzerklärungen und benennt umfangreiche, inhaltliche Anforderungen. Im Praxisumfeld ist es aber immer noch nicht selbstverständlich, dass Datenschutzerklärungen sich an formalen und inhaltlichen Festlegungen der Datenschutzgrundverordnung und weiterer geltender deutscher Gesetze orientieren. Das in dieser Arbeit erstellte Python-Programm zur automatisierten Analyse von Datenschutzerklärungen kategorisiert Themenabschnitte mit Hilfe einer Stichwortsuche und prüft die Datenschutzerklärung anhand eines festgelegten Katalogs an Testkriterien. Abschließend wird eine Bewertung auf Basis der Form und des Inhalts vorgenommen.
Ziel der Arbeit ist es den aktuellen Stand des Wissens zum Thema: „Erschaffung von Verzerrung als kreativen Effekt in Echtzeit-Audioprogrammen“ dazustellen, zu analysieren und anzuwenden. Es sollen Verzerrungsalgorithmen aus Fachliteratur kompiliert werden. Diese werden analysiert mit MATLAB. Die Analyse soll sich auf den Zeitbereich und den Frequenzbereich beziehen. Das Oberton verhalten soll charakterisiert werden. Die Analyse des Obertonverhaltens soll dazu dienen den Alias-Effekt des Algorithmus einzuschätzen und den Klang der verschiedenen Verzerrungsalgorithmen zu differenzieren. Es soll festgestellt werden, ob der Algorithmus für eine Echtzeit-Anwendung brauchbar ist und wie man ihn in ein Audioplugin implementieren kann. Ein Fokus liegt bei der Ansteuerung des Algorithmus mit verschiedenen Parametern wie z.B. Drive. Es soll ein VST-Plugin mit MATLAB erstellt werden. Dieses Plugin soll die für brauchbar befundenen Algorithmen anwenden. Es werden für die Anwendung spezifische Konzepte, wie z.B. die Überabtastung von Signalen, die Filterung von Signalen und andere Aspekte der Digitalen Signalverarbeitung vorgestellt und angewandt. Ein weiteres Ziel der Arbeit soll es sein, dem Leser das Objektorientierte Programmieren mit MATLAB näher zu bringen und brauchbaren Code zur Verfügung zu stellen. Der Leser wird in der Lage sein anhand dieser Arbeit ein Verzerrungs-plugin zu erstellen. Es soll besprochen werden, wie dieser Ansatz der Plugin-Erstellung weitergeführt werden kann. Die Motivation dieser Arbeit ist es einen Einstieg in die Digitale Signalverarbeitung mit MATLAB zu erlangen, anzuwenden und zu vermitteln.
Die vorliegende Bachelorarbeit beschäftigt sich mit dem Thema “Programmierung einer App zur Steuerung visuell schwebender Wassertropfen”, ist ein App, die mit Xcode entwickelt wurde und für iPhone und iPad geeignet ist. Diese App wird verwendet, um die Frequenz des Wasserventils einzustellen und die Vorrichtung drei verschiedene Wassertropfen-Schwimmzustände aufweisen zu lassen. Diese Bachelorarbeit kann hauptsächlich in dreie Prozesse Unterteilt werden, nämlich Verständnis, Programmierung und Test.
Ein Compiler oder Assembler wandelt Quellcode in ein ausführbares Programm um. Das resultierende Binary besteht aus Befehlen und Ressourcen, wie Bilder, Sounds oder anderen Informationen. Ohne den Ausführungskontext kann jedoch nicht im Vorhinein mit absoluter Sicherheit eine Angabe gemacht werden, bei welchen Bytes es sich um Anweisungen und bei welchen Abschnitten im Programm es sich um Ressourcen handelt. Bei einer Untersuchung oder einem
Dekompilierungsvorgang der binären Datei gestaltet sich diese bzw. dieser ohne vorliegenden Quellcode sehr schwierig. Als Beispiel für eine Von-Neumann-Architektur wurde in dieser Arbeit der Game Boy mit seiner
Sharp-LR35902-CPU gewählt. Mit Banking verwendet die Architektur sowohl historische Technologien, ähnelt aber dennoch sehr den derzeit häufig genutzten x86-64-CPUs von Intel oder AMD. Außerdem bieten die kleinen Programme von maximal zwei Mebibyte die Möglichkeit, auch in ineffiziente Ansätze auszuprobieren. In dieser Arbeit wurde anhand der folgenden sieben Lösungsansätze erläutert, wie man eine Befehl-Ressourcen-Trennung erzielen kann.
Manueller Ansatz (siehe Kapitel 3.1)
Metadaten-Ansatz (siehe Kapitel 3.2)
Alles-Befehle-Ansatz (siehe Kapitel 3.3)
Statistischer Ansatz (siehe Kapitel 3.4)
Emulationsansatz (siehe Kapitel 3.5)
Programmflussansatz (siehe Kapitel 3.6)
Brute-Force-Ansatz (siehe Kapitel 3.7)
Insbesondere wurden drei automatisierte bzw. teilautomatisierte Ansätze implementiert und anschließend
mit einer manuellen Trennung als Referenzwert verglichen. Dabei erzielte, bei dem verwendeten Kontrollprogramm ”StefaN”, der Programmflussansatz ein gutes Ergebnis.
Das mittels Emulationsansatz gewonnene Ergebnis schloss etwas schlechter ab. Der Brute-Force-Ansatz scheiterte an exponentiellen Wachstum und erzielte damit das schlechteste Ergebnis. Eine korrekte Trennung konnte nur mit dem manuellen Ansatz erreicht werden. In dieser Arbeit konnte keine vollautomatisierte Lösung für das Problem gefunden werden. Grundsätzlich kann festgehalten werden, dass eine Befehl-Ressourcen-Trennung einer ausführbaren Binärdatei auch in Zukunft eine Herausforderung darstellt.
Die vorliegende Bachelorarbeit beschäftigt sich mit dem Thema „Planung, Aufbau, Test und Optimierung einer Vorrichtung zur visuellen Erzeugung schwebender Wassertropfen“, ist eine Praktische Anwendung, die auf Theorie also Stroboskopeffekt basiert. Gemäß dem Abtasttheorem kann man durch Einstellen der Frequenz der LED und des Wasserventils zur visuellen Erzeugung schwebender Wassertropfen. Dieser Bachelorarbeit kann hauptsächlich in viere Prozesse unterteilt werden, nämlich Planung, Aufbau, Test und Optimierung.
Diese Arbeit thematisiert das Zusammenspiel verschiedenster Projektmanagement Ansätze mit den Psychologischen Persönlichkeitstypen nach dem Myers-Briggs-Typenindikator.
Es wird hierbei auf die Erstellung eines dynamischen Evaluationstools eingegangen und den konkreten Hintergedanken zur Fragenerstellung selbiger. Ziel war es ebenfalls die Arbeitsmoral und Vorstellungen einzelner Teammitglieder zu verbessern. Außerdem ist eine Verbindung der Arbeitsstile und Persönlichkeitstypen eine große Chance, Teams zu optimieren und die Produktivität zu steigern
Im Rahmen der Abschlussarbeit soll untersucht werden, inwiefern die Kombination von live objects der Realm Database auf der einen Seite und Combine und SwiftUI auf der anderen, die entstehende Komplexität und Fehleranfälligkeit bei der App-Entwicklung in iOS reduzieren kann. Es soll ein durchführbarer praktischer Teil in Form einer Chat-App entstehen und getestet werden, die die Vor- und Nachteile der genannten Techniken verdeutlicht.
Gegenstand der vorliegenden Arbeit ist die Implementierung und Laufzeitoptimierung von Bildverarbeitungsalgorithmen in OpenCL. Es wird untersucht, wie viel Zeit die Algorithmen zur Bearbeitung von Bildern in Anspruch nehmen und wie stark diese gedrosselt werden kann. Dabei werden verschiedene Speicherbereiche von GPUs und unterschiedliche
Rechenmethoden hinsichtlich ihrer Performance beleuchtet. Die Laufzeit der jeweiligen Programmversion wird gemessen, den anderen Varianten gegenübergestellt und ausgewertet. Aus der Untersuchung geht hervor, dass die Laufzeiten der Programme auf bis zu einem Drittel der unbearbeiteten Algorithmen gesenkt werden können.
Die bereits im wissenschaftlichen Projekt ermittelte ASR-Funktionalität sowie der aus Portunussimulationen ermittelten Erkenntnisse dient als Ausgangsbasis für den der Anforderungen des TMM gerecht werdenden in MATLAB/Simulink zu erstellenden Codec. Dieses über Softwareparameter anpassungsfähig gestaltetes ASR-Programm; in Verbindung mit einer Plausibilisierungsbox, die die Eingänge hinsichtlich ihrer Nachvollziehbarkeit überprüft, kann für die entsprechen-den Bedürfnisse auf der Rennbahn appliziert werden. Speziell ausgewählte Testszenarien und die Erstellung einer FMEA betrachten den Codec anschließend kritisch.
Im Rahmen dieses Bachelor-Projektes soll ein Live-System zur sicheren Erstellung von Cold Storage Wallets entwickelt werden. Hierfür wird zunächst der Prozess mit bisherigen Mitteln umfassend analysiert. Ausgehend davon, werden Anforderungen für eine Lösung im Hinblick auf Sicherheit, Benutzerfreundlichkeit und Erweiterungsmöglichkeiten ausgearbeitet. Die Anforderungen umfassen sowohl die technischen Eigenschaften des Betriebssystems, als auch die Software, die mit dem Live-System ausgeliefert werden soll. Diese muss quell-offene Werkzeuge zur sicheren Generierung der kryptografischen Schlüssel für gängige Kryptowährungen beinhalten. Die Auswahl soll durch eine Überprüfung der verfügbaren Werkzeuge erfolgen. Auf der Basis dieser Anforderungen wird ein entsprechendes Live-System entwickelt. Abschließend werden eventuelle Probleme und Verbesserungsmöglichkeiten dargestellt.