Module also offered within study programmes:
General information:
Name:
Zaawansowane programowanie obiektowe
Course of study:
2019/2020
Code:
RAIR-1-509-s
Faculty of:
Mechanical Engineering and Robotics
Study level:
First-cycle studies
Specialty:
-
Field of study:
Automatics and Robotics
Semester:
5
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 studentów z zaawansowanymi technikami programowania z użyciem zintegrowanego środowiska Delphi/Lazarus

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 wykorzystywać najnowsze środki techniki programistycznej do tworzenia oprogramowania zaspokajającego potrzeby własne lub zespołu. Activity during classes,
Participation in a discussion
M_K002 Odczuwa potrzebę ciągłego poznawania szybko zmieniających się trendów w tworzeniu oprogramowania oraz nowych środowisk programistycznych. Activity during classes,
Participation in a discussion
Skills: he can
M_U001 Umie stworzyć własne komponenty rozszerzające działanie systemu stosownie do potrzeb jakie stawia rozwiązywany problem informatyczny. Project,
Execution of laboratory classes
M_U002 Umie korzystać z obecnych w systemie, a także tworzyć własne biblioteki DLL. Project,
Execution of laboratory classes
M_U003 Umie przetwarzać oraz tworzyć grafikę wektorową, animację oraz klipy filmowe. Project,
Execution of laboratory classes
M_U004 Umie tworzyć własne pakiety instalacyjne, wykorzystujące niestandardowe funkcje, integrujące się z mechanizmami zarządzania aplikacjami z systemu operacyjnego. Project,
Execution of laboratory classes
M_U005 Umie projektować oraz implementować obsługę zewnętrznych relacyjnych baz danych z rozproszonym modelem przetwarzania. Project,
Execution of laboratory classes
M_U006 Umie implementować we własnym programie obsługę komunikacji przez pory Centronix, RX 232 oraz USB. Project,
Execution of laboratory classes
M_U007 Umie korzystać z obiektów Activex, modelu DDE oraz COM. Project,
Execution of laboratory classes
M_U008 Umie tworzyć oprogramowanie do obsługi sieci komputerowych z wykorzystaniem protokołów z różnych warstw stosu OSI do celu zarówno komunikacji jak i analizy budowy i funkcjonowania infrastruktury. Project,
Execution of laboratory classes
M_U009 Umie korzystać ze środowiska .net, a także migrować własne projekty do innych systemów RAD (Visual C++). Project,
Execution of laboratory classes
M_U010 Umie analizować możliwości aktualnie dostępnych systemów programowania RAD, dobrać wybrane środowisko stosownie do własnych potrzeb oraz uwarunkowań obiektywnych. Project,
Execution of laboratory classes
Knowledge: he knows and understands
M_W001 Ma wiedzę z zakresu zagadnień programowania obiektowego niezbedną do projektowania własnych komponentów programistycznych, rozszerzających możliwości środowiska programistycznego. Activity during classes,
Participation in a discussion
M_W002 Ma wiedzę z zakresu współpracy programów w systemie operacyjnym, wymiany danych, współdzielenia pamięci. Zna konstrukcję i sposób korzystania z bibliotek DLL. Activity during classes,
Participation in a discussion
M_W003 Ma wiedzę w zakresie tworzenia i korzystania z grafiki wektorowej i filmów. Activity during classes,
Participation in a discussion
M_W004 Ma wiedzę w zakresie projektowania i wykorzystania współczesnych systemów relacyjnych baz danych z rozproszonym modelem przetwarzania. Activity during classes,
Participation in a discussion
M_W005 Ma wiedzę w zakresie konstrukcji i sposobu funkcjonowania DDE oraz COM. Activity during classes,
Participation in a discussion
M_W006 Ma wiedzę o portach komunikacyjnych RS232, Centronix oraz USB. Activity during classes,
Participation in a discussion
M_W007 Ma wiedzę w zakresie sposobów komunikacji sieciowej z wykorzystaniem zarówno protokołu TCP/IP jak też protokołów innych warstw OSI. Activity during classes,
Participation in a discussion
M_W008 Ma wiedzę w zakresie kierunków rozwoju współczesnych systemów projektowania oprogramowania. 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
34 14 0 20 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 wykorzystywać najnowsze środki techniki programistycznej do tworzenia oprogramowania zaspokajającego potrzeby własne lub zespołu. - - + - - - - - - - -
M_K002 Odczuwa potrzebę ciągłego poznawania szybko zmieniających się trendów w tworzeniu oprogramowania oraz nowych środowisk programistycznych. + - - - - - - - - - -
Skills
M_U001 Umie stworzyć własne komponenty rozszerzające działanie systemu stosownie do potrzeb jakie stawia rozwiązywany problem informatyczny. + - + - - - - - - - -
M_U002 Umie korzystać z obecnych w systemie, a także tworzyć własne biblioteki DLL. + - + - - - - - - - -
M_U003 Umie przetwarzać oraz tworzyć grafikę wektorową, animację oraz klipy filmowe. + - + - - - - - - - -
M_U004 Umie tworzyć własne pakiety instalacyjne, wykorzystujące niestandardowe funkcje, integrujące się z mechanizmami zarządzania aplikacjami z systemu operacyjnego. + - + - - - - - - - -
M_U005 Umie projektować oraz implementować obsługę zewnętrznych relacyjnych baz danych z rozproszonym modelem przetwarzania. + - + - - - - - - - -
M_U006 Umie implementować we własnym programie obsługę komunikacji przez pory Centronix, RX 232 oraz USB. + - + - - - - - - - -
M_U007 Umie korzystać z obiektów Activex, modelu DDE oraz COM. + - + - - - - - - - -
M_U008 Umie tworzyć oprogramowanie do obsługi sieci komputerowych z wykorzystaniem protokołów z różnych warstw stosu OSI do celu zarówno komunikacji jak i analizy budowy i funkcjonowania infrastruktury. + - + - - - - - - - -
M_U009 Umie korzystać ze środowiska .net, a także migrować własne projekty do innych systemów RAD (Visual C++). - - + - - - - - - - -
M_U010 Umie analizować możliwości aktualnie dostępnych systemów programowania RAD, dobrać wybrane środowisko stosownie do własnych potrzeb oraz uwarunkowań obiektywnych. + - + - - - - - - - -
Knowledge
M_W001 Ma wiedzę z zakresu zagadnień programowania obiektowego niezbedną do projektowania własnych komponentów programistycznych, rozszerzających możliwości środowiska programistycznego. + - + - - - - - - - -
M_W002 Ma wiedzę z zakresu współpracy programów w systemie operacyjnym, wymiany danych, współdzielenia pamięci. Zna konstrukcję i sposób korzystania z bibliotek DLL. + - - - - - - - - - -
M_W003 Ma wiedzę w zakresie tworzenia i korzystania z grafiki wektorowej i filmów. + - + - - - - - - - -
M_W004 Ma wiedzę w zakresie projektowania i wykorzystania współczesnych systemów relacyjnych baz danych z rozproszonym modelem przetwarzania. + - + - - - - - - - -
M_W005 Ma wiedzę w zakresie konstrukcji i sposobu funkcjonowania DDE oraz COM. + - + - - - - - - - -
M_W006 Ma wiedzę o portach komunikacyjnych RS232, Centronix oraz USB. + - + - - - - - - - -
M_W007 Ma wiedzę w zakresie sposobów komunikacji sieciowej z wykorzystaniem zarówno protokołu TCP/IP jak też protokołów innych warstw OSI. + - + - - - - - - - -
M_W008 Ma wiedzę w zakresie kierunków rozwoju współczesnych systemów projektowania oprogramowania. + - + - - - - - - - -
Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 59 h
Module ECTS credits 2 ECTS
Udział w zajęciach dydaktycznych/praktyka 34 h
Preparation for classes 15 h
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 10 h
Module content
Lectures (14h):
  1. Analiza budowy klas, dziedziczenia i polimorfizmu – tworzenie własnych komponentów
  2. Biblioteki DLL – budowa i wykorzystanie
  3. Przegląd obiektów i komponentów do obsługi plików graficznych.
  4. Obsługa relacyjnych baz danych. Modele programów RBD
  5. Zaawansowana obsługa SQL – Obsługa wybranych systemów bazodanowych – MS SQL, PostgreSQL MySQL.
  6. Programy w modelu klient-serwer. Model COMM. (Model: client-server and COMM).
  7. Komunikacja urządzeniami poprzez porty RS232, Centronix i USB.
  8. Komponenty ActiveX.
  9. Problemy programowania aplikacji sieciowych.
  10. Programy sieciowe – SDK TCP/IP oraz Netware.
Laboratory classes (20h):
  1. Tworzenie komponentów użytkownika – obiektów standardowe, abstrakcyjne, potomne. Edytory właściwości.
  2. Biblioteki DLL – budowa i zasada działania – tworzenie własnych bibliotek DLL.
  3. Tworzenie grafiki bitmapowej i wektorowej.
  4. Tworzenie programów wieloma językowymi oraz pakietów instalacyjnych.
  5. Zaawansowana obsługa baz danych SQL na przykładzie MS SQL, PostgreSQL i MySQL.
  6. Obsługa portów RS232, Centronix i USB.
  7. Użytkowanie i tworzenie obiektów ActiveX.
  8. Obsługa protokołu TCP/IP – własne klienty i serwery TCP/IP.
  9. Zaawansowane programowanie dla analizy WWW.
  10. Środowisko .net – specyfika, tworzenie prostych aplikacji.
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: 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.
Method of calculating the final grade:

Zaliczenie ćwiczeń laboratoryjnych oraz wykonanie projektu zaliczeniowego

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:

Wskazana znajomość systemów RAD
(np. poprzez uczestnictwo w przedmiocie “Programowanie obiektowe – Delphi”).

Recommended literature and teaching resources:

Wybrańczyk M.: Delphi 2007 dla WIN32 i bazy danych. Helion 2009.
Mościcki A.: Programowanie baz danych. Wyd. Helion 2006.
Pacheco X., Teixeira S.: Delphi dla .NET. Vademecum profesjonalisty. Wyd. Helion 2005.
Kosma Z.: Grafika komputerowa w Delphi. Radom 2006.
Daniluk A.: RS 232C: praktyczne programowanie… Wyd. Helion, 2007.
Writing NetWare Applications with Delphi. http://support.novell.com/techcenter/articles/dnd19960804.html

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

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ęć.