Module also offered within study programmes:
General information:
Name:
Programowanie II
Course of study:
2019/2020
Code:
SENR-1-409-s
Faculty of:
Energy and Fuels
Study level:
First-cycle studies
Specialty:
-
Field of study:
Energy Engineering
Semester:
4
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Course homepage:
 
Responsible teacher:
dr hab. inż. Hołda Adam (adam@agh.edu.pl)
Module summary

Programowanie obiektowe przy wykorzystaniu języka programowania C++

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence: is able to
M_K001 Rozumie rolę, znaczenie i odpowiedzialność programisty w pracy dla aplikacjami oraz pracy zespołowej, potrafi myśleć w sposób twórczy i kreatywny ENR1A_K01 Activity during classes,
Participation in a discussion
Skills: he can
M_U001 Opanowanie umiejętności programowania obiektowego. Umiejętność oceny różnych paradygmatów, technik programowania oraz środowisk i narzędzi programistycznych do rozwiązania różnego typu problemów. Umiejętność zapisu i modelowania problemu z użyciem pojęć klasy i klas pochodnych oraz funkcji (metod) składowych klas. ENR1A_U04, ENR1A_U05, ENR1A_U01 Test,
Oral answer,
Execution of laboratory classes
M_U002 Umiejętność tworzenia prostych aplikacji celem rozwiązania konkretnych problemów matematycznych i fizycznych. Praktyczne wykorzystanie bibliotek obiektów standardowych C++. Umiejętność poprawnego projektowania, efektywnej implementacji programów obiektowych oraz ich uruchamiania i testowania. ENR1A_U05 Execution of laboratory classes
Knowledge: he knows and understands
M_W001 Student ma uporządkowaną wiedzę z reguł i zasad programowania obiektowego. Wie jak zapisać w wybranym języku programowania języku podstawowe zjawiska i problemy ze świata rzeczywistego. ENR1A_W06, ENR1A_W02 Execution of exercises
Number of hours for each form of classes:
Sum (hours)
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
60 15 0 30 15 0 0 0 0 0 0 0
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Social competence
M_K001 Rozumie rolę, znaczenie i odpowiedzialność programisty w pracy dla aplikacjami oraz pracy zespołowej, potrafi myśleć w sposób twórczy i kreatywny + - - - - - - - - - -
Skills
M_U001 Opanowanie umiejętności programowania obiektowego. Umiejętność oceny różnych paradygmatów, technik programowania oraz środowisk i narzędzi programistycznych do rozwiązania różnego typu problemów. Umiejętność zapisu i modelowania problemu z użyciem pojęć klasy i klas pochodnych oraz funkcji (metod) składowych klas. - - + + - - - - - - -
M_U002 Umiejętność tworzenia prostych aplikacji celem rozwiązania konkretnych problemów matematycznych i fizycznych. Praktyczne wykorzystanie bibliotek obiektów standardowych C++. Umiejętność poprawnego projektowania, efektywnej implementacji programów obiektowych oraz ich uruchamiania i testowania. - - + + - - - - - - -
Knowledge
M_W001 Student ma uporządkowaną wiedzę z reguł i zasad programowania obiektowego. Wie jak zapisać w wybranym języku programowania języku podstawowe zjawiska i problemy ze świata rzeczywistego. - - + + - - - - - - -
Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 150 h
Module ECTS credits 5 ECTS
Udział w zajęciach dydaktycznych/praktyka 60 h
Preparation for classes 60 h
Realization of independently performed tasks 30 h
Module content
Lectures (15h):
Programowanie obiektowe

1. Podejście obiektowe – wprowadzenie, od struktury i funkcji do klasy i metody
2. Modifikator const i referencje, hermetyzacja struktur danych
3. Sekcje dostępu, konstruktory i destruktory
4. Pseudokonstruktory, konstruktory kopiujące
5. Szablony funkcji i klas
6. Przykłady rozwiązania problemów matematyczno-fizycznych
7. Dziedziczenie, rzutowanie w górę i w dół
8. Polimorfizm
9. Operatory rzutowania i polimorfizm
10. Wykorzystanie poznanych zagadnień
11. Wzorce
12. Obsługa wyjątków
13. Hierarchie klas
14. Przestrzenie nazw, obsługa wyjątków
15. Wykorzystanie poznanych instrukcji do rozwiązania zagadnień matematyczno-fizycznych. Zaliczenie zajęć.

Laboratory classes (30h):
Programowanie obiektowe

1. Podejście obiektowe – wprowadzenie, od struktury i funkcji do klasy i metody
2. Modifikator const i referencje, hermetyzacja struktur danych
3. Sekcje dostępu, konstruktory i destruktory
4. Pseudokonstruktory, konstruktory kopiujące
5. Szablony funkcji i klas
6. Przykłady rozwiązania problemów matematyczno-fizycznych
7. Dziedziczenie, rzutowanie w górę i w dół
8. Polimorfizm
9. Operatory rzutowania i polimorfizm
10. Wykorzystanie poznanych zagadnień
11. Wzorce
12. Obsługa wyjątków
13. Hierarchie klas
14. Przestrzenie nazw, obsługa wyjątków
15. Wykorzystanie poznanych instrukcji do rozwiązania zagadnień matematyczno-fizycznych. Zaliczenie zajęć.

Project classes (15h):
opracowanie programów komputerowych

opracowanie programów komputerowych

Additional information
Teaching methods and techniques:
  • Lectures: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem tablicowym wzbogaconymi o pokazy odnoszące się do prezentowanych zagadnień.
  • Laboratory classes: W trakcie zajęć laboratoryjnych studenci samodzielnie rozwiązują zadany problem praktyczny, dobierając odpowiednie narzędzia. Prowadzący stymuluje grupę do refleksji nad problemem, tak by otrzymane wyniki miały wysoką wartość merytoryczną.
  • Project classes: Studenci wykonują zadany projekt samodzielnie, bez większej ingerencji prowadzącego. Ma to wykształcić poczucie odpowiedzialności za pracę w grupie oraz odpowiedzialności za podejmowane decyzje.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Sposób zaliczenia ćwiczeń laboratoryjnych – pozytywna średnia ocena z kolokwiów i odpowiedzi ustnych
Sposób zaliczenia ćwiczeń projektowych – poprawnie wykonany i obroniony projekt
W czasie sesji możliwe są 2 terminy zaliczeń poprawkowych, uzgodnione z osobą prowadzącą zajęcia

Participation rules in classes:
  • Lectures:
    – Attendance is mandatory: No
    – Participation rules in classes: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Laboratory classes:
    – Attendance is mandatory: Yes
    – Participation rules in classes: Studenci wykonują ćwiczenia laboratoryjne zgodnie z materiałami udostępnionymi przez prowadzącego. Student jest zobowiązany do przygotowania się w przedmiocie wykonywanego ćwiczenia, co może zostać zweryfikowane kolokwium w formie ustnej lub pisemnej. Zaliczenie zajęć odbywa się na podstawie zaprezentowania rozwiązania postawionego problemu. Zaliczenie modułu jest możliwe po zaliczeniu wszystkich zajęć laboratoryjnych.
  • Project classes:
    – Attendance is mandatory: Yes
    – Participation rules in classes: Studenci wykonują prace praktyczne mające na celu uzyskanie kompetencji zakładanych przez syllabus. Ocenie podlega sposób wykonania projektu oraz efekt końcowy.
Method of calculating the final grade:

Ocena końcowa jest średnią ocen z ćwiczeń laboratoryjnych i projektowych. Uzyskanie zaliczenia w terminach poprawkowych może skutkować obniżeniem oceny o 10%.

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Każda nieobecność na zajęciach obowiązkowych wymaga od studenta samodzielnego opanowania przerabianego wówczas materiału. Nieobecność na więcej niż jednych zajęciach wymaga zaliczenia przerabianego materiału w formie i terminie wyznaczonym przez prowadzącego (najpóźniej w ostatnim tygodniu trwania zajęć). Student, który bez usprawiedliwienia opuścił więcej niż dwa obowiązkowe zajęcia i jego cząstkowe wyniki w nauce były negatywne może nie zaliczyć zajęć.

Prerequisites and additional requirements:

znajomość podstaw informatyki i programowania I

Recommended literature and teaching resources:

1. Eckel B.: Thinking in C++, Helion 2002
2. Josuttis N. M.: C++. Programowanie zorientowane obiektowo. Vademecum profesjonalisty. Helion 2003.
3. Josuttis N. M.: C++ Biblioteka standardowa. Podręcznik programisty, Helion, 2003
4. Dattatri K., Język C++. Efektywne programowanie obiektowe, Helion, 2005

Scientific publications of module course instructors related to the topic of the module:

1. J. Donizak, A. Hołda, P. Sarre „Model matematyczny transportu mechanicznego sypkiego wsadu w piecu obrotowym w procesie zgazowania karbonizatu”, Paliwa i energia XXI; Wydział Energetyki i Paliw AGH. — Kraków : Wydawnictwo Naukowe „Akapit”, , 2014
2. A.Hołda, Z. Kolenda „Mathematical models validation of aluminium electrolysis process using exergy method” , International Journal of Exergy , 2014 vol. 15
3. A.Hołda „Analityczne i numeryczne wyznaczanie rozkładu źródeł entropii w elektrolizerze aluminium typu Söderberga” — Kraków : AGH Uczelniane Wydawnictwa Naukowo-Dydaktyczne, Rozprawy Monografie / Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie 2008,
4. Model matematyczny wymiany masy i energii w procesie zawiesinowym otrzymywania miedzi blister. 2007, nr18.25.180.313

Additional information:

None