SylabUZ

Wygeneruj PDF dla tej strony

Programowanie obiektowe - opis przedmiotu

Informacje ogólne
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 2022/2023
Informacje o przedmiocie
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ł
  • dr Marcin Kośmider
Formy zajęć
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ę

Cel przedmiotu

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.

 

Wymagania wstępne

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.

 

Zakres tematyczny

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

 

Metody kształcenia

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

 

Efekty uczenia się i metody weryfikacji osiągania efektów uczenia się

Opis efektu Symbole efektów Metody weryfikacji Forma zajęć

Warunki zaliczenia

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%).

 

Literatura podstawowa

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.

 

Literatura uzupełniająca

[1] Internet

 

Uwagi

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: 04-04-2022 20:33)