Universitatea "Babeș-Bolyai" din Cluj-Napoca

Facultatea de Matematică și Informatică
FISA DISCIPLINEI

Programare Programming
Cod
Semes-
trul
Ore: C+S+L
Credite
Tipul
Sectia
MI002
2
2+2+2
6
obligatorie
Matematică-Informatică
(Mathematics-Computer Science)
MI002
2
2+2+2
8
obligatorie
Matematica Economica
(Mathematics Economics)
MI002
2
2+2+2
8
obligatorie
Matematică
(Mathematics)
Cadre didactice indrumatoare Teaching Staff in Charge
Prof. Dr. FRENȚIU Militon, mfrentiu@cs.ubbcluj.ro
Lect. IONESCU Clara, clara@cs.ubbcluj.ro
Lect. Dr. PREJMEREAN Vasile, per@cs.ubbcluj.ro
Obiective Aims
La terminarea cursului, studentii trebuie sa posede cunostinte de baza despre:
- programarea modulara si orientata pe obiecte
- structuri de date si implementarea acestora
- proiectarea programelor
- limbajul de programare C++
To learn modular, and object oriented programming.
To learn and get used with abstract data types for data structures.
To acquire and improve the program design abilities.
To learn the C++ programming language.
Continut
1. Elemente de limbaj C
Introducere
Functii
Module
2. Tipuri de date abstracte
Vectori
Specificare si proiectare bazata pe contracte (pre/post)
Implementari modulare pentru tipuri de date
3. Elemente de limbaj C++
Programare bazata pe obiecte.
Clase si obiecte. Membrii: variabile si functii
Implementari bazate pe obiecte pentru tipuri de date
4. Liste
Specificari liste
Alocarea dinamica a memoriei
Independenta fata de reprezentarea unei structuri de date. Iteratii
5. Mostenire
Relatia de mostenire
Polimorfism
Abstractizarea (tipului) elementelor unei structuri de date
6. Proiectarea programelor
Diagrame de clase
Diagrame de interactiune intre obiecte
Proces liniar pentru proiectare
7. Proiectarea programelor
Construirea unui model conceptual de rezolvare
Prezentarea programului. Construirea unui meniu
Memorarea datelor. Intrari-iesiri C++ si persistenta obiectelor
8. Proiectarea unei biblioteci de clase
Interfete pentru liste
Adaptator
9. Stive, cozi si aplicatii ale acestora
Stive
Cozi
Cozi cu prioritati
10. Arbori
Definitii
Arbori binari
Arbori binari de cautare
11. Structuri ordonate
Structuri de cautare
Dictionare
Realizari folosind liste si arbori
12. Tabele de dispersare
Definitii
Functii de dispersare
Implementari pentru dictionare
Bibliografie
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.
Evaluare Assessment
Forma de examinare finala este un examen, ce va avea o parte teoretica si o parte aplicativa.
Nota finala va fi formata din:
A. Activitatea de laborator: 2.5p
B. Lucrarile de laborator: 1.5p
C. Lucrare scrisa: 4p
D. Proba practica: 2p
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