Organizacja zajęć
- wykłady:
- Paweł Rzechonek (email:
prz@ii.uni.wroc.pl)
- studia dzienne: poniedziałek, godz.18-20, s.31
- studia wieczorowe: środa, godz.18-19, s.33
- ćwiczenia laboratoryjne:
-
- studia dzienne:
- wtorek, godz.12-14, s.50a, Łukasz Piwowar (email:
lpi@ii.uni.wroc.pl)
- wtorek, godz.18-20, s.59, Tomasz Charatonik (email:
tch@ii.uni.wroc.pl)
- czwartek, godz.18-20, s.50a, Paweł Rzechonek (email:
prz@ii.uni.wroc.pl)
- piątek, godz.10-12, s.59, Tomasz Charatonik (email:
tch@ii.uni.wroc.pl)
- studia wieczorowe: wtorek, godz.19-22, s.52, Paweł Rzechonek (email:
prz@ii.uni.wroc.pl)
Literatura
- papierowa:
-
-
Ken Arnold, James Gosling:
The Java Programming Language.
Addison Wesley, 1996, ISBN 0-201-63455-4.
-
Bruce Eckel:
Thinking in Java. Third edition.
Prentice-Hall, 2002, ISBN 0-131-00287-2.
-
James Gosling, Bill Joy, Guy Steele, Gilad Bracha:
The Java Language Specification. Second edition.
Addison Wesley, 2000, ISBN 0-201-31008-2.
-
Tim Lindholm, Frank Yellin:
The Java Virtual Machine Specification. Second edition.
Addison Wesley, 2000, ISBN 0-201-43294-3.
- elektroniczna:
-
Przygotowanie studentów
- wymagane:
-
- programowanie strukturalne
- język C
- znajomość podstawowych struktur danych (tablice, listy,
kolejki, stosy, drzewa) i operacji na tych strukturach (z
wykorzystaniem rekurencji)
- wskazane:
-
- programowanie obiektowe
- język C++
- znajomość podstawowych technik programowania (metoda
redukcji, metoda "dziel i zwyciężaj", metoda dynamiczna, metoda
zachłanna)
Forma zaliczenia przedmiotu
- ogólnie:
- W semestrze będzie ogłoszonych (na tej stronie) kilka/kilkanaście
prostych zadań do zaprogramowania. Za każde poprawnie
zaprogramowane zadanie i oddane w terminie można będzie dostać
określoną liczbę punktów (2, 3, 5 lub 7).
- terminy:
- Zadania do zaprogramowania będą ogłaszane w tygodniu
poprzedzającym termin ich realizacji (za wyjątkiem pierwszej
listy). Spóźnienia będą kosztować utratę punktów - każdy tydzień
spóźnienia zmniejsza o połowę z zaokrągleniem w dół do najbliższej
liczby całkowitej (wartości >1 są zaokrąglane w górę dla studentów
wieczorowych) liczbę możliwych do uzyskania za zadanie punktów
liczonych względem punktacji z poprzedniego tygodnia. Przykładowo,
jeśli za zadanie oddane terminowo można dostać do 7 punktów, to po
tygodniu będzie ono warte co najwyżej 3 punkty (4 punkty dla
studentów wieczorowych), po dwóch tygodniach może być ocenione
maksymalnie na 1 punkt (na 2 punkty dla studentów wieczorowych), a
po trzech tygodniach (po czterech dla studentów wieczorowych) i
dłużej staje się ono bezwartościowe.
- prezentacje:
- Programy należy prezentować osobiście w czasie pracowni (proszę
nie wysyłać programów pocztą elektroniczną, ani nie przekazywać
dyskietek poprzez kolegów/koleżanki). W trakcie prezentacji
programu trzeba się liczyć z pytamiami dotyczącymi zadania, jego
rozwiązania, oraz zastosowanych konstrukcji językowych.
- 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 dobra trzba będzie zgromadzić 90% punktów; oceny
pośrednie pozostją w liniowej zależności od przedstawionych wymagań
granicznych.
Zadania na laboratorium
-
Zadanie 1
(dvi /
ps /
pdf):
liczby w postaci binarnej - 2 punkty.
Termin realizacji:
5-8.10.2004 dla studentów dziennych i
12.10.2004 dla studentów wieczorowych.
-
Zadanie 2
(dvi /
ps /
pdf):
liczby w postaci słownej - 3 punkty.
Termin realizacji:
12-15.10.2004 dla studentów dziennych i
19.10.2004 dla studentów wieczorowych.
-
Zadanie 3
(dvi /
ps /
pdf):
rozkład liczby na czynniki pierwsze - 5 punktów.
Termin realizacji:
19-22.10.2004 dla studentów dziennych i
2.11.2004 dla studentów wieczorowych.
-
Zadanie 4
(dvi /
ps /
pdf):
stos i kolejka - 7 punktów.
Termin realizacji:
2-5.11.2004 dla studentów dziennych i
30.11.2004 dla studentów wieczorowych.
-
Zadanie 5
(dvi /
ps /
pdf):
sortowanie - 5 punktów.
Termin realizacji:
16-19.11.2004 dla studentów dziennych.
-
Zadanie 6
(dvi /
ps /
pdf):
sprawdzenie pamięci - 5 punktów.
Termin realizacji:
23-26.11.2004 dla studentów dziennych i
7.12.2004 dla studentów wieczorowych.
-
Zadanie 7
(dvi /
ps /
pdf):
ruchome oczy - 3 punkty.
Termin realizacji:
30.11-3.12.2004 dla studentów dziennych i
21.12.2004 dla studentów wieczorowych.
-
Zadanie 8
(dvi /
ps /
pdf):
przeglądarka zdjęć - 5 punktów.
Termin realizacji:
7-10.12.2004 dla studentów dziennych i
04.01.2005 dla studentów wieczorowych.
-
Zadanie 9
(dvi /
ps /
pdf):
przeglądarka lokalnego systemu plików - 3 punkty.
Termin realizacji:
14-22.12.2004 dla studentów dziennych i
11.01.2005 dla studentów wieczorowych.
-
Zadanie 10
(dvi /
ps /
pdf):
wykres funkcji - 7 punktów.
Termin realizacji:
11-14.01.2005 dla studentów dziennych.
-
Zadanie 11
(dvi /
ps /
pdf):
ruch drogowy - 5 punktów.
Termin realizacji:
18-21.01.2005 dla studentów dziennych i
25.01.2005 dla studentów wieczorowych (do wyboru z zadaniem 12).
-
Zadanie 12
(dvi /
ps /
pdf):
kółko i krzyżyk - 5 punktów.
Termin realizacji:
25-28.01.2005 dla studentów dziennych i
25.01.2005 dla studentów wieczorowych (do wyboru z zadaniem 11).
Rankingi
Wykłady (streszczenie)
- 4/5-10-2004:
-
- Rys historyczny.
- Cechy Javy jako języka programowania.
- Przykład prostego programu.
- Kompilacja i uruchamianie programów.
- Dokumentowanie programów.
- Typy danych: pierwotne i referencyjne.
- Instrukcje sterujące.
- Tablice.
- Parametry wywołania programu.
Przykładowe programy:
Witaj.java,
Parametry.java.
- 11/12-10-2004:
-
- Klasy.
- Pakiety.
- Zakres widoczności składowych klasy.
- Pola i metody.
- Konstruktory i tworzenie obiektów.
- Działanie garbage-collector'a.
- Składowe statyczne.
- Napisy String i StringBuffer.
Przykładowe programy:
narzedzia/LZesp.java +
TestZespolonych.java,
narzedzia/LPier.java +
TestPierwszosci.java.
- 18/19-10-2004:
-
- Wyjątki.
- Dziedziczenie.
- Hierarchia klas i klasa Object.
- Metody i klasy abstrakcyjne.
- Pola, metody i klasy finalne.
Przykładowe programy:
CzytPisz.java.
- 25/26-10-2004:
-
- Nadpisywanie metod.
- Klonowanie obiektów.
- Interfejsy.
- Polimorfizm.
- Rzutowanie.
- Klasa java.util.Random.
Przykładowe programy:
struktury/SlownikLiczb.java +
struktury/StosLiczb.java.
- 8/9-11-2004:
-
- Komponenty AWT.
- Delegacyjny model obsługi zdarzeń.
Przykładowe programy:
Puste.java,
Chwila.java.
- 22/23-11-2004:
-
- 29/30-11-2004:
-
Przykładowe programy:
Podpowiedzi.java.
- 6/7-12-2004:
-
- Strumienie.
- Operacje w lokalnym systemie plików.
Przykładowe programy:
Kopiarka.java +
Konwerter.java.
- 13/14-12-2004:
-
Przykładowe programy:
- 20/21-12-2004:
-
- Polimorfizm parametryczny.
- Klasy wyliczeniowe.
- Importowanie statyczne.
- Metody ze zmienną liczbą argumentów wywołania.
- Kolekcje i ich przeglądanie (instrukcja
for-each ).
Przykładowe programy:
KalendarzGregor.java.
- 3/4-01-2005:
-
Przykładowe programy:
WatekLiczbowy.java,
WatekCzasowy.java,
WatkiProdKons.java.
- 10/11,17/18-01-2005:
-
Przykładowe programy:
AdresyIP.java,
SkanerTCP.java,
SkanerUDP.java,
KlientEcho.java +
SerwerEcho.java.
- 24/25,31-01-2005:
-
- Programowanie systemowe.
- Programowanie natywne (JNI).
Przykładowe programy:
Hello.java +
Hello.c.
Materiały uzupełniające
|