Spis rzeczy

Opis wykładu
Spis wykładów
Przydatne linki

Dane o wykładzie

Wykładowca: Marcin Młotkowski
Wykład: czwartek 10:15-12:00, sala 25

Konsultacje

Pok. 303, godziny dostępne w Systemie Zapisy

Punkty za zajęcia

Informacje o zdobytych punktach są widoczne w systemie USOSWeb.

Zasady dot. projektów

wraz z przykładowymi tematami są na tej stronie

Komunikaty

21 lutego (czwartek) będzie pierwszy wykład.
W dniach 21-22 lutego (czwartek i piątek) nie ma pracowni.

Parę słów o wykładzie

Jednym z najważniejszych narzędzi używanych obecnie w inżynierii oprogramowania jest paradygmat programowania obiektowego. Podstawowym pojęciem w tym paradygmacie jest obiekt: swego rodzaju czarna skrzynka posiadająca pewną wewnętrzną strukturę oraz ściśle wyspecyfikowany interfejs za pomocą którego można modyfikować tę strukturę. Dzięki temu projektowanie aplikacji rozumiane jako odzwierciedlenie pewnego fragmentu rzeczywistości stało się bardziej naturalne. Nie byłoby jednak programowania obiektowego bez obiektowych języków programowania, dlatego do podstawowego warsztatu każdego programisty należy znajomość przynajmniej jednego z takich języków: Java czy C#.

Podczas zajęć przedstawiane są zarówno podstawowe zagadnienia programowania obiektowego, jak również prezentowane są techniki implementacji popularnych struktur danych w wybranych obiektowych językach programowania. Pracownia przypisana do zajęć daje zarówno możliwość praktycznego zgłębiania wykładanych zagadnień w powszechnie stosowanych językach takich jak C# czy Java, jak i samodzielnego przygotowania analizy i projektu wybranego zagadnienia.

Spis wykładów

NrDataOpisLista zadań
121.02.2019Sprawy organizacyjne, wprowadzenie do programownia obiektowegoLista 1.
228.02.2019Klasy i obiekty w C#Lista 2.
307.03.2019PolimorfizmLista 3.
428.03.2019Właściwości. Model obiektowyLista 4.
504.04.2019JavaLista 5.
611.04.2019Thread: dziedziczenie a implementacja interfejsuLista 6.
718.04.2019Swing: MVC, słuchaczeLista 7.
825.04.2019Język Ruby: podstawyLista 8.
916.05.2019Duck typing, mix-insLista 9.
1023.05.2019Wzorce projektoweLista 10.
1130.05.2019Analiza obiektowa
1206.06.2019Implementacja modelu obiektowego, trwałość obiektów

Ćwiczenia i pracownie

Zajęcia pomocnicze do wykładu Programowanie Obiektowe są podzielone organizacyjnie na dwie części różniące się między sobą sposobem prowadzenia ćwiczeń. Ocena końcowa zależy od sumy punktów uzyskanych w obydwu częściach.

Pracownia

Podczas pierwszej części trwającej do połowy maja zajęcia będą odbywały się na pracowni. Zadaniem każdego studenta będzie systematyczne programowanie zadań z wywieszanych list zadań. Za każde zadanie (o ile nie zaznaczono inaczej na liście) student może otrzymać do 4 punktów w zależności od jakości rozwiązania. Z danej listy student może otrzymać punkty jedynie za dwa wskazane przez siebie zadania.

Zadania można oddawać jedynie podczas pracowni. Zadania mają być wykonane samodzielnie. Za plagiat prowadzący ma prawo wyciągnąć konsekwencje w postaci niezaliczenia programu bądź nawet całej pracowni

Termin oddawania zadań upływa w następnym tygodniu po ogłoszeniu listy. W przypadku świąt, dni rektorskich itp. termin ten przedłuża się odpowiednio. W przypadku choroby udokumentowanej wpisem w książeczce zdrowia termin ten jest również odpowiednio przedłużany. W przypadku spóźnienia o tydzień student otrzymuje maksymalnie połowę punktów przypisanych do zadania. Na kolejnych zajęciach zadanie nie będzie już sprawdzane.

Projekt

Druga część zajęć (maj/czerwiec) polega na samodzielnym opracowaniu i zaprogramowaniu wybranego tematu (projektu). Zajęcia będą odbywały się w salach seminaryjnych, podczas których studenci będą przedstawiali zagadnienie, które zamierzają zaimplementować oraz schemat rozwiązania. Za realizację projektu można otrzymać do 20 punktów, przy czym otrzymanie 10 punktów za projekt jest warunkiem koniecznym do zaliczenia ćwiczeń. Projekty oddaje się prowadzącemu ćwiczenia.
Szczegółowy opis Termin: 19 czerwca (o ile prowadzący pracownię nie poda inaczej).

Gdzie szukać informacji

Ogólnie o programowaniu obiektowym

Smalltalk

C#

Java

Ruby

Wzorce projektowe

Obiekty rozproszone