Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Programowanie obiektowe
Tok studiów:
2019/2020
Kod:
ZIIE-1-303-n
Wydział:
Zarządzania
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Informatyka i Ekonometria
Semestr:
3
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Niestacjonarne
Strona www:
 
Prowadzący moduł:
dr inż. Duda Jerzy (jduda@zarz.agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Celem modułu jest poznanie podstawowych technik programowania obiektowego: enkapsulacji, dziedziczenia i polimorfizmu. Prezentuje także techniki budowania aplikacji konsolowych i wykorzystujących GUI, a także do tworzenia warstwy modelu.

Opis efektów uczenia się dla modułu zajęć
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Powiązania z KEU Sposób weryfikacji i oceny efektów uczenia się osiągniętych przez studenta w ramach poszczególnych form zajęć i dla całego modułu zajęć
Wiedza: zna i rozumie
M_W001 zna i rozumie podstawowe mechanizmy programowania obiektowego: abstrakcję, hermetyzację, dziedziczenie i polimorfizm IIE1A_W04, IIE1A_W06 Egzamin
M_W002 zna i rozumiemy podstawowe klasy pozwalające na łatwą agregację obiektów (kolekcje oraz kolekcje generyczne) IIE1A_W04, IIE1A_W06 Egzamin
Umiejętności: potrafi
M_U001 potrafi wykorzystać środowisko programistyczne (np. Visual Studio, NetBeans) w celu edycji kodu, jego kompilacji, usuwania błędów oraz projektowania GUI IIE1A_U05, IIE1A_U06 Projekt,
Wykonanie ćwiczeń laboratoryjnych
M_U002 potrafi utworzyć obiektowy model problemu, odpowiednio zdefiniować klasy oraz związki pomiędzy klasami i zapisać ich kod w języku C# lub Java, wykorzystując specyfikę języka IIE1A_U09, IIE1A_U06 Wykonanie ćwiczeń laboratoryjnych,
Kolokwium,
Projekt
Kompetencje społeczne: jest gotów do
M_K001 potrafi wraz z zespołem zaprojektować, a następnie utworzyć aplikację obiektową zgodną z określonymi wymaganiami funkcjonalnymi IIE1A_K02 Projekt,
Prezentacja
Liczba godzin zajęć w ramach poszczególnych form zajęć:
SUMA (godz.)
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
22 8 0 0 14 0 0 0 0 0 0 0
Matryca kierunkowych efektów uczenia się w odniesieniu do form zajęć i sposobu zaliczenia, które pozwalają na ich uzyskanie
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Forma zajęć dydaktycznych
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Wiedza
M_W001 zna i rozumie podstawowe mechanizmy programowania obiektowego: abstrakcję, hermetyzację, dziedziczenie i polimorfizm + - - - - - - - - - -
M_W002 zna i rozumiemy podstawowe klasy pozwalające na łatwą agregację obiektów (kolekcje oraz kolekcje generyczne) + - - - - - - - - - -
Umiejętności
M_U001 potrafi wykorzystać środowisko programistyczne (np. Visual Studio, NetBeans) w celu edycji kodu, jego kompilacji, usuwania błędów oraz projektowania GUI - - - + - - - - - - -
M_U002 potrafi utworzyć obiektowy model problemu, odpowiednio zdefiniować klasy oraz związki pomiędzy klasami i zapisać ich kod w języku C# lub Java, wykorzystując specyfikę języka - - - + - - - - - - -
Kompetencje społeczne
M_K001 potrafi wraz z zespołem zaprojektować, a następnie utworzyć aplikację obiektową zgodną z określonymi wymaganiami funkcjonalnymi - - - + - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 100 godz
Punkty ECTS za moduł 4 ECTS
Udział w zajęciach dydaktycznych/praktyka 22 godz
Przygotowanie do zajęć 25 godz
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 30 godz
Samodzielne studiowanie tematyki zajęć 21 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Wykład (8h):
Tematyka wykładów

Pojęcie paradygmatu. Paradygmat imperatywny, funkcyjny, logiczny (deklaratywny) oraz obiektowy.
Pojęcie abstrakcji, klasy i obiektu. Odpowiedzialność klasy. Metodyka Class-Responsibility-Collaboration (CRC). Definiowanie klas w C#/Java.
Podstawowe mechanizmy paradygmatu obiektowego: hermetyzacja, polimorfizm, związki pomiędzy klasami, dziedziczenie i interfejsy.
Kolekcje i kolekcje generyczne. Iteratory i pętla foreach. Serializacja obiektów.
Programowanie oparte o zdarzenia i tworzenie GUI. Mechanizm delegatów w C#.

Ćwiczenia projektowe (14h):
  1. Tematyka ćwiczeń projektowych

    Tworzenie aplikacji konsolowej z wykorzystaniem statycznych metod (funkcji).
    Tworzenie klas.
    Obsługa wyjątków.
    Agregacja obiektów z wykorzystaniem list.
    Kolekcje generyczne.
    Wbudowane interfejsy.
    Zapis obiektów do pliku – serializacja.
    Graficzny Interfejs Użytkownika (GUI – Graphical User Interface, WPF – Windows Presentation Foundation).
    Słowniki.
    Połączenie z bazą danych.
    Testy jednostkowe.
    Tworzenie dokumentacji do kodu obiektowego.

  2. Projekt aplikacji

    Projekt aplikacji obiektowej do wykonania w zespole.
    Projekt obejmuje przygotowanie kompletnej aplikacji obiektowej obejmujący logikę biznesową, zapis obiektów do pliku lub do bazy danych, interfejs użytkownika oraz testy jednostkowe.

Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem tablicowym wzbogaconymi o pokazy odnoszące się do prezentowanych zagadnień.
  • Ćwiczenia projektowe: Studenci wykonują zadany projekt samodzielnie, bez większej ingerencji prowadzącego. Ma to wykształcić poczucie odpowiedzialności za pracę w grupie oraz odpowiedzialności za podejmowane decyzje.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

1. Wykonanie zadań prezentowanych na ćwiczeniach i przesłanie ich na platformę UPEL.
2. Zaliczenie kolokwium.
3. Wykonanie projektu zgodnie z przedstawionymi wytycznymi i kryteriami oceny.
Kolokwium poprawkowe zostanie zorganizowane w dodatkowych godzinach, nie wcześniej niż tydzień po pierwszym terminie.
Warunkiem dopuszczenia do egzaminu jest zdane kolokwium i oddany projekt.

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Nie
    – Zasady udziału w zajęciach: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Ćwiczenia projektowe:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci wykonują prace praktyczne mające na celu uzyskanie kompetencji zakładanych przez syllabus. Ocenie podlega sposób wykonania projektu oraz efekt końcowy.
Sposób obliczania oceny końcowej:

Ocena końcowa wystawiana jest przez prowadzącego wykład jest jako średnia z oceny z egzaminu (waga 0,6) oraz oceny z ćwiczeń projektowych (waga 0,4). Ocena z ćwiczeń projektowych wystawiana jest na podstawie ocen uzyskanych z kolokwiów (waga 0,6) oraz oceny z projektu (waga 0,3) i ćwiczeń laboratoryjnych (waga 0,1).

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

W przypadku nieobecności, student zobowiązany jest do zrobienia zaległych zadań samodzielnie i wysłania ich rezultatów na platformę. W przypadku nieobecności na kolokwium, student musi zaliczyć w terminie poprawkowym lub innym uzgodnionym z wykładowcą.

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :

Wymagana znajomość podstaw programowania strukturalnego.

Zalecana literatura i pomoce naukowe:

Literatura podstawowa:
1. B. Meyer: Programowanie zorientowane obiektowo, Helion, Gliwice 2005
2. J. Liberty: C#. Programowanie, Helion, Gliwice 2006
3. C.S. Horstmann, G. Cornell, Java. Podstawy, Helion, Gliwice 2013
4. MSDN Library Visual C#: http://msdn.microsoft.com/en-us/library
5. Java Platform Standard Edition 7 Documentation: http://docs.oracle.com/javase/7/docs/
Literatura dodatkowa:
1. A. Boduch: Wstęp do programowania w języku C#, Helion, Gliwice 2006
2. M. Lis: C#. Ćwiczenia. Wydanie II, Helion, Gliwice 2006
3. K. Rychlicki-Kicior: C#. Tworzenie aplikacji graficznych w .NET 3.0, Helion, Gliwice 2007
4. M. Lis: Praktyczny kurs Java, Wydanie III, Helion, Gliwice 2011

Oprogramowanie
1. Microsoft Visual Studio z zainstalowanym językiem C# (lub Mono)
2. Środowisko Java SDK (zalecane NetBeans lub Eclipse)

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Analizy komputerowe i metody obliczeniowe w inżynierii produkcji — [Computer aided analysis and computational methods in production engineering] / Piotr ŁEBKOWSKI, Iwona SKALNA, Jerzy DUDA, Bartłomiej GAWEŁ, Katarzyna GDOWSKA, Elżbieta Indyk, Marcin Klimek, Antoni KORCYL, Roger KSIĄŻEK, Marek MAGIERA. — Kraków : Wydawnictwa AGH, 2013

Parallel execution in metaheuristics for the problem of solving parametric interval linear systems / Jerzy DUDA, Iwona SKALNA // W: Parallel Processing and Applied Mathematics : 9th international conference, PPAM 2011 : Torun, Poland, September 11–14, 2011 : revised selected papers, Pt. 2 / eds. Roman Wyrzykowski, [et al.]. — Berlin ; Heidelberg ; Springer-Verlag, cop. 2012

Informacje dodatkowe:

Brak