Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Object oriented programming
Tok studiów:
2013/2014
Kod:
RMS-1-202-s
Wydział:
Inżynierii Mechanicznej i Robotyki
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Mechatronics with English as instruction languagege
Semestr:
2
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Angielski
Forma i tryb studiów:
Stacjonarne
Strona www:
 
Osoba odpowiedzialna:
dr inż. Miękina Lucjan (miekina@agh.edu.pl)
Osoby prowadzące:
dr Pluta Marek (pluta@agh.edu.pl)
dr inż. Miękina Lucjan (miekina@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 knows and understands the principles of object-oriented programming, as well as the advantages it brings MS1A_W10 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W002 knows and understands the general structure of a C++ program MS1A_W10 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W003 knows and understands the notions of object and class (its purpose, members and their visibility, C++ declaration syntax) MS1A_W10 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W004 knows and understands the notions of abstract class and derived class, their place in the software development process, their purpose and way of defining (including virtual metods) MS1A_W10 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W005 knows and understands the operator functions, their purpose, ways of defining and advantages of using them MS1A_W10 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W006 knows and understands the mechanism of templates (of functions and classes), its purpose and syntax MS1A_W10 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W007 knows and understands the stream input and output operators (<< and >>), including the way of defining them for a given class and stream type MS1A_W10 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W008 knows and understands static class members, friend functions and classes, nested classes MS1A_W10 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W009 knows and understands the C++ exception handling mechanism, its purpose and importance for software reliability; knowns and understands the way of handling system and software exceptions, as well as the unified approach to handling exceptions of both kinds MS1A_W10 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W010 knows the standard C++ library and understands how to handle dynamic data structures (vectors, lists, queues, maps) using STL MS1A_W10 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
Umiejętności
M_U001 can apply the principles of object-oriented approach to programming applications MS1A_U14 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_U002 can write, build and run a C++ program based on object-oriented paradigm - that is, one which defines classes and uses objects MS1A_U14 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_U003 can define a primary class (possibly abstract) and derived class which implements polymorphism MS1A_U14 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_U004 can write basic operator functions, e.g. +, =, ==, !=, >=, <=, [], implemented as class members or as external friend functions; can use them in a client code MS1A_U14 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_U005 can apply the template mechanism to define universal containers (array, vector) capable of holding data of any type MS1A_U14 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_U006 can define stream operators << and >>, operating on objects of any class and streams of any type MS1A_U14 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_U007 can define and use static class members, friend functions and classes, nested classes MS1A_U14 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_U008 can handle system and software exceptions, as well as uniformly handle exceptions of both kinds while programming in C++ MS1A_U14 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_U009 can handle dynamic data structures (vectors, lists, queues, maps) using STL in C++ programs MS1A_U14 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
Kompetencje społeczne
M_K001 can study compound matters of informatics, regarding their critical importance with respect to practical applications MS1A_K04 Wykonanie ćwiczeń laboratoryjnych
M_K002 can analyze the requirements for a programming task nad properly organize the steps necessary to complete the project MS1A_K05 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
Inne
Zaj. terenowe
Zaj. warsztatowe
E-learning
Wiedza
M_W001 knows and understands the principles of object-oriented programming, as well as the advantages it brings + - - - - - - - - - -
M_W002 knows and understands the general structure of a C++ program + - - - - - - - - - -
M_W003 knows and understands the notions of object and class (its purpose, members and their visibility, C++ declaration syntax) + - - - - - - - - - -
M_W004 knows and understands the notions of abstract class and derived class, their place in the software development process, their purpose and way of defining (including virtual metods) + - - - - - - - - - -
M_W005 knows and understands the operator functions, their purpose, ways of defining and advantages of using them + - - - - - - - - - -
M_W006 knows and understands the mechanism of templates (of functions and classes), its purpose and syntax + - - - - - - - - - -
M_W007 knows and understands the stream input and output operators (<< and >>), including the way of defining them for a given class and stream type + - - - - - - - - - -
M_W008 knows and understands static class members, friend functions and classes, nested classes + - - - - - - - - - -
M_W009 knows and understands the C++ exception handling mechanism, its purpose and importance for software reliability; knowns and understands the way of handling system and software exceptions, as well as the unified approach to handling exceptions of both kinds + - - - - - - - - - -
M_W010 knows the standard C++ library and understands how to handle dynamic data structures (vectors, lists, queues, maps) using STL + - - - - - - - - - -
Umiejętności
M_U001 can apply the principles of object-oriented approach to programming applications - - + - - - - - - - -
M_U002 can write, build and run a C++ program based on object-oriented paradigm - that is, one which defines classes and uses objects - - + - - - - - - - -
M_U003 can define a primary class (possibly abstract) and derived class which implements polymorphism - - + - - - - - - - -
M_U004 can write basic operator functions, e.g. +, =, ==, !=, >=, <=, [], implemented as class members or as external friend functions; can use them in a client code - - + - - - - - - - -
M_U005 can apply the template mechanism to define universal containers (array, vector) capable of holding data of any type - - + - - - - - - - -
M_U006 can define stream operators << and >>, operating on objects of any class and streams of any type - - + - - - - - - - -
M_U007 can define and use static class members, friend functions and classes, nested classes - - + - - - - - - - -
M_U008 can handle system and software exceptions, as well as uniformly handle exceptions of both kinds while programming in C++ - - + - - - - - - - -
M_U009 can handle dynamic data structures (vectors, lists, queues, maps) using STL in C++ programs - - + - - - - - - - -
Kompetencje społeczne
M_K001 can study compound matters of informatics, regarding their critical importance with respect to practical applications - - - - - - - - - - -
M_K002 can analyze the requirements for a programming task nad properly organize the steps necessary to complete the project - - - - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:

The lecture covers:

  • principles of object-oriented programming, and the advantages it brings
  • general structure of a C++ program
  • notions of object and class (its purpose, members and their visibility, C++ declaration syntax)
  • notions of abstract class and derived class, their place in the software development process, their purpose and way of defining (including virtual metods)
  • operator functions, their purpose, ways of defining and advantages of using
  • mechanism of templates (of functions and classes), its purpose and syntax
  • stream input and output operators (<< and >>), including the way of defining them for a given class and stream type
  • static class members, friend functions and classes, nested classes
  • C++ exception handling mechanism, its purpose and importance for software reliability; handling system and software exceptions, as well as the unified approach to handling exceptions of both kinds
  • standard C++ library and its application to dynamic data structures (vectors, lists, queues, maps)

Ćwiczenia laboratoryjne:

During laboratories the students first discuss the ideas presented in the lectures, then apply these ideas to solve the scheduled problems. The solution consists of a set of classes written in order to support the needs of a program (e.g. to satisfy its requirements)

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 88 godz
Punkty ECTS za moduł 3 ECTS
Udział w wykładach 15 godz
Przygotowanie do zajęć 28 godz
Udział w ćwiczeniach laboratoryjnych 28 godz
Samodzielne studiowanie tematyki zajęć 15 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:

Grades are calculated as follows:

  • software labs 50 %
  • quizz 25 %
  • final test 25 %
    All of them must be passed.
Wymagania wstępne i dodatkowe:

Nie podano wymagań wstępnych lub dodatkowych.

Zalecana literatura i pomoce naukowe:
  • B. Stroustrup: The C++ Programming Language, Addison-Wesley, 2000
  • B. Stroustrup: Programming — Principles and Practice Using C++, Addison-Wesley, ISBN
    978-0321543721. December 2008.
  • B. Eckel: Thinking in C++, Prentice Hall, 2002
  • Stroustrup’s web page: http://www.research.att.com/~bs/
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Nie podano dodatkowych publikacji

Informacje dodatkowe:

Brak