Chopina 12/16, 87-100 Toruń
tel. (48 56) 611 3441 "bala@mat.uni.torun.pl", "środa", "16:00 - 17:30", "S7", ""); ?> Egzamin z przedmiotu Programowanie sieciowe - Java polega na przedstawieniu zrealizowanego projektu wybranego z listy.
Wybrany temat należy zgłosić do wykładowcy (najlepiej pocztą elektroniczną).

Projekt powinien zawierać:

  1. elementy programowania sieciowego (na przykład w architekturze klient-serwer, serwlet, RMI itp.)
  2. interfejs SWING.
  3. wątki

    Możliwe jest przedstawienie własnego projektu po wcześniejszym (przed 1.01.2004) uzgodnieniu z wykładowcą.

    1. Technologia portalowa
      Należy napisać kanał (portlet) w technologii serwletowej dla portalu. Polecan środowisko portralowe to uPortal (www.uportal.org). Przykładowe kanały do stworzenia:
      1. Kalendarz (na kształt Outlook'a czy WebCalendar'a)
      2. Menadzer plików (upload plików na serwer, organizowanie plików, zapewnienie praw dostępu do plików)
      3. System obsługi konferencji (lub na przykład konkursu informatycznego): rejestracja uczestników - tworzenie kont, możliwość uploadowania plików (prac, rozwiązań zadań), system dla osób oceniających prace, informacje dla uczestników.
      4. System ogłoszeń (ogłoszenia drobne)
      5. System ogłoszeń i przypomnien o wydarzeniach zbierający informacje z lokalnego kalendarza i z kalendarzy zewnętrznych dostępnych na przykład jako feed RSS.
      6. system zapisu na ćwiczenia (skorelwany z planem zajęć)
      7. Interface do gnuplot'a (2D) - aplikacja pozwalająca na zadanie podstawowych parametrów wykresu, a następnie na uruchomienie programu gnuplot i przedstawienie wuników w oknie.
      8. Interface do zaawansowanego oprogramowania wizualizacyjnego (wykresy 2D,3D) - zasada jak w poprzednim zadaniu tylko w odniesieniu do rysunków 3D.
      9. Kanał wykonujący rysunki danych x,y z pliku
    2. Technologia gridowa
      Należy napisać rozszerzenia do środowiska UNICORE> Bliższe informacji, wraz z niezbędnym oprogramowaniem można uzyskać na stronach projektu UNICORE: unicore.sf.net
      1. Plugin - interfejs uzytkownika dla programu BLAST
      2. Plugin - interfejs uzytkownika dla programu Fluent
      3. Portlet (dla uPortala) zbierający informację o dostępnych zasobach
      4. Portlet (dla uPortala) zbierający informację o zadaniach użytkownika
    3. Gry sieciowe.
      Należy napisać program pozwalający na realizację gry przez sieć. W wersji podstawowej podajemy adres komputera (nazwa:port) z którym dokunujemy rozgrywki. Po zestawieniu komunikacji rozpoczyna się gra. Ciekawym eksperymentem byłoby przygotowanie gier w postaci apletów które mogą być wstawione na strone WWW lub w środowisko portalowe.
      1. Kółko i krzyżyk
      2. Szachy
      3. Warcaby
      4. Gra w statki
      5. Mastermind (program powinien sprawdzać czy użytkownik wybierający kod nie oszukuje)
      6. Klient realizujący talk'a
      7. Klient brydża.
      8. Poruszające się węże - gra w parach, każdy z uczestników steruje swoim wężem, oba pokazują się każdemu z uczestników. Gra kończy się gdy jeden wąż chwyci drugiego za ogon.
      9. Saper
      10. Gra w scrabble - na ograniczonej planszy
      11. Kółko i krzyżyk na nieograniczonej planszy (piątka)
      12. Tenis dla 2 zawodników
    4. Aplikacje sieciowe TCP/IP
      1. Aplikacja secure copy - z interfejsem graficznym
      2. Okienkowy klient samby (smbfs)
      3. Klient sprawdzający działające serwisy na serwerze
      4. Klient systemu kolejkowego (OpenPBS)
    5. Aplikacje
      1. Klient sprawdzający obciążenie komputerów (load) (specyfikujemy klika komputerów do sprawdzenia)
      2. Klient sprawdzający działające daemony
      3. Klient podający przestrzeń zajętą na dyskach, z podziałem na dyski różnych typów (lokalne, sieciowe)
      4. Klient dokonujący inwentaryzacji sieci (lista komputerów połączenia maski itp.).
      5. Interface do gnuplot'a (2D) - aplikacja pozwalająca na zadanie podstawowych parametrów wykresu, a następnie na uruchomienie programu gnuplot i przedstawienie wuników w oknie.
      6. Interface do gnuplot'a (wykresy 3D) - zasada jak w poprzednim zadaniu tylko w odniesieniu do rysunków 3D.
      7. Program wykonujący rysunki danych x,y z pliku
      8. Wykres funkcji analitycznej danej wprowadzanym przez użytkownika wzorem
      9. Aplikacja do sprawdzania umiejętności pisania na klawiaturze - Użytkownik wpisuje podany tekst, program sprawdza poprawność oraz szybkość wpisywania tekstu
      10. Dziennik szkolny - obecność na zajęciach
      11. Dziennik szkolny - oceny z możliwością wpisywania i przeglądania (nauczyciel, rodzice).
      12. Serwis komunikatów (tablica ogłoszeń)
      13. System rezerwacji sal
      14. Plan zajęć
      15. Kalendarz - organizator
    6. Serwery gier
      Serwer gry nasłuchuje na ustalonym porcie i rejestruje uczestników gry. Serwer pozwala na wybór partnera z listy otwartych sesji i kordynuje grę. W przypadku gdy gra jest możliwa w różnych rolach pozwala na wybór roli zgodnie z preferencjami użytkownika.
      1. Serwer gry w warcaby
      2. Serwer brydża
      3. Serwer quizowy (rejestruje uczestników, stawia pytania i rejestruje odpowiedzi)
      4. Serwer gry w statki
      5. Serwer mastermind'a
      6. Serwer gry w szachy lub warcaby
      7. Serwer gry w scrabble - możliwość gry kilku osób
      8. Serwer i klient uruchamijący program z inputem (prog.exe < input) przy czym input jest przygotowywany przez aplikację klienta
      9. Serwer talka (pozwalający na połączenie 2 klientów i rozmowę pomiędzy nimi
    7. Klient gry matematycznej.
      Zadaniem klienta jest wyświetlenie na ekranie losowego pytania (najczęściej w postaci graficznej) oraz zapis odpowiedzi wprowadzanej przez użytkownika: albo za pomocą formularza, poprzez wybór opcji czy zaznaczenie elementów. Pytanie określonego typu jest genereowane przez klienta, konkretne wartości pojawiające się w pytaniu oraz odpowiedź i jej ocena (dobra, zła) są przekazywane do serewera WWW serwisu i rejestrowane.
      Serwer gry matematycznej ma zbierać informacje od klienta i je archiwizować - w pliku lub w bazie danych. W wersji z autoryazacją, serwer sprawdza użytkownika i dokonuje jego autoryazcji na podstawie posiadanej informacji (pobieranej z pliku czy z bazy danych).
      1. Serwer gry pozwalajacy na zbieranie informacji od klienta: informacje o graczu, typ zadania, wynik
      2. Serwer gry pozwalajacy na grę użytkwników zarejestrowanych na liście - po dokonaniu autoryzacji użytkownika
      3. Aplet realizujący dodawanie
      4. Aplet realizujący odejmowanie
      5. Aplet sprawdzający rozwiązywanie równań typku 5+x=10
      6. Aplet sprawdzający znajomość zbiorów (zaznacz zbiór trójkątów)
      7. Aplet sprawdzający znajość części wspólnej zbiorów
      8. Aplet sprawdzający umiejętność rozwiązywania prostych zadań
      9. Aplet sprawdzający znajomość kolejności wykonywania działań
      10. Aplet zabawy wymagającej wstawienie działań pomiędzy liczby tak by uzyskać żądany wynik