SLO | EN

Objectives and competences

The objective of this course is to understand the fundamentals of object-oriented programming and to teach them how to design, implement, debug, test, and document programs.

Content (Syllabus outline)

• Introduction to object-oriented programming: shortcomings of structured programming, advantages of object-oriented programming. • Classes and objects: class and class members, object creation, special member functions, resource management, constant objects, static class members, information hiding. • Pointers: pointer to objects, this pointer, dynamic data structures. • Overloading: method overloading, operator overloading, operators as friend functions. • Inheritance: super classes, derived classes, protected members, virtual functions, abstract classes, dynamic binding, multiple inheritance. • Introduction to object-oriented analysis and design: analysis, design, UML fundamentals. • Templates: function templates, class templates, Standard Template Library (STL). • Exceptions: throwing exceptions, exception handling. • Data streams: input streams, output streams, files, I/O streams for user defined types. • New language features of C++11 and C++14

Learning and teaching methods

• lectures, • tutorials, • lab work.

Intended learning outcomes - knowledge and understanding

• understand objectoriented programming techniques, • design, implement, debug, and document simple programs, • use Standard Template Library, • define templates and exceptions, • understand how objects are implemented in C++ language, • define classes and subclasses, create objects and define polymorphic methods, • understand differences between structured and objectoriented programming

Intended learning outcomes - transferable/key skills and other attributes

Communication skills: oral lab work defence, manner of expression at written examination. Use of information technology: use of different tools for program design, implementation, debugging and testing. Problem solving: design and implementation of programs.

Readings

• B. Stroustrup: A Tour of C++, Second Edition, Pearson Addison-Wesley, Boston, 2018.

Prerequisits

None.

  • red. prof. dr. MARJAN MERNIK, univ. dipl. inž. rač. in inf.

  • Computer skills: 50
  • Written examination: 50

  • : 30
  • : 45
  • : 105

  • Slovenian
  • Slovenian

  • COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES - 1st