1 KARTA KURSU Programowanie obiektowe 2
Transkrypt
1 KARTA KURSU Programowanie obiektowe 2
KARTA KURSU Nazwa Programowanie obiektowe 2 Nazwa w j. ang. Object Oriented Programming 2 Punktacja ECTS* Kod 4 Zespół dydaktyczny: Koordynator dr Dariusz Pałka 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 Student zna podstawy analizy, projektowania i programowani obiektowego oraz podstawy języka C++. Wiedza Umiejętności Kursy 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++. Programowanie obiektowe 1. Efekty kształcenia Wiedza Efekt kształcenia dla kursu Odniesienie do efektów kierunkowych Po zakończeniu kursu student: W01: zna na poziomie średnio zaawansowanym zagadnienia dotyczące szablonów klas i funkcji w języku C++. K_W07 W02: potrafi wymienić podstawowe elementy biblioteki STL i objaśnić sposób ich użycia w celu realizacji określonych zadań programistycznych. K_W06 W03: ma wiedzę dotyczącą definiowania sytuacji wyjątkowych i ich obsługi zarówno w języku C++ jak i Java. K_W07 W04: zna składnie języka Java i potrafi wskazać różnice między językiem Java i C++. K_W07 1 W05: zna wybrane klasy z J2SE API i przykłady ich zastosowania . KW_07 Odniesienie do efektów kierunkowych Efekt kształcenia dla kursu Po zakończeniu kursu student: U01: potrafi zapisywać podstawowe algorytmy i struktury danych w języku Java. K_U05 K_U02 Umiejętności U02: projektuje i tworzy proste programy w języku Java z wykorzystaniem metodologii obiektowej. K_U01 K_U05 U03: wykorzystuje wybrane klasy z J2SE API do realizacji postawionych zadań programistycznych. K_U04 K_U18 U04: potrafi tworzyć w języku C++ programy z użyciem wyjątków oraz szablonów klas i funkcji. K_U05 U05: potrafi wykorzystywać wybrane elementy biblioteki STL w tworzonych przez siebie programach. K_U05 K_U18 Odniesienie do efektów kierunkowych Efekt kształcenia dla kursu Po zakończeniu kursu student: Kompetencje K01: potrafi korzystać z różnych źródeł informacji (w tym zasobów społeczne sieciowych) do poszerzania własnej wiedzy i zdobywania nowych umiejętności. K_K01 K02: wykazuje umiejętność stosowania w praktyce zdobytej wiedzy przedmiotowej i potrafi działać kreatywnie w celu rozwiązywania postawionych mu zadań. K_K12 Studia stacjonarne Organizacja Forma zajęć Ćwiczenia w grupach Wykład (W) A Liczba godzin 15 K L S P E 30 2 Studia niestacjonarne Organizacja Forma zajęć Ćwiczenia w grupach Wykład (W) A Liczba godzin K L 10 S P E 20 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. W01 W02 W03 W04 W05 U01 U02 U03 U04 U05 K01 K02 X X X X X X X X X X X X X X X X X X X X X X X X X X Inne Egzamin pisemny Egzamin ustny Praca pisemna (esej) Referat Udział w dyskusji Projekt grupowy Projekt indywidualny Praca laboratoryjna Zajęcia terenowe Ćwiczenia w szkole Gry dydaktyczne E – learning Formy sprawdzania efektów kształcenia X X X X X X X X X X Ocenę dobrą lub 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 odwrotnie, Kryteria oceny - 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 3 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. 2. 3. 4. Eckel B.: Thinking in C++ Sierra K., Bates B.: Head First Java Dokumentacja do J2SE API – wybrane fragmenty 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 prowadzącymi Liczba godzin pracy studenta bez kontaktu z prowadzącymi Wykład 15 Konwersatorium (ćwiczenia, laboratorium itd.) 30 Pozostałe godziny kontaktu studenta z prowadzącym 20 Lektura w ramach przygotowania do zajęć 15 Przygotowanie krótkiej pracy pisemnej lub referatu po zapoznaniu się z niezbędną literaturą przedmiotu 0 Przygotowanie projektu lub prezentacji na podany temat (praca w grupie) 0 Przygotowanie do egzaminu 20 Ogółem bilans czasu pracy 100 Liczba punktów ECTS w zależności od przyjętego przelicznika 4 Bilans godzinowy zgodny z CNPS (Całkowity Nakład Pracy Studenta) – studia niestacjonarne Liczba godzin w kontakcie z prowadzącymi Liczba godzin pracy studenta bez kontaktu z prowadzącymi Wykład 10 Konwersatorium (ćwiczenia, laboratorium itd.) 20 Pozostałe godziny kontaktu studenta z prowadzącym 25 Lektura w ramach przygotowania do zajęć 35 Przygotowanie krótkiej pracy pisemnej lub referatu po zapoznaniu się z niezbędną literaturą przedmiotu 0 Przygotowanie projektu lub prezentacji na podany temat (praca w grupie) 0 Przygotowanie do egzaminu 35 Ogółem bilans czasu pracy 125 Liczba punktów ECTS w zależności od przyjętego przelicznika 5 5