Facultatea de Științe Economice și Gestiunea Afacerilor
Str. Teodor Mihali nr. 58-60
Cluj-Napoca, RO-400951
Tel.: 0264-41.86.52-5
Fax: 0264-41.25.70
www.econ.ubbcluj.ro
Facultatea de Științe Economice și Gestiunea AfacerilorStr. Teodor Mihali nr. 58-60
Cluj-Napoca, RO-400951Tel.: 0264-41.86.52-5
Fax: [email protected]
www.econ.ubbcluj.ro
FIŞA DISCIPLINEIProgramare orientată obiect
1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea „Babeş-Bolyai” Cluj-Napoca1.2 Facultatea Facultatea de Ştiinţe Economice şi Gestiunea Afacerilor1.3 Departamentul Informatică Economică1.4 Domeniul de studii Cibernetică, Statistică şi Informatică Economică1.5 Ciclul de studii Licenţă1.6 Specializarea / Programul de studii Informatică Economică
2. Date despre disciplină2.1 Denumirea disciplinei Programare orientată obiect
2.2 Titularul activităţilor de curs Prof.dr. habil. Gheorghe Cosmin Silaghi2.3 Titularul activităţilor de seminar
Lect.univ.dr.Stan AlexandruAsist.univ.drd.Zălhan Paula
2.4 Anul de studii II 2.5 Semestrul IV 2.6 Tipul de evaluare CON 2.7 Regimul disciplinei Obl
3. Timpul total estimat (ore pe semestru ale activităţilor didactice)
3.1 Număr de ore pe săptămână 4 din care: 3.2 curs 2 3.3 seminar/laborator 23.4 Total ore din planul de învăţământ 56 din care: 3.5 curs 28 3.6 seminar/laborator 28
Distribuţia fondului de timp ore Studiul după manual, suport de curs, bibliografie şi notiţe 25Documentare suplimentară în bibliotecă, pe platformele electronice de specialitate şi pe teren 19Pregătire seminarii/laboratoare, teme, referate, portofolii şi eseuri 40Tutoriat 4Examinări 6Alte activităţi................................... 03.7 Total ore studiu individual 94
3.8 Total ore pe semestru 150
3.9 Numărul de credite 6
4. Precondiţii (acolo unde este cazul) 4.1 de curriculum Nu este cazul4.2 de competenţe Nu este cazul
5. Condiţii (acolo unde este cazul)
5.1. de desfăşurare a cursului
• Studenţii se vor prezenta la prelegeri, seminarii/laboratoare cu telefoanele mobile închise. Pentru prelegeri este nevoie de o sala de curs echipata cu videoproiector.• Nu va fi acceptată întârzierea studenţilor la curs şi seminar/laborator.
5.2. de desfăşurare a seminarului/laboratorului
Laboratorul va fi echipat cu mediul de lucru Java incluzand JDK si unul sau mai multe editoare de cod sursa precum NetBeans sau Eclipse si conexiune la Internet.La laborator, studentii vor realiza programele informatice din cadrul laboratorului respectiv. Temele si laboratoarele finalizate se vor preda cel tarziu la laboratorul urmator. Realizarea fiecarui laborator va fi notata, iar nota obtinuta pe laboratoare va fi parte componenta a notei practice. Prezenta la laboratoare este obligatorie
6. Competenţele specifice acumulate
Competenţe profesionale
Explicarea structurilor de date, a instrucţiunilor şi claselor de probleme pentru a construi componente integrabile in sisteme software complexe Rezolvarea de probleme bine definite din economie prin aplicarea de proceduri integrabile in sisteme software complexe Actualizarea limbajelor, tehnicilor si metodelor de programare, astfel incat componentele software construite sa reflecte stadiul dezvoltarii IT&C Dezvoltarea activitatilor specifice ciclului de realizare software, urmarind aspectele cantitative, calitative si de eficienta economica Elaborarea unui program de parcurgere a etapelor de dezvoltare a sistemului informational / sistemului informatic din organizatie cu precizarea de sarcini, necesar de resurse, costuri si durate.
Competenţe transversale
• Realizarea unei lucrări/unui proiect, asumând cu responsabilitate sarcini specifice rolului într-o echipă plurispecializată
• Soluţionarea în timp real, în condiţii de asistenţă calificată, a unei probleme reale/ipotetice de la locul de muncă, respectând normele deontologiei profesionale
7. Obiectivele disciplinei (reieşind din grila competenţelor specifice acumulate)
7.1 Obiectivul general al disciplinei
Cursul de Programare orientată obiect îşi propune sa familiarizeze studenţii cu noţiunile principale legate de programarea obiectuală. Studenţii vor deprinde principalele noţiuni necesare pentru învăţarea unui limbaj de programare obiectual. Aici includem considerente legate de structura şi componentele unui limbaj de programare, modul de obţinere a unui program executabil dintr-un program sursă, tehnici de programare utilizate în conceperea eficientă a programelor. Pentru exemplificarea acestor noţiuni, cursul va parcurge paradigma obiectuală şi va concretiza noţiunile teoretice ale paradigmei prin utilizarea limbajului Java. Alegerea paradigmei obiectuale ca şi ţintă de exemplificare se datorează importanţei acestei paradigme în industria software. Necesitatea învăţării limbajului Java provine din faptul ca aceasta tehnologie reprezintă una din cerinţele fundamentale din industrie.
7.2 Obiectivele specifice
deprinderea conceptelor legate de teoria limbajelor de programare, incluzand aici metode formale si teoria compilatoarelor
deprinderea de abilitati de analiza, design si dezvoltare de programe cu metode obiectuale
deprinderea de abilitati de programare obiectuala in Java
8. Conţinuturi
8.1 Curs Metode de predare Observaţii
1. Mediul de lucru Java Prelegere cu exemplificare
2. Introducere in obiectualitate – concepte ale programarii obiectualePrelegere cu exemplificare 2 saptamani
3. Reutilizarea claselor – compoziție si mostenire Prelegere cu exemplificare
4. Clase abstracte. Interfete. Design patterni Prelegere cu exemplificare
5. Clase interioare. Clase interioare anonime Prelegere cu exemplificare 2 saptamani
6. Tratarea exceptiilor in Java Prelegere cu exemplificare
7. Colectii in Java. Genericitate. Prelegere cu exemplificare
8. Sistemul de I/O in Java Prelegere cu exemplificare
9. RTTI si Reflection Prelegere cu exemplificare
10. Concurenta in Java – notiuni introductive Prelegere cu exemplificare
11. Acces partajat la resurse. Realizarea excluderii mutuale. Prelegere cu exemplificare
12. Cooperare intre threaduri. Programe de tip producator-consumator Prelegere cu exemplificare
Bibliografie: Bruce Eckel, Thinking in Java, ed. 4-a, Prentice Hall, 2006 Alfred AHO, Jeffrey ULLMAN, Principles of compilers design, Addison-Wesley, 1977 Ioan SALOMIE, Tehnici de programare obiectuală, Ed. Albastră, 1996,
8. 2 Seminar/laborator Metode de predare Observaţii
1. Setarea mediului de lucru Java. Lucrul cu package-uri si corespondenta cu structura de directoare. Primele programme Java
Exercitii la laborator
2. Operatori Java. Aliasing. Exercitii la laborator3. Ordinea de initializare a obiectelor. Initializarea statica.
Initializarea non-statica. Initializarea sirurilor de obiecteExercitii la laborator
4. Reutilizarea codului. Compozitie. Mostenire. Construirea si stergerea obiectelor la mostenire
Exercitii la laborator
5. Upcast. Downcast. Exercitii la laborator6. Interfete. Clase interioare Design patternul Strategysi Factory Exercitii la laborator7. Closure si callback realizat cu clase interioare Exercitii la laborator8. Utilizarea containerelor. Iteratori Exercitii la laborator9. Exceptii Exercitii la laborator10. RTTI. Class. Instanceof Exercitii la laborator11. I/O in Java Exercitii la laborator12. Threaduri. Executors Exercitii la laborator13. Acces partajat la resurse. Synchornized. Tipuri de excludere
mutualExercitii la laborator
14. Ciclul de viata a unui thread. Cooperare intre threaduri Exercitii la laboratorBibliografie: Bruce Eckel, Thinking in Java, ed. 4-a, Prentice Hall, 2006 Alfred AHO, Jeffrey ULLMAN, Principles of compilers design, Addison-Wesley, 1977 Ioan SALOMIE, Tehnici de programare obiectuală, Ed. Albastră, 1996
9. Coroborarea/validarea conţinuturilor disciplinei cu aşteptările reprezentanţilor comunităţii epistemice, asociaţiilor profesionale şi angajatori reprezentativi din domeniul aferent programului
Această disciplină este inclusă în acreditarea oferită de către Chartered Institute of Management Accountants (CIMA);
Programa analitica a fost stabilită prin discutii cu reprezentati ai companiilor locale, precum iQuest Technologies, Endava Cluj, EBS, MSG Systems si altii.
10. Evaluare
Tip activitate 10.1 Criterii de evaluare 10.2 Metode de evaluare
10.3 Pondere în nota finală
10.4 Curs Cunoasterea sistemului conceptual, a metodelor si procedeelor utilizate in limbaje de programare si in programarea obiectuala.
Examen scris in sesiune, compus din:
Nota de la curs are pondere de 50% in
- Grile- Intrebari deschise- Problema.
nota finalaCapacitatea de utilizare adecvata a metodelor si procedeelor prezentate in curs
10.5 Seminar/laborator
Detinerea de abilitati practice de programare obiectuala in java
Evaluarea activitatii de laborator si a realizarii temelor
Examen practic in sesiune
30%
70%
Nota de la laborator are pondere de 50%
in nota finala
Detinerea de abilitati practice legate de organizarea programelor Java, de proiectare folosind concept obiectuale
10.6 Standard minim de performanţă Constituirea unei colectii de proceduri eficiente care prin parametrizare si integrare sa conduca la
cresterea productivitatii Cunoasterea minimala a tehnicilor de programare, a modului de organizare a programelor informatice Scrierea de cod sursa sintactic correct Intelegerea codurilor sursa existente si capacitatea de a implementa schimbari cerute in aceste coduri
sursa Obtinerea notei 5 atat la evaluarea de la curs cat si la examenul practic din sesiune.
Data completării Titular de curs 2.04.2018 Prof.dr. habil. Gheorghe Cosmin SILAGHI
Titular de seminarLect.dr. Stan AlexandruAsist.univ.drd. Zalhan Paula
Director de departament Prof.dr. habil. Gheorghe Cosmin SILAGHI Data avizării în departament 4.04.2018