Programowanie zaawansowane 420-IS1-2PZ
Profil studiów: ogólnoakademicki
Forma studiów: stacjonarne
Rodzaj przedmiotu: obowiązkowy
Dziedzina: nauki ścisłe i przyrodnicze; dyscyplina: informatyka
Rok studiów / semestr: 2 / 3
Wymagania wstępne (tzw. sekwencyjny system zajęć i egzaminów): Przedmioty wprowadzające: Podstawy programowania strukturalnego, Wstęp do programowania obiektowego,
Wykład: 30
Laboratorium: 45
Metody dydaktyczne: wykład, zadania rozwiązywane na zajęciach laboratoryjnych
Punkty ECTS: 5
Bilans nakładu pracy studenta:
Udział w zajęciach:
- wykład 30h
- laboratorium 45h
Przygotowanie do zajęć:
- wykład 15h
- laboratorium 25h
Przygotowanie do egzaminu: 10h
Czas trwania egzaminu: 2h
Udział w konsultacjach: 10h
Wskaźniki ilościowe:
- nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela: 87h, 3 ECTS
- nakład pracy studenta, który nie wymaga bezpośredniego udziału nauczyciela: 50h, 2 ECTS
Rodzaj przedmiotu
Tryb prowadzenia przedmiotu
Wymagania (lista przedmiotów)
Założenia (opisowo)
Koordynatorzy przedmiotu
Efekty kształcenia
Efekty uczenia się w ramach realizacji przedmiotu:
Zna i rozumie podstawowe techniki programowania obiektowego: abstrakcję danych, hermetyzację, dziedziczenie, polimorfizm. KA6_WG4, KA6_WG5
Zna wykorzystywane współcześnie zaawansowane mechanizmy programowania (korzystanie z klas bibliotecznych, przedefiniowywanie standardowych metod z nadklasy Object języka Java, wykorzystywanie interfejsów, wyrzucanie, przechwytywanie i obsługa wyjątków, definiowanie i używanie klas uogólnionych oraz kolekcji i zbiorów, serializacja, testowanie jednostkowe, generowanie dokumentacji). KA6_WG4, KA6_WG5
Zna założenia i charakterystykę podstawowych wzorców projektowych programowania obiektowego. KA6_WG3, KA6_WG4, KA6_WG5
Potrafi tworzyć obiektowe odwzorowanie dziedziny problemu wraz z realizacją związków między klasami pojęciowymi (specjalizacja/generalizacja, agregacja i kompozycja). KA6_UW6, KA6_UW7, KA6_UW8, KA6_UK3
Potrafi stosować w praktyce (do implementacji poprawnych strukturalnie, łatwych w utrzymaniu i efektywnych programów obiektowych) zaawansowane techniki programowania obiektowego (korzystanie z klas bibliotecznych, przedefiniowanie standardowych metod z nadklasy Object języka Java, wykorzystywanie interfejsów, wyrzucanie, definiowanie i obsługa wyjątków, definiowanie i używanie klas uogólnionych oraz kolekcji i zbiorów, serializacja, testowanie jednostkowe, generowanie dokumentacji). KA6_UW6, KA6_UW7, KA6_UW8, KA6_UK3
Potrafi wychwytywać w dziedzinie problemu podstawowe wzorce projektowe, projektować ich wykorzystanie oraz je implementować. KA6_UW6, KA6_UW8, KA6_UW15, KA6_UK3
Potrafi definiować kompetencje programisty-twórcy klas oraz programisty-klienta oraz stosować techniki programistyczne umożliwiające i ułatwiające współpracę wielu programistów na różnych poziomach współdziałania. KA6_UU1, KA6_KK1
Kryteria oceniania
Ogólna forma zaliczenia przedmiotu: pisemny egzamin.
Literatura
Literatura podstawowa:
- Bruce Eckel - Thinking in Java. Edycja polska. Wydanie IV, 2006.
- Bruce Eckel - Thinking in Java, 3rd Edition (edycja angielska)
- http://wazniak.mimuw.edu.pl/index.php?title=Programowanie_obiektowe
- http://wazniak.mimuw.edu.pl/index.php?title=Zaawansowane_projektowanie_obiektowe
- Materiały Oracle Academy
Literatura uzupełniająca:
- Krzysztof Barteczko - Java od podstaw do technologii. Mikom Multimedia, 2004.
- Marcin Lis - Java, ćwiczenia praktyczne. Helion, 2011.
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: