Object programming and design
General data
Course ID: | 1100-3BP15 |
Erasmus code / ISCED: |
11.3
|
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
|
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 |
Navigate to timetable
MO WYK
TU W TH FR CW
|
Type of class: |
Classes, 30 hours, 30 places
Lecture, 30 hours, 30 places
|
|
Coordinators: | Dominik Gront | |
Group instructors: | Dominik Gront | |
Students list: | (inaccessible to you) | |
Examination: |
Course -
Examination
Lecture - Examination |
Copyright by University of Warsaw.