TEMATY PRAC DYPLOMOWYCH

Katedra Algorytmów i Modelowania Systemów

TEMATY PRAC INŻYNIERSKICH - 2019r.

 

1.

Aplikacja mobilna – paszport medyczny

2.

Aplikacja mobilna służąca do automatycznego oceniania testów egzaminacyjnych

3.

Aplikacja internetowa do wideokonferencji

4.

Generator parserów z diagramu przepływu składni

5.

Wokselowy silnik umożliwiający proceduralne generowanie świata 3D

6.

Generowania plansz w grze typu hack’n’slash

7.

Generowania treści w grze typu hack’n’slash

8.

Gra MMORPG w dwóch wymiarach

9.

Opracowanie mechaniki gry typu hack’n’slash

10.

Właściwości kwantowych kodów swobodnego dostępu

11.

Szablonowa biblioteka operacji macierzowych w c++

12.

Złożoność obliczeniowa interpretera FOCS

13.

System monitoringu w architekturze mikroserwisowej

14.

Otwarte rozwiązanie do diagnostyki dużych systemów informatycznych

15.

Modelowy portal WWW oparty na nowoczesnych technologiach

16.

System dla implementacji i testowania algorytmów szeregowania zadań jednostkowych na procesorach jednorodnych

17.

Projekt i implementacja aplikacji do gry w szachy 4-osobowe

18.

Projekt i implementacja aplikacji do automatycznego formatowania kodu źródłowego

19.

Znalezienie strategii optymalnych w grach z rodziny k-in-a-row

20.

Implementacja metryki UMAST o złożoności obliczeniowej O(n1.5+o(1) logn) w języku Java

21.

Aplikacja mobilna obsługująca regaty

22.

Serwis internetowy Sekcji Żeglarskiej Politechniki Gdańskiej

 

1.

Temat pracy inżynierskiej

Aplikacja mobilna – paszport medyczny

Tytuł w j. angielskim

Mobile application – medical passport

Opiekun pracy

dr inż. Piotr Borowiecki

Konsultant pracy

 

Cel pracy

Celem pracy jest zaprojektowanie i zaimplementowanie aplikacji mobilnej pełniącej rolę osobistego repozytorium danych o charakterze medycznym. Począwszy od danych o wieku, grupie krwi, przez dane o alergiach i aktualnie przyjmowanych lekach, powinna umożliwiać zapisywanie danych dot. bieżących wyników badań, np. morfologicznych a także danych o wcześniej przebytych chorobach, zabiegach i zakresie terapii. Istotnymi cechami aplikacji powinny być m.in.: zapewnienie bezpieczeństwa danych o charakterze osobistym, łatwość obsługi i czytelność interfesju prezentacji danych, umożliwienie prezentacji danych w formatach ułatwiających ich analizę.

Zadania do wykonania

  1. Analiza problemu i specyfikacja wymagań.
  2. Wybór technologii i projekt architektury systemu.
  3. Implementacja i testowanie aplikacji.
  4. Opracowanie dokumentacji projektu.

Źródła

https://docs.microsoft.com/pl-pl/visualstudio/ide/?view=vs-2017
https://azure.microsoft.com/pl-pl/overview/what-is-virtualization/
https://linuxpolska.pl/kilka-slow-o-dockerze-konteneryzacji/

Liczba wykonawców

 2

Uwagi

Należy zastosować technologie umożliwiające posadowienie aplikacji na wielu platformach (Android, iOS). Zaletą będzie umiejętność stosowania praktyk programistycznych z obszaru ciągłej integracji i dostarczania (ang. continuous integration and delivery).

 

2.

Temat pracy inżynierskiej

Aplikacja mobilna służąca do automatycznego oceniania testów egzaminacyjnych

Tytuł w j. angielskim

Automated exam test grading mobile application

Opiekun pracy

dr inż. Piotr Borowiecki

Konsultant pracy

 

Cel pracy

Celem pracy jest zaprojektowanie i zaimplementowanie aplikacji mobilnej (działającej na tabletach) pozwalającej na automatyczną ocenę osób zdających testy, przeprowadzaną na podstawie fotografii arkusza odpowiedzi. Aplikacja powinna zawierać moduł y pozwalające na: wygodne definiowanie arkuszy testów, wzorców rozwiązań i formuł służących do wyliczania końcowej oceny, eksportu wyników w standardowych formatach.

Zadania do wykonania

  1. Analiza problemu i specyfikacja wymagań.
  2. Wybór technologii i projekt architektury systemu.
  3. Implementacja i testowanie aplikacji.
  4. Opracowanie dokumentacji projektu

Źródła

https://docs.microsoft.com/pl-pl/visualstudio/ide/?view=vs-2017
https://azure.microsoft.com/pl-pl/overview/what-is-virtualization/
https://linuxpolska.pl/kilka-slow-o-dockerze-konteneryzacji/
https://en.wikipedia.org/wiki/Barcode
https://en.wikipedia.org/wiki/QR_code

Liczba dyplomantów

2

Uwagi

Należy zastosować technologie umożliwiające posadowienie aplikacji na wielu platformach - tablet z systemem iOS lub Android. Zaletą będzie umiejętność stosowania praktyk programistycznych z obszaru ciągłej integracji i dostarczania (ang. continuous integration and delivery). Dane egzaminowanych osób zapisywane sa jako kody kreskowe albo kody QR.

 

3.

Temat pracy inżynierskiej

Aplikacja internetowa do wideokonferencji

Tytuł w j. angielskim

A web application for videoconferences.

Opiekun pracy

dr inż. Krzysztof M. Ocetkiewicz

Konsultant pracy

 

Cel pracy

Celem pracy jest stworzenie aplikacji umożliwiającej wygodne przeprowadzenie wideokonferencji. Aplikacja powinna umożliwiać transmisję dźwięku i obrazu pomiędzy kilkoma uczestnikami. Powinna także obsługiwać współdzielenie plików, wymianę komunikatów tekstowych (chat) oraz implementować prostą wirtualną tablicę.

Zadania do wykonania

  1. Analiza wymagań
  2. Przegląd istniejących rozwiązań
  3. Przegląd dostępnych narzędzi
  4. Projekt aplikacji
  5. Implementacja
  6. Testy
  7. Dokumentacja

Źródła

  1. https://www.w3.org/TR/html5/
  2. www.w3schools.com/jsref/
  3. caniuse.com
  4. https://www.w3.org/Style/CSS/

Uwagi

2-4

Liczba dyplomantów

 

 

4.

Temat pracy inżynierskiej

Generator parserów z diagramu przepływu składni

Temat w jęz. angielskim

Generating parsers from syntax diagrams.

Opiekun pracy

dr inż. Krzysztof M. Ocetkiewicz

Konsultant pracy

 

Cel pracy

Celem pracy jest stworzenie narzędzia generującego parser gramatyki na podstawie jej diagramu przepływu. Narzędzie powinno umożliwiać stworzenie diagramu przepływu (edycja/zapis/odczyt) oraz wygenerowanie na podstawie diagramu kodu źródłowego parsera budującego AST w jednym z kilku języków programowania (np. C++, C#, JavaScript).

Zadania do wykonania

  1. Analiza wymagań
  2. Przegląd istniejących rozwiązań
  3. Przegląd dostępnych narzędzi
  4. Projekt narzędzia
  5. Implementacja edytora diagramów
  6. Implementacja generatora
  7. Testy
  8. Dokumentacja

Źródła

  1. Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman "Kompilatory. Reguły, metody i narzędzia"
  2. Bjarne Stroustrup "Język C++. Kompendium wiedzy"
  3. www.w3schools.com/jsref/

Liczba wykonawców

3-4

Uwagi

 

5.

Temat pracy inżynierskiej

Wokselowy silnik umożliwiający proceduralne generowanie świata 3D

Temat w jęz. angielskim

Voxel engine for procedural creation of a 3D world

Opiekun pracy

dr inż. Piotr Andrzej Mironowicz

Konsultant pracy

 

Cel pracy

Celem pracy jest stworzenie funkcjonalnego silnika 3D opartego o woksele, którego główną funkcjonalnością, poza renderowaniem, będzie proceduralna generacja świata z rozróżnialnymi strefami (biomami). Silnik powinien oferować: wygenerowanie nowego świata, podstawowy graficzny interfejs użytkownika,  dynamiczną zmianę wirtualnego otoczenia poprzez usuwanie i dodawanie nowych bloków (wokseli). Technologią wykorzystywaną do renderowania grafiki będzie API DirectX.

Zadania do wykonania

  1. Zbadanie problematyki i możliwości jakie daje wykorzystanie wokseli w renderowaniu i generowaniu światów 3D.
  2. Przegląd dostępnych możliwości i sposobów generowania proceduralnych światów.
  3. Implementacja silnika i jego najważniejszych elementów

Źródła

  1. Jason Gregory: Game Engine Architecture -  A K Peters/CRC Press; 3 edition (August 17, 2018)
  2. Frank Luna: Introduction to 3D Game Programming with DirectX 11 - Mercury Learning & Information (February 28, 2012)
  3. Tomas Akenine-Möller, Eric Haines, Naty Hoffman: Real-Time Rendering - A K Peters/CRC Press; 4 edition (August 6, 2018)
  4. http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/

Liczba wykonawców

2-3

Uwagi

niestacjonarne

 

6.

Temat pracy inżynierskiej

Generowania plansz w grze typu hack’n’slash

Tytuł w j. angielskim

Generating maps in hack’n’slash games.

Opiekun pracy

dr inż. Piotr Mironowicz

Konsultant pracy

 

Cel pracy

Celem pracy jest stworzenie programu, będącego w stanie wygenerować poziomy w grze typu hack’n’slash. Poziomy powinny zawierać w sobie struktury typu wioski/miasta, przestrzenie do przeszukiwania (np. jaskinie). Wygenerowane plansze powinny umożliwiać wykorzystanie ich w grze.

Zadania do wykonania

  1. Zapoznanie się z aktualnie wykorzystywanymi rozwiązaniami problemu.
  2. Implementacja generowania rzeźby terenu.
  3. Implementacja generowania struktur (wioski/miasta/jaskinie)
  4. Opracowanie dokumentacji formatu planszy i zastosowanej metody generowania.

Źródła

  1. Patel, A., Polygonal Map Generation for Games, http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/
  2. https://github.com/mxgmn/WaveFunctionCollapse
  3. Shaker, N., Togelius, J., & Nelson, M. J. (2016). Procedural Content Generation in Games. Springer International Publishing.

Liczba wykonawców

3-4

Uwagi

 

 

7.

Temat pracy inżynierskiej

Generowania treści w grze typu hack’n’slash

Tytuł w j. angielskim

Generating content for hack’n’slash games

Opiekun pracy

dr inż. Piotr Mironowicz

Konsultant pracy

 

Cel pracy

Celem pracy jest zbadanie problematyki związanej z automatyczną generacją treści dla gier komputerowych, w szczególności dla gier typu hack’n’slash. Rozprawa powinna zawierać przegląd istniejących rozwiązań w grach i w literaturze. Tematyka dotyczy zadań pobocznych (questów), przeciwników i  NPC dla gier fabularnych

Zadania do wykonania

  1. Przegląd dostępnych gier stosujących automatyczne generowaniem NPC i zadań.
  2. Przegląd literatury dotyczącej teoretycznych aspektów automatycznego generowania zawartości w grach.
  3. Przedstawienie i implementacja własnego prostego systemu do automatycznego generowania NPC i zadań

Źródła

  1. Doran, J., & Parberry, I. (2011, June). A prototype quest generator based on a structural analysis of quests from four MMORPGs. In Proceedings of the 2nd international workshop on procedural content generation in games (p. 1). ACM.
  2. Kybartas, B., & Verbrugge, C. (2014). Analysis of ReGEN as a graph-rewriting system for quest generation. IEEE Transactions on Computational Intelligence and AI in Games, 6(2), 228-242.
  3. Hendrikx, M., Meijer, S., Van Der Velden, J., & Iosup, A. (2013). Procedural content generation for games: A survey. ACM Transactions on Multimedia Computing, Communications, and Applications (TOMM), 9(1), 1.
  4. Shaker, N., Togelius, J., & Nelson, M. J. (2016). Procedural Content Generation in Games. Springer International Publishing.

Liczba wykonawców

3-4

Uwagi

 

 

8.

Temat pracy inżynierskiej

Gra MMORPG w dwóch wymiarach

Tytuł w j. angielskim

MMORPG game in two dimensions
 

Opiekun pracy

dr inż. Piotr Mironowicz

Konsultant pracy

 

Cel pracy

 

Celem pracy jest implementacja gry MMORPG (ang. massive multiplayer on-line role playing game) oraz przedstawienie problematyki związanej  z jej tworzeniem

Zadania do wykonania

 

1.  Naszkicowanie tematyki masywnie wieloosobowych gier fabularnych
2.  Implemetacja aplikacji klienckiej
3. Implementacja aplikacji serwera gry
4. Przedstawienie opisu implementacji gry

Źródła

1. Dokumentacja do technologii: Java, Spring, Maven, Hibernate, docker, libgdx, kryonet
2. Achterbosch, L., Pierce, R., and Simmons, G. Massive ly multiplayer online role-playing games: The past,  present, and future.  ACM Comput. Entertain. , 5, 4, Article 9 (March 2008). 33 Pages

Liczba wykonawców

2-3

Uwagi

 

 

9.

Temat pracy inżynierskiej

Opracowanie mechaniki gry typu hack’n’slash

Tytuł w j. angielskim

Developing a hack'n'slash game mechanics

Opiekun pracy

dr inż. Piotr Mironowicz

Konsultant pracy

 

Cel pracy

Celem pracy jest stworzenie mechaniki gry typu hack’n’slash oraz jej zaimplementowanie. Gra powinna ładować poziomy oraz treść z dostarczonych zasobów. Ponadto gra powinna zapewnić odpowiedni poziom grywalności i zróżnicowane poziomy trudności oraz zadania do wykonania.

Zadania do wykonania

  1. Zapoznanie się z tematyką gier Hack and slash.
  2. Opracowanie koncepcji  i zaprojektowanie gry.
  3. Implementacja gry.
  4. Testowanie programu.

Źródła

  1. https://en.wikipedia.org/wiki/Hack_and_slash
  2. E. Adams: Projektowanie gier. Podstawy, Helion 2010.
  3. https://www.gdcvault.com/play/1022129/Making-It-to-Break-It

Liczba wykonawców

2-4

Uwagi

 

 

10.

Temat pracy inżynierskiej

Właściwości kwantowych kodów swobodnego dostępu

Tytuł w j. angielskim

Properties of quantum random access codes

Opiekun pracy

dr inż. Piotr Mironowicz

Konsultant pracy

 

Cel pracy

Celem pracy jest zapoznanie się z problematyką kwantowych kodów swobodnego dostępu, oraz ich zastosowaniami dla protokołów przetwarzania informacji, a także z powiązanymi z nimi metodami obliczeń. Elementem pracy jest próba zbadania nowych właściwości kodów swobodnego dostępu za pomocą zaimplementowanego narzędzia (np. w Matlab/Octave lub Pythonie).

Zadania do wykonania

  1. Zapoznanie się z bibliografią dotyczącą kwantowych kodów swobodnego dostępu (QRACów).
  2. Przygotowanie narzędzia do analizy właściwości QRACów.
  3. Przeprowadzenie analizy wybranej właściwości QRACów

Źródła

  1. Ambainis, D. Leung, L. Mancinska, M. Ozols, Quantum Random Access Codes with Shared Randomness, arXiv:0810.2937
  2. P. Mironowicz, H.-W. Li, M. Pawłowski, Properties of dimension witnesses and their semi-definite programming relaxations, arXiv:1405.3971

Liczba wykonawców

1-4

Uwagi

Praca badawcza, temat wymagający znajomości podstaw informatyki kwantowej

 

11.

Temat pracy inżynierskiej

Szablonowa biblioteka operacji macierzowych w c++

Tytuł w j. angielskim

C++ template library for matrix operations

Opiekun pracy

dr Paweł Obszarski

Konsultant pracy

 

Cel pracy

Zbadania i implementacja współczesnych algorytmów mnożenia i odwracania macierzy

Zadania do wykonania

  1. Wybór wydajnych struktur danych.
  2. Implementacja podstawowych operacji na macierzach w wersjach dla małych macierzy.
  3. Implementacja podstawowych operacji z zastosowaniem szybkich algorytmów.
  4. Testy i porównanie z istniejącymi rozwiązaniami.

Źródła

  1. J. Grębosz, Pasja C++
  2. T Cormen, Wprowadzenie do algorytmówLe Gall,
  3. Powers of tensors and fast matrix multiplication

Liczba wykonawców

2-4

Uwagi

 

 

12.

Temat pracy inżynierskiej

Złożoność obliczeniowa interpretera FOCS

Tytuł w j. angielskim

Computational complexity of the FOCS interpreter

Opiekun pracy

mgr inż. Andrzej Jastrzębski

Konsultant pracy

 

Cel pracy

Gra FreeOrion ma własny język skryptów (FOCS), który umożliwia sterowanie rozgrywką. Celem pracy jest opisanie FOCS – FreeOrion Content Script, wyznaczenie złożoności obliczeniowej i pamięciowej interpretera dla wybranych skryptów oraz propozycja ulepszenia algorytmów użytych w wyżej wymienionym oprogramowaniu.

Zadania do wykonania

  1. Opisanie FOCS,
  2. Wyznaczenie złożoności obliczeniowej interpretera,
  3. Implementacja własnego interpretera,
  4. Testy wydajności

Źródła

  1. freeorion.org
  2. Łagodne wprowadzenie do analizy algorytmów. / M.Kubale
  3. Standard C++ ISO/IEC 14882:2011

Liczba wykonawców

2

 

13.

Temat pracy inżynierskiej

System monitoringu w architekturze mikroserwisowej

Tytuł w j. angielskim

Monitoring System  Based On Microservice Architecture

Opiekun pracy

dr inż. Krzysztof Manuszewski

Konsultant pracy

 

Cel pracy

Celem pracy jest stworzenie systemu monitoringu opartego o architekturę mikroserwisową. System składa się z kilku kamer, z których każda połączona jest do mikrokontrolera Raspberry PI, który przesyła obraz na serwer w czasie rzeczywistym. Serwer składa się z rozmaitych usług, takich jak: 

  1. udostępnianie obrazu z kamer w postaci strony WWW, 
  2. analiza obrazu przy pomocy konwolucyjnych (CNN) i rekurencyjnych (LSTM) sieci neuronowych.

wysyłanie powiadomień emailowych/smsowych w razie wykrycia na obrazie obecności ludzi

Zadania do wykonania

  1. Skonfigurowanie repozytorium, procesu CI/CD, serwera produkcyjnego
  2. Implementacja aplikacji przechwytującej obraz z kamery i wysyłającej go na serwer
  3. Implementacja aplikacji webowej umożliwiającej oglądanie obrazu z kamer
  4. Zapoznanie się z teorią dotyczącą konwolucyjnych oraz rekurencyjnych sieci neuronowych oraz ich zastosowaniem w dziedzinie rozpoznawania obiektów oraz ludzkich zachowań (Human Action Recognition).
  5. Implementacja i wyuczenie/fine-tuning architektury hybrydowej (Two-Stream Convolutional Network + LSTM)

Źródła

  1. Dokumentacja techniczna Raspberry Pi
  2. Dokumentacja techniczna ASP .NET Core
  3. Yu Kong, Yun Fu “Human Action Recognition and Prediction: A Survey”, arXiv:1806:11230, 2018
  4. Santanu Pattanayak “Pro Deep Learning with TensorFlow”, 2017
  5. Zuxuan Wu, Xi Wang, Yu-Gang Jiang, Hao Ye, Xiangyang Xue “Modeling Spatial-Temporal Clues in a Hybrid Deep Learning Framework for Video Classification”, arXiv:1504:01561, 2015

Liczba wykonawców

2-4

Uwagi

 

 

14.

Temat pracy inżynierskiej

Otwarte rozwiązanie do diagnostyki dużych systemów informatycznych

Tytuł w j. angielskim

Open solution for purpose of monitoring large it systems

Opiekun pracy

dr inż. Krzysztof Manuszewski

Konsultant pracy

 

Cel pracy

Celem pracy jest stworzenie otwarto-źródłowego rozwiązania pozwalającego na analizę i obsługę  błędów w dużych systemach tak monolitycznych jak rozproszonych. Istnieje wiele rozwiązań otwartych i komercyjnych adresujących podobną klasę problemów nie oferują one jednak wielu funkcjonalności. Założeniem pracy jest skorzystanie z istniejących narzędzi i doświadczeń dla budowy systemu, który będzie w stanie:
- zbierać i korelować (na podstawie ID, czasu, reguł AI) błędy z różnych punktów w systemie z charakterystykami systemu.
- maskować znane błędy (znów definiowane w pot. zaawansowany sposób) w celu znalezienia kolejnych błędów, wyjaśnienia przyczyn znanych błędów
- dokonywać analizy tych błędów i podejmować zdefiniowane regułami działania (mail, akcja itd.)
- obsługiwać duże ilości zgłoszeń np. dziesiątki lub setki tysięcy miesięcznie)
- stanowić podstawę dla eksperymentów z AI do analizy i obsługi błędów.

Zadania do wykonania

  1. Zebranie wymagań, analiza istniejących rozwiązań
  2. Implementacja pierwszego modelu systemu
  3. Dostosowanie sytemu do nowoczesnych rozwiązań opartych o kontenery/chmurę
  4. Implementacja funkcjonalności w założonych obszarach
  5. Eksperymenty z AI

Źródła

  1. Dokumentacja techniczna ASP .NET Core
  2. Dokumentacja rozwiązań takich jak Elmah, ELK
  3. Monitoring distributed systems with Riemann https://is.muni.cz/th/fia5e/fi-pdflatex.pdf
  4. „Porównanie narzędzi do monitorowania aplikacji rozproszonych w kontekście rozwiązań biznesowych opartych na koncepcji mikro serwisów”, praca mgr Błażej Galiński, 2016

Liczba wykonawców

2-4

Uwagi

Przy tworzeniu rozwiązania możliwa będzie współpraca np. w zakresie wymagań z inżynierami firmy IHSMARKIT

 

15.

Temat pracy inżynierskiej

Modelowy portal WWW oparty na nowoczesnych technologiach

Tytuł w j. angielskim

Model WWW solution based on modern technologies

Opiekun pracy

dr inż. Krzysztof Manuszewski

Konsultant pracy

 

Cel pracy

Celem pracy jest stworzenie modelowego portalu www opartego na nowoczesnych technologiach i podejściach:

  1. Mikroserwisy
  2. Konteneryzacja
  3. Nowoczesne technologie np. ReasonML
  4. Silne typowanie pomiędzy klientem www a API/stroną serwerową

Zadania do wykonania

  1. Zapoznanie się z dostępnymi trendami i technologiami,
  2. Wybór narzędzi i określenie wymagań funkcjonalnych
  3. Implementacja pierwszego modelu systemu
  4. Dostosowanie modelowego portalu do nowoczesnych rozwiązań opartych o kontenery/chmurę/CI/CD
  5. Implementacja funkcjonalności w założonych obszarach

Źródła

  1. Dokumentacja techniczna ASP .NET Core
  2. Dokumentacja rozwiązań takich jak ReasonML
  3. Dokumentacja wybranych frameworków JS np. React.js
  4. Dokumentacja narzędzi typu Docker, Swarm, Kubernetes
  5. „Production-Ready Microservices”, Susan Fowler, O’Railey 2016

Liczba wykonawców

2-4

Uwagi

 

 

16.

Temat pracy inżynierskiej

System dla implementacji i testowania algorytmów szeregowania zadań jednostkowych na procesorach jednorodnych

Tytuł w j. angielskim

System for implementation and testing of scheduling algorithms for UET jobs on uniform processors

Opiekun pracy

Prof. dr hab. inż. Marek Kubale

Konsultant pracy

mgr  inż. Tytus Pikies

Cel pracy

Celem pracy jest utworzenie pakietu programów dedykowanych dla wybranych modeli szeregowania zadań typu UET oraz utworzenie systemu generowania danych dla testowania ich wydajności

Zadania do wykonania

  1. Implementacja algorytmów dla szeregowania zadań w wybranych modelach
  2. Implementacja algorytmów generowana grafów losowych dla ww. algorytmów

Źródła

  1. Pikies, Kubale: Better polynomial algorithm for scheduling unit-length jobs with..., Bull. PAS - TS (2019) (w druku).
  2. Furmańczyk, Kubale: Scheduling of unit-length jobs with cubic incompatibility graphs... DAM 234 (2018).

Liczba wykonawców

2-4

Uwagi

Projekt może być kontynuowany w przyszłości jako praca magisterska

 

17.

Temat pracy inżynierskiej

Projekt i implementacja aplikacji do gry w szachy 4-osobowe

Tytuł w j. angielskim

Project and implementation of a program playing 4-player chess

Opiekun pracy

Prof. dr hab. inż. Krzysztof Giaro

Konsultant pracy

 

Cel pracy

Stworzenie aplikacji umożliwiającej grę w szachy 4-osobowe. Implementacja gracza komputerowego.

Zadania do wykonania

  1. Zapoznanie się z zasadami gry.
  2. Implementacja GUI umożliwiającego rozgrywkę ludziom i botom.
  3. Implementacja gracza komputerowego.

Źródła

https://en.wikipedia.org/wiki/Four-player_chess

Liczba wykonawców

2-4

Uwagi

 

 

 

18.

Temat pracy inżynierskiej

Projekt i implementacja aplikacji do automatycznego formatowania kodu źródłowego

Tytuł w j. angielskim

Project and implementation of a program that formats source code

Opiekun pracy

Prof. dr hab. inż. Marek Kubale

Konsultant pracy

 

Cel pracy

Stworzenie programu wykrywającego miejsca w kodzie, które nie zostały poprawnie sformatowanie oraz korygującego tego typu błędy.

Zadania do wykonania

  1. Zapoznanie się z tematyką automatycznego formatowania kodu.
  2. Implementacja programu wykrywającego i korygującego źle sformatowanie fragmenty kodu

Źródła

https://en.wikipedia.org/wiki/Programming_style

Liczba wykonawców

2-4

Uwagi

 

 

19.

Temat pracy inżynierskiej

Znalezienie strategii optymalnych w grach z rodziny k-in-a-row

Tytuł w j. angielskim

Searching for optimal strategies in family of k-in-a-row games

Opiekun pracy

mgr inż. Tomasz Goluch

Konsultant pracy

 

Cel pracy

Rodzina gier k-in-a-row to gry rozgrywane na prostokątnej planszy na której na przemian gracze dostawiają swoje pionki. Ten kto pierwszy ułoży nieprzerwany ciąg k pionów wygrywa grę. Należy zaimplementować zrównolegloną wersję algorytmu df-pn pozwalającą na znalezienie strategii optymalnych w grach dla podanych parametrów Connect(m,n,k,p,q). Opisują one planszę o rozmiarach n x m oraz k – długość ciągu wygrywającego. Liczba pionków umieszczanych przez gracza w jego turze wynosi p z wyjątkiem pierwszego posunięcia gdzie wynosi q.

Zadania do wykonania

1.  Zapoznanie z istniejącą implementacją generatora silników posunięć dla rodziny gier k-in-a-row.
2.  Wybór technologii w której będzie implementuwany algorytm df-pn.
3.   Implementacja algorytmu.
4.   Rozwiązanie gry (przynajmniej wariant Connect(15,15,5,1,1) – Gomoku w wersji „freestyle”).
5.  Testy poprawnościowe i wydajnościowe.
6.  Dokumentacja.
7.  Testy poprawności znalezionej strategii z innymi programami/agentami oraz ludźmi.

Źródła

1.  Jakub Pawlewicz i Ryan B. Hayward, Scalable Parallel DFPN Search, Lecture Notes In Computer Science 8427 2014, s. 138–150.
2.  Pawel Troka, Implementation and analysis of logical games engines generator (master’s thesis), Faculty of Electronics, Telecommunications and Informatics on Gdansk University of Technology – https://github.com/PawelTroka/LogicalGamesEnginesGenerator
3.  The Connect-k program – https://github.com/gomoku/Connect-k

Liczba wykonawców

2

Uwagi

 

 

 

20.

Temat pracy inżynierskiej

Implementacja metryki UMAST o złożoności obliczeniowej O(n1.5+o(1) logn) w języku Java

Tytuł w j. angielskim

Implementation O(n1.5 log n) UMAST metric in Java

Opiekun pracy

mgr inż. Tomasz Goluch

Konsultant pracy

 

Cel pracy

Metryka UMAST to wersja metryki filogenetycznej MAST dla drzew nieukorzenionych. Dla dwóch porównywanych drzew o identycznych etykietach liści jako wynik, zwraca liczbę tych etykiet  pomniejszoną o liczbę etykiet w znalezionym poddrzewie maksymalnej zgodności (Unrooted Maximum Agreement Subtree). Szukane poddrzewo UMAST to takie które jest topologicznym poddrzewem dwóch porównywanych drzew i posiada największy zbiór liści.

Zadania do wykonania

  1. Zapoznanie z istniejącą implementacją algorytmu MAST i UMAST o złożonościach O(n2) i  O(n2+o(1)) w aplikacji Visual TreeCmp – https://eti.pg.edu.pl/treecmp/.
  2. Implementacja algorytmu UMAST o złożoności O(n1.5 log n).
  3. Testy poprawnościowe i wydajnościowe.
  4. Dokumentacja.

Źródła

  1. W. Lam, T & K. Sung, W & Ting, Hing-Fung. (1996). Computing unrooted maximum subtrees in sub-quartic time. Nordic Journal of Computing. 3. 295-322.
  2. Gasieniec, Leszek & Jansson, Jesper & Lingas, Andrzej & Östlin, Anna. (2000). On the Complexity of Computing Evolutionary Trees. Jiang, Tao; Lee, D. T.: Proceedings of the 3rd International Conference on Computing and Combinatorics (COCOON-97), Springer, 134-145 (1997). 1276. 10.1007/BFb0045080.
  3. Cole, Richard & Farach-Colton, Martin & Hariharan, Ramesh & Przytycka, Teresa & Thorup, Mikkel. (1996). An O(n log n) Algorithm For The Maximum Agreement Subtree Problem For Binary Trees. SIAM Journal on Computing. 30. 10.1145/313852.314079.

Liczba wykonawców

2

Uwagi

 

 

21.

Temat pracy inżynierskiej

Aplikacja mobilna obsługująca regaty

Tytuł w j. angielskim

Mobile application supporting regattas

Opiekun pracy

mgr inż. Tomasz Goluch

Konsultant pracy

 

Cel pracy

Regaty to wyścigi prowadzone na wodzie bądź lodzie przy użyciu różnego rodzaju łodzi albo bojerów. Aplikacja mobilna pozwalała by na zminimalizowanie kosztów przeprowadzenia takich zawodów. Każdy z uczestników miałby na bieżąco informację o upływającym czasie do startu oraz czy znajduje się w poprawnym miejscu startu. Trasa którą przebyły wszystkie łodzie była by zapisywana i automatycznie podawany byłby zwycięzca. Aplikacja pozwalała by na wysyłanie ostrzeżeni albo kar do zawodników od sędziów, ich dyskwalifikację oraz podawała by użyteczne informacje jak odległość do następnej boi, pierwszego/kolejnego/poprzedniego w kolejności zawodnika itp....

Zadania do wykonania

  1. Przegląd istniejących rozwiązań.
  2. Projekt aplikacji, wybranie odpowiednich technologii.
  3. Implementacja aplikacji.
  4. Testy poprawnościowe.
  5. Dokumentacja.

Źródła

  1. https://www.w3schools.com/js
  2. https://www.w3.org/TR/html5
  3. F. Ableson, R. Sen “Android w akcji";
  4. http://bootstrapdocs.com/v3.0.3/docs/getting-started
  5. https://developers.google.com/maps/documentation

Liczba wykonawców

3

Uwagi

 

 

 

22.

Temat pracy inżynierskiej

Serwis internetowy Sekcji Żeglarskiej Politechniki Gdańskiej.

Tytuł w j. angielskim

Website of Gdańsk University of Technology Sailing Section.

Opiekun pracy

mgr inż. Tomasz Goluch

Konsultant pracy

 

Cel pracy

Serwis wspierałby proces zapisywania studentów na obozy szkoleniowe oraz inne wydarzenia żeglarskie prowadzone przez Politechnikę Gdańską. Pozwalałby na zarządzanie wersjami i łatwy dostęp do najnowszych materiałów szkoleniowych dla kursantów oraz instruktorów. Pozwalałby na bezpieczne przechowywanie i dostęp do dokumentów sekcji zawierających poufne dane osobowe.

Zadania do wykonania

  1. Zapoznanie się z istniejącą infrastrukturą.
  2. Projekt aplikacji, wybranie odpowiednich technologii.
  3. Implementacja aplikacji.
  4. Testy poprawnościowe uraz poufności danych osobowych.
  5. Dokumentacja.

Źródła

  1. http://zagle.pg.gda.pl/sekcja/
  2. https://www.w3schools.com/js
  3. https://www.w3.org/TR/html5
  4. http://bootstrapdocs.com/v3.0.3/docs/getting-started
  5. https://developers.google.com/maps/documentation

Liczba wykonawców

3

Uwagi