Programowanie obiektowe
semestr letni 2010/2011, grupa nr 1

Ćwiczenia: środy 12.15-13.45, sala 3120
Laboratorium: środy 14.15-15.45, sala 2041

Treść drugiego zadania zaliczeniowego pojawi się prawdopodobnie 11 maja.

Linki

Zasady zaliczania

Małe zadania domowe

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 polu Compiler compliance level wybieramy 1.6.
    • Zatwierdzamy zmiany klikając OK.
  4. Warto w Eclipse'ie podpiąć źródła Javy. W tym celu należy otworzyć (Shift-Ctrl-T) np. klasę String i wybrać Attach source. 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 (16.02.2011)
Ćwiczenia: model dziedziny dla gry w Monopol, model dziedziny dla systemu kasowego
Laboratorium: Visual Paradigm (informacje o wydziałowej licencji, klucze, User Guide). Zadania: model dziedziny dla gry w Monopol i systemu kasowego.
Zadanie domowe nr 1: Obiektowy model dziedziny dla jednego z powyższych problemów. Proszę o przysłanie pliku PDF z diagramem przed następnym laboratorium. Nazwa pliku powinna być postaci PO1-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ń 2 (23.02.2011)
Ćwiczenia: model dziedziny dla biblioteki i biura podróży.
Laboratorium: Model dziedziny dla systemu rejestracji kurdli.
Zadanie domowe nr 2: Obiektowy model dziedziny dla systemu rejestracji kurdli.

Tydzień 3 (2.03.2011)
Ćwiczenia: abstrakcyjne typy danych: stos, kolejka, graf
Laboratorium: Wstęp do Javy. Pliki: HelloWorld.java

Tydzień 4 (9.03.2011)
Ćwiczenia: Klasy. Zadania wg wazniaka.
Laboratorium: Zapoznanie się z Eclipsem. Zadania.
Zadanie domowe nr 3: Do wyboru zadania 1+2 lub zadanie 3, lub zadanie o Firmie (ćwiczenia).

Tydzień 5 (16.03.2011)
Ćwiczenia: Tablice i przekazywanie parametrów w Javie. Kapsułkowanie i ochrona danych
Laboratorium: Klasy i pakiety. Zadania.
Zadanie domowe nr 4: Do wyboru zadanie 2 lub zadanie 3.

Tydzień 6 (23.03.2011)
Ćwiczenia: Dziedziczenie. Wyrażenia cz. 1.
Laboratorium: Dziedziczenie. Zadania, kod klasy Data.
Zadanie domowe nr 5: Zadanie o tramwajach.

Tydzień 7 (30.03.2011)
Ćwiczenia: Wyrażenia cz. 2.
Laboratorium: Wyrażenia z upraszczaniem (stałe, zmienne, dodawanie). JUnit (strona domowa, krótkie wprowadzenie).

Tydzień 8 (6.04.2011)
Ćwiczenia: Bitwa robotów (klasówka poprawkowa z roku 2007/2008)
Laboratorium: Polimorfizm, interfejsy. Zadania. Uwaga: te zadania, poszerzone o nowe elementy, będą do oddania w przyszłym tygodniu.
Zadanie domowe nr 6: Probówki (klasówka poprawkowa z roku 2009/2010). Rozwiązanie należy oddać w wersji papierowej, napisane ręcznie, przed następnymi zajeciami.

Tydzień 9 (13.04.2011)
Ćwiczenia: Aukcje (klasówka poprawkowa z roku 2008/2009)
Laboratorium: Interfejsy i wyjątki. Zadania.
Zadanie domowe nr 7: Zadanie nr 2 powyżej.

Tydzień 10 (20.04.2011)
Ćwiczenia: Uzupełnienia: polimorfizm, wyjątki, klasy opakowujące. Walidator URI. Pliki: src.zip.
Laboratorium: Wyjątki wg wazniaka: część 1 i część 2. Walidator.

Tydzień 11 (4.05.2011)
Ćwiczenia: Typy uogólnione. Stos, drzewa BST, sortowanie.
Laboratorium: Typy uogólnione. Zadania.
Zadanie domowe nr 8: Zadanie nr 2 powyżej.

Tydzień 12 (11.05.2011)
Ćwiczenia: Kolekcje.
Laboratorium: Kolekcje. Zadania. Dodatkowych informacji można szukać w dokumentacji API oraz ksiażce Thinking in Java.
Zadanie domowe nr 9: Zadania nr 1 i 2 powyżej. Odpowiedzi do zadania 1 można napisać w mailu.

Tydzień 13 (18.05.2011)
Ćwiczenia: Kolekcje. Lista potęgowa, książka telefoniczna.
Laboratorium: Kolekcje i iteratory. Zadania.

Tydzień 14 (25.05.2011)
Ćwiczenia: Egzamin z PO (egzamin z roku 2009/2010).
Laboratorium: Strumienie. Zadania.
Zadanie domowe nr 10: Zadanie nr 4

Tydzień 15 (1.06.2011)
Ćwiczenia: Żaba (egzamin z roku 2008/2009). Ropucha (egzamin poprawkowy z roku 2008/2009).
Laboratorium: Serializacja. System finansowy (egzamin z roku 2007/2008).