Tematy projektów

by Paweł Pięta published 2019/01/18 06:23:00 GMT+2, last modified 2024-03-09T01:01:19+02:00

Proponowane tematy projektów


Tematy podstawowe:

  1. Baza kontaktów dla wielu użytkowników (rejestracja i logowanie z użyciem hasła). Dodawanie/usuwanie/edycja kontaktów (ID, imię, nazwisko, adres (miasto, ulica, nr domu/mieszkania, kod pocztowy, poczta), telefon (może być kilka), E-mail (może być kilka)). Wyświetlanie kontaktów z możliwością sortowania niemalejącego/nierosnącego po dowolnym polu. Wyszukiwanie kontaktów. Możliwość dodawania/usuwania kontaktów do/z grup (ID, nazwa, opis) i ich wyświetlania z sortowaniem. Wyszukiwanie kontaktów w grupach. Zapisywanie/wczytywanie danych o kontaktach i grupach do/z plików.
  2. Baza albumów muzycznych dla wielu użytkowników (rejestracja i logowanie z użyciem hasła). Dodawanie/usuwanie/edycja artystów (ID, nazwa). Dodawanie/usuwanie/edycja gatunków muzycznych (ID, nazwa). Dodawanie/usuwanie/edycja albumów (ID, ID artysty (może być kilku), tytuł, rok, ID gatunku (może być kilka), stan (zakupiony, do kupienia), przesłuchany (tak, nie)). Wyświetlanie albumów z możliwością sortowania niemalejącego/nierosnącego po dowolnym polu. Wyszukiwanie artystów/gatunków/albumów. Eksportowanie albumów do pliku CSV. Zapisywanie/wczytywanie danych o artystach, gatunkach i albumach do/z plików.
  3. Wypożyczalnia filmów. Dodawanie/usuwanie/edycja klientów (numer karty, imię, nazwisko, telefon, E-mail). Dodawanie/usuwanie/edycja filmów (ID, tytuł, rok, reżyser, gatunek, liczba egzemplarzy, liczba wypożyczonych). Wypożyczanie/oddawanie filmów (kto wypożyczył (numer karty), który film (ID), kiedy, do kiedy). Wyświetlanie klientów/filmów/wypożyczeń z możliwością sortowania niemalejącego/nierosnącego po dowolnym polu. Wyszukiwanie klientów/filmów. Wyświetlanie wypożyczeń danego klienta. Naliczanie kar umownych za zaległe zwroty. Zapisywanie/wczytywanie danych o klientach, filmach i wypożyczeniach do/z plików.
  4. Biblioteka. Dodawanie/usuwanie/edycja klientów (numer karty, nazwisko, imię, telefon, E-mail). Dodawanie/usuwanie/edycja książek (ID, tytuł, rok, autor, gatunek, liczba egzemplarzy, liczba wypożyczonych). Wypożyczanie/oddawanie książek (kto wypożyczył (numer karty), którą książkę (ID), kiedy, do kiedy). Wyświetlanie klientów/książek/wypożyczeń z możliwością sortowania niemalejącego/nierosnącego po dowolnym polu. Wyszukiwanie klientów/książek. Wyświetlanie wypożyczeń danego klienta. Naliczanie kar umownych za zaległe zwroty. Zapisywanie/wczytywanie danych o klientach, książkach i wypożyczeniach do/z plików.
  5. Przychodnia. Dodawanie/usuwanie/edycja pacjentów (ID, imię, nazwisko, PESEL, data urodzenia, adres, E-mail, telefon, masa ciała, wzrost, oddział NFZ). Dodawanie/usuwanie/edycja lekarzy (ID, imię, nazwisko, PESEL, numer PWZ, tytuł zawodowy, specjalizacja, E-mail, telefon, godziny pracy w poszczególnych dniach tygodnia). Rejestracja pacjentów na wizyty u lekarzy (ID pacjenta, ID lekarza, data, godzina, czas trwania, status (zaplanowana, odbyta, odwołana)). Możliwość odwołania wizyty lub zmiany jej terminu na inny. Wyświetlanie pacjentów/lekarzy z możliwością sortowania niemalejącego/nierosnącego po dowolnym polu. Wyszukiwanie pacjentów/lekarzy. Wyświetlanie wizyt danego pacjenta lub przyporządkowanych do danego lekarza z możliwością ograniczenia wyników do konkretnego statusu lub dnia. Zapisywanie/wczytywanie danych o pacjentach, lekarzach i wizytach do/z plików.
  6. Gra Saper. Wykorzystanie dowolnej biblioteki graficznej 2D.
  7. Gra Snake. Wykorzystanie dowolnej biblioteki graficznej 2D.
  8. Gra Arkanoid. Wykorzystanie dowolnej biblioteki graficznej 2D. Wykrywanie kolizji z zastosowaniem drzewa czwórkowego.
  9. Gra Space Invaders. Wykorzystanie dowolnej biblioteki graficznej 2D.
  10. Gra quiz dla wielu osób, polegająca na odpowiadaniu na pytania. Wczytywanie z plików pytań podzielonych na różne kategorie. Kilka trybów gry. Możliwość łatwego rozszerzania bazy pytań przez użytkownika końcowego o nowe kategorie/pytania (bez konieczności ponownej kompilacji gry), zrealizowana na zasadzie dodatkowego programu będącego edytorem bazy pytań, który nie musi posiadać interfejsu graficznego (obsługa w oknie konsoli).

Za wyjątkiem tematów dotyczących gier, graficzny interfejs użytkownika (GUI) nie jest wymagany.


Tematy zaawansowane:

  1. Edytor tekstu. Obsługa co najmniej dwóch systemów kodowania znaków.
  2. Przeglądarka zdjęć. Obsługa co najmniej dwóch formatów plików graficznych. Prezentowanie histogramu dla poszczególnych kanałów RGB oraz luminancji względnej. Wyświetlanie metadanych zdjęć fotograficznych (przysłona, czas migawki, ISO itp.).
  3. Paint. Obsługa co najmniej dwóch formatów plików graficznych.
  4. Odtwarzacz muzyki. Obsługa co najmniej dwóch formatów plików audio. Możliwość wyświetlania i edycji metadanych plików (tagów, okładki itp.).
  5. Total Commander.
  6. Kompresor oraz dekompresor plików i katalogów. Obsługa co najmniej dwóch algorytmów kompresji.
  7. Terminarz dla wielu użytkowników. Dodawanie, usuwanie, edycja, wyszukiwanie i filtrowanie zadań. Możliwość obliczenia dnia tygodnia dla podanej daty.
  8. Edytor wspomagający pisanie wzorów matematycznych w języku LaTeX.
  9. Edytor wspomagający tworzenie tabel w języku LaTeX.
  10. Walidator nawiasów w plikach źródłowych języków C/C++. Poprawianie indentacji kodu. Kolorowanie składni.
  11. "Gra w życie" Conway'a. Implementacja co najmniej dwóch struktur z każdego typu (niezmienne, oscylatory, niestałe, statki, działa, puffery). Możliwość swobodnego dodawania struktur na planszy.
  12. Symulacja wody za pomocą automatu komórkowego.
  13. Symulacja pożaru za pomocą automatu komórkowego.
  14. Symulacja gazu za pomocą automatu komórkowego.
  15. Symulacja osypującego się piasku za pomocą automatu komórkowego.
  16. Gra Pasjans.
  17. Gra Dureń. Przeciwnikiem komputer lub gracz.
  18. Gra Piłka. Przeciwnikiem komputer lub gracz.
  19. Gra Statki. Przeciwnikiem komputer lub gracz.
  20. Gra Warcaby. Przeciwnikiem komputer lub gracz.
  21. Gra Młynek. Przeciwnikami komputer lub gracze.
  22. Gra Bilard 2D. Przeciwnikiem komputer lub gracz.
  23. Prosta gra przygodowa 2D.
  24. Prosta gra platformowa 2D.
  25. Wizualizacja algorytmu stada. Ucieczka stada (zachowanie evade) przed napastnikiem (zachowanie pursuit).

W przypadku tematów zaawansowanych, graficzny interfejs użytkownika (GUI) jest wymagany.


Możliwe jest również zgłaszanie własnych tematów projektów.