SylabUZ

Generate PDF for this page

Computer Programming 2 - course description

General information
Course name Computer Programming 2
Course ID 11.3-WK-IiEP-PK2-W-S14_pNadGen3JVWA
Faculty Faculty of Mathematics, Computer Science and Econometrics
Field of study Informatics and Econometrics
Education profile academic
Level of studies First-cycle studies leading to Bachelor's degree
Beginning semester winter term 2020/2021
Course information
Semester 2
ECTS credits to win 5
Course type obligatory
Teaching language polish
Author of syllabus
  • dr Katarzyna Jesse-Józefczyk
Classes forms
The class form Hours per semester (full-time) Hours per week (full-time) Hours per semester (part-time) Hours per week (part-time) Form of assignment
Lecture 30 2 - - Exam
Laboratory 30 2 - - Credit with grade

Aim of the course

Opanowanie umiejętności pisania programów 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łnosci (klasy P, NP, NP-zupełne). Zapoznanie studenta z podstawowymi pojęciami programowania zorientowanego obiektowego.

Prerequisites

Programowanie komputerów 1.

Scope

Wykład

  1. Programowanie w języku Java
    Definiowanie własnych klas. Obiekty i referencje do obiektów. Konstruktory. Hermetyzacja. Tablice obiektów. Odczyt i zapis do plików tekstowych.
  2. Metody konstruowania efektywnych algorytmów.
    Rekurencja, metoda „dziel i zwyciężaj”, algorytmy zachłanne.
  3.  Podstawowe algorytmy wyszukiwania.
    Wyszukiwanie liniowe, binarne, interpolacyjne.
  4. Podstawowe algorytmy sortowania i selekcji.
  5. 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

  1. Definiowanie własnych klas.
  2. Tworzenie i operowanie na tablicach obiektów.
  3. Odczyt i zapis do plików tekstowych.
  4. Dynamiczne struktury danych (stosy, kolejki, listy).
  5. Pisanie programu będącego prostą bazą danych.

Teaching methods

Wykład: wykład problemowy.

Laboratorium: ćwiczenia laboratoryjne w pracowni komputerowej – pisanie i uruchamianie samo-dzielnie napisanych programów Java, 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 ćwiczeniach 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ą.

Learning outcomes and methods of theirs verification

Outcome description Outcome symbols Methods of verification The class form

Assignment conditions

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

Recommended reading

  1. L. Banachowski, K. Diks, W. Rytter : Algorytmy i struktury danych, WNT, W-wa 1996.
  2. M. Lis, Praktyczny kurs Java, Helion, 2011.
  3. T. Gaddis, Java dla zupełnie początkujących. Owoce programowania, wyd. VII, Helion, 2019

Further reading

  1. T.H. Cormen, Ch.E. Leiserson, R.L. Rivest: Wprowadzenie do algorytmów, WNT, 1997.
  2. P. Wróblewski: Algorytmy, struktury danych i techniki programowania, wyd. II popr., Helion, 2001.

Notes


Modified by dr Alina Szelecka (last modification: 06-10-2020 07:24)