Programowanie obiektowe
semestr letni 2009/2010, grupa nr 1

Ćwiczenia: środy 12.15-13.45, sala 3220
Laboratorium: środy 14.15-15.45, sala 3041

Treść drugiego zadania zaliczeniowego jest już dostępna. Termin oddania: 2 czerwca 2010 r.
Poprawki do zadań domowych przyjmuję tylko do środy 2 czerwca 2010 r.

Linki

Zasady zaliczania

Zadania zaliczeniowe

Środowisko programistyczne

  1. Ściągamy i instalujemy Java SE Development Kit (JDK) (uwaga: nie mylić z Java Runtime Environment). Warto ściągnąć także dokumentację, szczególnie jeśli planujemy pracować offline.
  2. Ściągamy i instalujemy najnowszą wersję Eclipse'a. Wystarczy Eclipse IDE for Java Developers.
  3. Konfigurujemy Eclipse'a:
    • Z menu wybieramy Window > Preferences...
    • W zakładce Java > Installed JREs sprawdzamy, że została znaleziona właściwa wersja JRE. Powinna to być wersja zainstalowana w punkcie 1. W laboratorium ten krok prawdopodobnie nie jest potrzebny.
    • W zakładce General > Workspace zaznaczamy opcję Build automatically.
    • W zakładce Java > Build Path sprawdzamy, że opcja Source and output folder ma wybraną wartość Project.
    • W zakładce Java > Editor sprawdzamy, że zaznaczona jest opcja Report problems as you type.
    • W zakładce Java > Compiler w /color polu Compiler compliance level wybieramy 6.0.
    • Zatwierdzamy zmiany klikając OK.
  4. Warto w Eclipse'ie podpiąć źródła Javy. W laboratorium źródła znajdują się w pliku /usr/src/java-sun-sources/src.zip. W innych miejscach źródeł należy szukać w katalogu, w którym zainstalowane jest JDK.

Zajęcia

Tydzień 1 (17.02.2010)
Ćwiczenia: model dziedziny dla gry w Monopol, model dziedziny dla systemu kasowego
Laboratorium: zapoznanie się z Eclipse'em

Tydzień 2 (24.02.2010)
Ćwiczenia: model dziedziny dla biblioteki, model dziedziny dla biur podróży
Laboratorium: Visual Paradigm (informacje o wydziałowej licencji, klucze, User Guide). Zadania: model dziedziny dla gry w Monopol i systemu rejestracji kurdli.
Zadanie domowe: Obiektowy model dziedziny dla systemu rejestracji kurdli. Proszę o przysłanie pliku PDF z diagramem przed następnym laboratorium. Nazwa pliku powinna być postaci ImieNazwisko.pdf, diagram powinien być podpisany imieniem, nazwiskiem i numerem indeksu autora. Plik PDF z diagramem można wygenerować w VP: menu File > Export > Diagrams as image...

Tydzień 3 (3.03.2010)
Ćwiczenia: abstrakcyjne typy danych: stos, kolejka, graf
Laboratorium: wstęp do Javy

Tydzień 4 (10.03.2010)
Ćwiczenia: powtórzenie z nieobiektowej Javy, tablice
Laboratorium: Klasy. Zadania
Zadanie domowe: Do wyboru: zadania 1 + 2 lub zadanie 3. Proszę o przesłanie rozwiązań (tylko pliki źródłowe) przed następnym laboratorium.

Tydzień 5 (17.03.2010)
Ćwiczenia: Uzupełnienie informacji o klasach. Data.
Laboratorium: Klasy i pakiety. Zadania

Tydzień 6 (24.03.2010)
Ćwiczenia: Dziedziczenie. Wyrażenia.
Laboratorium: Dziedziczenie. Zadania, kod klasy Data.
Zadanie domowe: Zadanie o tramwajach.

Tydzień 7 (31.03.2010)
Ćwiczenia: Wyrażenia cz.2. Rozwiązanie.
Laboratorium: Interfejsy i wyjątki. Zadania
Zadanie domowe: Zadania 1,2,3.

Tydzień 8 (14.04.2010)
Ćwiczenia: Zbiory (klasówka poprawkowa z roku 2006/2007).
Laboratorium: Wyjątki według wazniaka: część 1 i część 2.
Zadanie domowe: Mutacje (klasówka z roku 2008/2009). Rozwiązanie należy oddać w wersji papierowej, napisane ręcznie, przed następnymi zajeciami.

Tydzień 9 (21.04.2010)
Ćwiczenia: Biblioteka (klasówka z roku 2006/2007).
Laboratorium: Walidator URI. Pliki: src.zip.

Tydzień 10 (28.04.2010)
Ćwiczenia: Typy uogólnione. Kolejka, drzewa BST, sortowanie.
Laboratorium: Typy uogólnione. Zadania.

Tydzień 11 (5.05.2010)
Ćwiczenia: Listy. Tasowanie kart, iterator po liczbach pierwszych, lista potęgowa.
Laboratorium: Listy i iteratory. Zadania.
Zadanie domowe: za 2 punkty
      1. do wyboru zadanie 1, 2 lub 3
      2. zadanie 4

Tydzień 12 (12.05.2010)
Ćwiczenia: Kolekcje. Lista potęgowa, książka telefoniczna.
Laboratorium: Kolekcje. Zadania.
Zadanie domowe: zadanie 1.

Tydzień 13 (19.05.2010)
Ćwiczenia: Zbiór kolekcji. Grajek (egzamin poprawkowy z roku 2007/2008)
Laboratorium: Strumienie i JUnit (krótkie wprowadzenie). Aby dodać JUnita do projektu, należy wybrać we właściwościach projektu: Java BuildPath > zakładka Libraries > Add library... > JUnit > JUnit 4. Zadania, pliki.
Zadanie domowe:
      1. zadanie 1 lub 4
      2. Odpowiedz na pytanie: co chciałbyś robić na ostatnim laboratorium? Moje propozycje tematów: tworzenie Javowych plików wykonywalnych (jar), automatyczne generowanie dokumentacji (javadoc), tworzenie aplikacji na komórki, JavaMail (API do wysyłania maili), rozwiązywanie zadań ze starego egzaminu, pisanie zadania zaliczeniowego, powtórzenie/uzupełnienie z Javy/programowania obiektowego. Jakieś inne pomysły?

Tydzień 14 (26.05.2010)
Ćwiczenia: Zaba (egzamin z roku 2008/2009). Ropucha (egzamin poprawkowy z roku 2008/2009).
Laboratorium: Serializacja, pliki.

Tydzień 15 (2.06.2010)
Ćwiczenia: System finansowy (egzamin z roku 2007/2008).
Laboratorium: Aplikacje na komórki.
Środowisko: ściągnąć i zainstalować Sun Java Wireless Toolkit 2.5.2 for CLDC (trzeba mieć ok. 100 MB wolnego miejsca). W Eclipse'ie przy zakładaniu nowego projektu trzeba zmienić biblioteki: usunąć JRE i dodać WTK2.5.2/lib/cldcapi11.jar, WTK2.5.2/lib/midpapi20.jar. Istnieje też plugin do Eclipse'a, ale w laboratorium nie bardzo chce działać. Prosty Midlet: HelloMIDlet.java.
API: CLCD 1.1, MIDP 2.0 (lub starsze wersje: CLDC 1.0, MIDP 1.0)
Zadanie: Napisać prosty kalkulator przeliczający jednostki (przeliczniki za Wikipedią)