Module also offered within study programmes:
General information:
Name:
Informatyka
Course of study:
2019/2020
Code:
RAIR-1-203-s
Faculty of:
Mechanical Engineering and Robotics
Study level:
First-cycle studies
Specialty:
-
Field of study:
Automatics and Robotics
Semester:
2
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Course homepage:
 
Responsible teacher:
dr hab. inż. Banaś Marian (mbanas@agh.edu.pl)
Module summary

Zapoznanie studenta z programowaniem z użyciem paradygmatu obiektowego, na przykładzie języka 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 Potrafi nabyć i doskonalić znajomość nowych rozwiązań informatycznych. Umie samodzielnie dobrać produkt informatyczny stosownie do wymagań stawianych przez pracodawcę i środowisko. AIR1A_K03, AIR1A_K02, AIR1A_K01 Involvement in teamwork,
Activity during classes,
Participation in a discussion
Skills: he can
M_U001 Umie posługiwać się elementami języka C++: strumieniami (konsola, pliki, łańcuchy tekstowe), zmiennymi dynamicznymi, referencjami, adresami do funkcji, tablicami wielowymiarowymi, szablonami funkcji i funkcjami przeładowanymi. AIR1A_U04 Project,
Execution of laboratory classes
M_U002 Umie zbudować klasę, potrafi posłużyć się mechanizmami dziedziczenia i polimorfizmu. Umie zdefiniować operatory użytkownika i posłużyć się szablonami STL. AIR1A_U04 Project,
Execution of laboratory classes
M_U003 Umie zgłaszać i obsługiwać wyjątki. Potrafi posłużyć się bibliotekami standardowymi oraz firm trzecich, potrafi stworzyć własną bibliotekę. AIR1A_U04 Project,
Execution of laboratory classes
M_U004 Umie zaprojektować, napisać, skompilować program w języku C++ z uwzględnieniem wymagań systemowych oraz użytkowników. AIR1A_U04 Project,
Execution of laboratory classes
Knowledge: he knows and understands
M_W001 Zna podstawowe paradygmaty programowania (strukturalny, obiektowy i funkcyjny). Zna możliwości jakie dają programiście języki wspierające poszczególne paradygmaty. AIR1A_W12 Activity during classes,
Participation in a discussion
M_W002 Zna składnię języka C++ jest świadomy, które elementy języka są dziedziczone z ANSI C. Zna model projektowania struktury programu oraz programowania obiektowego (klasy, dziedziczenie i polimorfizm). Zna mechanizm strumieni, referencji oraz zarządzania pamięcią w C++, przeładowania funkcji i operatorów, szablonów funkcji oraz mechanizm zgłaszania i obsługi wyjątków. AIR1A_W12 Activity during classes,
Participation in a discussion
M_W003 Zna różnice pomiędzy poszczególnymi standardami języka (do C++17) AIR1A_W12 Activity during classes,
Participation in a discussion
M_W004 Zna podstawowe funkcje z bibliotek standardowych (w tym STL) oraz ważniejszych rozwiązań firm trzecich, dedykowanych dla języka C++. AIR1A_W12 Activity during classes,
Participation in a discussion
M_W005 Wie jakie są inne ważniejsze języki programowana, zna zakres ich stosowania i podstawową charakterystykę. Orientuje się w bieżących kierunkach rozwoju metod programowania. AIR1A_W12 Activity during classes,
Participation in a discussion
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
28 14 0 14 0 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 Potrafi nabyć i doskonalić znajomość nowych rozwiązań informatycznych. Umie samodzielnie dobrać produkt informatyczny stosownie do wymagań stawianych przez pracodawcę i środowisko. - - + - - - - - - - -
Skills
M_U001 Umie posługiwać się elementami języka C++: strumieniami (konsola, pliki, łańcuchy tekstowe), zmiennymi dynamicznymi, referencjami, adresami do funkcji, tablicami wielowymiarowymi, szablonami funkcji i funkcjami przeładowanymi. - - + - - - - - - - -
M_U002 Umie zbudować klasę, potrafi posłużyć się mechanizmami dziedziczenia i polimorfizmu. Umie zdefiniować operatory użytkownika i posłużyć się szablonami STL. - - + - - - - - - - -
M_U003 Umie zgłaszać i obsługiwać wyjątki. Potrafi posłużyć się bibliotekami standardowymi oraz firm trzecich, potrafi stworzyć własną bibliotekę. - - + - - - - - - - -
M_U004 Umie zaprojektować, napisać, skompilować program w języku C++ z uwzględnieniem wymagań systemowych oraz użytkowników. - - + - - - - - - - -
Knowledge
M_W001 Zna podstawowe paradygmaty programowania (strukturalny, obiektowy i funkcyjny). Zna możliwości jakie dają programiście języki wspierające poszczególne paradygmaty. + - - - - - - - - - -
M_W002 Zna składnię języka C++ jest świadomy, które elementy języka są dziedziczone z ANSI C. Zna model projektowania struktury programu oraz programowania obiektowego (klasy, dziedziczenie i polimorfizm). Zna mechanizm strumieni, referencji oraz zarządzania pamięcią w C++, przeładowania funkcji i operatorów, szablonów funkcji oraz mechanizm zgłaszania i obsługi wyjątków. + - - - - - - - - - -
M_W003 Zna różnice pomiędzy poszczególnymi standardami języka (do C++17) + - - - - - - - - - -
M_W004 Zna podstawowe funkcje z bibliotek standardowych (w tym STL) oraz ważniejszych rozwiązań firm trzecich, dedykowanych dla języka C++. + - - - - - - - - - -
M_W005 Wie jakie są inne ważniejsze języki programowana, zna zakres ich stosowania i podstawową charakterystykę. Orientuje się w bieżących kierunkach rozwoju metod programowania. + - - - - - - - - - -
Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 60 h
Module ECTS credits 2 ECTS
Udział w zajęciach dydaktycznych/praktyka 28 h
Preparation for classes 16 h
Realization of independently performed tasks 16 h
Module content
Lectures (14h):

Wstęp do języka C++
Strumieniowa biblioteka WE/WY
Przeciążenie funkcji, referencje, zmienne dynamiczne,
Projektowanie obiektowe: klasy, obiekty
Dziedziczenie i polimorfizm
Struktury danych – kontenery STL
Mechanizm wyjątków

Laboratory classes (14h):

Tworzenie, kompilacja i debugowanie programów w języku C++
Strumieniowa biblioteka WE/WY
Referencje, przeładowanie funkcji, tablice
Programowanie obiektowe – klasy
Techniki dziedziczenia i polimorfizmu
Zagadnienia struktur danych – kontenery STL
Zgłaszanie i obsługa wyjątków
Korzystanie z bibliotek – tworzenie bibliotek użytkownika

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ą.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Zaliczenie wszystkich zadań z ćwiczeń laboratoryjnych.

Participation rules in classes:
  • Lectures:
    – Attendance is mandatory: Yes
    – 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.
Method of calculating the final grade:

Średnia z zaliczenia laboratoriów i kolokwium.

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

Rozwiązanie zadań z ćwiczeń laboratoryjnych, na których student był nieobecny na następnych zajęciach lub w innym terminie w uzgodnieniu z prowadzącym zajęcia.

Prerequisites and additional requirements:

Znajomość języka C (np. na podstawie modułu z 1 sem. : “Techniki Informatyczne”)

Recommended literature and teaching resources:

Grębosz J.: Pasja C++ : szablony, pojemniki i obsługa sytuacji wyjątkowych w języku C++. Oficyna Kallimach, Kraków 2016.
Grębosz J.: Opus magnum C++11. Programowanie w języku C++. Helion. Gliwice 2018
Banaś M.: Techniki Informatyczne. Przewodnik do ćwiczeń, Kraków 2016 i późn. (cykliczne materiały dla studentów WIMiR).
Kubiak M.: C++ : zadania z programowania z przykładowymi rozwiązaniami. Helion. Gliwice 2018.
Rao S.: C++ dla każdego. Helion, Gliwice 2014.

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

Kowalski W., Banaś M.: Informatyka. Przewodnik do ćwiczeń, Kraków 2016 i późn. (cykliczne materiały dla studentów WIMiR).
Banaś M., Marczakowski P.: Oprogramowanie komputerowe do projektowania zbiorników niskociśnieniowych na podstawie normy API 620. Studencka Sesja Naukowa, AGH, Kraków 1997
Banaś M., Migdalski J.: Automatyzacja procesu badań potencjometrycznych z użyciem wielokanałowego, skompu-teryzowanego zestawu pomiarowego. Zeszyty Naukowe AGH, s. Mechanika, Kraków 2000, tom 19, 271-284.
Banaś M. Obtaining parameters of granulometric characteristics of suspension with usage computer controlled sedimentation balance. Vìsnik Nacìonal’nogo unìversitetu “L’vìvs`ka polìtehnìka” . ISSN 0321-0499. Komp’ûternì sistemi proektuvannâ. 2004 no. 501, s. 62–68
Banaś M. Computer simulations of the sedimentation process. Vidavnictvo Nacìonal’nogo unìversitetu “L’vìvs’ka polìtehnìka”. 2004. Pp. 244–247. Lviv.
Banaś M. Theoretical analysis and investigations of properties on non-grain suspensions used in design and exploitation of lamella sedimentation tanks. AGH. Kraków 2013.

Additional information:

Możliwość wcześniejszego zaliczenia laboratoriów na podstawie wyniku realizacji
indywidualnego zadania oraz przedstawieniu własnych osiągnięć.