Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Programowanie obiektowe
Tok studiów:
2014/2015
Kod:
IEL-1-408-s
Wydział:
Informatyki, Elektroniki i Telekomunikacji
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Elektronika
Semestr:
4
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Strona www:
 
Osoba odpowiedzialna:
prof. zw. dr hab. inż. Cyganek Bogusław (cyganek@agh.edu.pl)
Osoby prowadzące:
prof. zw. dr hab. inż. Cyganek Bogusław (cyganek@agh.edu.pl)
Gwiżdż Patryk (patryk.gwizdz@gmail.com)
Krótka charakterystyka modułu

Opis efektów kształcenia dla modułu zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń)
Wiedza
M_W001 Student posiada wiedzę z zakresu technologii i metod programowania obiektowego i komponentowego, używania diagramów UML oraz narzędzi prowadzenia projektu. EL1A_W07 Kolokwium
M_W002 Student posiada wiedzę dotyczącą języków obiektowych, wzorców projektowych, metodologii programowania, tworzenia dokumentacji oraz zarządzania projektami. EL1A_W07 Kolokwium
Umiejętności
M_U001 Student potrafi opracować projekt, stworzyć dokumentację oraz zaimplementować hierarchię klas reprezentującą określony problem. Potrafi wykorzystać metody obiektowe, biblioteki STL, OpenGL w tworzonym projekcie. EL1A_U14, EL1A_U18 Kolokwium
M_U002 Student potrafi wykorzystać zestaw wzorców projektowych do implementacji projektu. EL1A_U14, EL1A_U18, EL1A_U01, EL1A_U15 Kolokwium
Kompetencje społeczne
M_K001 Student potrafi myśleć i działać w sposób kreatywny i przedsiębiorczy. EL1A_K05
M_K002 Student rozumie potrzebę formułowania i przekazywania społeczeństwu informacji i opinii dotyczących osiągnięć elektroniki, telekomunikacji i innych aspektów działalności inżynierskiej. EL1A_K06
M_K003 Student potrafi wykorzystać opanowane technologie w przedsiębiorstwach oraz projektach komercyjnych. EL1A_K04, EL1A_K03
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Inne
E-learning
Wiedza
M_W001 Student posiada wiedzę z zakresu technologii i metod programowania obiektowego i komponentowego, używania diagramów UML oraz narzędzi prowadzenia projektu. + - + - - - - - - - -
M_W002 Student posiada wiedzę dotyczącą języków obiektowych, wzorców projektowych, metodologii programowania, tworzenia dokumentacji oraz zarządzania projektami. + - + - - - - - - - -
Umiejętności
M_U001 Student potrafi opracować projekt, stworzyć dokumentację oraz zaimplementować hierarchię klas reprezentującą określony problem. Potrafi wykorzystać metody obiektowe, biblioteki STL, OpenGL w tworzonym projekcie. + - + - - - - - - - -
M_U002 Student potrafi wykorzystać zestaw wzorców projektowych do implementacji projektu. + - + - - - - - - - -
Kompetencje społeczne
M_K001 Student potrafi myśleć i działać w sposób kreatywny i przedsiębiorczy. + - + - - - - - - - -
M_K002 Student rozumie potrzebę formułowania i przekazywania społeczeństwu informacji i opinii dotyczących osiągnięć elektroniki, telekomunikacji i innych aspektów działalności inżynierskiej. + - + - - - - - - - -
M_K003 Student potrafi wykorzystać opanowane technologie w przedsiębiorstwach oraz projektach komercyjnych. + - + - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:
  1. Podstawy – Wprowadzenie do technologii projektowania obiektowego – 2 godziny

    Zaawansowane metody projektowania obiektowego: etapy projektowe (requirements, functionality, analysis, design, implementation, testing, maintenance); Unified Modeling Language (UML): diagramy przypadków użycia, aktywności, stanów, sekwencji, klas, rozlokowania, komponentów;

  2. Przegląd metod i języków programowania obiektowego – 2 godzin

    Filozofia projektowania obiektowego; Dostępne platformy i języki programowania obiektowego, metody wyboru; Przegląd konstrukcji programowania obiektowego: klasy, dziedziczenie, szablony, STL; Programowanie komponentowe: co to jest komponent, metodologia projektowania komponentów; Narzędzia prowadzenia projektu: platformy (Win – Visual .NET, Linux – Eclipse), planowanie (Microsoft Project), utrzymania źródeł (SourceSafe, CVS).

  3. Wzorce projektowe – 12 godzin

    Koncepcja wzorca projektowego; Funkcje, budowa oraz zastosowanie zaawansowanych wzorców projektowych: handle-body (bridge), adapter, proxy, iterator, composite, command, observer, visitor, factory, prototype; Budowa bibliotek i komponentów z wykorzystaniem wzorców;

  4. Metodologia projektowania oraz zarządzania projektem – 4 godziny

    Metodyka projektowania oprogramowania: modele projektowe (wodospadowy, spiralny), budowa bibliotek, narzędzia CAD; Zarządzanie projektem: SCRUM, test-driven development, planowanie zadań, zarządzanie grupą projektową; Programowanie przez kontrakt; Zarządzanie jakością oprogramowania; Code refactoring; Code profiling oraz akceleracja;

Ćwiczenia laboratoryjne:
  1. Podstawy opracowania oraz implementacji hierarchii klas do reprezentacji struktury firmy – 2 godziny

    Ćwiczenia modelowania projektu (UML), implementacja zadania, udokumentowanie projektu, praca w systemie Linux.

  2. Używanie bibliotek STL, OpenGL oraz interfejsów użytkownika – 4 godziny

    Funkcjonalność połączenia internetowego do odczytywania aktualnych kursów walut w danym banku, projekt graficznego interfejsu użytkownika (GUI).

  3. Wzorzec projektowy: SINGLETON – 2 godziny

    Implementacja wzorca projektowego, badanie jego właściwości w wybranej aplikacji.

  4. Wzorzec projektowy: HANDLE-BODY – 2 godziny

    Implementacja wzorca projektowego, badanie jego właściwości w wybranej aplikacji.

  5. Wzorzec projektowy: ADAPTER – 2 godziny

    Implementacja wzorca projektowego, badanie jego właściwości w wybranej aplikacji.

  6. Wzorzec projektowy: PROXY – 2 godziny

    Implementacja wzorca projektowego, badanie jego właściwości w wybranej aplikacji.

  7. Wzorzec projektowy: ITERATOR – 2 godziny

    Implementacja wzorca projektowego, badanie jego właściwości w wybranej aplikacji.

  8. Wzorzec projektowy: COMPOSITE – 2 godziny

    Implementacja wzorca projektowego, badanie jego właściwości w wybranej aplikacji.

  9. Wzorzec projektowy: VISITOR – 2 godziny

    Implementacja wzorca projektowego, badanie jego właściwości w wybranej aplikacji.

  10. Wzorzec projektowy: FACTORY – 2 godziny

    Implementacja wzorca projektowego, badanie jego właściwości w wybranej aplikacji.

  11. Wzorzec projektowy: OBSERVER – 2 godziny

    Implementacja wzorca projektowego, badanie jego właściwości w wybranej aplikacji.

  12. Wzorzec projektowy: COMMAND – 2 godziny

    Implementacja wzorca projektowego, badanie jego właściwości w wybranej aplikacji.

  13. 13. Opracowanie oraz implementacja własnej aplikacji – 4 godziny

    Użycie poznanych technik, przygotowanie profesjonalnej dokumentacji, modelowanie problemu, implementacja projektu.

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 125 godz
Punkty ECTS za moduł 5 ECTS
Udział w wykładach 20 godz
Samodzielne studiowanie tematyki zajęć 32 godz
Udział w ćwiczeniach laboratoryjnych 28 godz
Przygotowanie do zajęć 45 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:

1. Warunkiem uzyskania pozytywnej oceny końcowej jest uzyskanie pozytywnej oceny z laboratorium oraz kolokwium zaliczeniowego z wykładu.
2. Na wykładach możliwe jest otrzymanie oceny za przedstawienie prezentacji wybranego tematu.
3. Obliczamy średnią arytmetyczną av ocen uzyskanych we wszystkich terminach (terminy poprawkowe z wagą 2).
4. Wyznaczmy ocenę końcową OK na podstawie algorytmu:
if av>4.75 then OK:=5.0 else
if av>4.25 then OK:=4.5 else
if av>3.75 then OK:=4.0 else
if av>3.25 then OK:=3.5 else
if av>=3.0 then OK:=3.0

Wymagania wstępne i dodatkowe:

• Podstawy metodyki i technik programowania
• Język C++

Zalecana literatura i pomoce naukowe:

1. Stroustrup B. Programming. Principles and Practice Using C++. Addison Wesley 2009 (tł. polskie: Programowanie. Teoria i praktyka z wykorzystaniem C++, Helion).
2. Stroustrup B. The C++ Programming Language, 2000 (tł. polskie: Język C++, WNT).
3. Vandervoorde D., Josuttis N.M. C++ Templates. Addison Wesley, 2003 (tł. polskie: C++. Szablony. Vademecum profesjonalisty, Helion).
4. Josuttis N.M. The C++ Standard Library. Addison Wesley, 1999 (tł. polskie: C++. Biblioteka standardowa. Podręcznik programisty, Helion).
5. Lippman S. Essential C++. Addison Wesley, 2005 (tł. polskie: Istota języka C++. Zwięzły opis, WNT).
6. Gamma E., Helm R., Johnson R., Vlissides J. Design Patterns. Addison Wesley, 1996. (tł. polskie: Inżynieria oprogramowania: Wzorce projektowe, WNT).
7. Alexandrescu A. Modern C++ Design. Addison Wesley, 2001. (tł. polskie: Nowoczesne projektowanie w C++. WNT).
8. Booch G., Rumbaugh J., Jacobson I.: Unified Modeling Language User Guide. Addison Wesley, 2005. (tł. polskie: UML przewodnik użytkownika. WNT)

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

Nie podano dodatkowych publikacji

Informacje dodatkowe:

Brak