Module also offered within study programmes:
General information:
Annual:
2017/2018
Code:
MIC-1-602-s
Name:
Programowanie proceduralne i obiektowe
Faculty of:
Metals Engineering and Industrial Computer Science
Study level:
First-cycle studies
Specialty:
-
Field of study:
Heat Engineering
Semester:
6
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Responsible teacher:
prof. dr hab. inż. Głowacki Mirosław (glowacki@metal.agh.edu.pl)
Academic teachers:
prof. dr hab. inż. Głowacki Mirosław (glowacki@metal.agh.edu.pl)
dr inż. Jędrzejczyk Dariusz (djedrzej@agh.edu.pl)
Module summary

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
M_K001 Rozumie potrzebę uzupełniania wiadomości z zakresu technik programowania komputerów IC1A_K01 Activity during classes
Skills
M_U001 Potrafi rozwiązywać proste zagadnienia techniczne przy użyciu techniki komputerowej IC1A_U01 Completion of laboratory classes
M_U002 Potrafi korzystać z literatury fachowej oraz źródeł internetowych. IC1A_U11 Activity during classes,
Project
Knowledge
M_W001 Posiada wiedzę niezbędną do implementacji modeli matematycznych procesów podanych w postaci prostych programów komputerowych. IC1A_U01 Completion of laboratory classes
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
Others
E-learning
Social competence
M_K001 Rozumie potrzebę uzupełniania wiadomości z zakresu technik programowania komputerów + - + - - - - - - - -
Skills
M_U001 Potrafi rozwiązywać proste zagadnienia techniczne przy użyciu techniki komputerowej - - + - - - - - - - -
M_U002 Potrafi korzystać z literatury fachowej oraz źródeł internetowych. - - + - - - - - - - -
Knowledge
M_W001 Posiada wiedzę niezbędną do implementacji modeli matematycznych procesów podanych w postaci prostych programów komputerowych. + - - - - - - - - - -
Module content
Lectures:

1. Przegląd podstawowych paradygmatów programowania, programowanie imperatywne i proceduralne, funkcyjne, logiczne i obiektowo zorientowane, środowiska programistyczne.
2. Podstawy programowania proceduralnego, literały, identyfikatory stałych i zmiennych, typy wbudowane, wskaźniki i referencje, dostęp do zmiennych, operatory, wyrażenia i instrukcje, instrukcje warunkowe i iteracyjne, rekurencja.
3. Struktura programu, blok kodu, inicjalizacja stałych i zmiennych, dostęp do stałych i zmiennych, funkcje, definicja funkcji, wskaźniki do funkcji, przekazywanie parametrów i zwracanie wartości, parametry formalne i aktualne – zgodność typów i konwersje automatyczne, parametry domyślne.
4. Agregacja danych, deklaracje i inicjalizowanie tablic, tablice znakowe i operacje na łańcuchach, struktury, unie, pola bitowe, wyliczenia, deklarowanie pól bitowych oraz wyliczeń, dostęp do składników struktury i unii, przekazywanie struktur do funkcji, wskaźniki do struktur.
5. Biblioteka standardowa, funkcje matematyczne, funkcje wejścia/wyjścia, dynamiczna alokacji pamięci
6. Obiektowe modelowanie dziedziny. Cechy programowania obiektowego.
7. Pojęcie obiektu, proste przykłady obiektów, analogia do obiektów rzeczywistych, typy obiektów, typy definiowane przez użytkownika, statyczna kontrola typów, cechy obiektów – atrybuty i metody, asercje.
8. Klasy i kapsułkowanie, struktury i unie, klasy jako typy i moduły, składniki klas, wskaźnik this, konstruktory i destruktory, statyczne składniki klas, tryby dostępu do składników klas, ukrywanie informacji, funkcje zaprzyjaźnione.
9. Wskaźniki i referencje do obiektów, wskaźniki do atrybutów klas, wskaźniki do metod klas, tablice wskaźników do składników klas.
10. Operatory i ich przeciążenia – funkcje operatorowe, argumentowość operatorów, operatory jako składniki klas i zwykłe funkcje. Automatyczne konwersje typów.
11. Dziedziczenie klas i interfejsy, dostęp do składników klas podstawowych, dziedziczenie a zawieranie klas, ponowna definicja cech, dziedziczenie wielokrotne i wielopokoleniowe, ryzyko wieloznaczności, klasy wirtualne, klasy abstrakcyjne.
12. Wskaźniki do instancji klas, niejawna konwersja typów, wiązanie dynamiczne, funkcje wirtualne i polimorfizm.
13. Wyjątki i ich obsługa.
14. Generyczność – szablony klas, klasy specjalizowane, ograniczona generyczność.

Laboratory classes:

1. Zajęcia wprowadzające – omówienie zasad zaliczenia przedmiotu, sposobu naliczania ocen, możliwych nieobecności oraz zasad poprawy oceny z ćwiczeń
2. Obiekty jako przedstawiciele typów danych, wskaźniki a referencje, wektory, tablice, statyczna oraz dynamiczna alokacja pamięci, dealokacja pamięci, tablice obiektów, tablice wskaźników do obiektów.
3. Instrukcje warunkowe oraz pętle.
4. Pojęcie funkcji, definicja a deklaracja. Sposoby przekazywania argumentów do funkcji. Zwracanie wartości z funkcji.
5. Argumenty domniemane funkcji. Zgodność typów oraz konwersje automatyczne. Funkcje matematyczne.
6. Ćwiczenie zasad programowania obiektowo zorientowanego – różnice pomiędzy programowaniem proceduralnym a programowaniem obiektowym.
7. Klasa a struktura, obiekty, dane, funkcje składowe, funkcje typu inline, tryby dostępu do składników klas, ukrywanie informacji, obiekty typu stałego, wskaźniki typu stałego, dane składowe typu static.
8. Konstruktory domniemane, kopiujące, parametryczne, destruktor oraz ich rola w klasie, klonowanie klas, rola wskaźnika this.
9. Funkcje zaprzyjaźnione, klasy zaprzyjaźnione, funkcje składowe klas zaprzyjaźnione z inną klasą, deklaracja przyjaźni, możliwości oraz zastosowanie,
10. Operatory – zastosowanie, przeciążenie operatorów, definiowanie funkcji operatorowych jako składników klas i jako funkcji globalnych, operatory jedno- i dwuargumentowe, operator wieloargumentowy. Operatory pre- i postdekrementacji, operatory inkrementacji, operatory operacji arytmetycznych i logicznych, operator przypisania, porównania, różności. Deklaracja przyjaźni a operatory nie będące składnikami klas.
11. Operatory wywołania funkcji, tablicy, operatory strumienia, operatory tworzenia oraz kasowania obiektów w sposób dynamiczny, operator rzutowania. Projekt łączący dwa ostatnie zajęcia.
12. Zastosowanie i rola dziedziczenia, aplikacja obejmująca tematykę dziedziczenia.
13. Funkcje wirtualne, niejawna konwersja typów, kontynuacja projektu z poprzednich zajęć.
14. Termin uzupełnień 2, odrabianie zaległości studentów.

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 125 h
Module ECTS credits 5 ECTS
Participation in lectures 28 h
Participation in laboratory classes 28 h
Preparation of a report, presentation, written work, etc. 26 h
Preparation for classes 28 h
Examination or Final test 3 h
Contact hours 12 h
Additional information
Method of calculating the final grade:

Ocena końcowa jest średnią arytmetyczną ocen uzyskanych w trakcie ćwiczeń laboratoryjnych oraz z projektu.

Prerequisites and additional requirements:

Zgodnie z Regulaminem Studiów AGH podstawowym terminem uzyskania zaliczenia jest ostatni dzień zajęć w danym semestrze. Termin zaliczenia poprawkowego (tryb i warunki ustala prowadzący moduł na zajęciach początkowych) nie może być późniejszy niż ostatni termin egzaminu w sesji poprawkowej (dla przedmiotów kończących się egzaminem) lub ostatni dzień trwania semestru (dla przedmiotów niekończących się egzaminem).

Recommended literature and teaching resources:

1. M. Kubiak, C++. Zadania z programowania z przykładowymi rozwiązaniami. Helion 2011.
2. D. Knuth, Sztuka Programowania, WNT 2002.
3. T. Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT 2000.
4. J. Grębosz, Symfonia C++, Oficyna Kallimach, Kraków 2006
5. B. Stroustrup, Język C++, WNT 1995
6. R. Sedgewick, Algorytmy w C++, Oficyna Wyd. RM, 1999
7. C. Dellanoy, Ćwiczenia z języka C++: Programowanie obiektowe, WNT, Warszawa, 1999

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

KSIĄŻKI
1. Głowacki M., Modelowanie Matematyczne i Symulacje Komputerowe Odkształcania Metali – Teoria i Praktyka, Wydawnictwa AGH Kraków, 2012
FRAGMENTY KSIĄŻEK
2. Głowacki M., Hojny M., Development of a Computer System for High Temperature Steel Deformation Testing Procedure, In: Simulation, Design and Control of Foundry Processes AGH Kraków, 2006, 145- 156
3. Głowacki M., Inverse Analysis Applied to Mushy Steel Rheological Properties Testing Using Hybrid Numerical-Analytical Model, In: Numerical Modelling InTech Publisher, 2012, 278- 302
PUBLIKACJE W CZASOPISMACH
4. Dębiński T., Jędrzejczyk D., Gumuła A., Głowacki M., Durak J., Parallel Computing Algorithm for Three-dimensional Thermal Model of Rolling Process, Hutnik, Wiadomości Hutnicze, 75 (4), 2008, 193- 200
5. Dębiński T., Jędrzejczyk D., Gumuła A., Głowacki M., Durak J., Parallel Computing Algorithm for Three-dimensional Thermal Model of Rolling Process, Hutnik Wiadomosci Hutnicze, 74 (4), 2008, 193- 200
6. Głowacki M., Hojny M., Inverse Analysis Applied for Determination of Strain–stress Curves for Steel Deformed in Semi-solid State, Inverse Problems in Science and Engineering, 17 (2), 2009, 159- 174
7. Gumuła A., Dębiński T., Jędrzejczyk D., Głowacki M., Artificial Intelligence Methods, Image Recognition Theory and Parallel Computation in Engineering, Hutnik− Wiadomości Hutnicze, 76 (4), 2009, 297- 302
8. Dębiński T., Głowacki M., Jędrzejczyk D., Gumuła A., Algorytm Obliczeń Równoległych dla Przestrzennego Modelu Walcowania Stali ze Strefą Półciekłą, Hutnik, Wiadomości Hutnicze, 77 (4), 2010, 181- 185
9. Hojny M., Głowacki M., Kuziak R., Zalecki W., Development of Dedicated Computer System for Gleeble 3800® Thermo-Mechanical Simulator, Lecture Notes in Engineering and Computer Science, spec. ed.,1, 2011, 1507- 1512
10. Głowacki M., Czubernat A., Visualisation of Three-dimensional Scalar Fields Using Volume Rendering Technology, Technical Transactions – 4-M (7), 2010, 147- 155
11. Dębiński T., Głowacki M., Parallel Computing Algorithm for Rolling of Slabs With Semi-solid Zone, Technical Transactions – 4-M (7), 2011, 37- 42
12. Opalinski A., Turek W., Głowacki M., Hojny M., Information Detection in Polish Web Resources Crawling Based on Stamping Industry Example, Technical Transactions 4-M(7), 2011, 401- 408
13. Dębiński T., Głowacki M., Hojny M., Parallel Computation Model of Semi-solid Steel Deformation Process, Steel Research Int, spec. ed., 2012, 763- 766
14. Hojny M., Głowacki M., Badania Plastycznosci Stali Odkształcanej w Wysokich Temperaturach, Hutnik Wiadomosci Hutnicze, 79 (4), 2012, 275- 282
15. Gumuła A., Dębiński T., Głowacki M., Automatic Approach to Microstructural Image Recognition and Analysis, Steel Research Int, spec. ed., 2012, 1331- 1334
16. Dębiński T., Głowacki M., Increasing efficiency computing of simulation rolling process with semi-solid zone tests of parallel computing, Technical Transactions 1-M(5), 2013, 43-49
17. Opaliński A., Turek W., Głowacki M., Information monitoring based on WEB resources, Technical Transactions 1-M(5), 2013, 277–284
18. Dębiński T., Głowacki M., Hojny M., Gumuła A., Woźniak D., Web system dedicated to parallel computation for modeling of mushy steel deformation, Hutnik Wiadomosci Hutnicze, 81 (2), 2014, 115–121
19. Dębiński T., Głowacki M., Hojny M., Gumuła A., Woźniak D., Web system dedicated to parallel computation for modeling of mushy steel deformation, Archives of Metallurgy and Materials, 59, 2014, 865–870
20. Mrzygłód B., Olejarczyk-Wożeńska I., Głowacki M, Opaliński A., Extracting knowledge from integrated experimental data on the ADI manufacture, Computer Methods in Materials Science, 15(2015), 85–93
PUBLIKACJE W MATERIAŁACH KONFERENCYJNYCH
21. Głowacki M., Malinowski Z., Pietrzyk M., Hajduk Z., Wcisło J., Musiał A., Computer Program for Ring Rolling Simulation, Proc. KomPlasTech 2002, 2002, 309- 318
22. Kondek T., Pietrzyk M., Głowacki M., Computer Program for Identification of the Coefficients in Phase Transformation Models, Proc. KomPlasTech 2002, 2002, 127- 134
23. Nowak T., Głowacki M., Optimal Implementation of Collaboration Environment in Metal Forming Industry Driven by Non-linear Quality Function Deployment Model, Proc. ISPE International Conference on Concurrent Engineering, 2004, 683- 688
24. Dębiński T., Głowacki M., Utility Test of Parallel Computing for Increasing Efficiency Computing of Simulation Ring Rolling Process, Proc. KomPlasTech 2005, 2005, 163- 170
25. Gumuła A., Głowacki M., Metody Szybkiej Wizualizacji Wyników Symulacji Komputerowych, Proc. KomPlasTech 2006, 2006, 69- 75
26. Głowacki M., Regulski K., Dębiński T., Knowledge Platform for the Network of Plants Processing Solid Metallurgical Waste, Proc. Iron and Steelmaking 2008, 2008, 185- 189
27. Głowacki M., Hojny M., Jędrzejczyk D., Hybrid Analytical-numerical System of Mushy Steel Deformation, Proc. ICCES International Symposium on Meshless and Other Novel Computational Methods, 2009, 27
28. Opalinski A., Turek W., Głowacki M., Romanowska-Pawliczek A., Information Extraction Support System Applied in Data Search in the Domain of Biomedical Engineering, Proc. Human Language Technologies As a Challenge for Computer Science and Linguistics : 5th Language & Technology Conference, 2011, 471- 475
29. Romanowska-Pawliczek A., Siwek A., Głowacki M., Warmuzek M., Image Recognition, Identification and Classification Algorithms in Cast Alloys Microstructure Analysis, Proc. 15th World Multi-conference on Systemics, Cybernetics and Informatics, 2011, 1- 6
30. Romanowska-Pawliczek A., Pawliczek P., Głowacki M., Sołtys Z., Innovative 3D Histogram Equalization Algorithm As an Automatic Technique Improving Visual Information Quality in Stacks of Confocal Microscope Images, Proc. ICL 11, 2011, 1
31. Romanowska-Pawliczek A., Pawliczek P., Głowacki M., Sołtys Z., A Novel 3D Histogram Equalization Algorithm for Stacks of Confocal Microscope Images, Proc. IMETI 2011 : the 4th International Multi-conference on Engineering and Technological Innovation, 2011, 50- 55
32. Głowacki M., Regulski K., Białas T., Application of Queuing Theory in the Queuing Networks Modeling of the Events Supported by the Dean’s Office at WIMiIP AGH, Proc. KomPlasTech 2012, 2012, 1- 8
33. Głowacki M., Hojny M., Computer-aided Investigation of Mechanical Properties for Integrated Casting and Rolling Processes Using Hybrid Numerical-analytical Model of Mushy Steel Deformation, Proc. ADVCOMP 2012 The Sixth International Conference on Advanced Engineering Computing and Applications in Sciences, 2012, 83- 89
34. Głowacki M., Hojny M., An inverse analysis and hybrid numerical-analytical model applied to investigation of semi-solid steel properties, Proc. ICCES symposium on meshless & other novel computational methods, Budva Montenegro, September 2012, 30
35. Głowacki M., Dębiński, Olejarczyk-Wożeńska I., Fast parallel computation algorithm in application to simulation of semi-solid steel rolling and inverse analysis of its properties, Proc. 11th International conference of numerical analysis and applied mathematics, 2013, 2179–2182
36. Jędrzejczyk D., Hojny M., Głowacki M., Development of software for the simulation of rolling steel under the coexistence of liquid and solid state, PLASTMET’ 2014, Łańcut, 25–28 listopada 2014

Additional information:

None