Paweł Rzechonek

Zainteresowania zawodowe: programowanie (C++, Java, C#, F#), technologie webowe, szeroko rozumiana algorytmika, metematyka klasyczna.

Java - technologie zaawansowane

Instytut Informatyki Uniwersytetu Wrocławskiego
rok akademicki 2016/17 semestr letni

godzina wejścia na stronę

Godzina wejścia na tą stronę to 10:28 (czwartek, 4 czerwca 2020 roku).

data ostatniej modyfikacji dokumentu

Data ostatniej modyfikacji tego dokumentu (java-tech-2017.phtml) to niedziela 4 czerwca 2017 roku (godzina 13:04).

ogłoszenia
13 kwietnia 2017 r.
laboratorium po Wielkanocy:
Zaraz po Wielkanocy będziemy sprawdzać zadanie 6 dotyczące protokołu UDP i multicastingu. W kolejnym tygodniu będzie obowiązywać zadanie 7 polegające na wykorzystaniu technologii JDBC.

23 lutego 2017 r.
pierwsze laboratorium:
W pierwszym tygodniu nauki laboratoria nie odbywają się. Pierwsze laboratorium zaplanowałem dopiero na przyszły tydzień: 1 i 3 marca 2017 r.

23 lutego 2017 r.
punkt informacyjny:
W tym miejscu będą się pojawiać ważne ogłoszenia dotyczące organizacji wszystkich zajęć związanych z tym przedmiotem. Proszę czytać te ogłosznia na bieżąco.
terminarz
wykład:
czwartek 8-10 s.141 (Paweł Rzechonek)

laboratoria:
środa 10-12 s.108 (Paweł Rzechonek)
piątek 8-10 s.108 (Przemysław Gospodarczyk)
licznik wejść na stronę

1 dzisiaj
1 w obecnym miesiącu
122 w bieżącym roku
1555 od powstania strony

×
szerokość ekranu:
telefon (xs) 480...719 tablet (sm) 720...959 laptop (md) 960...1199 ekran komputera (lg) 1200...
×
adres IP serwera:
192.168.3.1 (www.ii.uni.wroc.pl:80)

zdalny adres IP klienta:
34.238.190.122 (www.ii.uni.wroc.pl:54492)

o przedmiocie

Java - technologie zaawansowane

Java to współczesny obiektowy język programowania stworzony przez Jamesa Goslinga z firmy Sun Microsystems. Od momentu powstania w połowie lat 90-tych XX wieku przeżył on dynamiczny rozwój a zainteresowanie nim nie maleje. Język Java przyciągnął do dziś wiele milionów programistów. Znajduje zastosowanie w każdej ważniejszej gałęzi przemysłu informatycznego i jest obecny w różnego rodzaju urządzeniach, komputerach i sieciach. Popularność Javy wynika przede wszystkim z przenośności programów i niezależności od konkretnej platwormy sprzętowej, a co za tym idzie, ma zastosowanie w Internecie oraz ogólnie w aplikacjach sieciowych. Jego podstawowe koncepcje zostały przejęte z języka Smalltalk (maszyna wirtualna, odśmiecanie pamięci) oraz z języka C++ (znaczna część składni i słów kluczowych).

Zajęcia te to kontynuacja kursu Javy z poprzedniego semestru. Celem tych zajęć jest poznanie najpopularniejszych obecnie technologii używanych przez zawodowych programistów Javy.

Wymagane przygotowanie
  •   Umiejętność programowania w języku Java.
  •   Podstawowa znajomość algorytmiki.
  •   Umiejętność czytania dokumentacji technicznej w języku angielskim.
Cel kursu
  •   Poznanie różnorodnych technik stosowanych w progamowaniu w Javie.
  •   Praktyczne zastosowanie najważniejszych technologii Javowych.
  •   Poznanie obszernych fragmentów pakietów standardowych Javy.

literatura

Literatura
  •   Cay S. Horstmann, Gary Cornell: Java. Techniki zaawansowane. Wydanie 9. Wydawnictwo HELION, Gliwice 2013.
  •   Cay S. Horstmann: Java 8. Przewodnik doświadczonego programisty. Wydawnictwo HELION, Gliwice 2015.
  •   Herbert Schildt: Java. Kompendium programisty. Wydanie 9. Wydawnictwo HELION, Gliwice 2015.
  •   Krzysztof Barteczko: Java. Od podstaw do technologii. Tom 1 i 2. Wydawnictwo MIKOM, Warszawa 2004.
  •   Elliotte Rusty Harold: Java. Programowanie sieciowe. Wydawnictwo RM, Warszawa 2001.
  •   Michał Grochala: Java. Aplikacje bazodanowe. Wydanie 2. Wydawnictwo HELION, Gliwice 2001.
  •   Christian Bauer, Gavin King, Gary Gregory: Java Persistence. Programowanie aplikacji bazodanowych w Hibernate. Wydanie 2. Wydawnictwo HELION, Gliwice 2016.
  •   Gary Mak, Daniel Rubio, Josh Long: Spring. Receptury. Wydawnictwo HELION, Gliwice 2014.
Literatura elektroniczna

laboratorium

Zasady zaliczenia przedmiotu
Ogólnie:
W semestrze będzie opublikowanych (na tej stronie) kilkanaście prostych zadań do zaprogramowania. Za każde poprawnie zaprogramowane zadanie i oddane w terminie można będzie dostać do 10 punktów (chociaż zadania będą różnej trudności).
Terminy:
Zadania do zaprogramowania będą ogłaszane w tygodniu poprzedzającym termin ich realizacji. Zadania należy oddawać w wyznaczonym terminie. Spóźnienia nie będą tolerowane, za wyjątkiem uzasadnionych sytuacji życiowych: choroba potwierdzona zwolnieniem lekarskim, wezwanie do Sądu, itp.
Prezentacje:
Programy należy prezentować osobiście w czasie pracowni (proszę nie wysyłać programów pocztą elektroniczną, ani nie przekazywać ich poprzez kolegów czy koleżanki). W trakcie prezentacji programu trzeba się liczyć z pytamiami dotyczącymi zadania: metoda rozwiązania, zastosowane konstrukcje językowe, wykorzystane technologie, itp.
Oceny:
Aby zaliczyć laboratorium na ocenę dostateczną trzeba do końca semestru zdobyć 50% z wszystkich możliwych do uzyskania punktów; na ocenę bardzo dobrą trzeba będzie zgromadzić 90% punktów; oceny pośrednie pozostją w liniowej zależności od przedstawionych wymagań granicznych.
Zadania laboratoryjne
  1. plansza z liczbami
  2. kalkulator kredytowy
  3. liczby pierwsze i złożone
  4. śledzenie linków w dokumentach hipertekstowych
  5. hydepark
  6. rozgłośnia
  7. jaja na straganie
  8. labirynt
  9. wyszukiwanie wzorca w tekście
  10. servlety i JSP
Ranking

wykład

Spis wykładów
  1. JavaBeans
  2. Internationalization
  3. RMI
  4. Networking (1, 2)
  5. Security
  6. JDBC (1, 2)
  7. Hibernate
  8. J2ME
  9. Android
  10. JNI
  11. XML
  12. Servlets and JSP
Materiał omawiany na wykładach
23 lutego 2017 r: JavaBeans
  • komponenty JavaBeans
  • właściwości komponentów
  • powiadamianie o zmianach w komponencie
  • nasłuch zmian w komponencie
  • wetowanie zmian w komponencie
  • klasa informacyjna komponentu
Kursy, przewodniki, artykuły:
Slajdy z wykładu:
Przykładowe programy:
2 marca 2017 r: Internationalization
  • formatowanie
  • lokalizacja
  • internacjonalizacja programów
Kursy, przewodniki, artykuły:
9 marca 2017 r: RMI
  • interfejs RMI
  • implementacja interfejsu RMI
  • kompilacja programów RMI
  • uruchamianie programów RMI
Kursy, przewodniki, artykuły:
16, 23 marca 2017 r: Networking
  • adresy IP
  • zasoby URL
  • aplikacje typu klient-serwer
  • komunikacja po protokole TCP
  • komunikacja po protokole UDP
  • multicasting
Kursy, przewodniki, artykuły:
Slajdy z wykładu:
30 marca 2017 r: Security
  • ładowanie klas
  • weryfikacja kodu
  • polisy z przywilejami
Kursy, przewodniki, artykuły:
Slajdy z wykładu:
6,13 kwietnia 2017 r: JDBC
  • relacyjne bazy danych
  • architektura JDBC
  • sterowniki JDBC
  • łączenie się z bazą danych
  • wyjątki SQL
  • wykonywanie zapytań do bazy
  • metainformacje
  • zapytania preinterpretowane
  • procedury przechowywane w bazie danych
Kursy, przewodniki, artykuły:
Slajdy z wykładu:
20 kwietnia 2017 r: Hibernate
  • ...
Kursy, przewodniki, artykuły:
27 kwietnia 2017 r: J2ME
  • ...
Kursy, przewodniki, artykuły:
4 maja 2017 r: Android
  • ...
Kursy, przewodniki, artykuły:
18 maja 2017 r: JNI
  • zastosowanie metod rodzimych
  • podstawowy interfejs JNI
  • pisanie kodu rodzimego w C/C++ dla Javy
  • łańcuchy znakowe w JNI
  • tablice w JNI
  • wywoływanie metod za pośrednictwem JNI
Kursy, przewodniki, artykuły:
25 maja 2017 r: XML parsing
  • ...
Kursy, przewodniki, artykuły:
1 czerwca 2017 r: Servlets and JSP
  • ...
Kursy, przewodniki, artykuły: