Object oriented paradigm

ID: 1490
Course type: scientific and vocational
Course coordinator: Lazović M. Goran
Lecturers: Lazović M. Goran
Contact: Lazović M. Goran
Level of studies: M.Sc. (graduate) Academic Studies – Mechanical Engineering
ECTS: 6
Final exam type: written+oral
Department: Department of Information Technologies in Mechanical Engineering

Lectures

Goal

Introduction to OOP paradigm. Purposeful use of classes, objects, inheritance, encapsulates, methods and hiding. Basic knowledge of classes, derived classes, methods. Object-oriented methodology for designing data structures and applicable programs. Problems that are naturally solved using object-oriented design and programming methodology.

Outcome

With acquired knowledge student can: Rrecognize the conditions for using object-oriented design and programming methodology, Design simple user class and link them with the system classes, Design simple methods by using system design methods, Use the programming languages C++ and Java.

Theoretical teaching

Compilers, interpreters and machines. Weak and strong typed programming languages. Object and class, relationship and real-life examples and techniques. The natural definition of class, subclass, supclass. The term instance - the object. Fundamentals of programming language C++. The differences between the programming languages C and C++. Defining classes in C++. Application of operations and creating objects. Object-oriented design data, operations, and problems in the programming and implementation. The life span of the object. The basics of Java programming. The differences between the programming languages C++ and Java. Defining the class and supclass in programming languages C++ and Java. Inheritance in C++ and Java, the advantages and disadvantages. Overloading of operators and creating threads and streamline, as well as specific structures in Java. Encapsulating objects and classes. Advantages and disadvantages.

Practical teaching

It consists of auditory, laboratory exercises that accompany the course. Reminding of the PHP programming. Basic examples of the programming language C++ and Java.

Attendance requirement

Knowledge of C language. Basic knowledge of design methodology. Fundamentals of software engineering.

Resources

The necessary software for this case under the GNU license - free of charge. If necessary use a Linux as C++ and JAVA are immediately available. If you use another operating system C++ can be downloaded from the appropriate Web site (see URL) or the URL. To run the software iti is enoght to possess simplest PC.

Assigned hours

Total assigned hours: 75

Active teaching (theoretical)

New material: 20
Elaboration and examples (recapitulation): 10

Active teaching (practical)

Auditory exercises: 1
Laboratory exercises: 19
Calculation tasks: 0
Seminar paper: 5
Project: 2
Consultations: 0
Discussion/workshop: 3
Research study work: 0

Knowledge test

Review and grading of calculation tasks: 0
Review and grading of lab reports: 0
Review and grading of seminar papers: 7
Review and grading of the project: 0
Test: 0
Test: 3
Final exam: 5

Knowledge test (100 points total)

Activity during lectures: 5
Test/test: 35
Laboratory practice: 0
Calculation tasks: 0
Seminar paper: 30
Project: 0
Final exam: 30
Requirement for taking the exam (required number of points): 35

Literature

E. Gamma, R. Helm, R. Johnson, and J. Vlissides; Design Patterns: Elements of Reusable Object-Oriented Software; Addison-Wesley Professional;1994