- Nazwa przedmiotu:
- Programowanie obiektowe (E)
- Koordynator przedmiotu:
- Jarosław ARABAS
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia II stopnia
- Program:
- Elektronika
- Grupa przedmiotów:
- Przedmioty techniczne - podstawowe
- Kod przedmiotu:
- PROE
- Semestr nominalny:
- 1 / rok ak. 2019/2020
- Liczba punktów ECTS:
- 5
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 120
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium30h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Znajomość języka C w stopniu umożliwiającym tworzenie programów o średnim stopniu złożoności.
Podstawowe umiejętności w zakresie obsługi komputera. Umiejętność abstrakcyjnego myślenia. Umiejętność dostosowania się do regulaminu przedmiotu.
- Limit liczby studentów:
- 120
- Cel przedmiotu:
- Celem przedmiotu jest zapoznanie studentów z paradygmatem programowania obiektowego. W ramach przedmiotu przekazywana będzie dobra praktyka projektowania i programowania obiektowego oraz umiejętność abstrakcji problemów i ich zapisu w języku programowania. Przy okazji wykładu studenci zapoznają się także ze sposobami realizacji dynamicznych struktur danych. W ramach laboratorium studenci wykonywać będą programy według zaleceń prowadzących i będą nabywać sprawności w posługiwaniu się narzędziami wspomagającymi pracę programisty.
- Treści kształcenia:
- Treść wykładu
Podstawowe pojęcia: typ abstrakcyjny (klasa), obiekt, metoda dostępu, ukrywanie implementacji, dziedziczenie. Paradygmat projektowania zorientowanego obiektowo. Programowanie obiektowe.
Zasadnicze rozszerzenia w stosunku do C. Referencja i wskaźnik. Modyfikator const. Identyfikacja funkcji przez nagłówek.
Przeciążanie funkcji. Przeciążanie operatorów. Domyślne wartości parametrów formalnych.
Klasa jako typ danych. Zasady dostępu: pola prywatne i publiczne. Kontekst wprowadzany przez klasę. Statyczne pola klasy.
Tworzenie i usuwanie obiektów klasy. Konstruktory i destruktory klasy. Konstruktor kopiujący. Sposoby przekazywania argumentów funkcji i zwracania wartości.
Funkcje i klasy zaprzyjaźnione.
Relacje między klasami: składnik, podzbiór. Dziedziczenie. Dziedziczenie wielokrotne klasy bazowej. Zasady dostępu do pól klasy bazowej. Szablony.
Sposób realizacji dziedziczenia. Wirtualne dziedziczenie. Wirtualne metody.
Wyjątki: sposób zgłaszania i przechwytywania, dziedziczenie wyjątków.
Pojęcie dynamicznej struktury danych. Lista liniowa. Pierścień. Graf. Drzewo binarne. Przykłady zastosowań.
Strumieniowe wejście/wyjście.
Standardowa biblioteka klas szablonowych.
Zakres laboratorium
Środowisko pracy. Podział kodu na fragmenty. Zarządzanie kompilacją i konsolidacją. Narzędzie make (2h).
Proste klasy (2h).
Przeciążanie funkcji i operatorów (2h).
Rozdanie tematów zadań i ich analiza; zakres tematyczny: proste klasy i przeciążanie metod i operatorów (2h).
Implementacja programów (2h).
Testowanie i odbiór programów (2h).
Dziedziczenie, metody wirtualne, wirtualne dziedziczenie (2h).
Wyjątki, szablony (2h).
Rozdanie tematów zadań i ich analiza; zakres tematyczny: złożone struktury klas, realizacja dynamicznych struktur danych (2h).
Weryfikacja specyfikacji wstępnej programu (2h).
Dekompozycja na klasy (2h).
Implementacja klas (2h).
Podział kodu źródłowego na pliki (2h).
Uruchamianie i testowanie programów (2h).
Odbiór programów i dokumentacji (2h).
- Metody oceny:
- 2 kolokwia wykładowe oceniane w skali 0-25 każde
laboratoria oceniane w skali 0-50
suma ocen przekłada się na ocenę wg skali:
0-50 -> 2
51-60 -> 3
61-70 -> 3.5
71-80 -> 4
81-90 -> 4.5
91-100 -> 5
warunkiem koniecznym zaliczenia jest uzyskanie po minimum 13 punktów z laboratorium i z wykładu
studenci mają możliwość przystąpić do kolokwium poprawkowego, ocenianego w skali 0-100. Ocena z tego kolokwium jest podstawą oceny z przedmiotu, niezależnie od punktów uzyskanych w czasie semestru.
kolokwia sa pisemne z notatkami.
- Egzamin:
- nie
- Literatura:
- Stroustrup, B.: Język C++.
Lippmann, A.: Programowanie obiektowe.
Silvester, P.: System operacyjny unix.
- Witryna www przedmiotu:
- zmienia się wraz z prowadzącym
- Uwagi:
- przedmiot prowadzony na spółkę przez IMiO, IRE, ISE i IT
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Charakterystyka PROE_W01
- znajomość języka C++
Weryfikacja: kolokwia i laboratorium
Powiązane charakterystyki kierunkowe:
K_W02, K_W06
Powiązane charakterystyki obszarowe:
Profil ogólnoakademicki - umiejętności
- Charakterystyka PROE_U01
- umięjętność pisania i uruchamiania programów komputerowych
Weryfikacja: laboratorium
Powiązane charakterystyki kierunkowe:
K_U07, K_U08
Powiązane charakterystyki obszarowe: