SylabUZ
Nazwa przedmiotu | Programowanie komputerów 2 |
Kod przedmiotu | 11.3-WK-IiEP-PK2-W-S14_pNadGen3JVWA |
Wydział | Wydział Matematyki, Informatyki i Ekonometrii |
Kierunek | Informatyka i ekonometria |
Profil | ogólnoakademicki |
Rodzaj studiów | pierwszego stopnia z tyt. licencjata |
Semestr rozpoczęcia | semestr zimowy 2022/2023 |
Semestr | 2 |
Liczba punktów ECTS do zdobycia | 5 |
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 | 30 | 2 | - | - | Egzamin |
Laboratorium | 30 | 2 | - | - | Zaliczenie na ocenę |
Opanowanie umiejętności pisania programów w języku Python z wykorzystaniem złożonych struktur danych. Umiejętność implementacji w programach algorytmów sortowania, selekcji i wyszukiwania. Znajomość w zakresie podstawowym problemu NP-zupełności (klasy P, NP, NP-zupełne). Zapoznanie studenta z podstawowymi pojęciami programowania zorientowanego obiektowego.
Programowanie komputerów 1.
Wykład
Programowanie w języku Python
Definiowanie własnych klas. Obiekty i referencje do obiektów. Konstruktory. Hermetyzacja. Tablice obiektów. Odczyt i zapis do plików tekstowych.
Metody konstruowania efektywnych algorytmów.
Rekurencja, metoda „dziel i zwyciężaj”, algorytmy zachłanne.
Podstawowe algorytmy wyszukiwania.
Wyszukiwanie liniowe, binarne, interpolacyjne.
Podstawowe algorytmy sortowania i selekcji.
Klasy złożoności obliczeniowej problemów.
Problemy decyzyjne i optymalizacyjne. Klasy złożoności obliczeniowej problemów decyzyjnych: P, NP, NP-zupełne.
Laboratorium
Definiowanie własnych klas.
Tworzenie i operowanie na tablicach obiektów.
Odczyt i zapis do plików tekstowych.
Dynamiczne struktury danych (stosy, kolejki, listy).
Pisanie programu będącego prostą bazą danych.
Wykład: wykład problemowy.
Laboratorium: ćwiczenia laboratoryjne w pracowni komputerowej – pisanie i uruchamianie samodzielnie napisanych programów, na zadane przez prowadzącego tematy, analiza tych programów i analiza stosowanych algorytmów. Nad niektórymi programami studenci będą pracowali w grupach 2-3 osobowych. Na ostatnich trzech laboratoriach każdy student pracuje nad samodzielnie zaprojektowaną aplikacją będącą prostą bazą danych, zawierającą wszystkie zdobyte na zajęciach umiejętności. Do aplikacji musi być dołączona dokumentacja zgodna z zadaną specyfikacją.
Opis efektu | Symbole efektów | Metody weryfikacji | Forma zajęć |
Wykład. Egzamin weryfikujący efekty kształcenia w zakresie wiedzy i umiejętności. Egzamin składa się z dwóch części, pisemnej i ustnej. Warunkiem przystąpienia do części ustnej jest uzyskanie 30% punktów z części pisemnej. Uzyskanie 50% punktów z części pisemnej gwarantuje uzyskanie pozytywnej oceny.
Laboratorium. Ocena końcowa jest wystawiana na podstawie punktów uzyskanych na zajęciach. Punkty uzyskuje się za napisane na zajęciach sprawdziany, przedstawioną na ostatnich zajęciach aplikację, aktywność na zajęciach.
Na ocenę z przedmiotu składa się ocena z laboratorium (50%) oraz ocena z egzaminu (50%). Warunkiem przystąpienia do egzaminu jest pozytywna ocena z laboratorium. Warunkiem zaliczenia przedmiotu jest pozytywna ocena z egzaminu
Ramalho, Python 3: Zaawansowany Python. Jasne, zwięzłe i efektywne programowanie, Wydawnictwo Helion, 2020
L. Banachowski, K. Diks, W. Rytter, Algorytmy i struktury danych, WNT, Warszawa 1996.
https://docs.python.org/3/
Zmodyfikowane przez dr Alina Szelecka (ostatnia modyfikacja: 04-07-2022 08:02)