Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Obiektowe metody projektowania systemów
Tok studiów:
2019/2020
Kod:
RIAK-1-715-s
Wydział:
Inżynierii Mechanicznej i Robotyki
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Inżynieria Akustyczna
Semestr:
7
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Stacjonarne
Strona www:
 
Prowadzący moduł:
dr hab. inż. Malawski Maciej (malawski@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

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 Znajomość metod obiektowej analizy oraz projektowania systemów przy pomocy języka UML. IAK1A_W13 Aktywność na zajęciach,
Projekt
M_W002 Znajomość podstawowych zagadnień programowania w języku Java. IAK1A_W13 Projekt
Umiejętności: potrafi
M_U001 Umiejętność tworzenia oprogramowania w języku Java i posługiwania się wzorcami projektowymi oraz technikami komponentowymi. IAK1A_W13 Aktywność na zajęciach,
Projekt
M_U002 Umiejętność stosowania zasad inżynierii oprogramowania, testowania i refaktoryzacji kodu oraz użycia narzędzi do pracy zespołowej. IAK1A_W13 Projekt
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
24 14 0 0 10 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 Znajomość metod obiektowej analizy oraz projektowania systemów przy pomocy języka UML. + - - + - - - - - - -
M_W002 Znajomość podstawowych zagadnień programowania w języku Java. - - - - - - - - - - -
Umiejętności
M_U001 Umiejętność tworzenia oprogramowania w języku Java i posługiwania się wzorcami projektowymi oraz technikami komponentowymi. - - - + - - - - - - -
M_U002 Umiejętność stosowania zasad inżynierii oprogramowania, testowania i refaktoryzacji kodu oraz użycia narzędzi do pracy zespołowej. - - - - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 59 godz
Punkty ECTS za moduł 2 ECTS
Udział w zajęciach dydaktycznych/praktyka 24 godz
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 30 godz
Dodatkowe godziny kontaktowe 5 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 (14h):

  • Podstawy analizy i projektowania obiektowego, modelowanie oraz projektowanie systemów przy pomocy klas, obiektów oraz relacji między nimi.
  • Wstęp do języka Java, różnice między Java a C++.
  • Wprowadzenie do w języka UML, modelowanie zależności statycznych i dynamicznych, diagramy przypadków użycia, klas, sekwencji, stanu, kolaboracji, aktywności, komponentów.
  • Programowanie generyczne na przykładzie Java Collections Framework.
  • Wzorce projektowe: Singleton, Factory, Adapter, Facade, Composite, Proxy, Observer, Visitor oraz Strategy. Wzorzec MVC – model view controller.
  • Elementy programowania komponentowego: zasady kompozycji, zależności między obiektami, lekkie kontenery (inversion of control).
  • Podstawy obiektowego programowania systemów równoległych i rozproszonych na przykładzie Java RMI oraz współbieżnych kolekcji.
  • Testowanie oprogramowania na przykładzie biblioteki Junit, zasady refaktoryzacji kodu.
  • Narzędzia do współpracy zespołowej, systemy kontroli wersji (Git).
  • Programowanie aplikacji mobilnych w Javie (wstęp do platformy Android)

Ćwiczenia projektowe (10h):

  • Podstawy analizy i projektowania obiektowego, modelowanie oraz projektowanie systemów przy pomocy klas, obiektów oraz relacji między nimi.
  • Wstęp do języka Java.
  • Wprowadzenie do w języka UML, modelowanie zależności statycznych i dynamicznych, diagramy przypadków użycia, klas, sekwencji, stanu, kolaboracji, aktywności, komponentów.
  • Programowanie generyczne na przykładzie Java Collections Framework.
  • Wzorce projektowe: Singleton, Factory, Adapter, Facade, Composite, Proxy, Observer, Visitor oraz Strategy. Wzorzec MVC – model view controller.
  • Elementy programowania komponentowego: zasady kompozycji, zależności między obiektami, lekkie kontenery (inversion of control).
  • Testowanie oprogramowania na przykładzie biblioteki Junit, zasady refaktoryzacji kodu.
  • Narzędzia do współpracy zespołowej, systemy kontroli wersji (SVN).

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:

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 = 20% wykład + 80% projekt

Wykład:

  • Obecność: 2x lista
  • Aktywność
    Projekt:
  • Program
  • Dokumentacja
  • Użycie narzędzi
Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

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

Wymaganie wstępne: umiejętność programowania strukturalnego w językach C, C++ lub Python.

Zalecana literatura i pomoce naukowe:
  1. Thinking in Java, Bruce Eckel: http://www.mindview.net/Books/TIJ/
  2. Java Tutorial: http://java.sun.com/docs/books/tutorial/
  3. The Essence of Object-Oriented Programming with Java™ and UML; Bruce E. Wampler, Addison Wesley, 2002
  4. Wzorce Projektowe; Erich Gamma, Richard Helm, Ralph Johnson, John Vissides; WNT 2008
  5. Thinking in Patterns with Java, Bruce Eckel: http://mindview.net/Books/TIPatterns/
  6. Refaktoryzacja. Ulepszanie struktury istniejącego kodu: Kent Beck, Martin Fowler, William Opdyke, Don Roberts, Wydawnictwa Naukowo Techniczne, Marzec 2006
  7. UML w kropelce, wersja 2.0; Martin Fowler, LTP Oficyna Wydawnicza , Październik 2005
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Nie podano dodatkowych publikacji

Informacje dodatkowe:

Brak