Sunteți pe pagina 1din 30

CURSURI OPIONALE DE

INFORMATIC
PROPUSE
PENTRU ANUL
UNIVERSITAR 2015-2016
SEM. I
DOMENIUL DE LICEN:
INFORMATIC
SPECIALIZAREA:
INFORMATIC

Lista cursurilor opionale sem. I


5.1 Aplicatii distribuite in cloud
5.2 Aplicatii Web dezvoltate cu Ruby on Rails
5.3 Aplicaii Web in Python
5.4 Cloud Computing
5.5 Combinatorica enumerativa si aplicatii
5.6 Concepte geometrice in grafica pe calculator
5.7 Concepte si aplicatii in vedere artificiala
5.8 Programare Web utilizand limbajul Java Servleti
5.9 Proiectarea si implementarea unei platforme web scalabile
5.10 Undergraduate Research Opportunities

Fiecare student face 5 opiuni,


n ordinea preferinelor

FIA UNITII DE CURS


TITLU: APLICATII DISTRIBUITE IN CLOUD
DOMENIUL DE LICEN: INFORMATIC
SPECIALIZAREA: INFORMATIC
STATUTUL: OPIONAL
NR.ORE/SPTMN: 3 (Curs = 2; Laborator = 1)
SEMESTRUL: 5 / anul III de studiu
FORMA DE EXAMINARE: VERIFICARE
CREDITE: 5
INSTRUCTORI: Robert Hasna (Adobe Romania) [Supervizor local: Conf.Dr. Radu
Gramatovici]
OBIECTIVE:
Cursul i propune s ofere studenilor o introducere n tot ce nseamn dezvoltarea aplica iilor
internet ce lucreaz cu cantiti mari de date si au un grad ridicat de scalabilitate, aplicaii care
ruleaz n cloud-ul oferit de Amazon sub sistemul de operare Linux.
n cadrul cursului vor fi prezentate tehnologii i metode de actualitate n construirea aplica iilor
ce ruleaza in cloud iar accentul este pus pe serviciile oferite de Amazon Web Services. Cursul
este unul de tip hands-on, studenii avnd posibilitatea s pun n practic toate cunotinele
dobndite.
La finalul cursului, studenii vor putea crea i gestiona resurse n cloud-ul Amazon, dezvolta
aplicaii care ruleaz n cloud, sunt scalabile si manipuleaz cantiti mari de date.

PROGRAM:
1. Introducere in Cloud. Ce este? Avantaje si dezavantaje.
2. Scalabilitate. Anatomia unei aplicatii modulare si scalabile.
3. Servicii de calcul si comunicare in AWS. (EC2, SQS, ELB)
4. Servicii de stocare in AWS. (S3, DynamoDB, RDS)
5. Utilizarea SDK-ului Java pentru AWS.
6. Introducere in Hadoop. Hadoop pe cluser in Amazon.

BILBIOGRAFIE:
1. Documentatia online AWS: http://aws.amazon.com/documentation/
2. Documentatia online Hadoop: http://hadoop.apache.org/docs/r2.3.0/

FIA UNITII DE CURS


TITLU: APLICAII WEB DEZVOLTATE CU RUBY ON RAILS
DOMENIUL DE LICEN: INFORMATIC
SPECIALIZAREA: INFORMATIC
STATUTUL: OPIONAL
NR.ORE/SPTMN: 3 (Curs = 2; Laborator = 1)
SEMESTRUL: 5 / anul III de studiu
FORMA DE EXAMINARE: VERIFICARE
CREDITE: 5
INSTRUCTORI: Gabriel Voicu (Cronian Academy) [Supervizor local: Conf.Dr. Radu
Gramatovici]
OBIECTIVE:
Cursul i propune s ofere studenilor o introducere n tot ce nseamn dezvoltarea aplica iilor
web utiliznd framework-ul Ruby on Rails, n sistemul de operare Linux. n cadrul cursului va fi
prezentat arhitectura MVC (Model-View-Controller), pe care este construit framework-ul Ruby
on Rails, precum i alte tehnologii precum HTML5, CSS3, Javascript, XML. Cursul este unul de
tip hands-on, studenii avnd posibilitatea s pun n practic toate cunotinele dobndite. La
finalul cursului, studenii vor putea dezvolta aplicaii web conform ultimelor standarde.
PROGRAM:
1. Introducere n universul aplicaiilor web. Introducere n MVC. Instalarea i cunoaterea
pachetului Ruby on Rails.
2. Structura unei aplicaii. Introducere n HTML5, CSS3, Javascript.
3. Sintaxa Ruby on Rails. Testare (TDD). Configurarea mediului de deployment.
4. Modele i vizualizri I. Crearea unei baze de date i operaii asupra ei (creare,
modificare, tergere de utilizatori i parole, etc.).
5. Modele i vizualizri II. Creare de vizualizri (interfa grafic, formulare, metode de
autentificare, nregistrare, etc).
6. C-ul din MVC - controlerul. Sesiuni i securitatea aplicaiei.
7. Dezvoltarea unei aplicaii web.
BILBIOGRAFIE:
1. Ghidul online Ruby on Rails: http://guides.rubyonrails.org/
2. Michael Hartl, Ruby on Rails 3 Tutorial Book: Learn Rails by Example, Addison-Wesley,
2010. (http://ruby.railstutorial.org/ruby-on-rails-tutorial-book)
3. Sam Ruby, Dave Thomas, David Heinemeier Hansson, Agile Web Development with
Rails, 4th edition, Pragmatic Programmers, 2011.

FIA UNITII DE CURS


TITLU: APLICAII WEB IN PYTHON
DOMENIUL DE LICEN: INFORMATIC
SPECIALIZAREA: INFORMATIC
STATUTUL: OPIONAL
NR.ORE/SPTMN: 3 (Curs = 2; Laborator = 1)
SEMESTRUL: 5 / anul III de studiu
FORMA DE EXAMINARE: VERIFICARE
CREDITE: 5
INSTRUCTORI: Specialisti Eau de Web i din cadrul ROSEdu [Supervizor local: Conf.Dr.
Radu Gramatovici]
OBIECTIVE:
Cursul i propune s ofere studenilor o introducere n programarea web folosind
limbajul de programare Python i platforma Django. n prima parte a cursului, studen ii sunt
familiarizai cu limbajul, cu sintaxa i construciile specifice programrii de nivel nalt. n cea de
a doua parte, se pune accentul pe dezvoltarea unei aplicaii web, pornind de la partea de
proiectare i parcurgnd cu atenie toate etapele de dezvoltare, pn la finalizarea aplicaiei.
Cursul este interactiv, n timpul prezentrii studenii fiind ncurajai s participe cu
sugestii i ntrebri. Partea practic de tipul hands-on se face n paralel cu prezentarea, anumite
pri de cod fiind puse la dispoziie pe proiector sau online pe pagina de resurse a cursului.
La finalul cursului, un absolvent va avea att noiunile necesare nelegerii programrii
web, ct i abilitatea de a dezvolta o aplicaie web de la zero.
PROGRAM:
1.
2.
3.
4.
5.
6.
7.
8.
9.

Introducere n Python. Lucrul cu interpretorul, sintaxa.


Operaii de baz. Funcii builtin.
Programare orientat pe obiect. Clase i obiecte. Motenire
Noiuni specifice Python. Liste i tupluri. Dicionare.
Introducere n Django. HTTP. Modele, view-uri i template-uri
Lucrul cu baza de date din Django. Modele i interogri
Formulare. Formulare mapate pe modele, template-uri
Django extras: autentificare, sesiune, paginare
Frontend: CSS, Javascript. Platforma Bootstrap

BILBIOGRAFIE:
Documentatia online PurePython: http://purepython.eaudeweb.ro/wiki/Home.html
Documentatia online Python: https://docs.python.org/3/

NOT: Cursul va fi susinut de ctre specialiti din cadrul companiei Eau de Web precum i din
cadrul ROSEdu. Numrul maxim de studeni participani este de 30. Studenii care opteaz
pentru acest curs vor fi supui unei proceduri de selecie.

FISA UNITATII DE CURS


TITLU: CLOUD COMPUTING
DOMENIUL DE LICEN: INFORMATIC
SPECIALIZAREA: INFORMATIC
STATUTUL: optional
NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)
SEMESTRUL: 5 / anul III de studiu
FORMA DE EXAMINARE: Verificare
CREDITE: 5
INSTRUCTORI: Conf.Dr. Cristian Kevorchian (Profesor asociat FMI)
OBIECTIVE:
Scopul cursului este de a prezenta viitorilor specialiti n domeniul IT un mix de tehnologii sub
numele de cloud computing care, potrivit prediciilor Gartner, pn la sfritul anului 2016, 50%
din companiile din Global 1000 vor utiliza servicii din public cloud. Cursul integreaz
cunotine din zona arhitecturilor de calcul a reeleor de calculatoare i programrii
calculatoarelor ntr-unul dintre cele mai dinamice domenii ale tehnologiei informaiei a se
vedea i experiena unor universiti de prestigiu, cum ar fi Stanford,
(http://scpd.stanford.edu/search/publicCourseSearchDetails.do?method=load&courseId=11815).
Nu sunt vizate, in acest curs, decat aspecte legate de virtualizarea infrastructurilor de calcul i
nelegerea arhitecturilor de tip public cloud, privat cloud i hybrid cloud, precum i utilizarea
softwareului i platformelor de dezvoltare ca serviciu. n contextul problematicii cloud
computing vom aduce n discuie i subiecte larg dezbtute n comunitile tehnologice de genul
Serviciile WEB din perspectiva SOAP(Simple Object Access Protocol) sau
REST(Representational State Transfer).
PROGRAMA:
1) Cloud computing-definiii, tipuri de cloud, caracteristici, avantaje i dezavantaje, utilizare de
standarde deschise.
2) Arhitecturi cloud-stiva cloud computing, conectarea la cloud, sisteme de operare n Cloud:
Windows Azure OS, Chrom OS, JolieCloud OS.
3) Abstractizare i virtualizare-tehnologii de virtualizare, load balancing i virtualizare,
hipervizoare, imagini ale mainilor virtuale, portarea aplicaiilor.
4) Servicii i aplicaii, SOA(Service Oriented Arhitecture)-Infrastructure as a Service(IaaS),
Platform as a Service(PaaS), Software as a Service(SaaS), Identity as a Service(IdaaS),
Compliance
as
Service(CaaS),
Security-as-a-Service,
ESB(Enterprise
Service
Bus),BPEL(Business Process Execution Language), Modelarea proceselor de business,
Managementul i monitorizarea SOA, SOA i Cloud Computing, REST i Cloud Computing.
5) Planificarea capacitii de calcul metrici de baz, metrici de sistem, testarea nivelului de
ncrcare, tipuri de servere i instane, capacitatea reelei.
6) Stocarea ca serviciu n CLOUD Prezentarea serviciilor de stocare, ca fiind persistente i
redundante i n plus analiza serviciilor:BLOB, QUEUE i TABLE mpreun cu API-ul Windows
Azure Storage REST Service.
7) Platforma Windows Azure-software plus servicii, Servicii Windows Azure, Windows Azure
AppFabric, SQL Azure. Interconectarea serviciilor cu .NET Service Bus.
8) Transferul aplicaiilor n cloud- aplicaii n cloud, asocierea funcionalitilor, atributele
aplicaiilor, atributele serviciilor cloud, aplicaii i API-uri n cloud

9) Cloud, Grid i HPC Prezentarea soluiilor Amazon Elastic Compute Cloud EC2,
TWESTER4Azure i MR4Azure
BIBLIOGRAFIE:
[1] B. Sosinsky CLOUD COMPUTING BIBLE, Wiley Publishing Inc., Indianopolis, Indiana,
2011.
[2] R. Jennings CLOUD COMPUTING with Windows Azure Platform, Wiley Publishing
Inc., Indianopolis, Indiana, 2009
[3] R. Buyya, J. Broberg, A. Goscinski CLOUD COMPUTING. Principles and Paradigms,
Wiley, Inc., Hoboken, New Jersey, 2011
[4] T.Velte, J. Velte, R. Elsenpeter CLOUD COMPUTING: A Practical Approach, MacGrow
Hill, 2010

FISA UNITATII DE CURS


TITLU: COMBINATORICA ENUMERATIVA SI APLICATII
DOMENIUL DE LICENTA: INFORMATICA
SPECIALIZAREA: INFORMATICA
STATUTUL: optional
NR. ORE/SAPTAMANA: 3 (Curs=2; Seminar=1)
SEMESTRUL: 5 / anul III de studiu
FORMA DE EXAMINARE: Examen
CREDITE: 5
TITULAR: Conf.Dr. Dragos-Radu Popescu
OBIECTIVE:
Cursul isi propune o introducere in teoria numararii cu largi aplicatii in toate domeniile
teoretice si practice ale cercetarii matematice. Astfel, cursul se adreseaza atat studentilor
care vor sa devina profesori cat si celor ce vor sa se specializeze in informatica sau
care doresc sa-si continue activitatea de cercetare in cadrul unui program de studii
aprofundate sau de doctorat.
PROGRAMA:
1. Principii de numarare.
2. Inegalitatile lui Bonferroni si Hunter. Aplicatii.
3. Functii de numarare. Numere Stirling, Bell, Fibonacci, Catalan si Lucas.
4. Drumuri laticiale.
5. Formule de inversiune binomiala si Stirling.
6. Numararea arborilor. Teoremele lui Cayley, Temperley, Austin.
7. Functii generatoare.
8. Teoria lui Polya.
9. Aplicatii in teoria probabilitatilor si teoria numerelor.
BIBLIOGRAFIE:
1. Aigner Martin: Combinatorial Theory, Springer-Verlag, 1979.
2. Bondy J. A.,Murty U. S. R.: Graph theory with Applications, The Macmillam Press ltd.
1977.
3. Popescu Dragos-Radu: Combinatorica si teoria grafurilor, Societatea de Stiinte Matematice
din Romania, 2005.
4. Popescu Dragos-Radu, Marinescu-Ghemeci Ruxandra: Combinatorica si teoria grafurilor prin
exercitii si probleme, Matrix Rom, Bucuresti, 2014
5. Tomescu Ioan: Probleme de combinatorica si teoria grafurilor, Ed. Didactica si
Pedagogica,1981.
6. Tomescu Ioan, Popescu DragosRadu: Elemente de Matematica discreta, Teoria Grafurilor si
Analiza Combinatorie, Matrix Rom, Bucuresti, 2013
7. Wilf, H. S.: Generatingfunctionology, 2nd ed. New York: Academic Press, 1994.

FISA UNITATII DE CURS


TITLU: CONCEPTE GEOMETRICE IN GRAFICA PE CALCULATOR
DOMENIUL DE LICEN: INFORMATIC
SPECIALIZAREA: INFORMATIC
STATUTUL: optional
NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)
SEMESTRUL: 5 / anul III de studiu
FORMA DE EXAMINARE: Verificare
CREDITE: 5
INSTRUCTORI: Lect.Dr. Sorin Stupariu
OBIECTIVE:
Cursul are doua componente complementare. Prima dintre ele are o natura teoretica: in cadrul
cursului vor fi prezentate notiuni si rezultate geometrice esentiale pentru dezvoltarea aplicatiilor
grafice, precum si cativa algoritmi de baza in grafica pe calculator. Cea de-a doua componenta
are o natura aplicativa si include o introducere in utilizarea OpenGL si dezvoltarea unor aplicatii
interactive de grafica pe calculator. Proiectele de laborator, concretizate prin proiecte, vor
reprezenta componenta principala a verificarii de la sfarsitul semestrului.
PROGRAMA:
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]

Primitive grafice. Atribute ale primitivelor grafice.


Transformari geometrice. Modelarea deplasarii unui obiect.
Proiectii paralele si proiectii centrale.
Reprezentarea imaginilor 2D.
Elemente de grafica 3D.
Modele de iluminare. Efecte vizuale (netezirea contururilor, ceata, umbre).
Aplicatii grafice interactive. Animatii pe calculator.
Texturarea suprafetelor.
Utilizarea unitatilor programabile (shaders).

BIBLIOGRAFIE:
[1] G. Albeanu, Grafica pe calculator. Algoritmi fundamentali, Editura Universitatii din
Bucuresti, 2001.
[2] R. Baciu, Programarea aplicatiilor grafice 3D cu OpenGL, Editura Albastra, 2005.
[3]
W. Boehm, H. Prautzsch: Geometric Concepts for Geometric Design, AK Peters,
Wellesley, 1994.
[4]
J. Hughes, A. van Dam, M. McGuire, D. Sklar, J. Foley, S. Feiner, K. Akeley, Computer
Graphics: Principles and Practice (3rd edition), Addison Wesley, 2013.
[5]
D. Hearn, M. Baker, W. Carithers, Computer Graphics with OpenGL (4th edition),
Prentice Hall, 2010.
[6]
P. Shirley, M. Ashikhmin, M. Gleicher, S. Marschner, E. Reinhard, K. Sung, W.
Thompson, P. Willemsen, Fundamentals of Computer Graphics (3rd edition), AK Peters,
Wellesley, 2009.
[7]
D. Shreiner, G. Sellers, J. Kessenich, B. Licea-Kane, OpenGL Programming Guide,
Eighth Edition, Addison-Wesley, 2013.

FIA UNITII DE CURS


TITLU: CONCEPTE I APLICAII N VEDERE ARTIFICIAL
DOMENIUL DE LICEN: INFORMATIC
SPECIALIZAREA: INFORMATIC
STATUTUL: OPIONAL
NR. ORE / SPTMN: 3 (Curs = 2; Laborator = 1)
SEMESTRUL: 5 / anul III de studiu
FORMA DE EXAMINARE: Verificare
CREDITE: 5 (3)
INSTRUCTORI: Dr. Bogdan Alexe, Lect. Dr. Radu Ionescu
OBIECTIVE:
Oamenii interpreteaz fr efort ceea ce vd. Scopul Vederii Artificiale este de a nzestra un
sistem computerizat cu caracteristici asemanatoare, care "vede" i "nelege" ceea ce se intmpl
n imagini. Pentru realizarea acestui deziderat este nevoie de algoritmi eficieni care s extrag
informaii din pixeli pentru interpretarea imaginilor.
Cursul are ca obiectiv att studierea conceptelor de baz ct i prezentarea unor tehnici de
actualitate din domeniul Vederii Artificiale. n ultimii ani, tehnicile i metodele folosite n
vederea artificial i-au dovedit aplicabilitatea din ce n ce mai rspndit pentru rezolvarea unor
probleme importante cum ar fi recunoaterea facial, detectarea i recunoaterea obiectelor n
imagini, detectarea i urmrirea obiectelor n video, recunoaterea caracterelor, recunoaterea
semnelor de circulaie, cutarea imaginilor dup coninut i multe altele. Din acest motiv, cursul
va pune un foarte mare accent pe partea de aplicabilitate a tehnicilor prezentate. Mai precis,
fiecare curs va conine exemple practice i aplicaii. n cadrul laboratorului se va folosi limbajul
de programare Matlab. Vor fi prezentate funciile din librria Image Processing Toolbox, dar se
vor folosi i funcii implementate n librrii open source, cum ar fi VLFeat sau Deep Learning
Toolbox. La finalul cursului, studenii vor putea nelege i aplica tehnicile de ultim or din
domeniu pentru rezolvarea unor probleme interesante precum segmentare backgroundforeground, detectare facial, supraveghere video, etc.
FORMA DE EXAMINARE:
Dat fiind caracterul aplicativ al cursului, studenii vor fi evaluai pe baza unui proiect (50%) i a
activitii din cadrul laboratorului (50%). Temele de proiect vor fi prezentate n primul curs. n
funcie de complexitatea temei abordate, proiectele pot fi abordate individual sau n echipe de
pn la 3 membri. Activitatea de laborator const n rezolvarea exerciiilor ce nsoesc aplicaiile
predate la curs.
PROGRAM:
1.
2.
3.
4.
5.
6.
7.

Introducere n vederea artificial. Concepte de baz.


Filtre pentru imagini. Muchii i gradienti. Textur i culoare.
Segmentare i grupare: k-means, mean-shift, etc.
Puncte de interes. Trsturi locale pentru imagini. Descriptorii SIFT i HOG.
Metode de nvare. Concepte de baz. Modelul Nearest Neighbors.
Metode kernel. Funcii de similaritate i clasificatori liniari: SVM, KRR, KDA.
Modele de nvare deep. Reele neuronale convoluionale. Metode pentru
recunoaterea caracterelor.

8. Recunoaterea obiectelor folosind modelul bag of visual words.


9. Detectarea facial folosind metoda ferestrei glisante.
10. Recunoaterea expresiilor faciale folosind modelul bag of visual words i nvarea
local.
11. Recunoaterea obiectelor folosind reele convoluionale.
12. Urmrirea traiectoriilor obiectelor n videoclip-uri: filtrul de particule. Aplicaie:
urmrirea oamenilor n video-uri.
BIBLIOGRAFIE:
1. R. Szeliski. Computer Vision: Algorithms and Applications. Springer, 2010.
2. J. Shawe-Taylor, N. Cristianini. Kernel Methods for Pattern Analysis. Cambridge
University Press, 2004.
3. Simon Prince: Computer Vision: Models, Learning and Inference, Cambridge
University Press, 2012. Draft disponibil online.
4. David Forsyth, Jean Ponce: Computer Vision: A modern approach (second edition),
Prentice Hall, 2011.
5. R.T. Ionescu. Machine Learning in Computer Vision and String Processing. PhD.
Thesis, University of Bucharest, 2013.
6. R.T. Ionescu, M. Popescu. PQ kernel: A rank correlation kernel for visual word
histograms. Pattern Recognition Letters, 55(1):5157, 2015.
7. R.T. Ionescu, M. Popescu, C. Grozea. Local Learning to Improve Bag of Visual
Words Model for Facial Expression Recognition. Workshop on Challenges in
Representation Learning, ICML, 2013.
8. L.P. Dinu, R.T. Ionescu, M. Popescu. Local Patch Dissimilarity for Images. In
Proceedings of ICONIP, 7663:117126, 2012.
9. http://www.vlfeat.org
10. http://fr.mathworks.com/matlabcentral/fileexchange/38310-deep-learning-toolbox

FISA UNITATII DE CURS


TITLU: PROGRAMARE WEB UTILIZAND LIMBAJUL JAVA SERVLETI
DOMENIUL DE LICEN: INFORMATIC
SPECIALIZAREA: INFORMATIC
STATUTUL: optional
NR.ORE/SAPTAMANA: 3 (Curs = 2; Seminar = 1)
SEMESTRUL: 5 / anul III de studiu
FORMA DE EXAMINARE: Verificare
CREDITE: 5
INSTRUCTORI: Conf.Dr. Andrei Baranga
PROGRAMA:
I. Preliminarii
I.1 Despre arhitectura client-server:
I.2 Aplicatii de tip web:
I.3 Dezvoltarea de aplicatii WEB pe WINDOWS utiliznd server-ul Tomcat.
I.4 Exemplu de realizare si execuie a celui mai simplu servlet
II. Servlei.
II.1 Elemente de baz
II.2 Servlei i package-uri.
II.3 Alte detalii despre servlei
II.4 Parametrii de iniializare
II.5 Proiectarea unui client de Web
II.6 Parametrii unui servlet
II.7 Invocarea servletilor din HTML
II.8 Caractere speciale in textul HTML
II.9 Utilizarea headerelor cererii trimise de ctre client
II.10 Transmiterea rpunsului n form compactat
II.11 Protejarea paginilor cu ajutorul parolelor
II.12 Variabile CGI (Common Gateway Interface)
II.13 Codul de rspuns al servletului
II.14 Headerele rspunsului
II.15 Utilizarea conexiunilor persistente
II.16 Obiectele din clasa Cookie
II.17 Gestionarea sesiunilor
BIBLIOGRAFIE:
[1] Athanasiu, Irina; Costinescu, Bogdan; Drgo, Octavian Andrei; Popovici, Florentina Irina;
Gaburici, Vasile, Limbajul Java - O Perspectiv pragmatic Agora, 2000
[2] Baranga A.,Programare Web Utilizand JAVA, Editura Albastra, Cluj-Napoca, 2007
[3] Hall, Marty, Core Servlets and JavaServer Pages (JSP), Prentice Hall PTR, 2000

FIA UNITII DE CURS


TITLU: PROIECTAREA i implementarea unei platforme WEB scalabile
DOMENIUL DE LICEN: INFORMATIC
SPECIALIZAREA: INFORMATIC
STATUTUL: OPIONAL
NR.ORE/SPTMN: 3 (Curs = 1; Laborator = 2)
SEMESTRUL: 5 / anul III de studiu
FORMA DE EXAMINARE: VERIFICARE
CREDITE: 5
INSTRUCTORI: Specialisti eMag [Supervizor local: Conf.Dr. Radu Gramatovici]
OBIECTIVE:
Cursul i propune s ofere studenilor o introducere n technologiile moderne care ofer
posibilitatea de a dezvolta aplicaii web modulare i scalabile.
n cadrul cursului vor fi prezentate principalele tehnologii i metode de implementare a
aplicaiilor web capabile s proceseze un numr foarte mare de cereri i de asemenea s se
adapteze unor nevoi de procesare variabile. Principalele framework-uri ce faciliteaz
implementarea acestui tip de aplicaii vor fi prezentate mpreun cu exemple practice i cu
detalierea modului de funcionare al acestora precum i al avantajelor tehnice oferite.
La finalul cursului, studenii vor putea construi o aplicaie folosind aceste tehnologii,
aplicaie avnd capacitatea de a integra noi servicii sau de a elimina servicii existente, ntr-un
mod transparent, fr a afecta funcionalitatea de baz a aplicaiei.
PROGRAM:
1. Introducerea noiunii de scalabilitate. Importana caracteristicii de scalabilitate.
2. Introducerea conceptului de microservicii.
3. Structura unei aplicaii construit pe microservicii.
4. Introducerea conceptului de modularitate.
5. Structura unei aplicatii modulare i scalabile.
6. Conceptul de scalare orizontal introducere n Hazelcast.
7. Conceptul de baz de date n memorie (cache cheie valoare) introducere n Redis.
8. Conceptul de baz de date distribuit introducere n Riak.
9. Conceptul de distribuie a sarcinilor de procesare introducere n Gearman.
10. Dezvoltarea unei platforme web scalabile de e-commerce aplicaie practic.
BILBIOGRAFIE:
1.
2.
3.
4.

http://hazelcast.org/
http://redis.io/
http://basho.com/riak/
http://gearman.org/

NOT: Cursul va fi susinut de ctre specialiti din cadrul companiei eMAG. Numrul maxim
de studeni participani este de 30. Studenii care opteaz pentru acest curs vor fi supui unei
procedure de selecie.

FIA UNITII DE CURS


TITLU: UNDERGRADUATE RESEARCH OPPORTUNITIES (Oportunitati de cercetare
pentru studentii de licenta)
DOMENIUL DE LICEN: INFORMATIC
SPECIALIZAREA: INFORMATIC
STATUTUL: OPIONAL
NR.ORE/SPTMN: 3 (Curs = 2; Laborator = 1)
SEMESTRUL: 5 / anul III de studiu
FORMA DE EXAMINARE: VERIFICARE
CREDITE: 5
COORDONATOR CURS: Prof.Dr. Gheorghe Stefanescu;
INSTRUCTORI POTENTIALI: Cadrele didactice de la Departamentul de Informatica
care propun teme de cercetare (studentii interesati vor primi un link la care pot gasi lista cu
temele de cercetare propuse pentru anul curent; cele de anul trecut se gsesc aici:
https://dl.dropboxusercontent.com/u/24589701/UROP-CS-UB_teme-2014.pdf)
OBIECTIVE:
Acest curs ofera studentilor de la licenta posibilitatea de a se implica in probleme de cercetare
actuale, interesante sub directa indrumare a unor profesori care sunt cercetatori activi si cu
experienta in cercetare. Profesori de la alte universitati din tara ori strainatate, ori cercetatori din
institute de cercetare, pot fi cooptati in cadrul acestui curs in calitate de co-supervizori. In masura
posibilitatilor existente, temele de cercetare pot fi parte a unor proiecte de cercetare aflate in
derulare.
Pentru a putea sa isi atinga obiectivele, cursul este limitat la 10% din studenti (20 de studenti),
fiecare cadru didactic participant putand superviza cel mult 3 studenti.
ORGANIZARE:
In primele 2 spatamani (1-15 Oct, intensiv, 28 ore), studentii vor audia prezentarile de domenii si
teme de cercetare oferite. Studentii care la sfarsitul celor 2 saptamani nu vor gasi o tema si un
supervizor potrivit vor fi redistribuiti la unul din celelalte cursuri optionale existente.
In cursul semestrului studentul studiaza literatura de specialitate si va prezenta o expunere de
circa 1 ora in cadrul unor intalniri saptamanale consacrate acestei activitati. Activitatea de baza
este cercetarea si se va finaliza cu un Raport de Cercetare care va fi prezentat la sfarsitul
semestrului.
EVALUARE:
In evaluarea studentilor, 20% din nota este pe baza activitatii din timpul anului si este bazata pe
studiul literaturii de specialitate si a prezentarii facute. Restul de 80% din nota este pe baza
Raportului de Cercetare care va fi predat la sfarsitul semestrului. O pondere de 20% din nota o
constituie evaluarea rezultatelor noi ori a elementelor de originaliate prezente in Raport. Raportul
va fi evaluat de o comisie formata 3 persoane (Presedinte, Supervizor si un Raportor
independent), numita separat pentru fiecare student.
ALTE COMPETENTE:
O activitate suplimentara, care va veni in sprijinul formarii unor deprinderi sanatoase de
cercetare la studentii participanti, este organizarea de activitati legate de: (a) indrumare privind
modul de redactare a unei lucrari (Latex, formatare, stilistica, etc.); (b) expuneri legate de etica
cercetarii; (c) deprinderi de participare la viata stiintifica a comunitatii; (d) colaborarea cu colegii
ori cu studentii mai mici ori mai mari pe teme de cercetare comune; etc.

CURSURI OPIONALE DE
INFORMATIC
PROPUSE
PENTRU ANUL
UNIVERSITAR 2015-2016
SEM. II
DOMENIUL DE LICEN:
INFORMATIC
SPECIALIZRILE:
INFORMATIC
MATEMATIC-INFORMATIC

Lista cursurilor optionale sem. II


6.1 Algoritmi genetici. Aplicaii n bioinformatic i web mining
6.2 Aplicatii mobile pentru iOS
6.3 Data warehouse
6.4 Initiere in cercetare si bioinformatica
6.5 Introducere in lingvistica matematica si computationala
6.6 JavaScript ca limbaj pentru servere. Detalii despre NodeJS
6.7 Paradigme de programare in Cloud Computing
6.8 Programare Web utilizand limbajul Java-JSP
6.9 Tehnici de programare a aplicatiilor grafice
6.10 Testarea sistemelor software

Fiecare student face 5 opiuni,


n ordinea preferinelor

FISA UNITATII DE CURS


TITLU: ALGORITMI GENETICI. APLICATII IN BIOINFORMATICA SI WEB
MINING
DOMENIUL DE LICEN: INFORMATIC (MATEMATICA)
SPECIALIZAREA: INFORMATIC (MATEMATICA-INFORMATICA)
STATUTUL: optional
NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)
SEMESTRUL: 6 / anul III de studiu
FORMA DE EXAMINARE: Verificare
CREDITE: 5 (3)
INSTRUCTORI: Prof.Dr. Denis Enachescu; Asist.Dr. Bianca Mogos
Obiective:
Algoritmii genetici reprezint tehnici de cutare i optimizare euristic avnd ca surs de
inspiraie o ramur a biologiei genetica.
Cursul prezint principiile algoritmilor genetici i modaliti de aplicare a acestora pentru
rezolvarea unor probleme de nvare supervizat i nesupervizat. De asemenea, cursul
recomand studiul unor aplicaii din domeniile bioinformatic i web mining.
Cursul i propune s completeze cunotinele necesare urmrii ulterioare, de ctre studeni, a
unor programe de Masterat/Doctorat n domeniul Inteligenei Artificiale i al Bioinformaticii.
La laborator se poate lucra n Java/C/C++/Matlab (la alegerea studentului), punnd accent pe
aplicarea algoritmilor genetici (implementai de ctre studeni) pentru rezolvarea unor probleme
particulare.
Programa:
1. Algoritmi genetici metodologie general
2. Analiza convergenei algoritmilor genetici
3. Clasificare supervizat folosind algoritmi genetici
4. Clasificare nesupervizat folosind algoritmi genetici
5. Generalizri ale algoritmilor genetici
6. Optimizare multiobiectiv folosind algoritmi genetici
7. Aplicaii ale algoritmilor genetici n bioinformatic
8. Aplicaii ale algoritmilor genetici n web mining
Bibliografie selectiv:
[1] Bandyopadhyay, S. and Pal, S.K. (2007), Classification and Learning using Genetic
Algorithms, Springer
[2] Mitchell, M. (1996), An Introduction to Genetic Algorithms, MIT Press
[3] Haupt, R.L. and Haupt, S.E. (2004), Practical Genetic Algorithms, Second edition, John
Wiley & Sons
[4] Marczyk, A. (2004), Genetic Algorithms and Evolutionary Computation, online:
http://www.talkorigins.org/faqs/genalg/genalg.html
[5] Pohlheim, H. (2005), Evolutionary Algorithms: Overview, Methods and Operators,
Documentation for GEATbx version 3.7 (Genetic and Evolutionary Algorithm Toolbox for use
with Matlab)
[6] Genetic Algorithms, online: http://www.obitko.com/tutorials/genetic-algorithms/index.php
[7] Genetic Algorithms Tutorials, online: http://geneticalgorithms.ai-depot.com/Tutorials.html

FIA UNITII DE CURS


TITLU: APLICAII MOBILE PENTRU IOS
DOMENIUL DE LICEN: INFORMATIC (MATEMATIC)
SPECIALIZAREA: INFORMATIC (MATEMATIC- INFORMATIC)
STATUTUL: OPIONAL
NR. ORE / SPTMN: 3 (Curs = 2; Laborator = 1)
SEMESTRUL: 6 / anul III de studiu
FORMA DE EXAMINARE: Verificare
CREDITE: 5 (3)
INSTRUCTORI: Razvan Rusu (Cronian Academy) [Supervizor local: Conf.Dr. Radu
Gramatovici]
OBIECTIVE:
Cursul prezint principiile de baz ale dezvoltrii aplicaiilor mobile utiliznd limbajul de
programare Objective-C n sistemul de operare iOS. n cadrul cursului vor fi prezentate att
particularitile limbajului Objective-C, ct i cele mai bune practici de dezvoltare de aplicaii
mobile. n cadrul laboratorului va fi prezentat mediul de dezvoltare Xcode.
PROGRAM:
1. Dezvoltarea de aplicaii mobile n general: diferena ntre dezvoltarea de aplicaii
Desktop i aplicaii mobile, limitrile i capacitile dispozitivelor mobile, generaliti
despre mediile de dezvoltare de aplicaii mobile (Android, Windows 8, iOS).
2. Introducere n Objective-C: tehnologia iOS, conceptul de design MVC, mecanismele de
baz ale limbajului Objective-C, introspecia, framework-ul Foundation, protocoale.
3. View: obiectul UIView, subclase custom ale lui UIView, metode de desenare, suport
pentru auto-rotaie, tehnici de recunoatere a gesturilor.
4. Controller: ciclul de via al unui UIViewController, controller-e de navigaie n aplicaie
(UINavigationController i UITabBarController), tranziii ntre controller-e.
5. Controale UI standard (framework-ul UIKit): UITableView, UIImageView,
UIScrollView, UIWebView, etc.
6. Folosirea capacitilor telefonului: serviciul de localizare GPS, accelerometrul, busola,
integrarea harilor, etc.
7. Persistena datelor: liste de proprieti, arhivarea obiectelor, SQLite, CoreData, etc.
8. Topici avansate: transmiterea de notifcri ntre obiecte, categorii, blocuri, msurarea
performanei aplicaiei.
BIBLIOGRAFIE:
1.
2.
3.
4.
5.

Documentaia Apple: https://developer.apple.com/library/ios/navigation/


Erik Buck, Donald Yacktman. Cocoa Design Patterns. Addison-Wesley, 2009.
Stephen Kochan. Programming in Objective-C. Sams Publishing, 2004.
Matt Neuburg. Programming iOS 4. OReilly Media Inc., 2011.
Scott Stevenson. Cocoa and Objective-C: Up and Running. OReilly Media Inc., 2010.

FIA UNITII DE CURS


TITLU: DATA WAREHOUSE
DOMENIUL DE LICEN: INFORMATIC (MATEMATICA)
SPECIALIZAREA: INFORMATIC (MATEMATICA-INFORMATICA)
STATUTUL: optional
NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)
SEMESTRUL: 6 / anul III de studiu
FORMA DE EXAMINARE: Verificare
CREDITE: 5 (3)
INSTRUCTORI: Lect.Dr. Gabriela Mihai
OBIECTIVE:
-

Familiarizarea cu cele mai noi concepte de stocare a datelor istorice prin integrarea
acestora ntr-o singur structur care constituie baza pentru aplicaiile de Business
Intelligence.
nsuirea tehnicilor de modelare, proiectare i optimizare specifice tehnologiei Data
Warehouse.
Exploatarea acestor tipuri de baze de date cu scopul de a obine informaii necesare n
procesul de luare a deciziilor la nivel managerial.

PROGRAMA:
1. Modelarea i implementarea unei baze de date de tip Data Warehouse (Componente
arhitecturale n Data Warehouse. Data Mart-uri. Modelarea dimensional. Fapte i dimensiuni.
Schema stea. Schema fulg. Extragerea, transformarea, transportul i ncrcarea datelor n Data
Warehouse).
2. Tehnici de optimizare n Data Warehouse (Constrngeri de integritate pentru modele
dimensionale. Indeci specifici modelului dimensional. Obiecte de tip dimensiune. Dependene
prin ierarhii. Partiionare i paralelism n Data Warehouse. Rescrierea cererilor utiliznd
vizualizri materializate).
3. Data Warehouse component esenial a oricrei strategii de Business Intelligence.
4. Interogarea eficient i analiza datelor n scopuri decizionale (Definirea ferestrelor pentru
agregri. Funcii de clasare. Funcii pentru analiz).
BIBLIOGRAFIE:
1. Inmon W., Bulding the Data Warehouse, J.Wiley, 2005
2. Kimball R., Ross M., Thornthwaite W., Mundy J., Becker B., The Data Warehouse Lifecycle
Toolkit: Practical Techniques for Building Data Warehouse and Business Intelligence Systems,
J.Wiley, 2007
3. *** - Oracle11g Database Data Warehousing Guide, Oracle Corporation, 2010

FIA UNITII DE CURS


TITLU: INIIERE N CERCETARE I BIOINFORMATIC
DOMENIUL DE LICEN: INFORMATIC (MATEMATICA)
SPECIALIZAREA: INFORMATIC (MATEMATICA-INFORMATICA)
STATUTUL: optional
NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)
SEMESTRUL: 6 / anul III de studiu
FORMA DE EXAMINARE: Verificare
CREDITE: 5 (3)
INSTRUCTORI: Prof.Dr. Andrei Paun
OBIECTIVE:
Cursul se adreseaza studentilor interesati in cercetare in bioinformatica. Studentii vor fi expusi
atat la elemente de baza din bioinformatica cat si la si rezultate recente din bioinformatica si
biologia sistemelor. Studentii vor dobandi la acest curs si experienta in cercetare: cum se citeste o
lucrare, structurarea lucrarilor stiintifice, cum se scrie o lucrare stiintifica, modelul de recenzie al
lucrarilor stiintifice: peer-review, clasificarea revistelor si a conferintelor.
PROGRAM:
1. Notiuni elementare de biologie celulara, genetica si biochimie.
2. Experimentul lui Adleman pentru rezolvarea unei probleme NP completa folosind ADN si
unelte biochimice.
3. Experimentul lui Lipton pentru rezolvarea SAT, alte rezultate din calculabilitatea bazata pe
ADN.
4. Autoasamblare: experimentele lui Eric Winfree, Ned Seeman, Paul Rothemund, etc.
5. Alinierea secventelor (sequence alignment): Algoritmii optimali de aliniere pentru secvente
ADN sau proteine, pentru aliniere globala sau locala: Smith-Waterman, Needlman- Wunsch.
Algoritmii heuristici pentru alinieri: Blast si variante, Fasta, PatternHunter, PatternHunter2.
6. Biologie evolutionara: Aliniere afina, matrici de substituire: BLOSUM50, BLOSUM62,
PAM150, aliniere multipla.
7. Modele abstracte de calculabilitate bazata pe ADN si celule: Sisteme H, Sisteme P.
8. Introducere in cercetare: revista, articol, peer-review, referinte, cuvinte cheie, factor de impact
pentru revista, LaTeX, ordinea autorilor, structurarea articolelor, elemente introductive despre
redactarea tehnica.
BILBIOGRAFIE:
1. Leonard M. Adleman, Molecular computation of solutions to combinatorial problems,
Science, Vol. 266, Iss. 5187, 1994, pp. 1021-1024.
2. Richard J. Lipton, DNA Solution of Hard Computational Problems, Science, Vol. 268, Iss.
5210, 1995, pp. 542-545.
3. Erik Winfree, Furong Liu, Lisa A. Wenzler, Nadrian C. Seeman, Design and self-assembly of
two-dimensional DNA crystals, Nature, Vol. 394, 1998, pp. 539-544
4. Paul W. K. Rothemund, Folding DNA to create nanoscale shapes and patterns, Nature, Vol.
440, 2006, pp. 297-302
5. Arthur M. Lesk, Introduction to Bioinformatics, Oxford University Press, 2002, 290 pp.,
ISBN: 0199251967.

6. Neil C. Jones, Pavel A. Pevzner, An Introduction to Bioinformatics Algorithms


(Computational Molecular Biology), The MIT Press, 2004, 456 pp., ISBN: 0262101068.
7. Gheorghe Paun, Grzegorz Rozenberg, Arto Salomaa, The Oxford Handbook of Membrane
Computing, Oxford University Press, 2010, 696 pp., ISBN: 0199556679.
8. Temple F Smith, Michael S Waterman, Comparison of biosequences, Advances in Applied
Mathematics, Vol 2, Iss. 4, 1981, pp. 482-489.
9. Saul B. Needleman, Christian D. Wunsch, A general method applicable to the search for
similarities in the amino acid sequence of two proteins, Journal of Molecular Biology, Vol. 48,
Iss. 3, 1970, pp. 443-453.
10: Steven Henikoff, Jorja G. Henikoff, Amino acid substitution matrices from protein blocks,
PNAS, Vol. 89, 1992, pp. 10915-10919.
11. Stephen F. Altschul, Warren Gish, Webb Miller, Eugene W. Myers, David J. Lipman, Basic
local alignment search tool, Journal of Molecular Biology, Vol. 215, Iss. 3, 1990, pp. 403-410.
12. Bin Ma, John Tromp, Ming Li, PatternHunter: faster and more sensitive homology search,
Bioinformatics, Vol. 18, Iss. 3, 2002, pp. 440-445.

FIA UNITII DE CURS


TITLU: Introducere in lingvistica matematica si computationala
DOMENIUL DE LICEN: INFORMATIC (MATEMATICA)
SPECIALIZAREA: INFORMATIC + MATEMATICA-INFORMATICA
STATUTUL: optional
NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)
SEMESTRUL: 6 / anul III de studiu
FORMA DE EXAMINARE: Verificare
CREDITE: 5 (3)
INCTRUCTOR: Conf.Dr. Liviu Dinu
OBIECTIVE:
Cursul isi propune sa ofere studentilor o perspectiva moderna si la zi asupra domeniului. Fiecare tema
abordata va fi insotita de aplicatii concrete care vor viza diverse aspecte ale limbajului natural, cu o
atentie speciala acordata limbii romane. Vor fi abordate aspecte computationale, cantitative si formale
ale limbajului natural, facand distinctia clara intre analiza textelor si cea a limbilor naturale in general.

PROGRAMA:
Lectie de deschidere: probleme curente (practice, teoretice si de cercetare) in lingvistica matematica si
computationala si in procesarea limbajului natural.
Aspecte cantitative ale limbajului natural. (Legi de tip minim efort, principiul lui Menzerath, legea lui
Zipf, Legea lui Fenk, Altmann, comportari probabilistice si statistice ale limbajului natural, etc).
Cum comparam limbile naturale? Analiza computationala a similaritatii, inteligibilitatii, lizibilitatii
(readability) limbilor naturale. Aplicatii pe limba romana.
Abordari si rezolvari computationale eficiente ale unor probleme lingvistice grele: predictia accentului in
limba romana, silabificarea cuvintelor din limba romana, conjugarea verbelor (analiza alternantelor),
analiza predictiei pluralului substantivelor din romana (analiza neutrului). (In general aceste
probleme au fost declarate intratabile de catre lingvisti; in aceasta sectiune vom prezenta rezolvari cu
acuratete cuprinsa intre 96%-99.7%).
Poate fi recunoscut autorul unor texte cu autor controversat? Analiza computationala a amprentei
stilistice. Aplicatii in detectarea pastiselor, a fraudelor electronice, detectarea comentariilor false.
Categorizare si clasificare automata de texte in functie de topic.
Analiza de corpus. Detectarea de colocatii, detectare automata si analiza ortografica a cuvintelor inrudite
(cuvinte mostenite, perechi cognates). Aplicatii in simplificarea textelor.
Detectarea automata din texte a opiniilor, analiza computationala a polaritatii sentimentelor, deception
detection. Aplicatii in predictia optiunii politice din analiza discursurilor.
BIBLIOGRAFIE:
1. G. Altmann (ed). Handbook of Quantitative Linguistics, 2003
2. R. Dale (ed) The Handbook of Natural Language Processing, Marcel Dekker, New York, 2000.
3. Liviu P. Dinu. Metode Formale si de Clasificare in Lingvistica Matematica si Computationala.
Ed. Universitatii Bucuresti, 2004.
4. Liviu P. Dinu. Rank distance and applications. Ed. Universitatii Bucuresti, 2011
5. Alina Maria Ciobanu, Liviu P. Dinu, 2014. An Etymological Approach to CrossLanguage
Orthographic Similarity. Application on Romanian. In Proc. EMNLP 2014, p 10471058.
6. Manning, C., H. Schutze. Foundations of statistical natural language processing, MIT Press, 1999
7. Mosteller, Frederick and David L. Wallace. Inference and Disputed Authorship. Distributed for
the Center for the Study of Language and Information. 320 p. 6 x 9 Series: (CSLI-DHS) Center
for the Study of Language and Information - The David Hume Series, 2007
8. Arhivele revistelor: Computational Linguistics, Literary and Linguistic Computing, Quantitative
Linguistics
9. Volumele conferintelor LREC si ale celor patronate de ACL (ACL, EACL, NAACL, COLING,
CICLING, RANLP). Disponibile on-line la http://aclweb.org/anthology-new/

FIA UNITII DE CURS


TITLU: JavaScript ca limbaj pentru servere. Detalii despre NodeJS
DOMENIUL DE LICEN: INFORMATIC
SPECIALIZAREA: INFORMATIC
STATUTUL: OPIONAL
NR.ORE/SPTMN: 3 (Curs = 1; Laborator = 2)
SEMESTRUL: 6 / anul III de studiu
FORMA DE EXAMINARE: VERIFICARE
CREDITE: 5
INSTRUCTORI: Specialisti Arnia Software [Supervizor local: Conf.Dr. Radu
Gramatovici]
OBIECTIVE:
Cursul i propune s ofere studenilor o introducere n mediul de dezvoltare JavaScript
pentru server-side cu o aprofundare mai detaliat a platformei NodeJS aprut nou n aceasta
direcie.
n cadrul cursului va fi introdus, n prim faz, limbajul JavaScript, concepte de baz i
concept avansate necesare dezvoltrii de aplicaii web att client-side ct i server-side. A doua
parte a cursului se va concetra pe aprofundarea platformei NodeJS urmnd ca la final, accentual
s fie pus pe un framework cum ar fi ExpressJS.
La finalul cursului, studenii vor avea abilitile necesare pentru a putea proiecta i
dezvolta o aplicaie full-stack JavaScript.
PROGRAM:
1.
2.
3.
4.
5.

JavaScript ca limbaj de programare: fundamente, concepte, pattern-uri


Arhitectura aplicaiilor web: concepte, n-tier, DDD (Domain Driven Design),
Concepte de baz NodeJS
Concepte avansate NodeJS
Introducere ExpertJS

BILBIOGRAFIE:
1. Documentatia online: https://nodejs.org/api/
2. Documentatia online: https://github.com/vndmtrx/awesome-nodejs
NOT: Cursul va fi susinut de ctre specialiti din cadrul companiei Arnia Software. Numrul
maxim de studeni participani este de 30.

FISA UNITATII DE CURS


TITLU: PARADIGME DE PROGRAMARE N CLOUD COMPUTING
DOMENIUL DE LICEN: INFORMATIC
SPECIALIZAREA: INFORMATIC, TEHNOLOGIA INFORMAIEI
STATUTUL: optional
NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)
SEMESTRUL: 6 / anul III de studiu
FORMA DE EXAMINARE: Examen
CREDITE: 5
INSTRUCTORI: Conf.Dr. Cristian Kevorchian (Profesor asociat FMI)
OBIECTIVE:
Cloud computing este o modalitate inovatoare de programare i utilizare a calculatoarelor. Se
deschid importante oportuniti tehnologice pentru dezvoltatorii de produse software n sensul c
sunt disponibilizate platforme complexe destinate dezvoltrii de noi tipuri de aplicaii. Contextul
tehnologic generat de cloud computing va aduce n perioada urmtoare schimbari majore n
livrarea soluiilor IT n sensul livrarii acestora ca servicii(IT-as-a-Service). Este important pentru
absolvenii notri de a nelege aceast transformare a IT-ului care se bazeaz pe trei tendine
importante: mobilitate, cloud computing i big data. . Categoriile de aplicaii care opereaz n
cloud i care fac obiectul cursului nostru, aliniate fiind tendinelor menionate anterior sunt:
1. Aplicaiile colaborative
2. Serviciile
3. Procesele de calcul distribuit de dimensiuni mari.
n programa propus ne-am orientat ctre HDInsight, care este un serviciu bazat pe Hadoop i
care se impune ca fiind 100 la sut Apache Hadoop n cloud. Platforma de date se bazeaz pe
cloud i permite gestiunea datelor de orice tip, fie structurate sau nestructurate, precum i de
orice dimensiune. HDInsight permite o exploatare la un nivel de complexitate superior a datelor
furnizate la nivel global.
HDInsight i limbajul funcional F# mpreun cu Hive, Pig i Mahout furnizeaz un complex
computational deschis operaional n cloud. Puterea de analiza a datelor oferit de Hadoop pune
la dispozitia dezvoltatorilor de solutii BI, instrumente extrem de puternice care sa fie utilizate de
viitorii data scientisti, ale cror competene trebuie s mbine cunotine de tehnologia
informaiei, matematic i business.
PROGRAMA:
1)
2)
3)
4)
5)
6)
7)
8)

Interaciunea dintre WCF si Azure Service Bus ca serviciu al AppFabric.


API-uri REST pentru lucrul cu servicii BLOB
Utilizarea serviciului BLOB Storage in C#.
Mutarea datelor in/din serviciile de baze de date din cloud cu JDBC and ODBC.
Incarcarea datelor n SQL Services din Hadoop prin intermediul YARN.
Hadoop i paradigma de programare MapReduce.
Implementarea paradigmei MapReduce cu F# .
Utilizarea serviciului HDInsight(Hadoop n Azure) i F# pentru serializarea/deserializarea
obiectelor. Utilizare Apache AVRO.
9) Lucrul cu partiii Hive. Sesiuni Hive n Azure Power Shell.
10) Utilizarea HDInsight si Apache Mahout n clustering(k-mean clustering, fuzzy k-mean i
spectral clustering - o masina/MapReduce).

11) Utilizare Apache Mahout n machine learning(Latent Dirichlet Allocation-o


masina/MapReduce)
12) Utilizarea HiveQL si HDInside pentru interogarea unor volume mari de date.
13) Utilizarea Pig latin, ca limbaj de scripting si HDInsight n operaii ETL si aplicatii in
business intelligence.
14) Utilizarea bibliotecilor matematice Cloud Numerics n C# i F#.
15) Hadoop-Sharp interfa CLR pentru HADOOP.
BIBLIOGRAFIE:
[1] R. Buyya, J. Broberg, A. Goscinski CLOUD COMPUTING. Principles and Paradigms,
Wiley, Inc., Hoboken, New Jersey, 2011
[2] T.Velte, J. Velte, R. Elsenpeter CLOUD COMPUTING: A Practical Approach, MacGrow
Hill, 2010
[3] Mark C. Chu-Carroll Code in the Cloud - Programming Google AppEngine Raleigh,
North Carolina Dallas, Texas, 2011
[4] Sriram Krishnan Programming Windows Azure Programming OReilly Media, 2010
[5] Scott Densmore, Alex Homer,,Masashi Narumoto, John Sharp, Hanz Zhang Building
Hybrid Applications in the Cloud Microsoft Press, 2012

FISA UNITATII DE CURS


TITLU: PROGRAMARE WEB UTILIZAND LIMBAJUL JAVA JSP
DOMENIUL DE LICEN: INFORMATIC (MATEMATICA)
SPECIALIZAREA: INFORMATIC (MATEMATICA-INFORMATICA)
STATUTUL: optional
NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)
SEMESTRUL: 6 / anul III de studiu
FORMA DE EXAMINARE: Verificare
CREDITE: 5 (3)
INSTRUCTORI: Conf.Dr. Andrei Baranga
PROGRAMA:
I.Java Server Pages (JSP)
I.1 Generaliti
I.2 Elemente de cod JAVA n JSP
I.3 Atribute i metode ale unei clasa obinut din JSP
I.4 Alte directiva JSP
I.5 Tratarea exceptiilor n paginile JSP
I.6 Includerea de fiiere n paginile JSP
I.7 Invocarea applet-urilor din JSP
I.8 Utilizarea claselor de tip Java Bean n JSP
I.9 Tag-uri
I.10 Clasa BodyTagSupport
II. Alte tehnici diverse folosite n programarea Web
II.1 Redirecionarea cererilor ctre alte pagini
II.2 Folosirea formularelor HTML
II.3 Folosirea applet-urilor ca interfete pentru servlei
III. Arhitectura three-tier
III.1 Accesarea bazelor de date utiliznd JDBC
III.2 Principalii pai n lucrul cu JDBC i bazele de date
III.3 Cteva exemple de lucru cu JDBC i bazele de date
III.4 Obiectele de tip PreparedStatement i CallableStatement
III.5 Tehnica de conectare Connection Pool pentru aplicaii Web
BIBLIOGRAFIE:
[1] Athanasiu, Irina; Costinescu, Bogdan; Drgo, Octavian Andrei; Popovici, Florentina Irina;
Gaburici, Vasile, Limbajul Java - O Perspectiv pragmatic Agora, 2000
[2] Baranga A.,Programare Web Utilizand JAVA, Editura Albastra, Cluj-Napoca, 2007
[3] Hall, Marty, Core Servlets and JavaServer Pages (JSP), Prentice Hall PTR, 2000

FISA UNITATII DE CURS


TITLU: TEHNICI DE PROGRAMARE A APLICATIILOR GRAFICE
DOMENIUL DE LICEN: INFORMATIC (MATEMATICA)
SPECIALIZAREA: INFORMATIC (MATEMATICA-INFORMATICA)
STATUTUL: optional
NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)
SEMESTRUL: 6 / anul III de studiu
FORMA DE EXAMINARE: Verificare
CREDITE: 5 (3)
INSTRUCTORI: Lect.Dr. Sorin Stupariu
OBIECTIVE:
Grafica pe calculator este omniprezenta, avand aplicatii in domenii variate, cum ar fi medicina,
ingineria asistata de calculator, dezvoltarea jocurilor, realizarea filmelor, etc. Pentru a obtine
efecte cat mai realiste, este utilizata o gama extrem de variata de tehnici si metode. Obiectivul
cursului este de a prezenta cateva tehnici fundamentale de programare grafica, atat la nivelul
graficii bidimensionale de tip raster, cat si la nivelul modelarii geometrice 3D. Expunerea
fundamentelor teoretice ale acestor metode de lucru este insotita de prezentarea si utilizarea unor
aplicatii software dedicate. Cursul va fi completat de un laborator, unde vor fi realizate proiecte
care sa ilustreze conceptele si rezultatele expuse si care vor reprezenta componenta principala a
verificarii semestriale.
PROGRAMA:
[1] Procesarea imaginilor. Utilizarea unui editor de grafica rasteriala (GIMP - GNU Image
Manipulation Program).
[2] Convolutie si aplicatii: efecte vizuale, detectarea contururilor, compresia imaginilor.
[3] Modelare 3D in grafica principii generale.
[4] Retele poligonale (polygon meshes) si modelarea obiectelor in context 3D. Formate
specifice. Utilizarea unui mediu de modelare 3D (Blender) pentru scene si animatii
tridimensionale.
[5] Metodele Ray Casting si Ray Tracing.
[6] Simularea unor modele fizice. Sisteme de particule in grafica pe calculator.
BIBLIOGRAFIE:
[1] J. Hughes, A. van Dam, M. McGuire, D. Sklar, J. Foley, S. Feiner, K. Akeley, Computer
Graphics: Principles and Practice (3rd edition), Addison Wesley, 2013.
[2] P. Schneider, D. Eberly, Geometric Tools for Computer Graphics, Morgan Kaufmann,
2003.
[3] P. Shirley, M. Ashikhmin, M. Gleicher, S. Marschner, E. Reinhard, K. Sung, W.
Thompson, P. Willemsen, Fundamentals of Computer Graphics (3rd edition), AK Peters,
Wellesley, 2009.
[4] A. Watt, M. Watt, Advanced Animation and Rendering Techniques: Theory and Practice,
Addison-Wesley, 1992.

FISA UNITATII DE CURS


TITLU: TESTARE SISTEMELOR SOFTWARE
DOMENIUL DE LICEN: INFORMATIC (MATEMATICA)
SPECIALIZAREA: INFORMATIC (MATEMATICA-INFORMATICA)
STATUTUL: optional
NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)
SEMESTRUL: 6 / anul III de studiu
FORMA DE EXAMINARE: Verificare
CREDITE: 5 (3)
INSTRUCTORI: Prof.Dr. Florntin Ipate
OBIECTIVE:
Cursul prezinta principalele tehnici si metode de testare a sistemelor software. Sunt prezentate
atat metodele ingineresti de larga utillizare practica, cat si metode teoretice si/sau care fac
obiectul cercetarilor recente.
PROGRAMA:
1. Testarea sistemelor software: probematica; testare vs verificare formala; tehnici de generare
de date de test; unit testing; JUnit.
2. Metode de testare functionala (black-box): partitionarea n clase de echivalenta, analiza
valorilor de frontiera; metoda partitionarii in categorii, testarea folosind analiza cauza-efect.
3. Metode de testare structurala (white-box): acoperiri la nivel de instructiune, ramura,
conditie/decizie, conditii multiple, etc.; complexitatea ciclomatica (McCabe), generarea de
circuite liniar independente; strategii de generare de date de test la nivel de cale; utilitare de
code coverage.
4. Testarea bazata pe mutatie (mutation testing): weak mutation, strong mutation; operatori
de mutatie; utilizarea mutantilor pentru evaluarea seturilor de test; utilitarul MuJava.
5. Generarea datelor de test folosind metode de cautare metaeuristice: metode de cautare
locale si metode globale; folosirea metodelor metaeuristice in testarea structurala si testarea
functionala.
6. Metode de testare bazate pe formalisme cu stari: metodele W, Wp(W partial), UIO
(unique input/output), DS (distinguishing sequence) pentru masini cu stari finite; testare
bazata pe formalisme extinse cu stari (extended finite state machines).
7. Testare si analiza pe baza modelului: proprietati de safety si liveness, invarianti, stari
acceptoare, stari moarte; explorarea scenariilor folosind compunere de automate; tehnici de
reducere a modelului (pruning techniques); exemplificare folosind utilitarul NModel.
BIBLIOGRAFIE:
1.
2.
3.
4.

MuJava home page: http://cs.gmu.edu/~offutt/mujava


MuClipse home page http://muclipse.sourceforge.net/
NModel home page http://nmodel.codeplex.com/
M. Holcombe, F. Ipate: Correct Systems: building business process solutions, Springer
Verlag, 1998.
5. F. Ipate: Testare functionala; Testare structurala; Mutation testing; Search based testing note
de curs.
6. J. Jacky, M. Veanes, C. Campbell, W. Schulte. Model-based Software Testing and Analysis
with C#. Cambridge University Press, 2008.

7. R. Lefticaru, F. Ipate: Automatic State-Based Test Generation Using Genetic Algorithms.


SYNASC 2007, 188-195, 2007.
8. A. Mathur: Foundations of Software Testing, Addison-Wesley Professional, 2007.
9. P. McMinn. Search-based software test data generation: a survey. Softw. Test., Verif. Reliab.,
14(2):105156, 2004.
10. M. Roper: Software Testing, McGraw-Hill, 1994