Nazwa przedmiotu:
Programowanie obiektowe
Koordynator przedmiotu:
dr inż. Michał Huettner
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Inzynieria Chemiczna i Procesowa
Grupa przedmiotów:
Obieralne
Kod przedmiotu:
1070-IC000-ISP-OB27
Semestr nominalny:
3 / rok ak. 2020/2021
Liczba punktów ECTS:
2
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
1. Godziny kontaktowe z nauczycielem akademickim wynikające z planu studiów 30 2. Godziny kontaktowe z nauczycielem akademickim w ramach konsultacji, egzaminów, sprawdzianów etc. 5 3. Godziny pracy samodzielnej studenta w ramach przygotowania do zajęć oraz opracowania sprawozdań, projektów, prezentacji, raportów, prac domowych etc. 15 4. Godziny pracy samodzielnej studenta w ramach przygotowania do egzaminu, sprawdzianu, zaliczenia etc. 10 Sumaryczny nakład pracy studenta 60
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ład0h
  • Ćwiczenia0h
  • Laboratorium30h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
Wskazana jest znajomość podstaw programowania w dowolnym języku.
Limit liczby studentów:
-
Cel przedmiotu:
1. Zajęcia poświęcone są nauce programowania w języku C++ z naciskiem na paradygmat programowania zorientowanego obiektowo. 2. Pierwsza część zajęć poświęcona jest podstawom programowania w języku C++ czyli deklarowaniu i używaniu zmiennych prostych i tablicowych (dostępnych zarówno za pomocą nazwy jak i adresu), instrukcjom warunkowym, tworzeniem bloków instrukcji, pętlom i instrukcji wyboru wielokrotnego. Przy omawianiu funkcji kładzie się nacisk na możliwość nadania parametrom wartości domyślnych i przeciążania nazw funkcji. Pokazuje się możliwe zakresy ważności zmiennych (cały program, funkcja programu, blok funkcji). 3. Druga cześć zajęć dotyczy programowania zorientowanego obiektowo. Wprowadza się pojęcia klas oraz obiektów tych klas, składających się z danych oraz metod ich obsługi. Przedstawiony jest mechanizm dziedziczenia klas potomnych po klasach macierzystych oraz polimorfizm. Zaprezentowana jest również idea programowania uogólnionego za pomocą szablonów funkcji.
Treści kształcenia:
Laboratorium 1. Typy danych, operatory, podstawowe operacje arytmetyczne i logiczne. Strumienie wejścia/wyjścia. Instrukcja warunkowa, blok. 2. Funkcje, ich deklaracje i definicje. przeciążanie nazwy funkcji, parametry domyślne. 3. Tablice i pętle. Instrukcja wyboru wielokrotnego. 4. Pliki tekstowe i binarne. 5. Flagi i manipulatory. 6. Klasy i obiekty, dane i metody obiektu. Przestrzenie nazw. 7. Dziedziczenie i ich rodzaje. Polimorfizm. Klasy abstrakcyjne. 8. Algorytmy symboliczne. Szablony funkcji.
Metody oceny:
1. sprawdzian pisemny
Egzamin:
nie
Literatura:
1. Jesse Liberty, Siddhartha Rao, Bradley L. Jones: C++ dla każdego. Wydanie II. Wydawnictwo Helion 2010 2. Andrzej Stasiewicz: C++. Ćwiczenia praktyczne. Wydanie III. Wydawnictwo Helion 2011
Witryna www przedmiotu:
-
Uwagi:
Pożądane jest obycie studenta z programowaniem w języku wysokiego poziomu i zaliczenie nauki programowania w środowisku Matlab lub Scilab na I roku studiów. Przedmiot jest realizowany w formie wykładu z dostępem studentów do komputerów. Studenci mają prawo kopiować prezentowane programy bez prawa ich rozpowszechniania. Ze względu na sytuację epidemiologiczną zarówno wykład jak i sprawdziany kontrolne odbywają się w formie zdalnej przy użyciu oprogramowania MS Teams. Wykład/Laboratorium jest realizowany w laboratorium komputerowym wydziału, bowiem warunkiem koniecznym jest, by każdy ze studentów miał samodzielny dostęp do komputera. Podczas semestru przeprowadzane są dwa sprawdziany, polegające na napisaniu przez studenta programu w języku C++, realizującego indywidualne zadanie przed nim postawione. Warunkiem zaliczenia przedmiotu jest uzyskanie pozytywnych ocen z obydwu sprawdzianów wykładowych. Ocena końcowa jest średnią arytmetyczną ocen z obydwóch sprawdzianów. Na ostatnim wykładzie można poprawiać niezaliczone sprawdziany.

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Charakterystyka W1
Ma wiedzę o typach danych, operatorach, podstawowych operacjach arytmetycznych i logicznych niezbędnych do programowania w dowolnym języku.
Weryfikacja: sprawdzian pisemny
Powiązane charakterystyki kierunkowe: K1_W01
Powiązane charakterystyki obszarowe: P6U_W, I.P6S_WG.o

Profil ogólnoakademicki - umiejętności

Charakterystyka U1
Potrafi programowania w języku C++ oraz pracować w przestrzeni roboczej programowania zorientowanego obiektowo.
Weryfikacja: sprawdzian pisemny
Powiązane charakterystyki kierunkowe: K1_U04
Powiązane charakterystyki obszarowe: I.P6S_UW.o, III.P6S_UW.o, P6U_U

Profil ogólnoakademicki - kompetencje społeczne

Charakterystyka KS1
Rozumie potrzebę dokształcania się i podnoszenia swoich kompetencji zawodowych i osobistych.
Weryfikacja: sprawdzian pisemny
Powiązane charakterystyki kierunkowe: K1_K01
Powiązane charakterystyki obszarowe: I.P6S_KK, P6U_K