Universitatea "Babeş-Bolyai" din Cluj-Napoca

Facultatea de Matematică şi Informatică
FISA DISCIPLINEI

Metode evoluate de programare Advanced programming methods
Cod
Semes-
trul
Ore: C+S+L
Credite
Tipul
Sectia
MI036
4
2+0+2
5
obligatorie
Matematică-Informatică
(Mathematics-Computer Science)
MI036
4
2+0+2
5
obligatorie
Matematici Aplicate
(Applied Mathematics)
MI036
3
2+1+2
7
obligatorie
Tehnologie Informatică
(College of Computer Technology)
MI036
4
2+0+2
5
obligatorie
Matematica Economica
(Mathematics Economics)
MI036
3
2+1+2
8
obligatorie
Informatică
(Computer Science)
Cadre didactice indrumatoare Teaching Staff in Charge
Lect. DARVAY Zsolt, darvay@cs.ubbcluj.ro
Lect. LAZĂR Ioan, ilazar@cs.ubbcluj.ro
Obiective Aims
Insusirea metodelor de abstractizare a datelor si ale programarii orientate obiect.
Acquisition of the methods of data abstractisation and object oriented programming.
Continut
1. Limbajul Java
Elemente de baza ale limbajului Java. Prezentare comparativa Java - C++
Construirea unei biblioteci software: clase, interfete si pachete
Contracte (specificarea functiilor) si tratarea exceptiilor

2. Analiza si proiectare orientata pe obiecte
Elemente de baza ale limbajelor de modelare
Limbajul UML
Diagrame de clase
Diagrame de interactiuni intre obiecte
Procese/metode de dezvoltare orientate pe obiecte
Procese liniare si iterative
Planificarea dezvoltarii bazata pe cazuri de utilizare
Arhitectura aplicatiilor pe doua nivele
Principii de baza pentru alocarea responsabilitatilor/functiilor
Sabloanele expert si creator
Cuplare slaba si coeziune inalta
Relatia dintre nivelele logic si prezentare al unei aplicatii (sablonul 'controller'/fatada)

3. Proiectarea unui cadru pentru aplicatii cu interfete grafice
Realizarea ferestrelor si compunerea componentelor grafice
Containere si elemente componente: fereastra, meniu, eticheta, cutie de text si buton
Compunerea elementelor unui container (sablonul comunere)
Desenarea unei componente (sabloanele adaptare si decorator)
Abstractizarea comenzilor
Sablonul comanda
Sablonul callback
Realizarea meniurilor
Tratarea evenimentelor
Sablonul observator
Decuplarea emitatorului unui eveniment de receptorii evenimentului
Folosirea bibliotecii JFC/Swing (Java Foundation Classes)
Ferestre si meniuri
Componente grafice de baza: eticheta, cutie de text, buton
Liste

4. Structurarea nivelului logic al aplicatiilor
Biblioteci de clase pentru structuri de date
Sabloanele fabrica abstracta, 'metoda sablon' si iteratie
Pachetul java.util
Biblioteci de clase pentru intrari/iesiri
Elemente de baza: pachetul java.io
Obiecte serializabile
Construirea unui cadru pentru obiecte persistente
Intermediari (brokers, data access objects) pentru obiectele persistente
Sablonul inlocuitor (proxy)
Optimizarea procesului de incarcare a obiectelor
Importanta decuplarii nivelelor prezentare, logic si date ale unei aplicatii
Sablonul model-vedere-control (Model-View-Controller)
Bibliografie
1. B. Eckel, Thinking in Java, 2000, http;//www.mindview.net/
2. B. Eckel, Thinking in Patterns, 2001, http;//www.mindview.net/
3. E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley, Reading, Massachusets, 1994.
4. C. Larman, Applying UML and Design Patterns: An Introduction to OO Analysis and Design Prentice Hall, 2000
5. M. Priestley, Practical Object Oriented Design, McGraw-Hill, Cambridge, 1996.
6. Online Java Tutorial: http://www.develop.com/
7. Java tutorial: http://java.sun.com/tutorial/
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: 4p
B. Lucrare scrisa: 3p
C. Proba practica: 3p
The final assessment method is an exam. There will be two parts:
a written part (consisting of a minicase study),
and a practical part (consisting in a partial implementation of the minicase model).
The final mark (on a ten points scale, one point by default) will be obtained as:
A. Lab activity: 4p
B. Written exam (on paper): 3p
C. Practical exam (at computer): 3p