Wstęp do programowania obiektowego 0600-IS1-1WPO
Profil studiów: ogólnoakademicki
Forma studiów: stacjonarne / niestacjonarne
Rodzaj przedmiotu: obowiązkowy
Rok studiów/semestr I / 2
Dziedzina nauk ścisłych i przyrodniczych, dyscyplina: informatyka
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 oraz ogólna forma zaliczenia przedmiotu
wykład, zadania rozwiązywane na zajęciach laboratoryjnych, dwa kolokwia sprawdzające wiedzę praktyczną i teoretyczną
Zaliczenie: egzamin
Punkty ECTS: 5
Bilans nakładu pracy studenta:
Udział w zajęciach:
- wykład 30
- laboratorium 45
Przygotowanie do zajęć:
- wykład 15
- laboratorium 30
Zapoznanie z literaturą: 5
Przygotowanie do kolokwium: 10
Przygotowanie do egzaminu: 15
Czas trwania egzaminu: 2
Udział w konsultacjach: 3
Wskaźniki ilościowe:
wymagającymi bezpośredniego udziału nauczyciela: 75, 3 ECTS
o charakterze praktycznym: 75, 2 ECTS
Rodzaj przedmiotu
Tryb prowadzenia przedmiotu
lektura monograficzna
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_WG3, KA6_WG4, KA6_WG5
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
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
4. Potrafi (w stopniu średniozaawansowanym) projektować, implementować i analizować programy w paradygmacie strukturalnym w języku C/C++. KA6_WG3, KA6_WG4, KA6_UW8
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_WG3, KA6_WG4, KA6_WG5, KA6_UW7, KA6_UW8
6. Potrafi przyjąć i poprawnie zrealizować role programisty-twórcy klas oraz programisty-klienta podczas realizacji projektu programistycznego w paradygmacie obiektowym. KA6_UU1, KA6_KK1, KA6_KO1
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: