Spis rzeczy

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

Dane o wykładzie

Wykładowca: Marcin Młotkowski
Wykład: czwartek 12:15-14: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

23 lutego (czwartek) będzie pierwszy wykład.

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.

Zasady zaliczenia i egzaminy

Zaliczenie ćwiczeń i pracowni uzyskuje się m.in. po zdobyciu odpowiedniej liczby punktów. Egzaminu z Programowania obiektowego nie ma, ocena z zaliczenia jest przepisywana jako ocena z egzaminu.

Spis wykładów

NrDataOpisLista zadań
122.02.2018Sprawy organizacyjne, wprowadzenie do programownia obiektowegoLista 1.
201.03.2018Klasy i obiekty w C#Lista 2.
308.03.2018Polimorfizm. Pola i metody statyczneLista 3.
415.03.2018Właściwości. Model obiektowyLista 4.
522.03.2018Java. Zasada otwarte-zamknięteLista 5.
629.03.2018WątkiLista 6.
705.04.2018Swing. Zasada pojedynczej odpowiedzialnościLista 7.
812.04.2018RubyLista 8.
919.04.2018BlokiLista 9.

Ć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

Gdzie szukać informacji

Ogólnie o programowaniu obiektowym

Smalltalk

C#

Java

Ruby

Wzorce projektowe

Obiekty rozproszone