KARTA KURSU (realizowanego w module ) PROSZĘ WPISAĆ NAZWĘ SPECJALNOŚCI Administracja systemami informatycznymi Nazwa Programowanie obiektowe 2 Nazwa w j. ang. Object Oriented Programming 2 Kod Punktacja ECTS* 5 Koordynator dr Dariusz Pałka Zespół dydaktyczny: dr Dariusz Pałka dr Leszek Głowacki dr Łukasz T. Stępień Opis kursu (cele kształcenia) Celem kursu jest rozszerzenie wiedzy na temat języka C++ (w tym w zakresie szablonów klas, biblioteki STL i obsługi wyjątków) oraz nauka podstaw programowania obiektowego z zastosowaniem języka Java. Kurs prowadzony jest w języku polskim. Warunki wstępne Wiedza Student zna podstawy analizy, projektowania i programowani obiektowego oraz podstawy języka C++ Umiejętności Potrafi zapisywać podstawowe algorytmy i struktury danych w języku C++, projektuje i tworzy z wykorzystaniem podstaw metodologii obiektowej proste programy w języku C++. Kursy Programowanie obiektowe 1 Efekty kształcenia Wiedza W01: zna na poziomie średnio zaawansowanym zagadnienia dotyczące szablonów klas i funkcji w języku C++ modułu owego) W02: potrafi wymienić podstawowe elementy biblioteki STL i objaśnić sposób ich użycia w celu realizacji określonych zadań programistycznych S1_W05 1
W03: ma wiedzę dotyczącą definiowania sytuacji wyjątkowych i ich obsługi zarówno w języku C++ jak i Java W04: zna składnie języka Java i potrafi wskazać różnice między językiem Java i C++ W05: zna wybrane klasy z J2SE API i przykłady ich zastosowania S1_W05 U01: potrafi zapisywać podstawowe algorytmy i struktury danych w języku Java modułu owego) Umiejętności U02: projektuje i tworzy proste programy w języku Java z wykorzystaniem metodologii obiektowej U03: wykorzystuje wybrane klasy z J2SE API do realizacji postawionych zadań programistycznych U04: potrafi tworzyć w języku C++ programy z użyciem wyjątków oraz szablonów klas i funkcji U05: potrafi wykorzystywać wybrane elementy biblioteki STL w tworzonych przez siebie programach S1_U08 S1_U06 Kompetencje społeczne K01: potrafi korzystać z różnych źródeł informacji (w tym zasobów sieciowych) do poszerzania własnej wiedzy i zdobywania nowych umiejętności modułu owego) S1_ K01 S1_ K04 K02: wykazuje umiejętność stosowania w praktyce zdobytej wiedzy przedmiotowej i potrafi działać kreatywnie w celu rozwiązywania postawionych mu zadań S1_ K03 Studia stacjonarne Organizacja 2
E learning Gry dydaktyczne Ćwiczenia w szkole Zajęcia terenowe Praca laboratoryjna Projekt indywidualny Projekt grupowy Udział w dyskusji Referat Praca pisemna (esej) Egzamin ustny Egzamin pisemny Inne Forma zajęć (W) Ćwiczenia w grupach A K L S P E Liczba godzin 15 45 Studia niestacjonarne Organizacja Forma zajęć (W) Ćwiczenia w grupach A K L S P E Liczba godzin Opis metod prowadzenia zajęć Kurs składa się z wykładu i ćwiczeń prowadzonych w formie laboratoriów. W ramach laboratoriów studenci projektują i tworzą zadane programy w języku Java i C++, które następnie są omawiane. Studenci w ramach pracy indywidualnej realizują zadane projekty programistyczne, które są omawiane z prowadzącym zajęcia. Poza zajęciami w formie tradycyjnej studenci biorą udział w zajęciach z wykorzystaniem platformy e-learningowej. Formy sprawdzania efektów kształcenia W01 X X X W02 X X X W03 X X X W04 X X X W05 X X U01 X X X U02 X X X U03 X X X X U04 X X X X U05 X X X X K01 X X X K02 X Kryteria oceny Ocenę dobrą i bardzo dobrą może uzyskać student, który: - potrafi przekładać zadane programy (lub ich fragmenty) z języka C++ na język Java i 3
odwrotnie - samodzielnie definiuje klasy wyjątków i obsługę wyjątków w swoich programach zarówno w języku C++ jak i Java - tworzy własne szablony klas i funkcji (w tym implementuje proste algorytmy w formie szablonów) w języku C++ - definiuje klasy w języku Java na poziomie średnio-zaawansowanym i tworzy dla nich dokumentację zgodną ze standardem Javadoc - rozumie sposób działania mechanizmu zarządzania pamięcią w języku Java i potrafi wskazać różnice pomiędzy zarządzaniem pamięcią w językach Java i C++ - potrafi definiować i używać w swoich programach przestrzenie nazw w języku C++ - potrafi tworzyć własne algorytmy i kontenery współpracujące z biblioteką STL Uwagi Treści merytoryczne (wykaz tematów) 1. Podstawy języka Java podobieństwa i różnice między językami Java i C++ 2. Maszyna wirtualna JVM 3. Zarządzanie pamięcią w języku Java 4. Kompilacja i uruchamianie programów w języku Java 5. Zintegrowane środowisko programistyczne dla języka Java 6. Elementy Java 2 Platform Standard Edition API Specification 7. Wyjątki i ich obsługa w językach C++ i Java 8. Elementy biblioteki STL (wybrane kontenery, iteratory i algorytmy) 9. Przestrzenie nazw w języku C++ 10. Szablony klas i funkcji w języku C++ 11. Wielodziedziczenie w językach C++ i Java Wykaz literatury podstawowej 1. Stroustrup B.: Język C++, WNT 2008 - wybrane rozdziały 2. Eckel B.: Thinking in Java wybrane rozdziały (część książki w wersji polskiej dostępna w ramach Biblioteki Cyfrowej UP) Wykaz literatury uzupełniającej 1. Eckel B.: Thinking in C++ 2. Sierra K., Bates B.: Head First Java 3. Dokumentacja do J2SE API wybrane fragmenty 4. Working Draft, Standard for Programming Language C++ ( http://www.openstd.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf) wybrane fragment 5. Dattatri K.: Język C++. Efektywne programowanie obiektowe, Helion 2005 6. Schildt H.: C++ Sztuka programowania, Helion 2005 7. Josuttis N. M.: C++. Programowanie zorientowane obiektowo. Vademecum profesjonalisty. Helion 2003. 4
Bilans godzinowy zgodny z CNPS (Całkowity Nakład Pracy Studenta) - studia stacjonarne Liczba godzin w kontakcie z 15 Konwersatorium (ćwiczenia, laboratorium itd.) 45 Pozostałe godziny kontaktu studenta z prowadzącym 30 Lektura w ramach przygotowania do zajęć 20 Liczba godzin pracy studenta bez kontaktu z Przygotowanie krótkiej pracy pisemnej lub referatu po zapoznaniu się z niezbędną literaturą przedmiotu Przygotowanie projektu lub prezentacji na podany temat (praca w grupie) Przygotowanie do egzaminu 20 Ogółem bilans czasu pracy 130 Liczba punktów ECTS w zależności od przyjętego przelicznika 5 Bilans godzinowy zgodny z CNPS (Całkowity Nakład Pracy Studenta) - studia niestacjonarne Liczba godzin w kontakcie z Konwersatorium (ćwiczenia, laboratorium itd.) Pozostałe godziny kontaktu studenta z prowadzącym Lektura w ramach przygotowania do zajęć Liczba godzin pracy studenta bez kontaktu z Przygotowanie krótkiej pracy pisemnej lub referatu po zapoznaniu się z niezbędną literaturą przedmiotu Przygotowanie projektu lub prezentacji na podany temat (praca w grupie) Ogółem bilans czasu pracy Przygotowanie do egzaminu Liczba punktów ECTS w zależności od przyjętego przelicznika 5