Module also offered within study programmes:
General information:
Name:
Podstawy oprogramowania obiektowego
Course of study:
2017/2018
Code:
EIB-1-501-s
Faculty of:
Faculty of Electrical Engineering, Automatics, Computer Science and Biomedical Engineering
Study level:
First-cycle studies
Specialty:
-
Field of study:
Biomedical Engineering
Semester:
5
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Course homepage:
 
Responsible teacher:
dr inż. Kańtoch Eliasz (kantoch@agh.edu.pl)
Academic teachers:
dr inż. Kańtoch Eliasz (kantoch@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)
Skills
M_U001 Potrafi pisać średniej wielkości programy wykorzystujące typowe konstrukcje języka C oraz funkcje standardowych bibliotek. IB1A_U08 Examination,
Test
M_U002 Potrafi pisać programy przetwarzające pliki oraz komunikujące się poprzez standardowe wejście i wyjście. IB1A_U08 Examination,
Test
M_U003 Potrafi prawidłowo zaimplementować klasę o ustalonym interfejsie i zakresie odpowiedzialności. IB1A_U08 Examination,
Test
M_U004 Potrafi zbudować wielomodułowy program w języku C++ IB1A_U08 Examination,
Test
Knowledge
M_W001 Ma uporządkowaną wiedzę w zakresie składni języka C++ obejmującą deklarowanie zmiennych, definiowanie funkcji, stosowanie instrukcji sterujących, zasad konstrukcji wyrażeń i ich interpretacji oraz deklaracji typów danych. IB1A_W07 Examination,
Test
M_W002 Zna w stopniu podstawowym zasady konstruowania programów wielomodułowych. IB1A_W07 Examination,
Test
M_W003 Zna składnię języka: sposób definiowania klas, atrybutów, metod, zasady przeciążania funkcji i operatorów, rozumie pojęcie funkcji wirtualnych. IB1A_W07 Examination,
Test
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
Skills
M_U001 Potrafi pisać średniej wielkości programy wykorzystujące typowe konstrukcje języka C oraz funkcje standardowych bibliotek. + + + - - - - - - - -
M_U002 Potrafi pisać programy przetwarzające pliki oraz komunikujące się poprzez standardowe wejście i wyjście. + + + - - - - - - - -
M_U003 Potrafi prawidłowo zaimplementować klasę o ustalonym interfejsie i zakresie odpowiedzialności. + + + - - - - - - - -
M_U004 Potrafi zbudować wielomodułowy program w języku C++ + + + - - - - - - - -
Knowledge
M_W001 Ma uporządkowaną wiedzę w zakresie składni języka C++ obejmującą deklarowanie zmiennych, definiowanie funkcji, stosowanie instrukcji sterujących, zasad konstrukcji wyrażeń i ich interpretacji oraz deklaracji typów danych. + + + - - - - - - - -
M_W002 Zna w stopniu podstawowym zasady konstruowania programów wielomodułowych. + - + - - - - - - - -
M_W003 Zna składnię języka: sposób definiowania klas, atrybutów, metod, zasady przeciążania funkcji i operatorów, rozumie pojęcie funkcji wirtualnych. + - + - - - - - - - -
Module content
Lectures:
Tematyka wykładów

1. Wprowadzenie (2 godz.)
Język C i C++, schematy blokowe, organizacja kodu w C++, etapy kompilacji
2. Składnia języka C++ (4 godz.)
Typy danych, zmienne, operatory, instrukcje sterujące
3. Funkcje (2 godz.)
Deklaracje i definicje, przekazywanie argumentów do funkcji, programy wielomodułowe, etapy kompilacji
4. Tablice i struktury (4 godz.)
Tablice, wykonywanie operacji na tablicach, wskaźniki, dynamiczne zarządzanie pamięcią, struktury
5. Pliki, algorytmy z nawrotami (3 godz.)
O peracje na plikach, rekurencja, problem 8 hetmatów, wyznaczanie drogi konika szachowego
6. Programowanie obiektowe (6 godz.)
Klasy, deklarowanie i implementacja klas, konstruktory, destruktory, przeładowanie operatorów, konwersje, dziedziczenie, funkcje wirtualne
7. Dynamiczne struktury danych (3 godz.)
Struktury danych statyczne i dynamiczne, przykład implementacji listy dwukierunkowej, przegląd standardowych kolekcji, podstawy obsługi wyjątków
8. Podstawy programowania interfejsów graficznych (5 godz.)
Biblioteka Qt, przegląd wybranych klas, środowisko Qt Creator, mechanizm sygnałów i gniazd, implementacja typowych elementów aplikacji okienkowej
9. Podsumowanie (1 godz.)

Auditorium classes:
Tematyka zajęć

1. Podstawy implementowania algorytmów w języku C++.
2. Implementacja przykładowych programów wykorzystujących instrukcje sterujące (w szczególności pętle) – część 1.
3. Implementacja przykładowych programów wykorzystujących instrukcje sterujące (w szczególności pętle) – część 2.
4. Implementacja funkcji w C++.
5. Programy wielomodułowe.
6. Kolokwium nr 1.
7. Implementacja algorytmów operujących na tablicach.
8. Operacje na plikach.
9. Podstawy programowania obiektowego – część 1.
10. Podstawy programowania obiektowego – część 2.
11. Przeładowanie operatorów.
12. Dziedziczenie.
13. Przykłady zastosowania standardowych kolekcji.
14. Kolokwium nr 2.
15. Zajęcia podsumowujące.

Laboratory classes:
Tematyka zajęć

1. Podstawy implementowania algorytmów w języku C++.
2. Implementacja przykładowych programów wykorzystujących instrukcje sterujące (w szczególności pętle) – część 1.
3. Implementacja przykładowych programów wykorzystujących instrukcje sterujące (w szczególności pętle) – część 2.
4. Implementacja funkcji w C++.
5. Programy wielomodułowe.
6. Kolokwium nr 1.
7. Implementacja algorytmów operujących na tablicach.
8. Operacje na plikach.
9. Podstawy programowania obiektowego – część 1.
10. Podstawy programowania obiektowego – część 2.
11. Przeładowanie operatorów.
12. Dziedziczenie.
13. Przykłady zastosowania standardowych kolekcji.
14. Kolokwium nr 2.
15. Zajęcia podsumowujące.

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 175 h
Module ECTS credits 5 ECTS
Participation in lectures 28 h
Participation in auditorium classes 28 h
Participation in laboratory classes 28 h
Realization of independently performed tasks 59 h
Preparation for classes 30 h
Examination or Final test 2 h
Additional information
Method of calculating the final grade:

Ocena końcowa wyznaczana jest jako średnia ocen z zaliczenia i egzaminu. Jeżeli zaliczenie nie zostało uzyskane w pierwszym terminie lub egzamin nie został zdany w pierwszym terminie, to przy wyznaczaniu oceny końcowej bierze się pod uwagę również oceny niedostateczne z terminów poprzedzających uzyskanie zaliczenia lub zdanie egzaminu. W takim przypadku wyznaczana jest średnia z więcej niż trzech ocen.

Prerequisites and additional requirements:

Brak

Recommended literature and teaching resources:

1 Grębosz J.: Symfonia C++. Oficyna Kallimach, Kraków, 2000
2 Grębosz J.: Pasja C++. Oficyna Kallimach, Kraków, 2000
3 Stroustrup B.: Język C++. WNT, Warszawa 2002
4 Eckel B.: Thinking in C++. 2nd ed. 2000 (książka jest dostępna w sieci www)
5 Wirth N.: Algorytmy + struktury danych = programy. WNT 2001
6 Wróblewski P.: Algorytmy, struktury danych i techniki programowania. Helion 2001

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

Additional scientific publications not specified

Additional information:

None