"Babes-Bolyai" University of Cluj-Napoca
Faculty of Mathematics and Computer Science

Object oriented programming
Code
Semes-
ter
Hours: C+S+L
Credits
Type
Section
MI074
2
2+2+2
8
compulsory
Matematică
MI074
2
2+2+2
8
compulsory
Informatică
MI074
2
2+2+2
6
compulsory
Matematică-Informatică
MI074
2
2+2+2
8
compulsory
Matematici Aplicate
MI074
2
2+2+2
8
compulsory
Tehnologie Informatica
Teaching Staff in Charge
Lect. LAZAR Ioan, ilazar@cs.ubbcluj.ro
Lect. PREJMEREAN Vasile, Ph.D., per@cs.ubbcluj.ro
Lect. IONESCU Clara, clara@cs.ubbcluj.ro
Aims
To learn modular, and object oriented programming.
To acquire and improve the program design abilities.
To learn the C++ programming language.
To learn to implement the abstract data types for data structures.
Content
1. Fundamentals of C
Introduction
Functions
Modules
2. Abstract data types (ADT)
Vector
Design by contract
ADT and modules
3. Classes and objects
Object based programming
C++ classes and objects
ADT and classes
4. Lists
List specifications
Object based implementations
Iterations and hiding the list representations
5. Inheritance
Inheritance in C++
Polymorphism
Generic elements for data structures
6. Program design
Class diagrams
Object interaction diagrams
Linear development process
7. Program design
Building a conceptual model
Presentation layer.
C++ input-output and objects persistence
8. Designing a class library
Interfaces for lists and their implementations
Adaptator design patterns
9. Stack, queues and their applications
Stacks and queues
Priority queues
10. Trees
Binary trees
Binary search trees
11. Ordered structures
Search structures
Dictionaries
Implementations based on lists and trees
12. Hashtable
Hash functions
Object oriented hashtable implementations
References
1. B. Eckel, Thinking in C++, vol I - II, httP;//www.mindview.net/
2. M.A. Ellis, B. Stroustrup, The annotated C++ Reference Manual, Addison Wesley, 1994.
3. E. Horrowitz et all, Fundamentals of Data Structures in C++, Computer Science Press, Oxford, 1995.
4. I. Garbacea, R. Andonie, Algoritmi fundamentali - o perspectiva C++, Ed. Libris, Cluj-Napoca, 1995.
Assessment
The final assessment method is an exam. There will be two parts:
a written part consisting of theoretical questions, and a practical part.
The final mark (on a ten points scale, one point by default) will be obtained as:
A. Lab activity: 2.5p
B. Written lab papers: 1.5p
C. Written exam (on paper): 4p
D. Practical exam (at computer): 2p