Forma aktywności: |
Szacowana liczba godzin potrzebnych na zrealizowanie aktywności: | |
studia stacjonarne |
niestacjonarne | |
1. Godziny realizowane w bezpośrednim kontakcie z nauczycielem akademickim |
62 |
42 |
2. Przygotowanie się do zajęć |
18 |
29 |
3. Przygotowanie esejów | ||
4. Wykonanie projektów |
18 |
18 |
5. Zapoznanie z literaturą podstawową |
9 |
12 |
6. Pisemna praca zaliczeniowa | ||
7. Inne: pisanie programów |
18 |
24 |
SUMA: |
125 |
125 |
III. TREŚCI KSZTAŁCENIA
Treści kształcenia (uszczegółowione, zaprezentowane z podziałem na poszczególne formy zajęć):
WYKŁADY:
1. O naturze programowania, programowanie jako sztuka budowania procesów obliczeniowych.
2. Język programowania Java, instalacja i konfiguracja środowiska programistycznego JDK, budowa, kompilacja i uruchomienie prostego programu.
3. System typów języka Java, typy proste, konwersje niejawne i jawne (operator cast), operator <: (pojęcie typu i podtypu), zastosowanie operatora <: do typów prostych.
4. Typy referencyjne w języku Java, klasy - wprowadzenie.
5. Tworzenie klas, konstrukcja obiektów, inicjalizacja przy użyciu konstruktorów, symbol specjalny this i jego znaczenie, przeciążanie nazw konstruktorów.
6. Tworzenie i wywoływanie metod, abstrakcja „czarnej skrzynki”, przeciążanie nazw metod.
7. Rekurencja, wykorzystanie, warunek zatrzymania procesu. Procesy rekurencyjne i iteracyjne. Rekurencja a stos.
8. Omówienie natury obiektowego stylu programowania w zestawieniu ze stylem proceduralnym.
9. Dziedziczenie, hierarchie klas w Javie.
10. Przesłanianie metod, słowo kluczowe super i jego znaczenie.
11. Hermetyzacja, specyfikacja poziomów dostępu w języku Java
12. Klasy abstrakcyjne, dekompozycja funkcjonalności pomiędzy „uczestników” hierarchii klas.
13. Interfejsy, implementacja i wykorzystanie.
14. Stałość symboli w Javie, obiekty niezmienne, inicjalizacja pól i zmiennych finalnych.
15. Tożsamość obiektów, metody hashCode oraz equals - przykładowe implementacje.
16. Wykład podsumowujący.
LABORATORIA:
1. Organizacja zajęć, omówienie warunków zaliczenia i zasad wykonywania zadań składowych.
2. Budowanie obiektowej reprezentacji liczb wymiernych (ułamków) z wykorzystaniem mechanizmów poznanych w trakcie zajęć wykładowych. Zalecane zastosowanie algorytmu Euklidesa do skracania ułamków. Operacje dodawania, odejmowania, mnożenia i dzielenia w postaci odpowiednich metod.
3. Budowanie klas reprezentujących wielomiany, implementacja różnych metod reprezentowania współczynników i wykładników potęg w klasach należących do hierarchii.
4. Tworzenie klasy, której obiekty są reprezentantami liczb zespolonych, różne formy. Implementacja podstawowych operacji.
9