apohllo.pl
więcej niż strona domowa...
 

Programowanie obiektowe

Terminy zajęć

(dotyczy wyłącznie zająć prowadzonych przeze mnie)

  • Wykład: sala 1.38, wt. 11:15-12:45
  • Laboratorium: sala 3.27d, pn. 9:35-11:05
  • Laboratorium: sala 3.27d, pn. 11:15-12:45
  • Laboratorium: sala 3.27d, wt. 12:50-14:20
  • Laboratorium: sala 4.26, czw. 16:15-17:45

Konsultacje: wtorek, 15:30-18:00

Terminy egzaminów

  • termin “0” – 25 stycznia (pt), g. 14:00-17:00, sala 4.13 (pokój konsultacyjny)
  • termin 1 – 29 stycznia (wt), g. 11:15, sala 1.38 oraz sala 2.41 (2 sale wykładowe)
  • termin 2 – 5 lutego (wt), g. 11:15, sala 2.41
  • termin 3 – 11 lutego (pn), g. 12:00, sala 2.41

Warunkiem przystąpienia do egzaminu “0” jest ocena bdb z ćwiczeń, otrzymana najpóźniej 24 stycznia.

Wykłady

Źródła wykładów

Laboratoria

Treści zadań na Githubie

Zagadnienia na egzamin

  1. Cechy języków obiektowych
  2. Abstrakcja w językach obiektowych
  3. Cykl życia obiektu w Javie – konstrukcja i odśmiecanie
  4. Hermetyzacja
  5. Polimorfizm
  6. Definicja w ujęciu Arystotelesa
  7. Dziedziczenie a język naturalny
  8. Klasa Object w Javie
  9. Kompilacja i interpretowanie programu w Javie (odniesienie do architektury JVM)
  10. Własności typów prymitywnych w Javie
  11. Rozróżnienie na typy prymitywne oraz obiektowe, typy otokowe
  12. Różnice pomiędzy typem tablicowym a implementacjami interfejsu List
  13. Porównywanie obiektów w Javie
  14. Na czym polega „primitive obssesion”
  15. Modyfikator final dla atrybutów
  16. Modyfikatory dostępu dla atrybutów i zasady ich stosowania
  17. Porównanie własności dwóch modyfikatorów dostępu do atrybutów
  18. Hierarchia modyfikatorów dostępu (private, default, protected, public)
  19. Metody dostępowe: „gettery” i „settery”
  20. Na czym polega dostęp dziedzinowy do atrybutów?
  21. Co to jest ValueObject?
  22. Na czym polega przysłanianie atrybutów (shadowing)?
  23. Poprawne i niepoprawne wykorzystanie atrybutów klasowych (statycznych)
  24. Różnice w modelu prywatności pomiędzy Javą a Rubim
  25. Metody wirtualne w Javie
  26. Modyfikatory dostępu do metod i zasady ich stosowani
  27. Porównanie własności dwóch modyfikatorów dostępu do metod
  28. Zastępowanie i rozszerzanie zachowania klasy nadrzędnej
  29. Modyfikator final dla metod
  30. Poprawne i niepoprawne wykorzystanie metod klasowych (statycznych)
  31. Dziedziczenie a metody statyczne
  32. Metody i klasy abstrakcyjne
  33. Uzasadnienie stosowania klas abstrakcyjnych
  34. Interfejsy i ich zastosowanie
  35. Metody domyślne w interfejsie
  36. Klasy abstrakcyjne a interfejsy
  37. Dziedziczenie vs. Kompozycja
  38. Wyjątki a inne sposoby obsługi błędów
  39. Rzucanie wyjątków (throw vs throws)
  40. Obsługa wyjątków (try – catch – finally)
  41. Przyczyny występowania wyjątków (3)
  42. Typy wyjątków (2)
  43. Hierarchia wyjątków a kolejność obsługi
  44. Zasada rzucaj wcześnie, łap późno
  45. Otwieranie zasobów, a wyjątki
  46. Interfejs List i jego najważniejsze implementacje (ArrayList i LinkedList)
  47. Metody opcjonalne w interfejsie List
  48. Wyjątek ConcurrentModificationException
  49. Wzorzec iterator
  50. Interfejs Set i jego najważniejsze implementacje (HashSet i TreeSet)
  51. Metody equals i hashCode
  52. Interfejs Map i jego najważniejsze imeplementacje (HashMap i TreeMap)
  53. Metoda stream w interfejsie Collection
  54. Kolekcje a typy uogólnione (generyczne)
  55. Statyczne typy zagnieżdżone klasy (statyczna klasa) i ich własności
  56. Niestatyczne klasy zagnieżdżone i ich własności
  57. Klasy anonimowe a wyrażenia lambda
  58. Refleksja w Javie
  59. Operator instanceof
  60. Charakterystyka typów ogólnych w Javie
  61. Występowanie typów nieznanych
  62. Operatory <? extends T>, <? super T>
  63. Wymazywanie typu
  64. Rozróżnienie na program, proces, wątek
  65. Klasa Thread i interfejs Runnable
  66. ExecutorService i interfejs Future
  67. Hazard w programowaniu wielowątkowym
  68. Sekcja krytyczna
  69. Wait i notify
  70. AtomicLong vs. LongAdder
  71. Kolekcje dostosowane do pracy współbieżnej (CopyOnWriteArrayList, ConcurrentHashMap)
  72. parallelStream
| Opublikowano 15:19 17-10-2016. Ostatnia modyfikacja 12:22 28-01-2019 |
comments powered by Disqus