SylabUZ
Nazwa przedmiotu | Programowanie obiektowe |
Kod przedmiotu | 11.3-WF-FizP-ProOb-L-S14_genNLL9Z |
Wydział | Wydział Fizyki i Astronomii |
Kierunek | Fizyka |
Profil | ogólnoakademicki |
Rodzaj studiów | pierwszego stopnia z tyt. licencjata |
Semestr rozpoczęcia | semestr zimowy 2021/2022 |
Semestr | 3 |
Liczba punktów ECTS do zdobycia | 6 |
Występuje w specjalnościach | Fizyka komputerowa |
Typ przedmiotu | obowiązkowy |
Język nauczania | polski |
Sylabus opracował |
|
Forma zajęć | Liczba godzin w semestrze (stacjonarne) | Liczba godzin w tygodniu (stacjonarne) | Liczba godzin w semestrze (niestacjonarne) | Liczba godzin w tygodniu (niestacjonarne) | Forma zaliczenia |
Wykład | 15 | 1 | - | - | Egzamin |
Laboratorium | 45 | 3 | - | - | Zaliczenie na ocenę |
Przedmiot stanowi wprowadzenie do programowania obiektowego i zastosowania technik obiektowych w rozwiązywaniu problemów i zagadnień z fizyki i nauk pokrewnych. Celem przedmiotu jest przedstawienie technik programowania obiektowego w języku Python oraz przedstawienie programowania obiektowego jako sposobu analizy i modelowania problemu w oderwaniu od specyfiki danego języka programowania. Kurs oprócz omówienie technik obiektowych zakłada również zapoznanie uczestników z standardami kodowania, formatowania kodu oraz jego dokumentowania i utrzymania w celu jego rozwoju.
Minimalny zakres wymagań wstępnych to sprawne posługiwanie się systemem Linux (zarówno w konsoli jak i w środowisku graficznym), znajomość podstaw programowania obejmujących programowanie proceduralne.
1. Wstęp do programowania obiektowego
− programowanie obiektowe, a programowanie strukturalne
− pojęcie klasy, obiektu, metod i pól
− pojęcie konstruktora i destruktora
− instancje klas
− enkapsulacja danych
− funkcje specjalne
- metody i atrybuty klasy, metody statyczne
2. Dziedziczenie, polimorfizm
− dziedziczenie
− polimorfizm
- abstrakcja
3. Organizacja kodu
− standardy nazewnictwa i formatowania kodu
− moduły i pakiety
− przestrzenie nazw
− dokumentowanie kodu
− systemy kontroli wersji
4. Modelowanie i programowanie obiektowe
− analiza problemu i budowa jego modelu
− proces powstawania oprogramowania
− diagramy UML
5.Wzorce projektowe
− koncepcja wzorców projektowych
− wzorce kreacyjne
− wzorce strukturalne
− wzorce czynnościowe
6. Frameworki
− pojęcie frameworku i zastosowania
− wybrany przykład frameworku
Wykład:
Wykład konwencjonalny, problemowy, pokaz, dyskusja, warsztaty (testowanie aktualnie omawianych fragmentów kodu), burza mózgów
Laboratoria:
Ćwiczenia laboratoryjne, metoda projektu, praca w grupie, giełda pomysłów, burza mózgów, prezentacja, praca z dokumentacją, samodzielne pozyskiwanie wiedzy
Opis efektu | Symbole efektów | Metody weryfikacji | Forma zajęć |
Wykład:
Egzamin praktyczny polegający na rozwiązaniu postawionego problemu (wylosowanego z listy problemów). Ocenie końcowej podlega analiza problemu, przedstawienie algorytmów rozwiązania problemu, kod źródłowy oraz ocena i weryfikacja uzyskanych wyników
Laboratoria
Ocena końcowa składa się z: średniej ocen uzyskanych w trakcie laboratoriów z aktywności i krótkich testów sprawdzających postępy w nauce ( 50% oceny końcowej), oceny projektu semestralnego (50 % oceny końcowej). Warunkiem zaliczenia projektu semestralnego jest jego wykonanie, przygotowanie i oddanie w przewidzianym terminie sprawozdania z projektu oraz jego prezentacja. Przed przystąpieniem do egzaminu student musi uzyskać zaliczenie z ćwiczeń. Ocena końcowa: średnia ważona ocen z egzaminu (60%) i ćwiczeń (40%).
1. "Zaawansowany Python. Jasne, zwięzłe i efektywne programowanie", R.Luciano, APN Promise
2. "Learning Python. Powerful Object-Oriented Programming. 5th Edition", M.Lutz, Helion
3. "Python 3 Object-Oriented Programming" D.Philips, Helion
4. "Clean Code in Python" M.Anaya, Helio
5. Steve Holzner, Design patterns for dummies, Willey Publishing Ing. Indianapolis 2006.
[1] Internet
Wykład powinien odbywać się w sali z dostępem do internetu. Laboratoria komputerowe powinny odbywać się w grupach umożliwiających samodzielną pracę przy komputerze każdego studenta i nie liczniejszych niż 12 osób.
Zmodyfikowane przez dr Marcin Kośmider (ostatnia modyfikacja: 10-05-2021 21:12)