University of Warsaw - Central Authentication System
Strona główna

Object programming and design

General data

Course ID: 1100-3BP15
Erasmus code / ISCED: 11.3 Kod klasyfikacyjny przedmiotu składa się z trzech do pięciu cyfr, przy czym trzy pierwsze oznaczają klasyfikację dziedziny wg. Listy kodów dziedzin obowiązującej w programie Socrates/Erasmus, czwarta (dotąd na ogół 0) – ewentualne uszczegółowienie informacji o dyscyplinie, piąta – stopień zaawansowania przedmiotu ustalony na podstawie roku studiów, dla którego przedmiot jest przeznaczony. / (0612) Database and network design and administration The ISCED (International Standard Classification of Education) code has been designed by UNESCO.
Course title: Object programming and design
Name in Polish: Programowanie i projektowanie obiektowe
Organizational unit: Faculty of Physics
Course groups: APBM - Molecular Modelling and Bioinformatics; 3rd year courses
ECTS credit allocation (and other scores): 4.00 Basic information on ECTS credits allocation principles:
  • the annual hourly workload of the student’s work required to achieve the expected learning outcomes for a given stage is 1500-1800h, corresponding to 60 ECTS;
  • the student’s weekly hourly workload is 45 h;
  • 1 ECTS point corresponds to 25-30 hours of student work needed to achieve the assumed learning outcomes;
  • weekly student workload necessary to achieve the assumed learning outcomes allows to obtain 1.5 ECTS;
  • work required to pass the course, which has been assigned 3 ECTS, constitutes 10% of the semester student load.

view allocation of credits
Language: Polish
Prerequisites (description):

At least basic knowledge of programming in Python

Mode:

Classroom

Full description: (in Polish)

I. Programowanie obiektowe

Programowanie a programowanie obiektowe

Pojęcie obiektu w programowaniu, składowe obiektu. Różnica między klasą a obiektem. Pola oraz metody. Kontrola dostępu: składowe prywatne i publiczne

Tworzenie obiektów w języku Python: deklarowanie klasy. Nadawanie wartości (inicjalizacja), konstruktor, przeciążenie.

Dziedziczenie kontra zawieranie

Dziedziczenie - tworzenie hierarchii klas. Składowe chronione. Różnice między zawieraniem obiektu a dziedziczeniem (mieć vs. być).

Zaawansowane narzędzia konstruowania programu obiektowego

Pojęcie interfejsu - klasy abstrakcyjnej. Składowe statyczne. Przeciążenie operatorów i funkcje specjalne (magic functions)

II. Projektowanie obiektowe

Zapis hierarchii obiektów

Modelowanie hierarchii klas - język UML. Rodzaje powiązań: jeden do jednego, jeden do wielu, wiele do wielu, oraz sposoby ich modelowania

Wzorce projektowe

Factory method, Composite, Builder, Singleton, Dispatch, Interpreter

Ogólne zasady inżynierii oprogramowania

Podział odpowiedzialności pomiędzy klasy, projektowanie z zachowaniem wysokiej spójności i luźnego sprzężenia pomiędzy klasami. Testy jednostkowe. Wersjonowanie kodu

Obiektowa implementacja często spotykanych zagadnień

Implementacja drzewa i grafu. Omówienie wybranego kodu obiektowego (pakiet do modelowania molekularnego) pod kątem wykorzystanych rozwiązań projektowania obiektowego.

Opis sporządził Dominik Gront, październik 2020.

Learning outcomes: (in Polish)

Znajomość podstaw projektowania obiektowego. Umiejętność czytania i tworzenia diagramów UML. Znajomość języka Python w zakresie programowania obiektowego. Wiedza o jego wadach i zaletach w porównaniu z innymi językami obiektowymi.

Assessment methods and assessment criteria: (in Polish)

Egzamin pisemny (przeprowadzony w sali) składający się z kilku pytań testowych oraz 2-3 zadań otwartych lub egzamin ustny (możliwy w trybie zdalnym).

Classes in period "Winter semester 2023/24" (past)

Time span: 2023-10-01 - 2024-01-28
Selected timetable range:
Navigate to timetable
Type of class:
Classes, 30 hours, 30 places more information
Lecture, 30 hours, 30 places more information
Coordinators: Dominik Gront
Group instructors: Dominik Gront
Students list: (inaccessible to you)
Examination: Course - Examination
Lecture - Examination
Course descriptions are protected by copyright.
Copyright by University of Warsaw.
Krakowskie Przedmieście 26/28
00-927 Warszawa
tel: +48 22 55 20 000 https://uw.edu.pl/
contact accessibility statement USOSweb 7.0.3.0 (2024-03-22)