Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Programowanie obiektowe
Tok studiów:
2016/2017
Kod:
MIS-1-302-s
Wydział:
Inżynierii Metali i Informatyki Przemysłowej
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Informatyka Stosowana
Semestr:
3
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Osoba odpowiedzialna:
prof. dr hab. inż. Głowacki Mirosław (glowacki@metal.agh.edu.pl)
Osoby prowadzące:
prof. dr hab. inż. Głowacki Mirosław (glowacki@metal.agh.edu.pl)
Bachniak Daniel (bachniak@agh.edu.pl)
mgr inż. Smyk Grzegorz (gsmyk@agh.edu.pl)
Krótka charakterystyka modułu

Opis efektów kształcenia dla modułu zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń)
Wiedza
M_W001 Student powinien znać podstawy teorii programowania obiektowego, rozumieć sposób podejścia do obiektów oraz ich metod i pól, a także sposoby wzajemnego powiązania klas obiektów i komunikowania się poszczególnych obiektów IS1A_W07, IS1A_W11, IS1A_W04 Egzamin
M_W002 Student być w stanie poprawnie zdefiniować hierarchię klas, przekazywanie komunikatów pomiędzy obiektami oraz zaprojektować sprawnie działającą aplikację opartą o teorię programowania obiektowo zorientowanego. IS1A_W07, IS1A_W11, IS1A_W04 Projekt
Umiejętności
M_U001 Student powinien mieć zdolności do samodzielnego zaimplementowania aplikacji w języku C++, usunięcia błędów i przetestowania obiektowo zorientowanego kodu aplikacji IS1A_U03, IS1A_U11, IS1A_U12 Projekt
M_U002 Student powinien umieć zanalizować przedstawiony mu problem pod kątem wymagań programistycznych oraz zaprojektować odpowiedni system rozwiązania zadań z niego wynikających IS1A_U16, IS1A_U10, IS1A_U12 Projekt
Kompetencje społeczne
M_K001 Student powinien być zdolnym do rozwiązywania konkretnych problemów z życia codziennego przy pomocy uzyskanej wiedzy i umiejętności praktycznych oraz umieć zaproponować ich rozwiązanie z wykorzystaniem narzędzi informatycznych IS1A_K03 Wykonanie ćwiczeń laboratoryjnych
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Inne
E-learning
Wiedza
M_W001 Student powinien znać podstawy teorii programowania obiektowego, rozumieć sposób podejścia do obiektów oraz ich metod i pól, a także sposoby wzajemnego powiązania klas obiektów i komunikowania się poszczególnych obiektów + - - - - - - - - - -
M_W002 Student być w stanie poprawnie zdefiniować hierarchię klas, przekazywanie komunikatów pomiędzy obiektami oraz zaprojektować sprawnie działającą aplikację opartą o teorię programowania obiektowo zorientowanego. + - + - - - - - - - -
Umiejętności
M_U001 Student powinien mieć zdolności do samodzielnego zaimplementowania aplikacji w języku C++, usunięcia błędów i przetestowania obiektowo zorientowanego kodu aplikacji - - + - - - - - - - -
M_U002 Student powinien umieć zanalizować przedstawiony mu problem pod kątem wymagań programistycznych oraz zaprojektować odpowiedni system rozwiązania zadań z niego wynikających - - + - - - - - - - -
Kompetencje społeczne
M_K001 Student powinien być zdolnym do rozwiązywania konkretnych problemów z życia codziennego przy pomocy uzyskanej wiedzy i umiejętności praktycznych oraz umieć zaproponować ich rozwiązanie z wykorzystaniem narzędzi informatycznych + - + - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:

1. Przegląd podstawowych paradygmatów programowania. Środowiska programistyczne zorientowane obiektowo.
2. Pojęcie obiektu, proste przykłady obiektów, analogia do obiektów rzeczywistych. Obiektowe modelowanie dziedziny. Cechy programowania obiektowego.
3. Typy obiektów, typy definiowane przez użytkownika, statyczna kontrola typów. Cechy obiektów – atrybuty, metody i zdarzenia, sterowanie oparte na cechach, przekazywanie komunikatów, asercje.
4. Klasy i kapsułkowanie, 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.
5. 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.
6. Automatyczne konwersje typów, konstruktor konwertujący i operatory konwersji.
7. Operatory i ich przeciążenia – funkcje operatorowe, argumentowość operatorów, operatory jako składniki klas i zwykłe funkcje.
8. Dziedziczenie klas i interfejsy, dostęp do składników klas podstawowych, dziedziczenie a zawieranie klas, ponowna definicja cech.
8. Dziedziczenie wielokrotne i wielopokoleniowe, ryzyko wieloznaczności, klasy wirtualne, klasy abstrakcyjne.
9. Wskaźniki do instancji klas, niejawna konwersja typów, wiązanie dynamiczne, funkcje wirtualne i polimorfizm.
10. Wyjątki i ich obsługa.
11. Generyczność – szablony klas, klasy specjalizowane, ograniczona generyczność.
12. Obiekty, kolekcje obiektów, własności i metody kolekcji, indeksowanie kolekcji.
13. Metody, dodawanie metod do klas, argumenty metod, własności i metody domyślne.
14. Zdarzenia, dodawanie zdarzeń do klas, dodawanie zdarzeń do formularzy, deklarowanie i wywoływanie zdarzeń, obsługa zdarzeń obiektu.

Ćwiczenia laboratoryjne:

1. Zajęcia wprowadzające – omówienie zasad zaliczenia przedmiotu, sposobu naliczania ocen, możliwych nieobecności oraz zasad poprawy oceny z ćwiczeń
2. Ćwiczenie zasad programowania obiektowo zorientowanego – różnice pomiędzy programowaniem proceduralnym a programowaniem obiektowym.
3. Obiekty jako przedstawiciele typów danych, funkcje, 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.
4. 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.
5. Konstruktory domniemane, kopiujące, parametryczne, destruktor oraz ich rola w klasie, klonowanie klas, rola wskaźnika this.
6. Funkcje zaprzyjaźnione, klasy zaprzyjaźnione, funkcje składowe klas zaprzyjaźnione z inną klasą, deklaracja przyjaźni, możliwości oraz zastosowanie,
7. 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,
8. 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.
9. Zastosowanie i rola dziedziczenia, aplikacja obejmująca tematykę dziedziczenia oraz polimorfizmu.
10. Funkcje wirtualne, niejawna konwersja typów, kontynuacja projektu z poprzednich zajęć.
11. Szablony funkcji i klas.
12. Wyjątki oraz obsługa wyjątków.
13. Graficzny interfejs użytkownika – środowiska programistyczne, termin uzupełnień.
14. Termin uzupełnień 2, odrabianie zaległości przez studentów.

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 148 godz
Punkty ECTS za moduł 5 ECTS
Udział w wykładach 28 godz
Udział w ćwiczeniach laboratoryjnych 28 godz
Przygotowanie do zajęć 30 godz
Samodzielne studiowanie tematyki zajęć 30 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Dodatkowe godziny kontaktowe z nauczycielem 10 godz
Przygotowanie sprawozdania, pracy pisemnej, prezentacji, itp. 20 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:

Ocena końcowa O (zaokrąglona do jednej z obowiązujących ocen):
O = 0,5 Oz + 0,5 Oe
Oz – ocena uzyskana w trakcie ćwiczeń,
Oe – ocena uzyskana w trakcie egzaminu.

Wymagania wstępne i dodatkowe:

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).

Zalecana literatura i pomoce naukowe:

1. B. Meyer, Programowanie zorientowane obiektowo, Helion, Gliwice 2005
2. J. Grębosz, Symfonia C++, Oficyna Kallimach, Kraków 2006
3. J. Grębosz, Pasja C++, Oficyna Kallimach, Kraków 2004
4. B. Stroustrup, Programowanie. Teoria i praktyka z wykorzystaniem C++, Helion, Gliwice 2010
5. D. Chapman, Visual C++ dla każdego, Helion, Warszawa 1999
6. Microsoft Visual C++. Professional edition – programmers guide, Microsoft Corporation, Ireland 1998.
7. R. Sedgewick, Algorytmy w C++, Oficyna Wyd. RM, 1999
8. C. Dellanoy, Ćwiczenia z języka C++: Programowanie obiektowe, WNT, Warszawa, 1993

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

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

Informacje dodatkowe:

Brak