Praca dyplomowa

Wybór lub propozycja tematu pracy dyplomowej

Prace dyplomowe inżynierskie i magisterskie prowadzę na wydziale Informatyki i Telekomunikacji dla specjalności INS, IGM i INE na kierunku Informatyka Techniczna oraz, wyjątkowo, na innych specjalnościach i podobnych kierunkach.

Liczba tematów prac dyplomowych, którą mogę zgłosić na dany semestr, jest ograniczona, dlatego o zgłoszeniu tematu decyduje kolejność ich wybrania lub zaproponowania.

Studentów chcących pisać pracę dyplomową pod moją opieką proszę o kontakt mailowy lub osobisty w celu wybrania lub zaproponowania tematu pracy dyplomowej.

Już dostępne tematy można poznać niżej na tej stronie (tematy prac inż., tematy prac mgr.) oraz w serwisie Archiwum Prac Dyplomowych. Ich opis jeszcze można będzie zmienić.

Proponując własny temat można (nie trzeba) wzorować się na tematach z poprzednich lat, które są też na dole tej strony.

Procedury dotyczące prac dyplomowych

Strona Dyplomanci zawiera aktualne przepisy, zalecenia i dokumenty. Opisane są tam m.in:

  • zgłaszanie, wybór i zmiana tematu pracy dyplomowej;
  • harmonogram dyplomowania;
  • przedłużanie terminu złożenia pracy dyplomowej;
  • szablony do edycji pracy dyplomowej;
  • dostęp do systemu Archiwum Prac Dyplomowych;
  • dokumenty potrzebne do obrony.

Proszę kierować się tymi informacjami w sprawach związanych z pracą dyplomową.

Realizacja pracy dyplomowej

Treść pracy dyplomowej

Wszystko, co zostało zapisane w karcie tematu pracy dyplomowej, jest obowiązkowe i musi zostać wykonane. Pozostałe rzeczy są zależne od studenta, ale wymagają konsultacji z promotorem.

Warto skorzystać:

Zalecam skorzystanie z tego szablonu pracy dyplomowej, przy czym obowiązuje wzór okładki podany na stronie Praca dyplomowa, gdzie:

  • tytuł pracy dyplomowej musi być taki sam, jak na karcie tematu pracy (co do znaku);
  • rok złożenia pracy dyplomowej to rok, w którym kończy się kurs Praca Dyplomowa.

Konsultacje z promotorem

Po rozpoczęciu kursu Praca Dyplomowa należy pojawić się na konsultacjach (osobiście lub zdalnie). Proszę przygotować propozycję szczegółowego spisu treści pracy dyplomowej i plan jej realizacji.

Potem proszę przynajmniej raz w miesiącu pojawiać się na konsultacjach, aby pokazywać bieżący stan wykonania pracy dyplomowej.

Na zakończenie kursu Praca Dyplomowa lub przed oddaniem pracy należy pojawić się na konsultacjach (osobiście lub zdalnie), aby przedstawić działanie programu, systemu itp., czyli tego, co zostało wykonane w ramach pracy dyplomowej.

Co najmniej kilka roboczych dni przed terminem oddania pracy dyplomowej do APD (systemu antyplagiatowego), proszę przesłać mi jej treść (w pliku pdf), abym mógł przekazać swoje ostatnie uwagi, wskazać błędy itp.

Tematy prac inżynierskich

Dostępne

  • brak – proszę zaproponować temat swojej pracy

 

Do realizacji w 2023/2024


    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie desktopowej aplikacji do śledzenia czasu pracy i zarządzania jej produktywnością, która ma intuicyjny w obsłudze interfejs użytkownika i oferuje: generowanie raportów, analizę danych czasowych oraz zarządzanie projektami, zadaniami, oznaczeniami i danymi w trybie online i offline. Aplikacja ta korzystać będzie z serwerowej aplikacja bazodanowej, mając też możliwość przechowywania danych lokalnie na urządzeniu użytkownika w przypadku braku połączenia z internetem.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model i implementacja serwerowej aplikacji bazodanowej dla bazy danych MongoDB.
    3. Model i implementacja desktopowej aplikacji użytownika w języku Python z wykorzystaniem odpowiedniej biblioteki i narzędzi do tworzenia interfejsu użytkownika oraz obsługi funkcji śledzenia czasu.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel pracy:
    Zaprojektowanie i implementacja bazodanowej aplikacji webowej, umożliwiającej kontakt trenera personalnego z jego klientami, przesyłanie planów treningowych, jadłospisów i monitorowanie postępów.
    Aspekt inżynierski:
    Zaprojektowanie i implementacja bazodanowej aplikacji webowej składającej się z aplikacji serwerowej wykonanej dla relacyjnej bazy danych PostgreSQL w środowisku Java przy pomocy frameworku Spring oraz z aplikacji użytkownika wykonanej przy użyciu HTML, CSS i JavaScript.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model aplikacji bazodanowej i jej implementacja dla relacyjnej bazy danych PostgreSQL w środowisku Java przy pomocy frameworku Spring.
    3. Model aplikacji użytkownika i jej implementacja przy użyciu HTML, CSS i JavaScript.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel pracy:
    Zaprojektowanie i zaimplementowanie webowej bazodanowej aplikacji, która umożliwia użytkownikom przeglądanie i udostępnianie informacji na temat górskich szlaków, szczytów, miejsc noclegowych, atrakcji turystycznych itp. oraz wspomaga planowanie wycieczki.
    Aspekt inżynierski:
    Zaprojektowanie i zaimplementowanie webowej bazodanowej aplikacji serwerowej w języku Java lub Python z wykorzystaniem wybranego frameworku oraz aplikacji użytkownika w języku JavaScript z wykorzystaniem wybranego frameworku.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model bazodanowej aplikacji serwerowej i jej implementacja w języku Java lub Python z wykorzystaniem wybranego frameworku.
    3. Model aplikacji użytkownika i jej implementacja w języku JavaScript z wykorzystaniem wybranego frameworku.
    4. Wykonanie testów aplikacji.

    Cel pracy:
    Zaprojektowanie i zaimplementowanie webowej aplikacji do zarządzania orkiestrą. W wersji dla dyrygenta: aplikacja automatyzuje pracę dyrygenta przez zarządzanie składem orkiestry, przydzielanie partii instrumentalistom oraz planowanie prób koncertowych i koncertów. W wersji dla instrumentalisty: aplikacja umożliwia deklarację obecności na próbach i koncertach, odczytanie informacji o granych przez niego partiach oraz komunikację z dyrygentem.
    Aspekt inżynierski:
    Zaprojektowanie i zaimplementowanie webowej aplikacji składającej się z bazodanowej aplikacji serwerowej wykonanej w środowisku Python z wykorzystaniem frameworku Django oraz dwóch typów aplikacji użytkownika wykonanych w języku JavaScript z wykorzystaniem frameworku React.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model bazodanowej aplikacji serwerowej i jej implementacja w środowisku Python z wykorzystaniem frameworku Django.
    3. Model dwu aplikacji użytkownika i ich implementacja w języku JavaScript z wykorzystaniem frameworku React.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie webowej bazodanowej aplikacji użytkownika systemu w wersjach dla sprzedawcy i dla klienta. W wersji dla sprzedawcy aplikacja automatyzuje pracę sprzedawcy przez szybkie przeglądanie i zarządzanie magazynem księgarni, danymi klientów i ich płatnościami. W wersji dla klienta aplikacja wspiera kupowanie, rezerwowanie wybranych książek (jeśli płatności rozliczane będą przy odbiorze) oraz ich recenzowanie.
    Aspekt inżynierski:
    Zaprojektowanie i zaimplementowanie webowej bazodanowej aplikacji, składającej się z bazodanowej aplikacji serwerowej wykonanej w języku C# w środowisku ASP.NET oraz dwóch rodzajów aplikacji użytkownika wykonanych w języku C# z użyciem frameworku .NET.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model bazodanowej aplikacji serwerowej i jej implementacja w języku C# w środowisku ASP.NET.
    3. Model obu aplikacji użytkownika i ich implementacja w języku C# z użyciem frameworku .NET.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel pracy:
    Zaprojektowanie i zaimplementowanie interaktywnego, multimedialnego i uczącego się programu wspierającego naukę języka obcego przez inteligentnie układane testy; wykorzystującego bazę słów i zadań gramatycznych.
    Aspekt inżynierski:
    Zaprojektowanie i zaimplementowanie interaktywnego, multimedialnego i uczącego się programu składającego się z aplikacji wykonanej w języku Java lub Python z wykorzystaniem wybranego frameworku oraz z relacyjnej bazy danych z wykorzystaniem wybranego ORM.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model aplikacji i jej implementacja w języku Java lub Python, w tym uczącego się algorytmu układania zadań, z wykorzystaniem wybranego frameworku.
    3. Model i implementacja relacyjnej bazy słów i zagadnień gramatycznych, z wykorzystaniem wybranego ORM.
    4. Wykonanie testów aplikacji.

    Cel pracy:
    Zaprojektowanie i zaimplementowanie webowej aplikacji tworzącej i rozwiązującej logiczną grę Kakuro o parametrach zadanych przez użytkownika, z możliwością rozwiązywania jej przez użytkownika.
    Aspekt inżynierski:
    Zaprojektowanie i zaimplementowanie webowej aplikacji w języku JavaScript z wykorzystaniem wybranego frameworku.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model webowej aplikacji użytkownika i jej implementacja w języku JavaScript, w tym algorytmu tworzenia i rozwiązywania gry Kakuro, z wykorzystaniem wybranego frameworku.
    3. Wykonanie testów aplikacji.

 

W realizacji


    Cel i zakres pracy:
    Celem pracy jest stworzenie aplikacji webowej pozwalającej na symulowanie starć pomiędzy graczami, podpowiadanie ulepszeń oraz przechowywanie informacji o odbytych partiach takich jak: gracze biorący w nich udział, rasy wybrane przez graczy, ruchy wybrane przez graczy, stoczone walki czy ilość zdobytych punktów.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie graficznej 2-wymiarowej symulacyjnej 1-osobowej gry na silniku Unity. Gra polega na budowie i zarządzaniu działalnością Państwowego Gospodarstwa Rolnego w warunkach socjalistycznej ekonomii, w tym: pracą i życiem pracowników, hodowlą trzody, uprawą pól, dostarczaniem ich do punktów skupu itp.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Opracowanie zasad gry i jej elementów graficznych.
    3. Model aplikacji gracza i jej implementacja w języku C# dla silnika Unity.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie webowego systemu oceny nauczycieli akademickich przez ich studentów, składającego się z: aplikacji bazodanowej do gromadzenia i analizy ocen, oraz aplikacji webowej użytkownika – studenta oceniającego lub poznającego ocenę wybranych nauczycieli.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model aplikacji bazodanowej i jej implementacja w środowisku Java lub Python.
    3. Model aplikacji użytkownika i jej implementacja w języku PHP i JavaScript.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie webowej aplikacji korzystającej z zewnętrznych API serwisów wyszukujących dostępne loty. Użytkownik tej aplikacji będzie wprowadzał datę przelotu, lotnisko początkowe i końcowe, a aplikacja zaproponuje mu dostępne przeloty i ich cenę.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model API warstwy systemowej i jego implementacja w języku Python3 oraz umieszczenie w wybranej chmurze publicznej.
    3. Model aplikacji webowej i jej implementacja przy pomocy HTML5, CSS i JavaScript.
    4. Opracowanie i wykonanie testów aplikacji.

 

Ukończone w 2023


    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie webowej bazodanowej aplikacji użytkownika systemu, która: 1) w wersji dla pracownika: automatyzuje pracę sprzedawcy przez szybkie przeglądanie i zarządzanie magazynem księgarni, danymi klientów i ich płatnościami; 2) w wersji dla klienta: wspiera kupowanie i (zakładając, że płatności rozliczane będą stacjonarnie, przy odbiorze), rezerwowanie wybranych towarów oraz recenzowanie zakupionych książek.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model aplikacji bazodanowej i jej implementacja w środowisku Java lub Python.
    3. Model aplikacji użytkownika i jej implementacja w języku JavaScript.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie desktopowej aplikacji symulatora prowadzenia prac w gospodarstwie rolnym. Celem działania symulacji jest zbadanie wpływu zmiennego klimatu na działalność gospodarstwa rolnego, uwzględniając: program nawozowy, cechy roślin, prognozy klimatyczne itp.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model relacyjnej bazy danych i jej implementacja w SQLite z wykorzystaniem frameworku Hibernate.
    3. Model silnika aplikacji użytkownika (w tym modele zachowań poszczególnych elementów symulacji) z wykorzystaniem frameworku Spring Boot.
    3. Implementacja graficznego interfejsu aplikacji użytkownika w języku Java z wykorzystaniem JavaFx.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie webowego systemu oceniania urzędników państwowych przez obywateli, którzy mieli z nimi interakcje podczas procesowania ich wniosków, składającego się z: 1) aplikacji bazodanowej do gromadzenia i analizy ocen, przechowywania danych o stanie wniosków i danych osobowych obywateli oraz 2) aplikacji webowej użytkowników, tj. obywatela sprawdzającego stan swoich spraw i oceniającego urzędników, z którymi miał interakcje lub poznającego ocenę wybranych urzędników; oraz urzędnika wprowadzającego wnioski obywateli do bazy i/lub podejmującego decyzje w ich sprawie.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model aplikacji bazodanowej i jej implementacja w środowisku Java lub Python.
    3. Model aplikacji użytkownika i jej implementacja w języku JavaScript.
    4. Opracowanie i wykonanie testów aplikacji.

 

Ukończone w 2022


    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie aplikacji webowej służącej do nauki zasady działania ataków typu Cross Site Scripting (XSS) przez wyzwania, których celem jest wykrycie podatnego na nie elementu strony, a następnie wykorzystanie go, aby przejść do następnego etapu. Aplikacja ta ma stworzyć bezpieczne środowisko nauki, śledzić postępy użytkownika oraz posiadać system logowania.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Projekt wyzwań zawierających elementy podatne na ataki XSS.
    3. Projekt i implementacja aplikacji użytkownika oferującej wyzwania, korzystając z języków HTML i JavaScript oraz biblioteki Bootstrap.
    4. Projekt i implementacja aplikacji serwerowej w języku Python z użyciem frameworku Django.
    5. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i wykonanie aplikacji typu bot do rozmów na platformie Twitch, obsługującego wydarzenia, filtrowanie, rozsyłanie powiadomień i interakcję z uczestnikami, w celu odciążenia osoby prowadzącej transmisję wideo i zwiększenia zaangażowania widzów. Na tę aplikację składa się część backendowa, wykorzystująca API Twitch, oraz część frontendowa, w postaci webowej aplikacji użytkownika.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model aplikacji backendowej i jej implementacja w języku Java lub Scala.
    3. Model aplikacji użytkownika z użyciem frameworku Angular.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie aplikacji serwerowej i webowej graficznej aplikacji gracza bazującej na silniku Unity, które umożliwią zdalne prowadzenie gry w szachy między dwiema osobami.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny aplikacji serwerowej i jej implementacja w wybranym języku.
    3. Model formalny aplikacji gracza i jej implementacja w wybranym języku dla silnika Unity.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie mobilnej aplikacji dla systemu Android, zapewniającej proste narzędzia osobom zaczynającym prowadzenie sportowego trybu życia i zdrowe odżywianie. Aplikacja ma dostosowywać plan treningu osobistego oraz diety do indywidualnych możliwości i doświadczenia jej użytkownika oraz ma śledzić i nagradzać ich postępy.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model bazodanowej aplikacji serwerowej i jej implementacja z wykorzystaniem platformy Firebase.
    3. Model aplikacji użytkownika i jej implementacja w języku Kotlin wraz z lokalną bazą danych, synchronizowaną z bazą serwera.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i wykonanie webowego serwisu monitorowania i publikowania danych z czujników stacji pogodowej, działającej na mikrokomputerze Raspberry Pi (w wybranej wersji).
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model i implementacja w języku Python oprogramowania stacji pogodowej, działającej na Raspberry Pi w czasie rzeczywistym.
    3. Model i implementacja w języku Python webowego serwisu udostępniającego dane ze stacji pogodowej przy pomocy wybranego Broker’a komunikatów; składającego się z aplikacji serwerowej (z wykorzystaniem Docker’a) i aplikacji klienckiej.
    4. Opracowanie i wykonanie testów aplikacji.

 

Ukończone w 2021


    Cel i zakres pracy:
    Zaprojektowanie i implementacja mobilnej aplikacji do nauki kodu Morse’a z wykorzystaniem metod Farnswortha i Kocha, przez zgadywanie ciągów losowych znaków (słów) o zadanych parametrach (liczba znaków, szybkość ich nadawania itp.). Aplikacja ma umożliwiać też rywalizację z innymi użytkownikami przez dekodowanie słów wzajemnie sobie zadawanych przez Internet, gdzie gracz słyszy sygnały dźwiękowe znaków i zapisuje je przy pomocy klawiatury.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Projekt i implementacja w języku Java aplikacji użytkownika do nauki (w trybie offline) i internetowej gry z innymi graczami; z wykorzystaniem OkHttp.
    3. Projekt i implementacja w języku Java aplikacji serwerowej do gry; z wykorzystaniem WebSocket (javax.websocket).
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie aplikacji graficznej, która otrzymuje wektorową bazową mapę, umożliwia ręczne podzielenie obszaru mapy np. na państwa i wprowadzenie ich opisów, a następnie generuje wektorową grafikę w formacie svg 1.1 z mapą wyglądającą wg zadanego wzoru graficznego.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Opracowanie elementów graficznych mapy i sposobu ich zastosowania.
    3. Model formalny aplikacji edytora (z użyciem UML) i jej implementacja w wybranym języku.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie graficznego interfejsu użytkownika dla telefonu z dotykowym panelem w systemie Android (zastępującego domyślnie zainstalowane), który będzie intuicyjny w obsłudze dla osoby starszej, nie potrafiącej się nauczyć obsługi współczesnego telefonu z powodu demencji itp.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny aplikacji (w UML) i jej implementacja dla wybranych modeli telefonów z panelem dotykowym, w systemie Android, w środowisku Java lub Python.
    3. Opracowanie i wykonanie testów funkcjonalnych. jednostkowych i akceptacyjnych dla opracowanych aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie webowej aplikacji użytkownika i obsługującego ją serwisu internetowego z relacyjną bazą danych, pozwalających użytkownikowi na organizację podróży wraz z innymi użytkownikami tego serwisu, na podstawie opisu ich zainteresowań itp.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny bazy danych i jej implementacja dla SQL Server zarządzanego przez SSMS.
    3. Model formalny (z użyciem UML) aplikacji serwerowej serwisu internetowego i jej implementacja z użyciem frameworku ASP.NET Core.
    4. Model formalny aplikacji użytkownika (z użyciem UML) i jej implementacja z użyciem frameworku Flutter.
    5. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie mobilnej aplikacji społecznościowej na system Android, wspierającej planowanie i analizę wykonywania różnych ćwiczeń treningu siłowego, z możliwością dzielenia się osiąganymi postępami z innymi użytkownikami, ich oceniania i komentowania.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Opracowanie algorytmu planowania i kontroli treningu.
    3. Model formalny aplikacji (z użyciem UML) i jego implementacja w języku Java z wykorzystaniem platformy Firebase.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie aplikacji serwerowej do tworzenia i zarządzania obiektowymi bazami danych (SZBD) z definiowaniem obiektów w języku java lub python. System zarządzania bazą danych kontroluje zachowanie integralności danych oraz umożliwia wykonywanie przynajmniej podstawowych transakcji typu wyszukiwanie, dodawanie, modyfikowanie i usuwanie; bez wykorzystywania relacyjnego modelu danych.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model reprezentacji danych i reguł zarządzania bazą danych.
    3. Model aplikacji serwerowej (z użyciem UML) i jej implementacja w języku java lub python z zapewnieniem persystencji obiektów.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie serwera poczty elektronicznej i webowej aplikacji klienta poczty, które umożliwią użytkownikowi założenie tymczasowego, anonimowego konta pocztowego oraz wysyłanie i odbieranie przy jego pomocy listów przez określony, krótki czas. System ten powinien obsługiwać protokoły SMTP i POP3.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny aplikacji serwera poczty (z użyciem UML) i jej implementacja w języku Java.
    3. Model formalny aplikacji klienta poczty (z użyciem UML) i jej implementacja z wykorzystaniem frameworków Angular i Spring Boot.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie webowej aplikacji wyszukującej w internecie i udostępniającej użytkownikowi informacje o cenach tanich lotów w zadanym zakresie czasu i trasie. Wyszukiwanie odbywa się przy pomocy stron internetowych (lub API) wybranych linii lotniczych. Aplikacja umożliwia też przekierowanie do strony przewoźnika w celu zakupu wybranego lotu.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny aplikacji serwerowej (z użyciem UML) i jej implementacja w języku Python z użyciem frameworku Flask.
    3. Model formalny webowej aplikacji użytkownika (z użyciem UML) i jej implementacja z użyciem frameworku Angular.
    4. Opracowanie i wykonanie testów aplikacji.

 

Ukończone w 2020


    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie webowej aplikacji typu klient-serwer analizującej kompletność i poprawność zastosowania meta znaczników źródłowego kodu HTML strony internetowej pod kątem optymalizacji wyszukiwania i pozycjonowania tej strony przez wyszukiwarki. Możliwe ma być dodawanie reguł analizy nowych znaczników. Aplikacja użytkownika ma służyć m.in. do zlecania analizy i prezentacji wyników, a serwerowa do pobierania i analizy kodu źródłowego.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny aplikacji użytkownika (z użyciem UML) i jej implementacja w języku JavaScript z użyciem biblioteki React.js.
    3. Model formalny aplikacji serwera (z użyciem UML) i jej implementacja w języku JavaScript z użyciem środowiska Node.js.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie systemu aplikacji serwerowej i aplikacji klienta jako komunikatora internetowego do przesyłania wiadomości tekstowych i plików, który zapewnia: 1) uwierzytelnianie użytkownika m.in. przy pomocy danych biometrycznych na podstawie jego zdjęcia; 2) zapewnienie poufności danych przy pomocy szyfrowania end-to-end z kluczami prywatnymi i publicznymi; 3) gromadzenie na serwerze tylko niezbędnych danych do świadczenia usług; 4) możliwość trwałego usuwania przesyłanych wiadomości przez użytkownika.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny aplikacji serwerowej (z użyciem UML) i jej implementacja w języku Python.
    3. Model formalny aplikacji użytkownika (z użyciem UML) i jej implementacja w języku Python jako aplikacji desktopowej.
    4. Opracowanie i wykonanie testów aplikacji, w tym testów bezpieczeństwa (security).

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie aplikacji serwerowej i webowej graficznej aplikacji gracza, które umożliwią zdalne prowadzenie gry w Monopoly między dwiema lub więcej osobami (które mogą być symulowane przez komputer).
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny i implementacja relacyjnej bazy danych dla aplikacji serwerowej.
    3. Model formalny bazodanowej aplikacji serwerowej (z użyciem UML) i jej implementacja w języku Node.js.
    4. Model formalny aplikacji gracza (z użyciem UML) i jej implementacja w języku JavaScript z użyciem frameworku Angular lub React.js.
    5. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie aplikacji serwerowej i webowej graficznej aplikacji gracza bazującej na silniku Unity, które umożliwią zdalne prowadzenie gry w warcaby między dwiema osobami lub jedną osobą i komputerem.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny aplikacji serwerowej (z użyciem UML) i jej implementacja w języku C#.
    3. Model formalny aplikacji gracza (z użyciem UML) i jej implementacja w języku C# dla silnika Unity.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie mobilnej aplikacji typu klient-serwer dla systemu Android, łączącej dwóch graczy przez komunikację Bluetooth. Aplikacja gracza inicjującego grę uruchamia serwer gry, z którym łączą się aplikacje obu graczy jako klienci.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny aplikacji użytkownika (z użyciem UML) i jej implementacja w języku JAVA lub Kotlin z wykorzystaniem Android Bluetooth API.
    3. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie webowej aplikacji do organizacji i zarządzania okolicznościowymi imprezami, w tym przeglądania, wyboru i zakupu dostępnych ofert dostawców usług (muzyka, wyżywienia, sprzęt itp.), gromadzenia wybranych ofert i zarządzania budżetem; oraz rozproszonego systemu bazodanowego z bazą danych dotyczących m.in. dostawców usług.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny i implementacja relacyjnej bazy danych dla systemu zarządzania imprezami.
    3. Model formalny systemu bazodanowego (z użyciem UML) i jej implementacja w języku Python z użyciem frameworku Django.
    4. Model formalny aplikacji użytkownika (z użyciem UML) i jej implementacja w języku Python z użyciem frameworku Django.
    5. Opracowanie i wykonanie testów dla opracowanych aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie systemu składającego się z: 1) aplikacji użytkownika z webowym interfejsem do kontroli pracy restauracji, w tym jej menu, zakupów produktów i obsługi zamówień klientów; 2) serwerowej aplikacji bazodanowej z bazą danych do realizacji celów aplikacji użytkownika.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny (z użyciem UML) i implementacja webowej aplikacji użytkownika z wykorzystaniem biblioteki Bootstrap.
    3. Model formalny (z użyciem UML) i implementacja bazy danych typu SQL i serwerowej aplikacji bazodanowej w języku Python z wykorzystaniem frameworku Django.
    4. Opracowanie i wykonanie testów dla opracowanej aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie mobilnej bazodanowej aplikacji pracownika magazynu, wyznaczającej jego zadania, w tym rozmieszczanie składowanych przedmiotów i kompletowanie ich do wydania z magazynu, z wykorzystaniem skanowania kodów QR.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny relacyjnej bazy danych i jej implementacja.
    3. Model formalny aplikacji użytkownika (z użyciem UML) i jej implementacja w systemie Android w języku JAVA lub Kotlin z wykorzystaniem techniki ciągłej integracji.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie webowej aplikacji do zarządzania czasem pracy pracowników, w dwóch wersjach: aplikacja dla pracodawcy powinna wyznaczać i kontrolować stanowiska pracy, obowiązki oraz zwolnienia i urlopy pracowników; aplikacja pracownika powinna udostępniać plan pracy i zadania pracownika oraz ustalać i kontrolować terminy urlopu.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny i implementacja relacyjnej bazy danych dla systemu zarządzania zasobami ludzkimi.
    3. Model formalny aplikacji użytkownika-pracodawcy i aplikacji użytkownika-pracownika (z użyciem UML) i ich implementacja w języku Python z użyciem frameworku Django.
    4. Model formalny aplikacji serwera (z użyciem UML) i jej implementacja na platformie PythonAnywhere.
    5. Opracowanie i wykonanie testów aplikacji.

 

Ukończone w 2019


    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie relacyjnej bazy danych do gromadzenia danych o zasobach projektu, oraz aplikacji generującej na ich podstawie optymalny diagram Gantta, pokazujący harmonogram realizacji projektu na podstawie dostępności zasobów.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny relacyjnej bazy danych i jej implementacja.
    3. Model formalny aplikacji (z wykorzystaniem UML) z interfejsem graficznym Qt i jej implementacja w języku C++ lub Java.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie graficznej 2-wymiarowej zręcznościowej gry platformowej na silniku Unity.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Wybór lub opracowanie zasad prostej gry.
    3. Model formalny aplikacji gracza (z użyciem UML) i jej implementacja w wybranym języku dla silnika Unity.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie aplikacji komunikatora internetowego z komunikacją wg protokołu WebSocket i aplikacji serwerowej wykorzystującej bazę danych i serwer FTP (do przesyłania plików) działające na komputerze Raspberry Pi3 B+.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny aplikacji użytkownika (z użyciem UML) i jej implementacja z wykorzystaniem protokołu WebSocket.
    3. Model formalny aplikacji serwerowej (z użyciem UML), w tym bazy danych i serwera plików FTP.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie mobilnej aplikacji klienta, przeznaczonej na system Android z implementacją geolokalizacji użytkownika, i bazodanowej serwerowej aplikacji, pozwalających użytkownikowi na udział w chatroomie związanym z miejscem jego przebywania.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny bazy danych, aplikacji serwerowej i API do niej (z użyciem UML) i jej implementacja w języku Java lub Kotlin.
    3. Model formalny aplikacji użytkownika (z użyciem UML) i jej implementacja w języku Java lub Kotlin.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie aplikacji bazującej na mapach GoogleMap lub OpenStreetMap, która otrzymuje położenie wybranych obiektów turystycznych i czas, w którym można je zwiedzić, i na tej podstawie wyznacza trasę ich zwiedzania optymalną pod względem czasu jej pokonania, stosując wybrany algorytm rozwiązania problemu komiwojażera. Aplikacja przeznaczona jest na urządzenia mobilne z systemem Android.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Wybór algorytmu rozwiązania problemu komiwojażera adekwatnie do zastosowania aplikacji.
    3. Model formalny aplikacji (z użyciem UML) i jej implementacja w języku java.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie rozproszonego systemu w chmurze obliczeniowej, automatyzującego proces uruchamiania i testowania aplikacji, w tym: automatyzację zadań i uruchamianie aplikacji w kontenerach dockerowych.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny systemu (z użyciem UML) i jego implementacja w chmurze, w podejściu Infrastructure as Code (IAC) i w systemie kontroli wersji Git.
    3. Wybór, instalacja i integracja narzędzi realizujących zadania systemu, w tym:
    3.1. narzędzia do IAC (np. Terraform).
    3.2. narzędzia automatyzacji zadań (np. Jenkins).
    3.3. narzędzia do provisioningu usług zapewnianych przez chmurę (np. Ansible).
    4. Opracowanie i wykonanie testów systemu.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie webowej aplikacji do zarządzania zadaniami użytkowników z danej listy, pozwalająca na ustalanie priorytetów, kategorii i cykliczności zadań (jak w organizerze osobistym). Aplikacja powinna być stworzona w technice Test Driven Development.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny i implementacja relacyjnej bazy danych dla systemu zarządzania zadaniami.
    3. Model formalny aplikacji użytkownika (z użyciem UML) i jej implementacja w języku Python z użyciem frameworku Django.
    4. Model formalny aplikacji serwera (z użyciem UML) i jej implementacja.
    5. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie webowej bazodanowej aplikacji użytkownika systemu (bibliotekarza i czytelnika), automatyzującej pracę bibliotekarza (m.in. wyszukiwanie i zarządzanie księgozbiorem oraz danymi czytelników) i czytelnika (m.in. wyszukiwanie i zamawianie książek do wypożyczenia).
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny relacyjnej bazy danych i jej implementacja w SZBD PostgreSQL.
    3. Model formalny aplikacji użytkownika (z użyciem UML) i jej implementacja w języku JAVA z wykorzystaniem Spring Framework i techniki ciągłej integracji.
    4. Opracowanie i wykonanie testów aplikacji.

Ukończone w 2018


    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie aplikacji bazującej na mapach GoogleMap lub OpenStreetMap, która otrzymuje położenie wybranej trasy wędrówki (szlaku turystycznego), na bieżąco wskazuje turyście kierunek wędrówki i rejestruje przebytą trasę. Aplikacja przeznaczona jest na urządzenia mobilne z systemem Android.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny aplikacji (z użyciem UML) i jej implementacja w języku java.
    3. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie semantycznej bazy danych do gromadzenia semantycznie powiązanych fragmentów tekstu Biblii (w ontologii OWL); oraz korzystającej z niej aplikacji webowej, dzięki której użytkownik dodaje owe fragmenty i semantycznie wiąże je z już istniejącymi. Aplikacja wykonana ma być w technologii webowej, z opcją na urządzenia mobilne.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model ontologii OWL dla semantyki danych.
    3. Model formalny relacyjnej bazy danych i jej implementacja.
    4. Model formalny aplikacji (z użyciem UML) i jej implementacja w HTML5 i CSS.
    5. Opracowanie API do obsługi bazy danych przez inne aplikacje.
    6. Opracowanie i wykonanie testów dla opracowanej aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie webowej aplikacji działającej po stronie serwera, z aplikacją użytkownika w postaci tzw. chudego klienta. Aplikacja ta, na podstawie preferencji studenta i siatki dostępnych zajęć z serwisu JSOS, wygeneruje propozycję jego planu zajęć, i będzie korygować go w czasie trwania zapisów na wypadek zmiany dostępności zajęć.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny (w UML) i implementacja (w HTML 5, JavaScript i Python) algorytmu aplikacji użytkownika.
    3. Model formalny (w UML) i implementacja (w Python) algorytmu aplikacji serwera wraz z relacyjną bazą danych o zajęciach, planach, preferencjach użytkownika itp.
    4. Opracowanie i wykonanie testów dla opracowanej aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie internetowej bazodanowej aplikacji serwerowej i desktopowej aplikacji użytkownika do informowania studentów o przedmiotach, nauczycielach i harmonogramach zadań zadawanych w ramach przedmiotów.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny bazy danych i aplikacji serwerowej (z użyciem UML) i jej implementacja w języku Java z użyciem ORM, np. Hibernate.
    3. Model formalny aplikacji użytkownika (z użyciem UML) i jej implementacja w języku Java z GUI w JavaFX.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie aplikacji-rozszerzenia do przeglądarki internetowej Firefox, która automatycznie transliteruje tekst strony internetowej (umieszczony w znacznikach html) z języka ukraińskiego na język polski i odwrotnie, z zachowaniem fonetyki tekstu, a następnie wyświetla go zamiast oryginalnego tekstu w oknie przeglądarki.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Opracowanie reguł i algorytmu transliteracji.
    3. Model formalny aplikacji (z wykorzystaniem UML) i jej implementacja dla przeglądarki internetowej Firefox dla stron zdefiniowanych w języku html do wersji 5 włącznie.
    4. Opracowanie i wykonanie testów wykonanej aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie aplikacji serwerowej i webowej graficznej aplikacji gracza bazującej na silniku Unity, które umożliwią zdalne prowadzenie gry w szachy między dwiema osobami.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny aplikacji serwerowej (z użyciem UML) i jej implementacja w wybranym języku.
    3. Model formalny aplikacji gracza (z użyciem UML) i jej implementacja w wybranym języku dla silnika Unity.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie internetowego systemu zaawansowanego planowania zadań na przykładzie planowania uczestnictwa w seansach filmowych. Na system składa się bazodanowa aplikacja serwerowa z danymi o seansach i użytkownikach oraz webowa aplikacja użytkownika tworząca plan seansów z możliwością jego eksportu do formatu ical.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny aplikacji serwerowej (z użyciem UML) i jej implementacja w języku C#.
    3. Model formalny aplikacji użytkownika (z użyciem UML) i jej implementacja w ASP.NET.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie webowej aplikacji do organizacji i zarządzania wydarzeniami artystycznymi, w tym zarządzanie harmonogramem, budżetem i rozdzielanie zadań; oraz semantycznej bazy danych sponsorów, pracowników, artystów, wolontariuszy itp. Różne wersje aplikacji dedykowane są: organizatorowi, koordynatorowi i wolontariuszowi wydarzenia.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny (z UML) i implementacja aplikacji użytkownika z wykorzystaniem AngularJS.
    3. Model formalny (z UML) i implementacja bazy danych i serwisu REST (np. Spring) z wykorzystaniem frameworku Hibernate.
    4. Opracowanie i wykonanie testów funkcjonalnych dla opracowanej aplikacji.

Ukończone w 2017


    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie w środowisku Python 3 i Qt 5 programu GUI do graficznej budowy i analizy automatów stanowych przy pomocy NuSMV, czyli generującego, wykonującego i interpretującego odpowiednie skrypty NuSMV.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i ewentualnych dostępnych rozwiązań.
    2. Model formalny (z UML) aplikacji i implementacja (w Python 3 i Qt 5) algorytmu programu, w tym: graficznego edytora automatów i edytora – weryfikatora ich własności.
    3. Opracowanie i wykonanie testu funkcjonalnego dla opracowanego programu.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie interaktywnego, multimedialnego i uczącego się programu wspierającego naukę języka obcego przez inteligentnie układane testy; wykorzystującego współdzieloną relacyjną bazę słów i zadań gramatycznych.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny (z UML) aplikacji i implementacja (w środowisku Java SE8 lub EE8) algorytmu programu, w tym uczącego się probabilistycznego algorytmu układania zadań testowych.
    3. Model formalny (z UML) i implementacja relacyjnej bazy słów i zagadnień gramatycznych, z wykorzystaniem ORM.
    4. Opracowanie i wykonanie testu funkcjonalnego dla opracowanego programu.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie mobilnej aplikacji wyszukującej w internecie i udostępniającej użytkownikowi informacje o miejskich placówkach kultury (i innych atrakcjach turystycznych) i odbywających się w nich wydarzeniach oraz proponującej termin i trasę ich zwiedzania, na podstawie preferencji użytkownika.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny (UML) aplikacji i implementacja (w języku Java dla systemu Android 5.0 lub nowszego) algorytmu aplikacji użytkownika.
    3. Opracowanie i wykonanie testów dla opracowanego programu.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie narzędzia zarządzającego bazą fotografii wnętrz urbanistycznych itp., otagowanych przestrzennie rozmytą informacją o położeniu wnętrza i aparatu fotograficznego, tworzącego i analizującego to otagowanie przy pomocy map.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny (z UML) aplikacji i implementacja (w środowisku Java 8 lub Python 3) algorytmu programu, w tym algorytmów tworzenia i analizy otagowania fotografii.
    3. Model formalny (z UML) i implementacja relacyjnej bazy danych o fotografiach.
    4. Opracowanie i wykonanie testu funkcjonalnego dla opracowanego programu.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie narzędzia zarządzającego schroniskiem dla zwierząt i prowadzonym przez nie procesem adopcyjnym (z kontrolą poadopcyjną). Są to: aplikacja bazodanowa do zarządzania stanem i pracą schroniska, oraz wspomagająca aplikacja internetowa do kontaktu z osobami oddającymi lub adoptującymi zwierzęta.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny (z UML) aplikacji i implementacja (w środowisku Java 8 lub Python 3, PostgreSQL) algorytmu aplikacji bazodanowej zarządzającej schroniskiem.
    3. Model formalny (z UML) i implementacja (jako system CMS, w PHP, JavaScript i PostgreSQL) wspomagającej aplikacji internetowej.
    4. Opracowanie i wykonanie testu funkcjonalnego dla opracowanego programu.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie systemu składającego się z aplikacji desktopowej, aplikacji mobilnej i bazy danych, który wspiera zarządzanie domami studenckimi, w tym: stanem i dostępnością pokojów, statusem mieszkańców, oraz komunikacją między zarządcą a studentami.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny i implementacja relacyjnej bazy danych z wykorzystaniem ORM Java Persistence API (JPA).
    3. Model formalny (UML) i implementacja (w języku Java) aplikacji desktopowej zarządcy domów studenckich.
    4. Model formalny (UML) i implementacja (w języku Java z użyciem Java Server Faces) mobilnej aplikacji desktopowej mieszkańca domu studenckiego.
    5. Opracowanie i wykonanie testów dla opracowanych aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie systemu monitorowania pracy serwerów pracujących w systemie Linux, zbierającego dane o ich stanie i zdalnie prezentującego je użytkownikowi. Na system składają się: mobilna aplikacja użytkownika w systemie Android, serwer zarządzający z bazą użytkowników i serwerów, aplikacja monitorująca serwery.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny aplikacji i jej cześci (w UML) i ich implementacja: aplikacje serwerów zarządzającego i monitorowanego w języku Python; aplikacja użytkownika w HTML i CSS (administracyjna) i w języku Java (mobilna zwykłego użytkownika).
    3. Opracowanie API do obsługi serwera zarządzającego.
    4. Opracowanie i wykonanie testów jednostkowych i akceptacyjnych dla opracowanych aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie systemu webowej aplikacji społecznościowej, wspierającej naukę ćwiczeń sportów siłowych, z możliwością dzielenia się osiąganymi postępami z innymi użytkownikami, ich oceniania i komentowania.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny (z UML) aplikacji użytkownika i jej systemu społecznościowego.
    3. Implementacja (w technologii ASP.NET MVC) algorytmu aplikacji.
    4. Opracowanie i wykonanie testów funkcjonalnych dla opracowanej aplikacji.

Ukończone w 2016


    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie inteligentnego, uczącego się programu, wspierającego indywidualną dietę użytkownika (w tym: profilowanie preferencji, generacja jadłospisu i listy zakupów spożywczych); wykorzystującego bazy wiedzy w ramach serwisu REST.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny (z UML) aplikacji i implementacja (dla syst. Android) algorytmu programu, w tym:
    – uczącego się algorytmu profilowania preferencji użytkownika,
    – algorytmu generacji jadłospisu i związanej z nim listy zakupów.
    3. Model formalny (z UML) i implementacja relacyjnych baz danych i serwisu REST (np. Spring).
    4. Opracowanie i wykonanie testu funkcjonalnego dla opracowanego programu.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie narzędzia rozwiązującego krzyżówkę kakuro, zadaną przez użytkownika, oraz generującego kakuro do rozwiązania przez nie lub użytkownika. Aplikacja użytkownika do wykonania jako aplikacja webowa.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny (z UML) aplikacji i implementacja (w środowisku Java 8) algorytmu programu, w tym algorytmów tworzenia i rozwiązywania kakuro.
    3. Model formalny (z UML) i implementacja webowej aplikacji użytkownika.
    4. Opracowanie i wykonanie testu funkcjonalnego dla opracowanego programu.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie w środowisku Ruby On Rails zdalnie sterowanego przez internet systemu typu „gruby klient – chudy serwer” jednoczesnej strumieniowej transmisji 1 do kilku stacji radiowych z wykorzystaniem internetowej komunikacji on-line ze słuchaczami.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny (z UML) aplikacji i implementacja (w Ruby On Rails, z AngularJS) algorytmu aplikacji użytkownika (nadawcy i słuchacza) i serwera transmisji radiowych, z opracowaniem lub wykorzystaniem istniejących protokołów komunikacji głosowej.
    3. Opracowanie i wykonanie testu funkcjonalnego dla opracowanego programu.

 

Ukończone w 2015


    brak opisu

 

Nieukończone


    Cel i zakres pracy:
    Zaprojektowanie i implementacja systemu personalizowanlnych stron internetowych (typu CMS), wspierającego proces dydaktyczny przez udostępnianie i rozsyłanie studentom materiałów dydaktycznych, ocen itp. oraz komunikację z nimi.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny (UML) aplikacji dla nauczyciela i dla studenta, w tym bazy danych i systemu CMS.
    3. Implementacja (w środowisku Python) algorytmu aplikacji portalu.
    4. Implementacja (w środowisku PHP z wykorzystaniem HTML5, CSS) algorytmu aplikacji klienckich.
    5. Opracowanie i wykonanie testów dla opracowanych aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie aplikacji serwerowej do tworzenia i zarządzania obiektowymi bazami danych (SZBD), dostępnymi przez internet. System zarządzania bazą danych realizuje zasadę ACID i umożliwia wykonywanie transakcji przy pomocy podstawowych zapytań języka SQL.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Reprezentacja danych i reguły zarządzania bazą danych.
    3. Model formalny aplikacji serwerowej (z użyciem UML) i jej implementacja w języku java z zapewnieniem persystencji obiektów.
    4. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie webowej aplikacji użytkownika i obsługującego ją serwisu internetowego z relacyjną bazą danych, pozwalających użytkownikowi na nawiązywanie kontaktów towarzyskich z innymi użytkownikami systemu na podstawie opisu ich zainteresowań, cech charakteru itp., z możliwością spotkań on-line.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model formalny bazy danych i jej implementacja dla SQL Server zarządzanego przez SSMS.
    3. Model formalny (z użyciem UML) aplikacji serwerowej serwisu internetowego i jej implementacja we frameworku ASP.NET Core.
    4. Model formalny aplikacji użytkownika (z użyciem UML) i jej implementacja z użyciem frameworku Angular i biblioteki Bootstrap.
    5. Opracowanie i wykonanie testów aplikacji.

    Cel i zakres pracy:
    Zaprojektowanie i zaimplementowanie systemu monitorowania pracy serwera pracującego w systemie Linux, do zbierania i zdalnej prezentacji danych o jego stanie (zachodzące zdarzenia, w tym błędy i awarie, stan wykorzystania zasobów serwera itp.). Na system składają się: mobilna aplikacja użytkownika, serwer zarządzający z danymi o serwerze monitorowanym i jego użytkownikach oraz aplikacja monitorująca serwer monitorowany.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu, dziedziny zastosowania i przykładowych dostępnych rozwiązań.
    2. Model aplikacji i ich implementacja: aplikacje serwerów zarządzającego i monitorowanego w języku Python; aplikacja użytkownika w HTML i CSS (administracyjna) i w Java dla systemu Android (mobilna, dla zwykłego użytkownika).
    3. Opracowanie API do obsługi serwera zarządzającego.
    4. Opracowanie i wykonanie testów systemu.

 

Tematy prac magisterskich

Dostępne

  • brak – proszę zaproponować temat swojej pracy

 

W realizacji


    Cel i zakres pracy:
    Opracowanie metody i algorytmu modelowej analizy działania wybranych typowych struktur (w tym instrukcji wyboru i pętli) proceduralnego kodu języka Python przy pomocy weryfikatora NuSMV.
    Aspekt badawczy:
    Opracowanie metody i algorytmu modelowej analizy działania wybranych typowych struktur (w tym instrukcji wyboru i pętli) proceduralnego kodu języka Python przy pomocy weryfikatora NuSMV. Działanie analizowanego kodu przedstawia model w postaci automatu lub układu automatów NuSMV. Analiza tego kodu opiera się głównie na opracowaniu i weryfikacji formuł logiki temporalnej CTL i Timed-TCTL, wyrażających badane aspekty działania tego kodu.
    Aspekt inżynierski:
    Wykonanie narzędzia, które: 1) implementuje opracowany algorytm, czyli tworzy automatowy model analizowanego kodu w postaci skryptu smv dla weryfikatora NuSMV oraz formuły logiki temporalnej CTL i Timed-CTL do opisu wybranych typowych cech takiego kodu; oraz 2) weryfikuje działanie modelowanego kodu przez weryfikację tych formuł przy pomocy NuSMV.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu.
    2. Opracowanie metody i algorytmu, o których mowa w aspekcie badawczym pracy, czyli dla: a) modelowania wybranych struktur kodu w postaci automatów NuSMV, b) opisu wybranych typowych cech tego kodu przy pomocy formuł logiki temporalnej, c) weryfikacji tych formuł.
    3. Wykonanie szablonów skryptów smv dla weryfikatora NuSMV, przeznaczonych do analizy wybranych struktur proceduralnego kodu.
    4. Wykonanie w języku Python i przetestowanie narzędzia analizy kodu, o którym mowa w aspekcie inżynierskim pracy.
    5. Analiza porównawcza opracowanej metody z istniejącymi podobnymi metodami.

    Cel i zakres pracy:
    Zbadanie właściwości anonimowości i prywatności systemów głosowania opartych na blockchain, w celu porównania ich z tradycyjnymi elektronicznymi systemami głosowania, a także w celu zbadania metod zapewnienia anonimowości wyborców w sieci blockchain, na przykład za pomocą szyfrowania homomorficznego aby zapewnić prywatność i bezpieczeństwo procesu głosowania.
    Aspekt badawczy:
    Zbadanie właściwości anonimowości i prywatności systemów głosowania opartych na blockchain, porównanie ich z tradycyjnymi elektronicznymi systemami głosowania oraz zbadanie metod zapewnienia anonimowości wyborców w sieci blockchain, na przykład za pomocą szyfrowania homomorficznego w celu zapewnienia prywatności i bezpieczeństwa procesu głosowania.
    Aspekt inżynierski:
    Stworzenie aplikacji internetowej połączonej z blockchainem, np. Ethereum, z definicją procesu głosowania, interfejsami i API do interakcji z blockchainem.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu.
    2. Zaprojektowanie architektury frameworku, wykorzystując platformę typu blockchain, m.in. Ethereum, z definicją procesu głosowania, interfejsami i API do interakcji z blockchainem.
    3. Opracowanie frontendowej aplikacji webowej wraz z zaprojektowaniem interfejsu użytkownika dla wyborców oraz interfejsu administratora do zarządzania procesem głosowania.
    4. Opracowanie aplikacji backendowej, z inteligentnymi kontraktami do zarządzania procesem głosowania oraz z konfiguracją infrastruktury blockchain do przechowywania głosów.
    5. Analiza porównawcza proponowanego frameworku z istniejącymi rozwiązaniami opartymi na blockchain, z podkreśleniem zalet i ograniczeń każdego podejścia.

    Cel i zakres pracy:
    Opracowanie zdecentralizowanej, chroniącej prywatność struktury do bezpiecznego udostępniania danych i współpracy, która przezwycięża problemy skalowalności i prywatności systemów blockchain, które ograniczają ich praktyczne zastosowania w złożonych procesach biznesowych z wrażliwymi danymi. Proponowany framework będzie wykorzystywać technologie, takie jak dowód wiedzy zerowej, bezpieczne obliczenia wielostronne i federacyjne uczenie się, aby umożliwić wydajną i bezpieczną współpracę między wieloma stronami bez ujawniania ich poufnych danych.
    Aspekt badawczy:
    Zbadanie, w jaki sposób zintegrować technologie chroniące prywatność, takie jak dowód wiedzy zerowej i bezpieczne obliczenia wielostronne w bezpiecznym udostępnianiu danych; za pomocą federacyjnego uczenia się bez ujawniania wrażliwych danych.
    Zbadanie, jak przezwyciężyć ograniczenia skalowalności i prywatności oraz potencjalne aspekty technologiczne dla rzeczywistych zastosowań w opiece zdrowotnej i finansach.
    Aspekt inżynierski:
    Opracowanie zdecentralizowanej struktury bezpiecznego i wydajnego udostępniania danych między wieloma podmiotami. Proponowany framework zostanie oceniony przy użyciu rzeczywistych zbiorów danych i scenariuszy z dziedzin takich jak opieka zdrowotna i finanse.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu.
    2. Zaprojektowanie architektury frameworku, wykorzystując platformę typu blockchain, m.in. Ethereum, bezpieczny system pamięci masowej i biblioteki do sprawdzania wiedzy zerowej, bezpieczne obliczenia wielostronne i federacyjne uczenie się.
    3. Opracowanie frontendowej aplikacji webowej wraz z zaprojektowaniem interfejsu użytkownika dla wyborców oraz interfejsu administratora do zarządzania procesem głosowania.
    4. Opracowanie aplikacji backendowej, z inteligentnymi kontraktami do zarządzania procesem głosowania oraz z konfiguracją infrastruktury blockchain do przechowywania głosów.
    5. Analiza porównawcza proponowanego frameworku z istniejącymi rozwiązaniami opartymi na blockchain, z podkreśleniem zalet i ograniczeń każdego podejścia.

 

Ukończone w 2022


    Cel i zakres pracy:
    Analiza porównawcza funkcjonalnie i technicznie (na ile to możliwe) identycznych aplikacji webowych wykonanych przy pomocy (mikro) frameworków Django, Flask i FastAPI, w celu: wyboru optymalnego z nich do budowy małych aplikacji webowych oraz określenia mocnych i słabych stron każdego z nich zależnie od ich zastosowania.
    Aspekt badawczy:
    Analiza porównawcza kilku aplikacji (identycznych funkcjonalnie i technicznie, na ile to możliwe) wykonanych przy pomocy (mikro) frameworków Django, Flask i FastAPI pod kątem:
    – dostępności narzędzi do tworzenia stron,
    – czasu renderowania komponentów strony,
    – czasu odświeżania zawartości strony,
    – stopnia pamięciowego obciążenia przeglądarki,
    – rozmiaru końcowych plików definiujących stronę,
    – czasu potrzebnego na wymianę danych z serwerem (np. rejestrację, logowanie, modyfikację danych użytkownika, wylistowanie zadań).
    Aspekt inżynierski:
    Opracowanie modelu i implementacja 3 webowych aplikacji, o których mowa w opisie badawczego aspektu pracy, każdy z wykorzystaniem innego wymienionych frameworków. Aplikacja ta powinna łączyć się z aplikacją backendową i bazą danych oraz umożliwiać jej użytkownikom: rejestrację, logowanie i planowanie zadań do wykonania.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu.
    2. Model aplikacji webowej i powiązanej w nią aplikacji backendowej i bazy danych.
    3. Wybór narzędzi do wykonania aplikacji webowych, powiązanych z nimi aplikacji backendowych i relacyjnych baz danych i wykonanie ich w przy pomocy frameworków Django, Flask i FastAPI.
    4. Opracowanie i wykonanie testów poprawności działania oraz wydajności aplikacji np. przy pomocy JMeter.
    5. Porównanie wykonanych aplikacji pod kątem opisanym w badawczym aspekcie pracy i wyznaczenie na tej podstawie optymalnego frameworku.

    Cel i zakres pracy:
    Analiza porównawcza funkcjonalnie i technicznie (na ile to możliwe) identycznych aplikacji webowych wykonanych przy pomocy Chrome DevTools i podobnych narzędzi w celu: wyboru optymalnego frameworku dla języka JavaScript do budowy małych aplikacji webowych oraz określenia mocnych i słabych stron każdego z nich zależnie od ich zastosowania.
    Aspekt badawczy:
    Analiza porównawcza kilku aplikacji (identycznych funkcjonalnie i technicznie, na ile to możliwe) wykonanych przy pomocy Chrome DevTools i podobnych narzędzi pod kątem:
    – czasu renderowania komponentów strony,
    – czasu odświeżania zawartości strony,
    – stopnia pamięciowego obciążenia przeglądarki,
    – rozmiaru końcowych plików definiujących stronę,
    – sposobów modyfikacji obiektowego modelu dokumentu (DOM),
    – czasu potrzebnego na wymianę danych z serwerem (np. rejestrację, logowanie, modyfikację danych użytkownika, wylistowanie zadań).
    Aspekt inżynierski:
    Opracowanie modelu i implementacja kilku (min. 3) webowych aplikacji, o których mowa w opisie badawczego aspektu pracy, każdy z wykorzystaniem innego frameworku. Aplikacja ta powinna łączyć się z aplikacją backendową i bazą danych oraz umożliwiać jej użytkownikom: rejestrację, logowanie i planowanie zadań do wykonania.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu.
    2. Model aplikacji webowej i powiązanej w nią aplikacji backendowej i bazy danych.
    3. Wykonanie aplikacji backendowej i bazy danych.
    4. Wybór narzędzi i frameworków (np. React, Angular, Vue) do wykonania aplikacji webowych i wykonanie ich w języku JavaScript.
    5. Opracowanie i wykonanie testów poprawności działania aplikacji.
    6. Porównanie wykonanych aplikacji pod kątem opisanym w badawczym aspekcie pracy i wyznaczenie na tej podstawie optymalnego frameworku dla wybranego sprzętu.

    Cel i zakres pracy:
    Porównanie kolekcji danych dostępnych w języku Java SE 17 pod kątem ich sposobu tworzenia i używania, zużywania przez nie zasobów sprzętowych, czasu wykonania na nich typowych operacji, uwzględniające rozmiar i typ danych, strukturę programu, stan pamięci i procesora; celem znalezienia optymalnych kolekcji i warunków ich stosowania.
    Aspekt badawczy:
    Opracowanie i zrealizowanie analizy porównawczej kolekcji danych dostępnych w języku Java SE 17 pod kątem ich sposobu tworzenia i używania, zużywania przez nie zasobów sprzętowych i czasu wykonania na nich typowych operacji. Analiza ta powinna uwzględniać wpływ rozmiaru i typu danych, strukturę programu (np. wpływ wielowątkowości) oraz stan sprzętu (m.in. procesora i pamięci operacyjnej) na szybkość operacji wykonywanych na porównywanych kolekcjach.
    Aspekt inżynierski:
    Opracowanie testowych programów języka Java SE 17 implementujących testowane kolekcje danych w testowanych warunkach.
    Opracowanie modelu i implementacja programu lub skryptu automatycznie wykonującego analizę opisaną w aspekcie badawczym.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu.
    2. Wybór typów i zakresu rozmiaru danych przechowywanych w analizowanych kolekcjach oraz programowych i sprzętowych warunków uruchamiania programów je wykorzystujących.
    3. Napisanie programów w języku Java SE 17 do testowania zawartych w nich kolekcji i operacji na nich.
    4. Model i implementacja programu lub skryptu (w wybranym języku) wykonującego automatyczną analizę opisaną w aspekcie badawczym.
    5. Wykonanie analizy, o której mowa w aspekcie badawczym.

    Cel i zakres pracy:
    Analiza porównawcza wydajności, bezpieczeństwa, skalowalności i funkcjonalności wybranych systemów zarządzania relacyjnymi bazami danych w języku SQL z wybranymi systemami zarządzania nierelacyjnymi bazami danych (NoSQL).
    Aspekt badawczy:
    Opracowanie i zrealizowanie analizy porównawczej systemów zarządzania relacyjnymi bazami danych, operujących w języku SQL, z systemami zarządzania nierelacyjnymi bazami danych (NoSQL) dla różnych modeli danych. Celem analizy jest wybór optymalnych rozwiązań dla różnych typowych zastosowań, na podstawie porównania m.in.:
    – wydajności serwera przy różnym obciążeniu zapytaniami do bazy danych (różne liczba i rozmiar),
    – bezpieczeństwa przy wystąpieniu różnego rodzaju ataków,
    – skalowalności bazy,
    – elastyczności składowania i dostępu do danych,
    – złożoności możliwych operacji na danych (zapytań),
    – funkcjonalności,
    – mechanizmów replikacji.
    Aspekt inżynierski:
    Zaprojektowanie i implementacja programu do automatycznego lub półautomatycznego przeprowadzenia badań, opisanych w badawczym aspekcie pracy; oraz konfiguracji analizowanych systemów bazodanowych, w tym testowanych baz danych. Należy uwzględnić przynajmniej wykorzystanie podstawowych mechanizmów bezpieczeństwa i wykonywanie podstawowych operacji bazodanowych (CRUD).
    Zadania do wykonania:
    1. Analiza literatury przedmiotu.
    2. Wybór przykładowych systemów zarządzania relacyjnymi bazami danych.
    3. Wybór przykładowych systemów zarządzania nierelacyjnymi bazami danych, reprezentujących różne modele danych.
    4. Modele testowanych baz danych oraz ich implementacja dla wybranych wyżej systemów.
    5. Model aplikacji bazodanowej do automatycznego lub półautomatycznego przeprowadzenia badań i jej implementacja w języku Java.
    6. Opracowanie i wykonanie testów porównujących analizowane systemy pod kątem cech wymienionych w badawczym aspekcie pracy.

    Cel i zakres pracy
    Analiza porównawcza czasowej i pamięciowej złożoności obliczeniowej wybranych algorytmów rozwiązywania łamigłówki Sudoku dla różnych rozmiarów planszy i różnego stopnia trudności w celu znalezienia optymalnego algorytmu. Opracowanie aplikacji do samodzielnego lub automatycznego rozwiązywania Sudoku z wykorzystaniem tych algorytmów.
    Aspekt badawczy:
    Wybór lub opracowanie kilku algorytmów rozwiązywania Sudoku dla różnych rozmiarów planszy i różnego stopnia trudności, a następnie analiza ich złożoności obliczeniowej w aspekcie czasowym i pamięciowym w celu znalezienia optymalnego algorytmu.
    Aspekt inżynierski:
    Opracowanie modelu i implementacja aplikacji tworzącej plansze Sudoku o zadanym rozmiarze i stopniu trudności, sprawdzającej poprawność rozwiązania przez człowieka lub rozwiązującej je samodzielnie; wykorzystując algorytmy będące przedmiotem analizy.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu.
    2. Wybór lub opracowanie algorytmów rozwiązywania Sudoku.
    3. Porównanie złożoności obliczeniowej (czasowej i pamięciowej) wybranych algorytmów i wyznaczenie z nich optymalnego.
    4. Model aplikacji tworzącej plasze Sudoku, rozwiązującej je (wg wybranego algorytmu) i sprawdzające poprawność ich rozwiązania oraz jej implementacja w języku JavaScript z możliwym użyciem frameworku React.
    5. Opracowanie i wykonanie testów poprawności działania aplikacji.
    6. Opracowanie i wykonanie testów porównujących czas rozwiązywania Sudoku i wykorzystanie przez nie zasobów pamięci dla zaimplementowanych algorytmów i wybranego sprzętu.

    Cel i zakres pracy:
    Analiza porównawcza wydajności, bezbłędności i bezpieczeństwa dla zapytań bazodanowych wykonywanych w postaci zapytań SQL i w postaci generowanej przez wybrane frameworki ORM dla wybranych języków programowania.
    Aspekt badawczy:
    Opracowanie i zrealizowanie analizy porównawczej dla zapytań bazodanowych wykonywanych w postaci zapytań SQL i w postaci generowanej przez wybrane frameworki ORM dla wybranych języków programowania, np. Python, Java, Node.js przez m.in.:
    – porównanie i ocenę ich wydajności oraz bezbłędności przy różnym obciążeniu serwera zapytaniami do bazy danych (ich liczbą i rozmiarem) itp.;
    – porównanie i ocenę zapewnianego bezpieczeństwa przy wystąpieniu różnego rodzaju ataków.
    Aspekt inżynierski:
    Opracowanie modelu aplikacji bazodanowej i jej implementacja dla wybranego serwera relacyjnych baz danych, z użyciem kolejno zapytań SQL i wybranych faremworków ORM dla wybranych języków programowania.
    Każda z wersji tej aplikacji powinna, jako minimum, zapewniać podstawowe mechanizmy bezpieczeństwa i realizację podstawowych operacji bazodanowych (tzw. CRUD).
    Zadania do wykonania:
    1. Analiza literatury przedmiotu.
    2. Model testowej bazy danych i jej implementacja dla wybranego serwera relacyjnych baz danych.
    3. Model aplikacji bazodanowej i jej implementacje z wykorzystaniem zapytań SQL i wybranych frameworków ORM.
    4. Opracowanie i wykonanie testów porównujących wykonane aplikacje pod kątem zagadnień opisanych w aspekcie badawczym pracy.

 

Ukończone w 2021


    Aspekt badawczy:
    Opracowanie i zrealizowanie analizy porównawczej i oceny back-endowych frameworków, np. Django, Ruby on Rails, Express, ASP.NET i Rocket, użytych w wykonanej aplikacji bazodanowej, poprzez m.in.:
    – porównanie i ocenę ich wydajności oraz bezbłędności przy różnym obciążeniu serwera zapytaniami do bazy danych (ich liczbą i rozmiarem) itp.,
    – porównanie i ocenę zapewnianego bezpieczeństwa przy wystąpieniu różnego rodzaju ataków.
    Aspekt inżynierski:
    Opracowanie formalnego modelu aplikacji bazodanowej i jej implementacje dla wybranego serwera relacyjnych baz danych, z użyciem kolejno każdego z wybranych frameworków, np. Django, Ruby on Rails, Express, ASP.NET i Rocket. Każda z wersji tej aplikacji powinna, jako minimum, zapewniać podstawowe mechanizmy bezpieczeństwa i realizację
    podstawowych operacji bazodanowych (tzw. CRUD).
    Zadania do wykonania:
    1. Analiza literatury przedmiotu.
    2. Model formalny testowej bazy danych i jej implementacja dla wybranego serwera relacyjnych baz danych.
    3. Model formalny aplikacji bazodanowej i jej implementacje z wykorzystaniem wybranych frameworków.
    4. Opracowanie i wykonanie testów porównujących wykonane aplikacje pod kątem zagadnień opicanych w aspekcie badawczym pracy.

    Aspekt badawczy:
    Opracowanie i zrealizowanie analizy porównawczej wykonanych aplikacji dla wybranego systemu operacyjnego:
    – głównie pod kątem porównania środowisk Java 11 i Python 3;
    – badając niezawodność aplikacji i ich szybkość i poprawność rozwiązywania problemu kolportera.
    Aspekt inżynierski:
    Opracowanie formalnego modelu obu aplikacji i ich implementacja dla wybranego systemu operacyjnego w środowisku Java 11 i w środowisku Python 3. Implementacja powinna wykorzystywać dostępne API w pozyskiwaniu informacji geograficznych z Open Street Map lub podobnego źródła.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu.
    2. Model formalny aplikacji i implementacja algorytmu kolportera w środowisku Java 11 i Python 3.
    3. Opracowanie i wykonanie testów porównujących niezawodność, szybkość i poprawność rozwiązywania problemu kolportera przez w.w. aplikacje dla przykładowych danych geograficznych. Implementacja powinna wykorzystywać dostępne API w pozyskiwaniu informacji geograficznych z systemu Open Street Map lub podobnego źródła.

    Aspekt badawczy:
    Opracowanie metody i algorytmu modelowej weryfikacji systemu, którego zachowanie modeluje sieć Petriego, a pożądane lub niechciane własności opisują formuły wybranej logiki temporalnej; z wykorzystaniem narzędzia NuSMV do weryfikacja prawdziwości formuł.
    Aspekt inżynierski:
    Wykonanie aplikacji implementującej opracowany algorytm i weryfikującej formuły opisujące wybrane własności dla przykładowych sieci Petriego; korzystającej z dostępnych narzędzi dla sieci Petriego i narzędzia NuSMV do analizy formuł.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu.
    2. Opracowanie metody i algorytmu jej implementacji dla: a) opisu własności systemu w logice temporalnej w odniesieniu do zadanej sieci Petriego, b) translacji zachowania sieci Petriego (np. grafu osiągalności) na zachowanie automatu NuSMV, c) weryfikacji tych własności w NuSMV.
    3. Wykonanie i przetestowanie narzędzia realizującego zadania z p.2.
    4. Analiza porównawcza opracowanej metody z istniejącymi podobnymi metodami.

 

Ukończone w 2019


    Aspekt badawczy:
    Opracowanie języka zapytań i sposobu specyfikowania reguł w języku wybranej logiki temporalnej, ze szczególnym uwzględnieniem intuicyjności korzystania z niego. Analiza porównawcza powyższych opracowań z typowymi bitemporalnymi bazami danych, które nie wykorzystują logiki temporalnej.
    Aspekt inżynierski:
    Opracowanie: 1) modelu i systemu zarządzania dla bitemporalnej bazy danych za pomocą wybranych technik inżynierii oprogramowania (m.in. UML); 2) implementacja przykładowej bazy.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu.
    2. Opracowanie modelu bitemporalnej bazy danych, korzystając z inżynierii oprogramowania (m.in. UML) i narzędzi.
    3. Opracowanie systemu zarządzania bazą danych (SZBD) dla wybranej logiki temporalnej, w tym języka zapytań i sposobu specyfikowania reguł SZBD w języku tej logiki.
    4. Analiza porównawcza zaproponowanego modelu i SZBD z modelami i SZBD nie wykorzystującymi logiki temporalnej, pod kątem intuicyjności ich tworzenia i zarządzania.

    Aspekt badawczy:
    Zbadanie możliwości strumieniowej transmisji dźwięku w sieci WiFi przez Raspberry Pi3 B+ bez/z ewentualną rozbudową sprzętową w pomieszczeniu o kubaturze ok. 1500-2000 m3. Opracowanie i optymalizacja protokołu tej transmisji pod kątem szybkości transmisji ludzkiego głosu w systemie z kilkoma nadawcami i wieloma odbiorcami. Analiza porównawcza metod kompresji i dekompresji ludzkiego głosu możliwych do zastosowania w tej transmisji.
    Aspekt inżynierski:
    Projekt i implementacja serwera retransmisji dźwięku przez WiFi w opracowanym protokole komunikacji telefon –> Raspberry Pi3 B+ –> telefon. Projekt i implementacja systemu symultanicznego tłumaczenia, składającego się z: a) aplikacji tłumacza strumieniowo nadającej głos, zainstalowanej w telefonie z systemem Android; b) aplikacji słuchacza strumieniowo odbierającej głos, zainstalowanej w telefonie z systemem Android; c) aplikacji serwerowej retransmitującej sygnał tłumaczy do słuchaczy dla ograniczonej liczby tłumaczy i słuchaczy. Opracowanie sprzętowej i programowej konfiguracji Raspberry Pi3 B+ dla zaprojektowanego serwera.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu i istniejących rozwiązań, podobnych do przedmiotu tej pracy dyplomowej.
    2. Zbadanie możliwości transmisji WiFi dla Raspberry Pi3 B+ (p.1 aspektu badawczego).
    3. Opracowanie i analiza protokołu transmisji (p.2 aspektu badawczego).
    4. Analiza metod kompresji dźwięku (p.3 aspektu badawczego).
    5. Projekt i implementacja systemu transmisji (p.1–3 aspektu inżynierskiego).
    6. Projekt i realizacja testów transmisji i opracowanego oprogramowania.
    7. Dokumentacja konfiguracji sprzętu i wykonanego oprogramowania.

 

Ukończone w 2018


    Aspekt badawczy:
    Wykorzystanie metod AI do autorskiej budowy heurezy podnoszącej poziom trudności komputerowego gracza.
    Aspekt inżynierski:
    Projekt i implementacja systemu rozgrywki wg zasad popularnej gry Okręty wraz z systemem podejmowania decyzji gracza komputerowego na podstawie danych historycznych (poprzednich rozgrywek).
    Zadania do wykonania:
    1. Implementacja rozgrywki w systemie użytkownik-komputer dla gry Okręty.
    2. Projekt i implementacja heurezy zwiększającej „umiejętności” gracza komputerowego.
    3. Ewaluacja systemu z zastosowaną autorską heurezą i przy użyciu innych metod (np. losowych ruchów).
    4. Edycja pracy.

 

Ukończone w 2014


    Aspekt badawczy:
    Opracowanie metody tworzenia modelu bazy danych. Opracowanie reguł ODBMS, zapewniających standardową funkcjonalność ACID. Analiza porównawcza zaproponowanego modelu i ODBMS z typowymi rozwiązaniami pod kątem funkcjonalności i wydajności.
    Aspekt inżynierski:
    Wykonanie: 1) modelu i ODBMS obiektowej bazy danych ze zdalnym dostępem, przy pomocy inżynierii oprogramowania (m.in. UML) i narzędzi; 2) implementacja przykładowej bazy danych przy pomocy JAVA Persistence API na platformie JAVA 7 EE.
    Zadania do wykonania:
    1. Analiza literatury przedmiotu.
    2. Wykonanie modelu obiektowej bazy danych ze zdalnym dostępem, przy pomocy inżynierii oprogramowania (m.in. UML) i narzędzi.
    3. Wykonanie obiektowo zorientowanego systemu zarządzania bazą danych (ODBMS), zapewniającego standardową funkcjonalność i ACID (atomicity, consistency, isolation, durability) i używającego JAVA Persistence API.
    4. Analiza porównawcza zaproponowanego modelu i ODBMS z typowymi rozwiązaniami pod kątem funkcjonalności i wydajności.

 

Nieukończone


    Aspekt badawczy:
    Opracowanie i zrealizowanie analizy porównawczej wykonanych aplikacji:
    1. Głównie pod kątem porównania środowisk Java8 i Python3 i dedykowanych im API.
    2. Badając niezawodność aplikacji i ich szybkość i poprawność rozwiązywania problemu kolportera.
    Aspekt inżynierski:
    Opracowanie w UML modelu aplikacji i ich implementacja dla:
    1. systemu Android w środowisku Java ME8,
    2. systemu Android w środowisku Python3.
    Implementacja powinna wykorzystywać dostępne API w pozyskiwaniu informacji geograficznych z Open Street Map.
    Zadania do wykonania:
    1. Przegląd literatury przedmiotu.
    2. Model formalny (w UML) aplikacji i implementacja algorytmu kolportera:
    2.1. dla systemu Android w środowisku Java ME8,
    2.2. dla systemu Android w środowisku Python3.
    3. Opracowanie i wykonanie testów porównujących niezawodność, szybkość i poprawność rozwiązywania problemu kolportera przez w.w. aplikacje dla przykładowych danych geograficznych.
    Implementacja powinna wykorzystywać wybrane dostępne API w pozyskiwaniu informacji geograficznych z systemu Open Strret Map.

Comments are closed.