Wstęp do programowania obiektowego 420-IS1-1WPO
Profil studiów: ogólnoakademicki
Forma studiów: stacjonarne
Rodzaj przedmiotu: obowiązkowy
Dziedzina i dyscyplina: nauki ścisłe i przyrodnicze, informatyka
Rok studiów/semestr 1 / 2
Przedmioty wprowadzające: Podstawy programowania strukturalnego
Liczba godzin zajęć dydaktycznych z podziałem na formy prowadzenia zajęć
Studia stacjonarne:
Wykład: 30 Laboratorium: 45
Założenia i cele przedmiotu
Zaznajomić z podstawowymi pojęciami oraz technikami programowania obiektowego na przykładzie języka C++. Nauczyć wykorzystywania w praktyce najważniejszych technik obiektowych. Nauczyć projektowania, implementacji i analizy programów w paradygmacie obiektowym.
Metody dydaktyczne: wykład, laboratoria, konsultacje, praca z literaturą
Zaliczenie: egzamin
Punkty ECTS: 5
Bilans nakładu pracy studenta:
Udział w zajęciach:
- wykład 30 godz.
- laboratorium 45 godz.
Przygotowanie do zajęć:
- wykład 5 godz.
- laboratorium 20 godz.
Zapoznanie z literaturą: 5 godz.
Przygotowanie do kolokwium: 10 godz.
Przygotowanie do egzaminu: 10 godz.
Czas trwania egzaminu: 2 godz.
Udział w konsultacjach: 1 godz.
Wskaźniki ilościowe:
- nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela: 78h, 3 ECTS
- nakład pracy studenta, który nie wymaga bezpośredniego udziału nauczyciela: 50h, 2 ECTS
Rodzaj przedmiotu
Tryb prowadzenia przedmiotu
lektura monograficzna
Założenia (lista przedmiotów)
Koordynatorzy przedmiotu
Efekty kształcenia
1. Zna podstawowe konstrukcje języka C/C++, w szczególności posługiwanie się zmiennymi wskaźnikowymi, alokację i dealokację pamięci. Zna podstawowe metody zapisu algorytmów, w szczególności schematy blokowe. KA6_WG1, KA6_WG3, KA6_WG4, KA6_WG5 KA6_WG6 Weryfikacja poprawności odpowiedzi na pytania teoretyczne dotyczące programowania strukturalnego w C/C++ na egzaminie pisemnym.
2. Zna podstawowe pojęcia i mechanizmy z dziedziny programowania obiektowego na przykładzie C++ (klasa, obiekt, zmienne i metody składowe, zmienne i metody statyczne, schematy klas w UML, tworzenie obiektów dynamicznych oraz automatycznych, zastosowanie konstruktorów i destruktorów). Zna najważniejsze mechanizmy obiektowe (abstrakcja danych, hermetyzacja składowych, dziedziczenie jednokrotne i wielokrotne, polimorfizm, klasy i metody abstrakcyjne, agregację obiektów ). Zna schematy UML prezentujące klasy, obiekty, dziedziczenie, agregację i kompozycję. KA6_WG3, KA6_WG4, KA6_WG5, KA6_WG7, Weryfikacja poprawności odpowiedzi na pytania teoretyczne dotyczące programowania obiektowego w C++ na egzaminie pisemnym.
3. Zna zagadnienia związane z mechanizmami obsługi sytuacji specjalnych (wyjątki), obsługą wejścia/wyjścia, plików oraz napisów za pomocą strumieni, klas i funkcji wzorcowych, korzystania z bibliotek i ich tworzenia. KA6_WG4, KA6_WG5 Weryfikacja poprawności odpowiedzi na pytania teoretyczne dotyczące zaawansowanych technik programowania w C++ na egzaminie pisemnym.
4. Potrafi (w stopniu średniozaawansowanym) projektować, implementować i analizować programy w paradygmacie strukturalnym w języku C/C++. KA6_UW6, KA6_UW8, KA6_UW9, Ocena proponowanych rozwiązań problemów praktycznych z programowania strukturalnego zleconych na egzaminie pisemnym.
5. Potrafi rozpoznawać konieczność stosowania i stosować najważniejsze mechanizmy z dziedziny programowania obiektowego (hermetyzację, dziedziczenie jednokrotne i wielokrotne, polimorfizm, agregację obiektów). Potrafi stworzyć poprawną hierarchię dziedziczenia klas do zadanego problemu modelowania rzeczywistości w paradygmacie obiektowym. Potrafi zaimplementować w C++ hierarchię klas zadaną schematem UML. KA6_UW7, KA6_UW8, KA6_UW10, KA6_UW15 Ocena proponowanych rozwiązań problemów praktycznych z programowania obiektowego zleconych na egzaminie pisemnym.
6. Potrafi przyjąć i poprawnie zrealizować role programisty-twórcy klas oraz programisty-klienta podczas realizacji projektu programistycznego w paradygmacie obiektowym. KA6_UU1, KA6_UK1, KA6_UK3, KA6_KK1 Obserwacja i weryfikacja poprawności i spójności przyjmowanych ról programistów podczas rozwiązywania problemów na egzaminie pisemnym.
Kryteria oceniania
dopuszczenie do zaliczenia wykładu po zaliczeniu laboratorium, egzamin pisemny obejmujący zagadnienia teoretyczne oraz praktyczne
Literatura
Literatura podstawowa:
Grębosz J., Symfonia C++ standard. Programowanie w języku C++ orientowane obiektowo, Edition 2000, 2006.
Stroustrup B., Język C++, WNT 1998.
Literatura uzupełniająca:
Lippman S.B., Istota języka C++. Zwięzły opis, WNT 2004.
Vanderoorde D., Język C++ ćwiczenia i rozwiązania, WNT 2001.
Struzińska-Walczak A., Walczak K., Nauka programowania dla początkujących C++, W&W 2000.
Tłuczek M., Programowanie w języku C, ćwiczenia praktyczne, Helion 2001.
Stasiewicz A., Ćwiczenia praktyczne C++, WNT 2006.
Prata S., Szkoła programowania. Język C, Robomatic 1999.
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: