1 KARTA KURSU Java programowanie sieciowe
Transkrypt
1 KARTA KURSU Java programowanie sieciowe
KARTA KURSU Nazwa Java programowanie sieciowe Nazwa w j. ang. Java Network Programming Punktacja ECTS* Kod Koordynator dr Dariusz Pałka 4 Zespół dydaktyczny: dr Dariusz Pałka dr Tomasz Hachaj Opis kursu (cele kształcenia) Celem kursu jest zapoznanie studentów z zagadnieniami tworzenia programów działających w rozproszonym środowisku sieciowym przy użyciu języka Java. W ramach kursu przedstawione zostaną również aspekty programowania wielowątkowego w języku Java. Kurs jest realizowany w języku polskim. Warunki wstępne Znajomość podstaw teoretycznych z zakresu działania sieci komputerowych i usług sieciowych. Znajomość podstaw analizy, projektowania i programowania obiektowe w języku Java. Wiedza Umiejętności Kursy Umiejętność zapisu podstawowych algorytmów i struktur danych przy użyciu języka Java. Umiejętność tworzenia i uruchamiania programów obiektowych w języku Java. Programowanie obiektowe 2 Efekty kształcenia Efekt kształcenia dla kursu Odniesienie do efektów kierunkowych Po zakończeniu kursu student: Wiedza W01: ma wiedzę na temat zagadnień związanych z programowaniem wielowątkowym w języku Java K_W07, K_W13 W02: zna klasy wchodzące w skład J2SE API wspomagające tworzenie programów sieciowych w języku Java K_W07, K_W11 W03: orientuje się w wybranych protokołach sieciowych i sposobach ich wykorzystania w swoich programach K_W11, K_W14 W04: zna podstawy interfejsów programistycznych (np. CORBA, RMI) pozwalających na tworzenie rozproszonego oprogramowania obiektowego K_W07, K_W10 1 Odniesienie do efektów kierunkowych Efekt kształcenia dla kursu Po zakończeniu kursu student: U01: potrafi projektować i implementować programy wielowątkowe w języku Java Umiejętności U02: tworzy z użyciem języka Java programy bazujące na modelu klient – serwer U03: wykorzystuje gniazda TCP i UDP w swoich programach U04: potrafi korzystać ze specyfikacji RFC w celu implementacji wybranych protokołów sieciowych U05: projektuje i implementuje proste programy działające w rozproszonym modelu obiektowym z użyciem interfejsu programistycznego Java RMI K_U01, K_U05 K_U05, K_U04 K_U05, K_U08 K_U18, K_U15, K_U19 K_U05, K_U15, K_U18 Odniesienie do efektów kierunkowych Efekt kształcenia dla kursu Kompetencje Po zakończeniu kursu student: społeczne K01: współpracuje w zespole programistycznym K_K03, K_K05 K02: korzysta z różnych źródeł informacji w celu realizacji postawionych mu zadań programistycznych K_K01, K_K12 Studia stacjonarne i niestacjonarne Organizacja Forma zajęć Ćwiczenia w grupach Wykład (W) A Liczba godzin 15 K L S P E 30 Opis metod prowadzenia zajęć Kurs składa się z wykładu, na którym prezentowane będą teoretyczne podstawy zagadnień programowania wielowątkowego i sieciowego w języku Java oraz z zajęć laboratoryjnych. W ramach zajęć laboratoryjnych studenci tworzą programy korzystając z wybranych aspektów programowania sieciowego. Dodatkowo w ramach laboratoriów demonstrowane i omawiane są projekty realizowane przez studentów samodzielnie lub w grupach. 2 X X X X X Inne X X X X X Egzamin pisemny X X X X Egzamin ustny X X Praca pisemna (esej) Udział w dyskusji X X Referat Projekt grupowy X X X X X X X X X W01 W02 W03 W04 U01 U02 U03 U04 U05 K01 K02 Projekt indywidualny Praca laboratoryjna Zajęcia terenowe Ćwiczenia w szkole Gry dydaktyczne E – learning Formy sprawdzania efektów kształcenia X X Ocenę dobrą lub bardzo dobrą może uzyskać student, który: - potrafi zaprojektować i zaimplementować w języku Java program korzystający z gniazd sieciowych (TCP i UDP) - omawia wybrane protokoły sieciowe - zna szczegółowo mechanizmy programowania wielowątkowego w języku Java Kryteria oceny - potrafi projektować własne protokoły sieciowe i tworzyć programy, które z nich korzystają - potrafi tworzyć w języku Java programy z wykorzystaniem interfejsu programistycznego CORBA - rozumie aspekty bezpieczeństwa związane z wybranymi usługami sieciowymi - potrafi projektować protokoły sieciowe w taki sposób, aby zminimalizować ich podatność na ataki zewnętrzne Uwagi Treści merytoryczne (wykaz tematów) 1. 2. 3. 4. 5. 6. 7. 8. Programowanie wielowątkowe w języku Java Klasy z J2SE API pozwalające na zapis i odczyt plików Omówienie wybranych protokołów sieciowych (np. Echo, HTTP, SMTP) Tworzenie programów klienckich w oparciu o gniazda TCP (klasa Socket) Tworzenie wielowątkowych serwerów na bazie gniazd TCP (klasa ServerSocket) Zdalny dostęp do baz danych za pośrednictwem JDBC Programowanie w architekturze klient-serwer w oparciu o gniazda UDP Tworzenie rozproszonych programów obiektowych na bazie interfejsu programistycznego Java RMI 9. Podstawy języka IDL 10. Tworzenie rozproszonych programów obiektowych w języku Java z wykorzystaniem architektury CORBA. Współdziałanie obiektów stworzonych w różnych językach programowania (na przykładzie C++ i Java) 3 Wykaz literatury podstawowej 1. Elliotte Rusty Harold: Java programowanie sieciowe; Wydawnictwo READ ME 2001 (część książki dostępna w ramach Biblioteki Cyfrowej UP) 2. Dokumenty RFC opisujące wybrane protokoły sieciowe Wykaz literatury uzupełniającej 1. Fryźlewicz Z.: Podstawy architektury i technologii usług XML sieci WEB; PWN 2008 Bilans godzinowy zgodny z CNPS (Całkowity Nakład Pracy Studenta) – studia stacjonarne Zamień godzin w kontakcie z prowadzącymi Zamień godzin pracy studenta bez kontaktu z prowadzącymi Wykład 15 Konwersatorium (ćwiczenia, laboratorium itd.) 30 Pozostałe godziny kontaktu studenta z prowadzącym 10 Lektura w ramach przygotowania do zajęć 30 Przygotowanie krótkiej pracy pisemnej lub referatu po zapoznaniu się z niezbędną literaturą przedmiotu Przygotowanie projektu lub prezentacji na podany temat (praca w grupie) 25 Przygotowanie do egzaminu Ogółem bilans czasu pracy 110 Liczba punktów ECTS w zależności od przyjętego przelicznika 4 Bilans godzinowy zgodny z CNPS (Całkowity Nakład Pracy Studenta) – studia niestacjonarne Zamień godzin w kontakcie z prowadzącymi Zamień godzin pracy studenta bez kontaktu z prowadzącymi Wykład 15 Konwersatorium (ćwiczenia, laboratorium itd.) 30 Pozostałe godziny kontaktu studenta z prowadzącym 10 Lektura w ramach przygotowania do zajęć 30 Przygotowanie krótkiej pracy pisemnej lub referatu po zapoznaniu się z niezbędną literaturą przedmiotu Przygotowanie projektu lub prezentacji na podany temat (praca w grupie) 25 Przygotowanie do egzaminu Ogółem bilans czasu pracy 110 Liczba punktów ECTS w zależności od przyjętego przelicznika 4 4