2027
Predykcyjne autoskalowanie aplikacji webowej z wykorzystaniem metod uczenia maszynowego
Celem pracy jest zaprojektowanie i implementacja mechanizmu predykcyjnego autoskalowania konteneryzowanej aplikacji webowej, który na podstawie bieżącej i historycznej telemetrii przewiduje krótkoterminowe zapotrzebowanie na zasoby. System może wykorzystywać m.in. liczbę żądań, CPU, RAM, długość kolejek oraz p95/p99 czasu odpowiedzi. W części eksperymentalnej należy porównać klasyczne reaktywne skalowanie Kubernetes HPA z rozwiązaniem predykcyjnym wykorzystującym np. regresję, XGBoost lub model sekwencyjny. Kryteriami oceny mogą być liczba naruszeń SLO, opóźnienia ogonowe, wykorzystanie zasobów oraz liczba zmian liczby replik. Jest to bardzo naturalne połączenie Pana badań nad predykcją wydajności z pracami dotyczącymi skalowania i konteneryzacji.
Adaptacyjne ograniczanie ruchu i mechanizmy backpressure w przeciążonych systemach webowych
Celem pracy jest opracowanie mechanizmu ochrony API przed przeciążeniem poprzez dynamiczne sterowanie liczbą jednocześnie obsługiwanych żądań. Należy zaimplementować i porównać klasyczne algorytmy rate limiting, takie jak token bucket i sliding window, z mechanizmem adaptacyjnym wykorzystującym informacje o p95/p99 czasu odpowiedzi, długości kolejki lub wykorzystaniu CPU. Badania powinny odpowiedzieć na pytanie, czy wcześniejsze kontrolowane odrzucanie lub opóźnianie części ruchu może zwiększyć rzeczywistą dostępność systemu i ograniczyć gwałtowny wzrost tail latency podczas przeciążenia.
Automatyczna lokalizacja wąskich gardeł systemu mikroserwisowego na podstawie distributed tracing
Celem pracy jest zbudowanie aplikacji składającej się z kilku współpracujących usług oraz systemu analizującego ślady OpenTelemetry. W kontrolowanych eksperymentach będą wprowadzane problemy takie jak przeciążenie jednej usługi, wolne zapytania SQL, ograniczenie CPU, opóźnienia sieciowe czy niedostępność zależności. Zadaniem modułu analitycznego będzie wskazanie najbardziej prawdopodobnego źródła degradacji wydajności. Można porównać podejście regułowe z klasyfikatorem ML. To bardzo dobre rozwinięcie prac dotyczących klasyfikacji i detekcji anomalii w logach. Wklejony tekst
Generator realistycznego obciążenia aplikacji webowej uczony na podstawie logów rzeczywistych użytkowników
Celem pracy jest opracowanie generatora ruchu odtwarzającego nie tylko rozkład liczby żądań, lecz również sekwencje działań użytkowników. Na podstawie logów należy zidentyfikować sesje, przejścia między endpointami, rozkłady czasów między żądaniami oraz klasy użytkowników, a następnie utworzyć probabilistyczny model zachowania, np. łańcuch Markowa lub model stanowy. Wygenerowane obciążenie należy porównać z klasycznymi scenariuszami Locust/k6 pod kątem zgodności charakterystyk i wpływu na wyniki testów wydajnościowych. Temat bardzo dobrze łączy wcześniejsze prace dotyczące generatorów zdarzeń i klasyfikacji użytkowników. Wklejony tekst
Automatyczne wykrywanie regresji wydajności aplikacji webowej w pipeline CI/CD
Celem pracy jest stworzenie systemu automatycznie wykrywającego pogorszenie wydajności kolejnych wersji aplikacji. Pipeline CI/CD uruchamiałby po zmianach kodu kontrolowane testy obciążeniowe, zbierał RPS, p50/p95/p99, CPU, RAM i inne metryki, a następnie porównywał wyniki z wersją referencyjną. Praca powinna obejmować problem zmienności pomiarów i zastosowanie metod statystycznych umożliwiających odróżnienie rzeczywistej regresji od szumu pomiarowego. Wynikiem byłby praktyczny „performance quality gate” blokujący wdrożenie wersji powodującej istotną degradację systemu.
Wpływ puli połączeń z bazą danych i mechanizmów kolejkowania na wydajność konteneryzowanego API
Celem pracy jest zbadanie zależności między liczbą instancji aplikacji, wielkością connection pool, liczbą połączeń PostgreSQL oraz wydajnością API. Stanowisko może wykorzystywać PostgreSQL, PgBouncer i konteneryzowaną aplikację Node.js/NestJS lub FastAPI. Eksperyment powinien pokazać, że zwiększanie liczby replik aplikacji nie musi zwiększać wydajności, gdy rzeczywistym ograniczeniem staje się baza danych. Analizowane będą m.in. p95/p99, przepustowość, oczekiwanie na połączenie oraz wykorzystanie zasobów. Temat jest stosunkowo prosty implementacyjnie, ale daje bardzo wartościowe wyniki dydaktyczne i eksperymentalne.
Odporność aplikacji mikroserwisowej na awarie z wykorzystaniem technik Chaos Engineering
Celem pracy jest przygotowanie konteneryzowanej aplikacji i eksperymentalna ocena mechanizmów zwiększających jej odporność na awarie. Badane mogą być timeouty, retry, exponential backoff, circuit breaker, health checks, redundancja i automatyczne odtwarzanie usług. Podczas eksperymentów należy kontrolowanie wprowadzać awarie, takie jak zatrzymanie kontenera, ograniczenie CPU/RAM, utrata pakietów, opóźnienia sieciowe lub niedostępność bazy danych. Ocenie podlegałyby czas odtworzenia działania, liczba błędnych żądań, tail latency oraz zachowanie systemu podczas propagacji awarii.
Idempotentne API odporne na ponawianie żądań i awarie komunikacji
Celem pracy jest zaprojektowanie aplikacji realizującej operacje wymagające szczególnej niezawodności, np. rezerwacje, zamówienia lub płatności, oraz implementacja mechanizmów chroniących przed wielokrotnym wykonaniem tej samej operacji. Należy zastosować idempotency keys, transakcje, kontrolę współbieżności oraz mechanizm przechowywania i odtwarzania wyniku operacji. Eksperymenty powinny obejmować zerwanie połączenia po wysłaniu żądania, wielokrotne retry, jednoczesne wywołania i restart aplikacji. Bardzo dobry temat inżynierski, ponieważ łączy REST, bazę danych, współbieżność, systemy rozproszone i testowanie.
Porównanie architektury synchronicznej i zdarzeniowej w systemie webowym
Celem pracy jest implementacja tego samego procesu biznesowego w dwóch wariantach: klasycznym synchronicznym REST oraz asynchronicznym wykorzystującym brokera wiadomości, np. RabbitMQ, NATS lub Kafka. Analiza obejmie opóźnienia, przepustowość, odporność na przeciążenie i awarie, zachowanie kolejek oraz złożoność implementacji. Szczególnie interesujące byłoby określenie punktu obciążenia, od którego buforowanie zadań przez kolejkę zaczyna dawać przewagę nad bezpośrednim wywoływaniem usług.
Wpływ HTTP/2 i HTTP/3 na wydajność aplikacji webowej w warunkach pogorszonej jakości sieci
Celem pracy jest przygotowanie stanowiska umożliwiającego porównanie HTTP/1.1, HTTP/2 oraz HTTP/3/QUIC dla tej samej aplikacji. Za pomocą emulacji sieci można kontrolować RTT, jitter i utratę pakietów, a następnie mierzyć czas odpowiedzi, przepustowość oraz zachowanie wielu równoległych żądań. Szczególnie interesujące byłoby sprawdzenie, w jakich warunkach korzyści HTTP/3 stają się istotne i czy są widoczne również dla typowej aplikacji REST, a nie tylko dla transmisji dużej liczby zasobów statycznych.
Samooptymalizująca się brama API wykorzystująca telemetrię systemową
Celem pracy jest zaprojektowanie API Gateway, który na podstawie aktualnego stanu systemu dynamicznie modyfikuje sposób obsługi ruchu. Mechanizm może sterować rate limitingiem, concurrency limitingiem, timeoutami, cache lub kierowaniem ruchu pomiędzy replikami. System powinien wykorzystywać informacje z warstwy obserwowalności i podejmować decyzje na podstawie zdefiniowanych reguł lub prostego modelu predykcyjnego. Byłoby to interesujące połączenie Pana prac nad akceleracją HTTP, obserwowalnością i ML.
Klasyfikacja przyczyn degradacji wydajności aplikacji webowej na podstawie telemetrii wieloźródłowej
Celem pracy jest zbudowanie modelu rozpoznającego nie użytkownika czy anomalię, lecz przyczynę problemu wydajnościowego. Dane wejściowe mogą obejmować jednocześnie logi HTTP, CPU, RAM, I/O, liczbę połączeń do bazy danych, czasy zapytań SQL oraz metryki sieciowe. W kontrolowanych eksperymentach generowane byłyby klasy problemów, np. CPU saturation, memory pressure, database bottleneck, network latency i application bottleneck. Następnie klasyfikator miałby wskazywać najbardziej prawdopodobne źródło problemu. Jest to bardzo naturalny kolejny etap po prowadzonych pracach nad klasyfikacją użytkowników i anomaliami logów.
2026
1. Bezpieczna platforma self-service do uruchamiania aplikacji
Celem pracy jest zaprojektowanie i wykonanie środowiska laboratoryjnego na Debianie (w tym konfiguracja platformy sprzętowej np. Dell), które umożliwia studentom szybkie i bezpieczne uruchamianie własnych usług: aplikacji webowych (JS/TS) oraz baz danych PostgreSQL.
Proponowane rozwiązanie ma zapewnić samoobsługowy mechanizm publikacji aplikacji w kontenerach, kontrolę dostępu i izolację projektów, a także podstawową obserwowalność ułatwiającą diagnozowanie awarii.
Realizacja obejmie również przygotowanie np. środowiska do: kompilacji/uruchamiania zadań MPI, Java, itp.
2. Ocena wpływu microcachingu i request coalescing na wydajność konteneryzowanego API
Celem pracy jest zaprojektowanie i implementacja konteneryzowanego API (REST) oraz zbadanie wpływu microcachingu i mechanizmu request coalescing w warstwie reverse proxy/cache na opóźnienia (p95/p99/p99.9), przepustowość (RPS) i wykorzystanie zasobów (CPU/RAM). Plan realizacji obejmuje: przygotowanie aplikacji z kilkoma typami endpointów (statyczny, dynamiczny, kosztowny obliczeniowo), konfigurację cache (TTL, nagłówki Cache-Control, warianty coalescing), zbudowanie powtarzalnego stanowiska testowego (Docker Compose/Swarm/Kubernetes), wykonanie serii testów obciążeniowych (np. k6/Locust) oraz analizę wyników w oparciu o metryki i logi.
3. Implementacja modułu ochrony API przed scrapingiem z użyciem klasyfikacji ML
Celem pracy jest zaprojektowanie i implementacja modułu ochrony API aplikacji webowej przed nadużyciami polegającymi na masowym pobieraniu danych (scraping) oraz innymi formami „API abuse”. Problemem jest automatyczne odróżnienie ruchu generowanego przez użytkowników od ruchu botów na podstawie telemetrii (logów żądań HTTP, czasów przetwarzania oraz wybranych metryk zasobowych), a następnie egzekwowanie decyzji bezpieczeństwa w czasie bliskim rzeczywistemu.
W ramach pracy zostanie zbudowany pipeline danych obejmujący np.: rejestrację i normalizację logów, ekstrakcję cech, trening oraz ewaluację modeli klasyfikacyjnych (z baseline opartym o reguły), a także wdrożenie serwisu decyzyjnego „Guard” udostępniającego API predykcji. (na podstawie wcześniejszych prac i publikacji)
4. Analiza i optymalizacja wydajności systemu webowego w środowisku kontenerowym z wykorzystaniem akceleracji HTTP, autoskalowania i mechanizmów obserwowalności
Czy w środowisku Kubernetes/Swarm połączenie akceleracji HTTP, microcachingu i autoskalowania pozwala uzyskać lepszą wydajność oraz efektywność zasobową niż samo skalowanie liczby replik aplikacji? W środowiskach orkiestracji kontenerów lepsze rezultaty wydajnościowe i kosztowe daje połączenie optymalizacji przepływu żądań z adaptacyjnym skalowaniem niż wyłączne skalowanie warstwy aplikacyjnej. Jest to rozszerzenie istniejącej pracy, w której porównano klasyczne skalowanie horyzontalne w Docker Swarm z akceleracją HTTP opartą na Varnish Cache, microcachingu i mechanizmie Request Coalescing dla aplikacji FastAPI obciążanej przez Locust.
5. Projekt i implementacja praktycznego workflow pracy z wykorzystaniem narzędzi sztucznej inteligencji
Celem pracy jest zaprojektowanie, implementacja oraz weryfikacja praktycznego workflow wspomagającego proces wytwarzania aplikacji webowej z wykorzystaniem narzędzi sztucznej inteligencji. Workflow ma obejmować pełny cykl życia projektu: od analizy wymagań i generowania kodu, przez integrację z narzędziami zewnętrznymi, testowanie i kontrolę jakości, aż po wdrożenie produkcyjne, monitorowanie oraz wsparcie diagnostyczne.
2025
1. OpenIA API do automatyzacji obsługi z użyciem Pythona
https://github.com/openai/openai-python; https://cookbook.openai.com/examples/gpt-5/gpt-5_prompting_guide#appendix; https://platform.openai.com/docs/concepts; https://cookbook.openai.com/
2. Zastosowania różnych platform konteneryzacji
(Docker, Kubernetes)
3. Zastosowanie modelu Bielik AI w analizie sentymentu i tworzeniu polskojęzycznych treści internetowych
(https://github.com/speakleash/Bielik-how-to-start)
4. Definiowanie profili obciążenia systemów internetowych z wykorzystaniem generatorów zdarzeń opartych na Czasowych Kolorowych Sieciach Petriego (TCPN)
Przygotowanie studium przypadku, które obejmuje analizę obciążenia systemu internetowego przetwarzającego żądania generowane przez zaprojektowany generator (za pomocą oprogramowania CPN Tools). Część teoretyczna skupia się na klasyfikacji z podziałem na generatory deterministyczne/stochastyczne oraz czasowe/bezczasowe na podstawie: https://www.mdpi.com/2076-3417/12/23/12385; https://www.mdpi.com/2076-3417/11/23/11532; https://ieeexplore.ieee.org/document/4747298.
5. Zastosowanie LM Studio jako lokalnego środowiska dla modeli językowych
Cel pracy: zbadanie, w jakim zakresie LM Studio (https://lmstudio.ai) umożliwia lokalne uruchamianie modeli językowych, jakie są jego możliwości, ograniczenia i typowe scenariusze użycia (głównie w kontekście programowania).
Zakres: przedstawienie architektury LM Studio, integracji z modelami (open source), ocena wydajności, eksperymenty zastosowań.
Przegląd technologii LLM (architecture, sieci neuronowe transformatorowe, modele open source) i innych rozwiązań lokalnych.
Charakterystyka LM Studio i możliwość uruchamiania lokalnych modeli takich jak gpt-oss, Qwen, Gemma, DeepSeek itp.
Studium przypadku jako implementacja konkretnej aplikacji (np. chatbot edukacyjny, narzędzie wspomagające pisanie tekstów, korektor) zbudowanej na bazie LM Studio.
1 Przykłady programowania funkcyjnego w JS
2 Zastosowanie Horovod do zwiększenia wydajność obliczeń w aplikacjach do wykrywania anomalii
3 Analiza logów z wykorzystaniem technik AI
4 Różne frameworki do budowy UI na podstawie tego samego API
5 Konfigurowalny kalkulator online podatku dochodowego dla osób fizycznych i firm
6 Proces tworzenia frontendu i backendu aplikacji webowej
7 Projektowanie aplikacji opartej na mikrousługach
8 Zastosowanie chatów jako osobistego asystenta programowania
9 Przykładowa aplikacja do realizacji testów kompetencyjnych online
10 Interaktywna giełda internetowa
11 Przegląd elementów programowania webowego na przykładzie Pythona
12 Testowanie RESTful Web API z Postman API Platform
13 Szczegółowy projekt aplikacji giełdy internetowej z implementacją
14 Klaster HPC na kontenerach dockerowych
15 Platforma webowa do kompilacji i uruchamiania aplikacji on-line
16 Różne frameworki do budowy Rest API
17 Porównanie składni języków programowania
18 Archwim online internetowych stacji radiowych
19 Detekcja artefaktów na obrazach preparatów histopatologicznych
20 Metody normalizacji danych pochodzących z obarazów histopatologicznych i ich wpływ na skuteczność klasyfikacji
21 Budowanie aplikacji reaktywnych
22 Aplikacja do rezerwacji stolika w restauracji
23 Projekt i implementacja aplikacji do zarządzania szczepieniami
24 System wczesnego i anonimowego ostrzegania o nieprawidłowościach działający w technologii SPA
25 Porównanie aplikacji webowych przygotowanych z wykorzystaniem gotowego API
26 Tworzenie nowoczesnych aplikacji webowych w Pythonie
27 Badanie logów aplikacji internetowej z wykorzystaniem analizy danych i uczenia maszynowego
28 Monitorowanie aplikacji bezserwerowych z wykorzystaniem AWS X-Ray
29 Monitorowanie systemów kontenerowych w trybie on-line
30 Programowanie funkcyjne w C#
31 Optymalizacja procesu tworzenia aplikacji internetowych
32 Symulacje komputerowe z wykorzystaniem teorii kolejek i sieci Petriego
33 Obliczenia rozproszone na klastrach wydajnościowych
34 Badanie wydajności środowisk e-commerce w postaci benchmarku
35 Konfigurowalna lista zakupów w komórce
36 Szacowanie zapotrzebowania na zasoby online na bazie aplikacji webowej
37 Analiza właściwości infrastruktury na bazie automatycznych eksperymentów na platformie webowej
38 Wszechstronna aplikacja webowa do nauki gry na gitarze
39 Wydajność aplikacji uruchamianych w kontenerach
40 Bezpieczeństwo ICT na różnych poziomach działania
41 Zaawansowana biblioteka zdjęć
42 Algorytmy programowania rozproszonego na klastrze
43 Tworzenie aplikacji internetowej ASP.NET Core z funkcjonalnością monitorowania
44 Analiza podsłuchów realizowanych w sieci globalnej i lokalnej
45 Możliwości i zastosowania Eclipse Modeling Framework
46 Analiza struktur sieciowych na bazie sieci kolejkowych
47 Sposoby analizy systemów komputerowych
48 Wydajność programowania rozproszonego na bazie biblioteki wymiany komunikatów w MPI
49 Pomiar wydajności na bazie benchmarka Daytrader
50 Projektowanie baz danych dla systemów webowych
51 System analizy i przewidywania zamiarów zakupowych w e-sklepie
52 Dydaktyczny zestaw zadań administracji sieci lokalnych
53 Webowe środowiska produkcyjne na strukturze wielowarstwowej
54 Tworzenie RESTful API na bazie metod protokołu HTTP
55 Zastosowanie najnowszych rozwiązań w technologiach Microsoft
56 Nowoczesne języki programowania w technologiach internetowych
57 Budowa aplikacji webowej analizującej czas realizacji zapytań
58 Analiza zasobów zużywanych przez aplikację na bazie biblioteki w Javie
59 Programowanie funkcyjne na bazie języków skryptowych
60 Przegląd najnowszych technik programowania webowego
61 ABC aplikacji webowych
62 Analiza możliwości frameworków front-endowych
63 Najnowsze możliwości frameworka Angular
64 Użycie języka modelowania DML
65 Porównanie benchmarków aplikacji webowych
66 Programowanie funkcyjne w JavaScript
67 Nowoczesne języki i trendy programowania w technologiach javascriptowych
68 Nowoczesne języki programowania w technologiach internetowych
69 Budowa aplikacji webowej analizującej czas realizacji zapytań
70 Nowoczesna aplikacja .NET Core na Linuksie
71 Docker jako platforma dla różnych rodzajów aplikacji
72 Doker jako platforma do przygotowania i wdrożenia systemu webowego
73 Automatyzacja procesu przygotowania aplikacji webowej
74 Wzorce projektowe w technologiach webowych
75 Programowanie funkcyjne na przykładzie sklepu internetowego
76 Nowoczesne elementy aplikacji w PHP
77 Automatyzacja w programowaniu webowym
78 Aplikacja sklepu internetowego z RESTful i NoSQL







