Kontakt:

pokój: 339
telefon: +48 71 3757836
mail:
www: http://www.ii.uni.wroc.pl/~prz/

Konsultacje (pokój 339):

  • poniedziałek 12-13
  • środa 12-13

Proszę wcześniej uzgodnić dokładny termin konsultacji drogą mailową.

Java - kurs zaawansowany (semestr letni 2012/13)

Adres:

Instytut Informatyki
Uniwersytetu Wrocławskiego
ul. Joliot-Curie 15
50-383 Wrocław
OGŁOSZENIA

12 marca 2013 r.

Zadanie 2 i 3:

Z powodu zaistniałego incydentu, o którym pisałem w poprzednim ogłoszeniu zadecydowałem, że na następny tydzień należy wybrać i zaprogramować tylko jedno z zadań - 2 albo 3.

11 marca 2013 r.

Zadanie 2:

Nie działał link do zadania 2. Dopiero dziś ktoś z Was zwrócił mi na to uwagę. Już to poprawiłem. Termin oddania tego zadania oczywiście uległ przesunięciu na następny tydzień. Zastanowię się do jutra co dokładnie zrobić z tym incydentem.

26 lutego 2013 r.

Pierwsze laboratorium:

Pierwsze laboratorium odbędzie się dopiero w przyszłym tygodniu czyli 6 marca.

24 lutego 2013 r.

Punkt informacyjny:

To w tym miejscu będą się pojawiać ważne ogłoszenia dotyczące organizacji zajęć związanych z tym przedmiotem. Proszę zaglądać do ogłoszń, szczególnie przed wykładem i przed laboratorium.

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 stale rośnie. Język Java przyciągnął do dziś prawie 7 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 w sieci. Popularność Javy wynika przede wszystkim z przenośności programów i niezależności od konkretnej platformy 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 przybliżenie Wam wybranych technologi używanych przez wyrafinowanych programistów Javy.

Wymagane przygotowanie

  • Umiejętność programowania w języku Java (programowanie obiektowe, zaawansowane konstrukcje językowe, programowanie współbieżne, typy sparametryzowane).
  • Umiejętność czytania dokumentacji ze zrozumieniem.

Literatura

Literatura papierowa polskojęzyczna:

  • Elliotte Rusty Harold: Java. Programowanie Sieciowe. Wydawnictwo RM, Warszawa 2001.
  • Krzysztof Barteczko: Java. Od podstaw do technologii. Tom 1 i 2. Wydawnictwo MIKOM, Warszawa 2004.
  • Herbert Schildt: Java. Kompendium programisty. Wydawnictwo HELION, Gliwice 2005.
  • Bruce Eckel: Thinking in Java. Wydanie 4. Edycja polska. Wydawnictwo HELION, Gliwice 2006.
  • Cay Horstmann, Gary Cornell: Core Java. Techniki zaawansowane. Wydanie 8. Wydawnictwo HELION, Gliwice 2009.

Literatura papierowa anglojęzyczna:

  • Ken Arnold, James Gosling, David Holmes: The Java Programming Language. Fourth Edition. Prentice Hall PTR, 2005.
  • James Gosling, Bill Joy, Guy Steele, Gilad Bracha: The Java Language Specification. Third Edition. Prentice Hall PTR, 2005.
  • Tim Lindholm, Frank Yellin: The Java Virtual Machine Specification. Second Edition. Prentice Hall PTR, 1999.

Literatura elektroniczna anglojęzyczna:

Terminarz

  • wykład: wtorek 14-16 s.141 (Paweł Rzechonek)
  • laboratorium: środa 8-10 s.7 (Paweł Rzechonek)

Laboratorium

Zasady zaliczenia przedmiotu

Ogólnie:
W semestrze będzie opublikowanych (na tej stronie) kilkanaście raczej 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).
Alternatywnie będzie można przygotować wykład (co najwyżej raz w semestrze przez jedną osobę) i opowiedzieć go. Za poprowadzenie wykładu można będzie dostać do 20 punktów (poprowadzenie wykładu wyklucza uczestnictwo w laboratorium powiązanym z tym wykładem).
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.

Lista zadań laboratoryjnych

  1. 6.03.2013: akwarium (pdf)
  2. 20.03.2013: kalendarz rocznic (pdf) - zadanie 2 albo 3 do wyboru
  3. 20.03.2013: domowa biblioteka (pdf) - zadanie 2 albo 3 do wyboru
  4. 27.03.2013: liczby pierwsze (pdf)
  5. 3.04.2013: szpiegowanie łączy (pdf)
  6. 17.04.2013: hydepark (pdf)
  7. 24.04.2013: szafa grająca (pdf)
  8. 8.05.2013: okręty (pdf)
  9. 15.05.2013: obrót złotym piaskiem (pdf)
  10. 22.05.2013: będziesz miał wydatki (pdf)
  11. 5.06.2013: liczby Catalana (pdf)
  12. 12.06.2013: labirynt (pdf)

Ranking

Wykład

Materiał omawiany na wykładach

Instytut Informatyki