Sunteți pe pagina 1din 26

Subiecte pentru lucrarea de licen - 2014

Specializarea: Infomatic (romn i englez)/Informatic Aplicat


Coordonator: Prof. dr. Dana Petcu (petcu@info.uvt.ro)
Nr

Tema

Detalii

Managementul sistemelor
de fisiere distribuite in
Cloud

Partea aplicativa: Hadoop On Demand: Aplicaie de


management a sistemului Hadoop n cadrul
sistemelor de planificare de tip Batch clasice
(Condor, LoadLeveler, SLURM, PBS). Aplicaia ar
urma s permit utilizatorilor s creeze, controleze
i distrug instane ale Apache Hadoop
Tehnologii: Hadoop, IBM Tivoli, LoadLeveler, bash,
python

Indexarea datelor
geografice

Partea aplicativa: GIS Data Catalog:


Aplicaie/Server de indexare a datelor geografice
(imagini satelitare, dem-uri, fotograme, LIDAR)
georefereniate.
Tehnologii: GDAL, Apache JackRabbit, Apache Solr,
Maven, Apache CXF, ORM (EclipseLink), Postgresql
i PostGIS sau o baza de date NoSQL cu faciliti de
indexare spaial.

Servicii Cloud de partajare Partea aplicativa: Serviciu de partajare a fisierelor


a fisierelor
bazat cu nivele de confidentialitate.
Descriere la
http://wiki.volution.ro/CiprianDorinCraciun/Notes/Id
eas/WebFileSharing

Sisteme de indexare
bazate pe map-reduce

Partea aplicativa: implementarea unei biblioteci


care mentine un index bazat pe conceptul mapreduce. Descriere la
http://wiki.volution.ro/CiprianDorinCraciun/Notes/Id
eas/MapReduceIndex

Obs

Coordonator: Prof. dr. Daniela Zaharie (dzaharie@info.uvt.ro)


Nr

Tema

Detalii

Euristici si metaeuristici
pentru planificarea rutelor
vehiculelor/ Heuristics and
Metaheuristics for Vehicle
Routing Planning

Problema: O firm de transport, care are mai multe


vehicule,
trebuie s asigure aprovizionarea mai
multor clieni cu produse aflate la unul sau mai
multe depozite. Se dorete stabilire rutelor tuturor
vehiculelor astfel nct s fie satisfcute cerinele
clienilor i minimizate costurile.
Scop lucrare: Studiul caracteristicilor problemelor
de rutare i a metodelor heuristice i metaeuristice
folosite i implementarea unei aplicaii care s
colecteze cererile de la clieni i s genereze
variante de rute.
Cunotine: programare, algoritmi i structuri de
date.
Instrument: C++/Java/Python/la alegere

Euristici si metaeuristici
pentru rezolvarea
problemelor de
mpachetare/ Heuristics
and Metaheuristics for Bin
Packing

Problema: Introducerea unor obiecte n ct mai


puine cutii, acoperirea ct mai bun a unor
suprafee cu plci de dimensiuni/forme geometrice
diferite sau introducerea ct mai eficient a unor
containere ntr-un vehicul sunt diferite variante de
probleme de mpachetare.
Scop lucrare: (i)Analiza mai multor variante de
probleme de impachetare (de la 1D la 3D) i a
implementrilor existente. (ii) Realizarea unei
aplicaii pentru rezolvarea problemei n cazul 2D
care s permit i vizualizarea plasrii obiectelor.
Cunotine: programare, algoritmi i structuri de
date, noiuni de geometrie computaional.
Instrument: C++/Java/Python/la alegere

Implementarea eficient a
algoritmilor de aliniere/
Efficient Implementation
of Alignment Algorithms

Problema: Algoritmii de aliniere reprezint un


element central n stabilirea similaritii ntre
secvene de simboluri (de exemplu secvene ADN).
Majoritatea algoritmilor de aliniere se bazeaz pe
tehnica programrii dinamice (de exemplu
algoritmul Needleman-Wunsch) iar n varianta
simpl de implementare ordinul de complexitate
pentru alinierea unei secvene de m simboluri cu o
secven de n simboluri este O(mn) att ca timp
ct i ca spaiu. Se pune problema implementrii
ct mai eficiente a acestor algoritmi (exist
algoritmi pentru care spaiul de memorie necesar
este O(min{m,n}) algoritmul Hirschberg).
Scop lucrare: Implementarea i studiul comparativ
al mai multor variante de algoritmi de aliniere.
Cunotine: programare, algoritmi i structuri de

Obs

date, noiuni elementare de bionformatic.


Instrument: C++/Java/Python/la alegere

Extragerea regulilor de
asociere/ Association
Rules Mining

Problema: Avnd la dispoziie o baz de date cu


tranzacii (o tranzacie poate conine lista
produselor cumprate de ctre un client) se pune
problema dac exist produse care sunt frecvent
cumprate simultan (frequent itemsets).
Scop lucrare: Implementarea i studiul comparativ
al mai multor variante de algoritmi de extragere a
regulilor de asociere (minimal: dou variante ale
algoritmului Apriori).
Cunotine: programare, algoritmi i structuri de
date, baze de date, noiuni elementare de data
mining.
Instrument: C++/Java/Python/la alegere

Tehnici de prelucrare a
imaginilor pentru
monitorizarea culturilor de
celule stem/ Image
Processing for Monitoring
Stem Cells Cultures

Problema: Pe imaginile microscopice ale plcilor de


cultur pot fi vizualizate diferite tipuri de celule.
Intereseaz n mod particular distribuia spaial a
acestor tipuri de celule i evoluia acesteia.
Scop lucrare: Identificarea, implementarea i
analiza unor algoritmi de prelucrare a imaginilor
care s permit extragerea distribuiei spaiale a
celulelor
Cunotine: programare, algoritmi i structuri de
date, prelucrarea imaginilor
Instrument: C++/Java/Python/la alegere +
biblioteci pentru prelucrarea

Motor de cutare n
domeniul academic/
Romanian Academic
Search Engine

Descriere: Aplicaie bazat pe Apache Nutch si Solr Colab.


dedicat pentru cutarea informaiilor
M.
academice/tiinifice pe internetul romanesc.
Neagul
Aplicaia trebuie s indexeze coninutul academic
oferind posibilitatea cutrii dup cuvinte cheie,
documente asemntoare, etc.
Tehnologii: Apache Nutch, Solr, Hadoop, Java, GWT,
jQuery, Maven

Coordonator: Conf. dr. Victoria Iordan (iordan@info.uvt.ro)


Nr

Tema

Detalii

Obs

Criptografia i securitatea Prezentare, descriere, comparaii algoritmi criptare.


reelelor de calculatoare
Implementare de algoritmi de criptare in Java.

Criptosisteme
cu
chei Prezentare, descriere, comparaii algoritmi criptare.
publice Aplicatii Java.
Implementare de algoritmi de criptare in Java.

Tehnici de optimizare a SEO sau Optimizare site. Studiu de caz.


paginilor Web

Tehnologii web utilizate n Programare Web


realizarea de aplicaii de MySQL/Oracle
comer electronic

Utilizarea tehnologiei
Servlet in generarea
dinamica a paginilor Web

Crearea i publicarea unei Programare Web, PHP, MySQL , Java Script


pagini pe Internet

Dezvoltarea
aplicatiilor Realizarea unei pagini Web dinamice
WEB folosind XHTML, PHP XHTML, PHP, MySQl
si MySQL

Programarea
folosind Java

Tehnologii XML utilizate in Realizarea unui site Web folosind tehnologii XML
dezvoltarea de aplicaii

10

Apelarea metodelor la Implementarea mecanismului RMI (Remote Method


distan
folosind Invocation) n realizarea unei aplicaii
mecanismul Java - RMI

11

Crearea
de
aplicaii Descrierea mecanismului prin care pot fi create
distribuite n Java
aplicatii distribuite in Java. Realizarea unei
implementari.
Java, RMI, algoritmi distribuiti

12

Dezvoltarea aplicatiilor de Aplicatie de tip client-server


gestiune
folosind Php, XHtml, CSS, Java Script, BD
tehnologii web

si

baze

de

date,

PHP,

JSP, Legatura intre HTML si JSP, Java Script

reea Utilizarea socketurilor n realizarea unei aplicaii de


tip client-server

Coordonator: Conf. dr. Teodor-Florin Forti (fortis@info.uvt.ro)


Nr

Tema

Detalii

Implementarea serviciilor
WEB (SOAP) folosind
Java/PHP/C
(Methods for
implementing Web
Services using Java)

Serviciile WEB sunt componenta centrala a


dezvoltarii WEB 2.0. Scopul lucrarii este de a
prezenta principii de baza pentru dezvoltarea de
aplicatii WS-*, demonstrarea acestor principii
realizandu-se prin intermediul unor framework-uri
bazate pe Java: CXF, Ajax; C: gSOAP, WSO2; PHP:
WSO2, PHP-SOAP, nuSOAP.

2-4

Dezvoltarea aplicaiilor
Web folosind HTML5

HTML5 ofer o mbuntire substanial limbajului


standard HTML, i un suport pentru multimedia i
dispozitive multiple. Construit peste HTML4,
XHTML1 si DOM Level 2, acesta ofer suportul
necesar pentru dezvoltarea de aplicaii complexe.
Subtemele vizate includ urmtoarele:
1. Utilizarea elementelor Canvas i suportul
SVG pentru manipularea imaginilor.
2. HTML5 web workers (background scripts in
aplicaii web -- JavaScript). Prin web
workers, aplicaiile HTML5 ofer suportul
pentru rezolvarea de sarcini multiple, fr a
afecta performana paginii de baz.
Aplicaiile web workers vizate vor fi gndite
n relaie cu server-sent events.
3. Coninut Audio i Video n HTML5.
Adugarea de coninut audio i video, dar i
exploatarea acestora este facilitat de
adoptarea noului standard.
4. Evenimente
HTML5
pentru
interfee
inteligente.
Prin
evenimentele
nou
introduse, documentelor HTML le sunt
oferite noi posibiliti de dezvoltare a
interfeelor utilizator. Exploatarea acestor
evenimente este avut n vedere. Facilitile
drag-and-drop
vor
fi
de
asemenea
considerate.

5-6

Biblioteci Ajax pentru


dezvoltarea aplicaiilor
web

Dezvoltarea aplicatiilor AJAX integrarea dintre


XML si JavaScript, intr-o maniera asincrona este
posibila prin implementarea unor biblioteci JavaScript specifice: jQUERY, prototyps-js, sau utilizarea
pura, bazata pe xmlhttprequest.
Dou teme centrale sunt vizate:
1. Dezvoltarea aplicaiilor folosind jQuery
2. Dezvoltarea aplicaiilor folosind prototypejsx

Dezvoltarea aplicaiilor

Prin stilul arhitectural REST, o serie de constrnge-

Obs

REST

ri i principii sunt puse la baza dezvoltrii aplicaiilor moderne. Aceast tem este orientat spre
prezentarea i exemplificarea constrngerilor, principiilor REST, n relaie cu modelarea resurselor. Diferite framework-uri pot fi considerate pentru dezvoltarea de aplicaii REST.

8-9

Aplicatii web distribuite


folosind Scala

Dezvoltarea de aplicatii web puternic distribuite in


Scala este posibila prin utilizarea facilitatilor
oferite de limbaj si prin utilizarea unor
frameworkuri care exploateaza aceste facilitati:
Play! framework, LiftWeb framework sau Scalatra
micro framework.

10

Biblioteci matematice
Scala

Proiecte cum ar fi ScalaSci (Scalala, Scalalab, Breeze) sau ScalaTion ofera frameworkuri pentru dezvoltarea de aplicatii stiintifice peste biblioteci deja
existente (NUMAL, blas, etc.), incercand sa exploateze facilitatile specifice Scala sau bibliotecilor inrudite (Akka). Scopul acestui subiect este
imbogatirea bibliotecilor de metode numerice
dedicate ODE IVP din ScalaTion si/sau ScalaSci si
dezvoltarea unui DSL specific.

Coordonator: Conf. dr. Gabriel Istrate (gistrate@info.uvt.ro)

Nr

Tema

Detalii

Analiza dinamicii sociale in Se vor analiza fluxuri de date provenite de pe


reteaua Twitter
Twitter folosind python/JSON, precum si metode de
analiza datelor.

Metode de clustering
pentru retele sociale

Se vor implementa si analiza experimental metode


de clustering pentru noduri in retele sociale.
Presupune implementarea unor algoritmi in C+
+/python/go, precum si analiza datelor rezultate.

Algoritmi pentru retele


sociale folosind tehnologii
cloud

Se vor implementa si evalua algoritmi pentru


analiza retelelor sociale folosind implementari
bazate pe python+Mapreduce.

Analiza experimentala a
unor algoritmi de
aproximare pentru
problema acoperirii
varfurilor.

Se vor implementa si evalua experimental


performanta unor algoritmi de aproximare pentru
problema acoperirii varfurilor. Presupune
implementarea unor algoritmi in C++/python/go,
precum si analiza datelor rezultate.

Analiza experimentala a
unor fenomene critice in
probleme de optimizare
combinatoriala.

Se vor implementa algoritmi de tip Davis-Putnam


pentru variante ale problemei satisfiabilitatii
propozitionale. Presupune implementarea unor
algoritmi in go/C++/python, precum si analiza
datelor rezultate.

Structura de date de tip


skip graph.

Se va implementa si evalua experimental


structura de date de tip skip graph.
Implementarea poate avea loc in orie limbaj de tip
python/C++/go.

Simulari privind dinamica


balantei sociale in retele
sociale reale.

Se vor implementa si simula mai multe variante


ale dinamicii balantei sociale. Evaluarea
comportamentului dinamicilor se va face pe o
combinatie de retele sociale sintetice si unele
retele reale (slashdot, epinions, wikipedia)
Presupune implementarea unor algoritmi in C++,
python sau go, precum si analiza datelor rezultate.

Algoritmi si benchmark-uri
pentru problema
satisfiabilitatii
propozitionale.

Se vor implementa, evalua si compara algoritmi


pentru problema satisfiabilitatii propopzitionale.
Presupune implementari de algoritmi in C+
+,python sau go, precum si analiza datelor
experimentale rezultate.

Algoritmi si experimente
pentru probleme de
acoperire a varfurilor cu
obiective de tip entropie
minima.

Se vor implementa si evalua experimental


algoritmi de tip greedy si primal dual pentru
probleme de acoperire (set cover), in care functia
obiectiv este de tip entropie minima.

Obs

10

Solutii si implementari ale


unor modele
computationale de
comportament strategic in
retele sociale.

Se vor prezenta si implementa unele modele


strategice (bazate pe teoria jocurilor) avand loc in
retele sociale. Presupune implementari de
algoritmi in C++,python sau go, precum si analiza
datelor experimentale rezultate.

11

Algoritmi probabilisti.
Metode si implementari.

Presupune intelegerea materialului teoretic privind


unii algoritmi probabilisti (bazati pe literatura pusa
la dispozitie) si experimente privind performanta
lor in practica.

Coordonator: Conf. dr. Cristina Mindruta (cmindruta@info.uvt.ro)

Nr
1

Tema
Asistent software pentru
prototiparea intefeelor
aplicaiilor pentru
dispozitive mobile.

Detalii
Aplicaiile pentru dispozitive mobile sunt aplicaii
puternic interactive. Interfeele dispozitivelor
mobile, n comparaie cu interfeele desktop i
laptop, impun restricii de dimensiune a ecranului i
ofer extensii ale metodelor de preluare a datelor de
intrare.
Se va dezvolta un instrument software suport pentru
prototiparea interfeelor grafice ale aplicaiilor
adaptat la specificul acestora.

Implementare hibrid a
aplicaiilor pentru
dispozitive mobile. Studiu
de caz.

Se va dezvolta o aplicaie pentru dispozitive mobile.


Aceasta va avea o implementare hibrid n sensul c
va conine att module n tehnologie Web ct i de
module n cod nativ pentru acces la funcii specifice.

Cadru de extindere a GUI


cu tehnici simple de
evaluare.

Testarea utilizabilitii unui sistem software include


urmrirea utilizrii aplicaiei n contextul su de
operare. Se va dezvolta un cadru software care s
permit extinderea interfeelor utilizator ale
diferitelor aplicaii. Se va urmri extinderea codului
cu operaii de colectare de informaii referitoare la
utilizarea facilitilor i la erorile utilizatorului.
De asemenea, se va permite adugarea de cod
care s colecteze feedback on-line de la utilizator.

Limbajul Scala. Studiu de


caz.

Studiul unui nou limbaj de programare, Scala.


Identificarea i ilustrarea cu ajutorul unei aplicaii a
unor caracteristici specifice acestuia n raport cu
Java.

Asistent software pentru


realizarea analizei de
robustee.

Se va dezvolta un instrument software suport pentru


realizarea analizei de robustee. Instrumentul va
permite introducerea detaliilor (textului) cazului de
utilizare i a claselor din diagrama claselor de
domeniu. Pe baza acestor informaii va sprijini
construirea diagramei de robustee. Va actualiza
automat textul cazului de utilizare i diagrama
claselor de domeniu conform noilor elemente
aprute n diagrama de robustee. Va oferi i
posibilitatea de a exporta textul cazului de utilizare
i diagrama de clase modificat.

Cadru generic pentru


alocarea unei resurse.

Se va dezvolta un software reutilizabil, din categoria


cadru (framework) pentru aplicaii, ce s permit

Obs

dezvoltarea de aplicaii pentru gestionarea alocrii


unei resurse pe baza unui algoritm specific fiecrei
aplicaii.

Asistent software pentru


Se va dezvolta un instrument software suport pentru
organizarea documentaiei procesul de realizare a documentaiei unei aplicaii
aplicaiilor software.
software. Instrumentul va dirija procesul de
ntocmire a documentaiei aplicaiei software pe
parcursul ntregului proces de dezvoltare de
software. De asemenea, va oferi o colecie de
abloane pentru documentele ce trebuie elaborate
i posibilitatea de a importa documente realizate cu
alte instrumente.

Asistent software pentru


instruire i antrenare.

Se va dezvolta un instrument software ce va


prezenta un set de cunotine fundamentale i
metode de rezolvare caracteristice unui subiect ales
i va oferi un simulator pentru antrenare n
rezolvarea de probleme specifice subiectului
respectiv.

Coordonator: Lect.dr. Adriana Popovici (apopovic@info.uvt.ro)

Nr
crt

Titlu

Descriere

1.

Procesorul Creierul
calculatorului
(The Processor the
Computer Brain)

Definirea procesorului, precizarea elementelor


componente. Evolutia in timp a procesoarelor. Liderii
producatorilor
de
procesoare.
Caracteristici.
Comparatii. Principii de functionare. Realizarea unui
soft pentru testarea unui procesor.

2.

Memoria unui sistem de


calcul
(Computer Memory)

O scurta descriere a evolutiei in timp. Definitii,


caracteristici ale memoriei. Clasificari. Firme
producatoare. Compatibilitate. Testarea memoriei
unui sistem de calcul.

3.

Dispozitivele periferice ale


unui sistem de calcul
(Computer External
Devices)

Definirea si precizarea rolului acestora. Clasificarea


dispozitivelor tinand cont de diverse criterii. Tipuri.
Descrierea functionalitatii acestora. Realizarea unei
aplicatii pentru testarea functionalitatii unui
dispozitiv periferic.

4.

Magistralele unui sistem


de calcul
(Computer Buses)

Definirea conceptului. Rolul magistralelor in cadrul


unui sistem de calcul. Elementele definitorii ale unei
magistrale. Tipuri de magistrale si descrierea
acestora.

5.

Interfete de intrare-iesire
(I/O Interfaces)

Definirea interfetelor de intrare-iesire. Rolul acestora


si elementele componente. Clasificare. Descrierea
modului de functionare in functie de tipul de
transfer
adoptat.
Protocol
de
comunicatie.
Proiectarea unei interfete de intrare-iesire. Testare.

6.

Programare n limbaj de
asamblare
(Assembling Languages)

Descrierea unui limbaj de asamblare. Avantajele si


dezavantajele programrii n limbaj de asamblare.
Realizarea unei aplicatii care s ilustreze utilitatea
programrii n limbaj de asamblare

7.

Dispozitive multimedia
(Multimedia Devices)

Definire. Precizarea rolului dispozitivelor multimedia.


Tipuri si descrierea functionalitatii acestora. Mari
firme producatoare.

8.

Placa de baza coloana


vertebrala a unui sistem
de calcul
(Mainboard the
Computer Backbone)

Definitie. Principalele elemente componente si


descrierea acestora. Compatibilitate cu celelalte
componente ale sistemului de calcul. Mari firme
producatoare. Montare. Detectarea defectelor.

9.

Hard-discul unui calculator Definire. Precizarea rolului sau in cadrul sistemului


(Hard-disks)
de calcul. Elemente componente. Descrierea
functionalitatii. Mari firme producatoare. Detectarea
defectelor. Metode de recuperare a informatiilor.

Obs

Coordonator: Lect. dr. Adrian Craciun (acraciun@info.uvt.ro)


Nr
1

Tema
Computing Groebner
Bases

Detalii

Obs

The method of Groebner bases is an algorithmic


method in multivariate polynomial rings,
introduced by Bruno Buchberger in 1965. It has
numerous applications in polynomial ideal
problems (ideal membership, ideal inclusion),
solving systems of polynomial equations, etc.
Groebner bases proved useful in many domains:
algebraic geometry, functional analysis, coding
theory, cryptography, program verification,
symbolic summation, theorem proving,
combinatorics, graph theory. The algorithm is
implemented in many computer algebra
systems (Mathematica, Maple, CoCoA,
Macaulay, Singular, etc.).

Licent
a,
dizerta
tie

The purpose of this thesis is the implementation


of an algorithm for computing Groebner bases.
Previous knowledge: logic, mathematical
thinking, algebra, programming (C++, C, or
related).
2

Applications of Groebner The method of Groebner bases is an algorithmic


Bases
method in multivariate polynomial rings,
introduced by Bruno Buchberger in 1965. It has
numerous applications in polynomial ideal
problems (ideal membership, ideal inclusion),
solving systems
of polynomial equations, etc. Groebner bases
proved useful in many domains: algebraic
geometry, functional analysis, coding theory,
cryptography, program verification, symbolic
summation, theorem proving, combinatorics,
graph theory. The algorithm is implemented in
many computer algebra systems (Mathematica,
Maple, CoCoA, Macaulay, Singular, etc.).
The purpose of this thesis is to explore possible
applications of Groebner bases (theorem
proving in geometry, solving systems of
equations, etc.).
Previous knowledge: logic, mathematical

Licent
a,
dizerta
tie

thinking, algebra, computer algebra systems,


programming (C++, C, or Mathematica, Maple,
etc).

Logical Frameworks

Licent
A logical framework is a formal meta-language a,
for deductive systems. The primary tasks
dizerta
supported in logical frameworks to varying
tie
degrees are
* specification of deductive systems,
* search for derivations within deductive
systems,
* meta-programming of algorithms pertaining to
deductive systems,
* proving meta-theorems about deductive
systems.
The purpose of thesis is the study of the
formalism and its applications.

Higher Order Unification


and Matching
Higher-order unification is the problem: given an
equation t = u containing free variables, is there
a solution substitution \sigma such that
t\sigma and u\sigma have the same normal
form? The terms are drawn from the simply
typed lambda calculus. Higher order matching is
the particular instance: when the term u is
closed, can t be pattern matched to u? Although
higher-order unification is undecidable (even if
free variables are only second-order), higherorder matching was conjectured to be decidable
by Huet.

Licent
a,
dizerta
tie

The aim of this thesis is to study the theoretical


foundations and to implement higher order
unification/matching, and apply the
implementation in relevant examples.
5

Visualization methods
for large libraries of
mathematical
knowledge

There are several formalize mathematical


knowledge bases available (e.g. the Mizar
library, HELM). There are many computersupported systems for doing mathematics. Yet
these had little impact the way mathematicians
work. This has partly to do with the fact that

Licent
a,
dizerta
tie

these systems are hard to use. The aim of this


thesis is to investigate techniques to make large
knowledge bases of mathematics easier to
navigate: define and implement (visual) tools to
navigate/explore such knowledge bases.

Abstract State Machines The Abstract State Machine (ASM) Project


and Applications (1-2
(formerly known as the Evolving Algebras
theses)
Project) was started by Yuri Gurevich as an
attempt to bridge the gap between formal
models of computation and practical
specification methods.

Licent
a,
dizerta
tie

The ASM thesis is that any algorithm can be


modeled at its natural abstraction level by an
appropriate ASM. Based upon this thesis,
members of the ASM community have sought to
develop a methodology based upon
mathematics which would allow algorithms to
be modeled naturally; that is, described at their
natural abstraction levels.
The purpose of this thesis is to investigate and
use in practical examples the concept of ASMs.
7

K-framework and its


K is a rewrite-based executable semantic
applications (1-2 theses) framework in which programming languages,
type systems and formal analysis tools can be
defined using configurations, computations and
rules. Configurations organize the state in units
called cells, which are labeled and can be
nested. Computations carry computational
meaning as special nested list structures
sequentializing computational tasks, such as
fragments of program. Computations extend the
original language abstract syntax. K (rewrite)
rules make it explicit which parts of the term
they read-only, write-only, read-write, or do not
care about. This makes K suitable for defining
truly concurrent languages even in the presence
of sharing. Computations are like any other

Licent
a,
dizerta
tie

terms in a rewriting environment: they can be


matched, moved from one place to another,
modified, or deleted. This makes K suitable for
defining control-intensive features such as
abrupt termination, exceptions or call/cc.
The purpose of this thesis is to investigate and
use in practical examples the concepts from K.
8

Automated design and


optimisation of digital
circuits

Propositional logic can be used to design and


optimise digital circuits. The purpose of this
thesis is to study and implement methods for
the design, optimisation, visualisation of digital
circuits.

Licent
a

Topics proposed by
students

I will also accept to supervise topics proposed


by students, provided that I'm in position to do
so, i.e. topics covered are logic, logic
programming, constraint solving, theorem
proving, computer algebra.

Licent
a,
dizerta
tie

Coordonator: Lect. dr. Stelian Mihala (smihalas@info.uvt.ro)


Nr

Tema

Detalii

The implementation of
an algorithm for the
convex drawing of a
planar graph.

Given a 3-connected planar graph, generate a


graphml file which describes a convex drawing
of the graph. Languages: C/Java/C++,
Mathematica

Planar triangulations
generation and the
normalized form of their
chromatic polynomials

The program will generate (randomly or in a


predefined way) planar triangulations and will
compute their normalized chromatic polynomial.
Languages: C/Java

Implementarea unei
publicaii tiinifice
electronice utiliznd
infrastructura Open
Journal System

Scopul acestei lucrri este definirea i


implementarea unui ablon pentru o publicaie
tiinific electronic bazat pe infrastructura
oferit de Open Journal System.
Instrumente: php, html, css, mysql

Personal web site


implemented in HTML5

Create a personal web site using the novelties in


HTML5

Personal computers and The goal of this paper is to investigate free


free cloud services
cloud services and recommend an optimal
solution for storage and distribution of the
personal resources.

Obs

Ternary representations
and operations on
rooted trees

Ternary representations of trees are succinct


representations of rooted trees allowing efficient
operations on trees. The goal of the application
is to convert classical tree representations into
ternary representations and to implement basic
operations on trees.

Java implementation of
the Digital Signature
Standard

End to end implementation of DSS using the


Java programming language.

Efficient implementation Implement an AES tool using a C++ user


of the Advanced
interface and an assembler implementation of
Encryption Standard
the algorithm.
using C++ and
Assembler

Coordonator: Lect. dr. Mircea Marin (mmarin@info.uvt.ro)


Nr

Tema

Detalii

Rezolvarea sistemelor de E-unificarea (rezolvarea automata a ecuatiilor in o


ecuatii in teorii descrise cu teorie ecuationala E) este o tehnica fundamentala in
sisteme de rescriere
rationamentul automatizat. Un caz special frecvent
intalnit este cel in care E este un sistem confluent de
reguli de rescriere. In acest caz poate fi folosita
metoda de lazy narrowing pentru a afla toate
solutiile sistemului de ecuatii.
Aceasta lucrare va consta din:
1) Descrierea si implementarea metodei de lazy
narrowing pentru rezolvarea sistemelor de ecuatii in
teorii descrise cu sisteme confluente de rescriere.
2) Studiul proprietilor metodei de calcul, precum
corectitudine (sunt corecte toate raspunsurile
calculate?) si completitudine (se calculeaza toate
solutiile?)
3) Aplicatii, exemple.

Metode de demonstrare a
terminarii sistemelor de
rescriere

Sistemele de rescriere sunt multimi de reguli de


forma l->r care induc o relatie de transformare a
obiectelor, bazata pe inlocuirea partilor care sunt
instante ale lui l cu instante ale lui r.
Acest proces de rescriere este folosit frecvent in
informatica, de pilda pentru evaluarea expresiilor in
programarea functionala, calculul simbolic, s.a.m.d.
In aceste cazuri, este de dorit sa se verifice ca
procesul de rescriere se termina.
Aceasta lucrare va consta din:
1) O prezentare a metodelor actuale de verificare
automata a terminarii
2) Implementari ale catorva metode de verificare a
terminarii
3) Exemple ilustrative care sa evidentieze
capabilitatile si limitarile acestor metode.

Aplicatii ale sistemelor


multiagent pentru
rezolvarea distribuita
cooperativa a problemelor

Rezolvarea distribuita cooperativa a problemelor


consta din 3 etape: (1) descompunerea problemei in
subprobleme; (2) rezolvarea ubproblemelor de catre
agenti individuali; (3) sinteza solutiilor problemei
initiale din solutiile subproblemelor.
Lucrarea va trebui sa contina:
(1) o descriere a unei arhitecturi multiagent pentru
rezolvarea distribuita cooperativa a problemelor;
(2) Descrierea unei aplicatii: testare si evaluare
Deprinderi: Inteligenta artificiala, sisteme multiagent
Instrumente: Java, Jade

Obs

Geometrie
Traducerea problemelor geometrice in descrieri
computationala.
algebrice (ecuatii si/sau inecuatii liniare) care
Demonstrarea automata a descriu proprietatile obiectelor geometrice in plan
teoremelor geometrice.
sau spatiu, permite demonstrarea lor cu ajutorul
metodelor de calcul simbolic. Exemple tipice sunt
metoda Bazelor Groebner, metoda lui Wu, si
Descompunerea Algebrica Cilindrica, care opereaza
cu descrieri polinomiale ale obiectelor geometrice.
Scopul acestei lucrari este descrierea si
implementarea unui sistem de demonstrare
automata a teoremelor.
Lucrarea va trebui sa contina:
(1) o descriere a arhitecturii generale sistemului;
(2) un translator al unei probleme descrise
geometric (egalitate de segmente, apartenenta unui
punct la o dreapta, etc.) in descrieri polinomiale; (3)
apelul unei metode algebrice de decizie (de ex.,
baze Groebner) pentru demonstrarea algebrica a
problemei. (Implementari eficiente ale metodelor
algebrice exista in majoritatea sistemelor de calcul
simbolic: Maple, Mathematica, etc.)
(4) Interpretarea geometrica a rezultatului obtinut.
(5) Exemple ilustrative
Prerequisites: basic knowledge of analytic geometry
(how to express geometric properties with equations
in the Cartesian space), get acquainted with using a
computer lgebra system (e.g., Maple or
Mathematica)

Suffix trees and their uses A suffix tree is a data structure describing the
internal structure of a string in a manner that
enables to solve efficiently several string related
problems: exact string matching, the substring
problem for a database of patterns, finding the
longest common substring of two or more strings,
recognizing DNA contamination, etc.
The purpose of this work is to:
(1) Make an overview of the well-known linear-time
construction algorithms of suffix trees (Ukkonen,
Werner, McCreight)
(2) Describe some applications: testing and
evaluation

Classical comparisonbased methods for exact


string matching

The exact matching problem can be stated as


follows: Given a string P called the pattern and
longer string T called the text, find all occurrences, if
any, of pattern P in string T. Solving this problem is

at the core of several applications: textual


information retrieval systems (e.g., Medline, Nexus);
library catalog searching programs; internet news
readers; online dictionaries and thesauri, a.s.o.
The purpose of this work is to:
(1) Overview the fundamental tools for linear-time
exact matching;
(2) Describe the classical methods for exact
matching (Boyer-Moore, Knuth-Morris-Pratt), how
they rely on the fundamental tools, and possible
extensions
(3) Describe some applications
7

Completion of term
rewriting

Terminating term rewrite systems (TRS) are a


powerful and convenient tool for specifying
equational theories in which the values of
expressions are identified with their normal forms
(that is, expressions that can not be rewritten any
more). A desirable property of terminating TRS is
confluence, which guarantees that every expression
has a unique notnal form. Often, equational theories
are described by terminating but nonconfluent TRSs,
which are automatically extended with new rewrite
rules until they become confluent. This process is
called completion.
The purpose of this thesis is to:
(1) Design and implement the completion procedure
of a terminating TRS. In general, the completion
procedure is parameterized with a termination
ordering, which guarantees that the termination
property is preserved during completion.
(2) Experiment with several termination orderings
(e.g., lexicographic path ordering, polynomial
roderings, ).
(3) Describe some applications of completion &
experiments

Coordonator: Lect. dr. Daniel Pop (danielpop@info.uvt.ro)


Nr
1

Tema
VRML/X3D Player for
mobile

Detalii
Virtual Reality Modeling Language (VRML) este un
limbaj descriptiv pentru modelare 3D
Scop: Proiectarea si implementarea unei aplicatii
pentru dispositive mobile capabila sa redea lumi
virtuale 3D realizate in VRML/X3D utilizand
biblioteca OpenGL ES, un API gratuit, crossplatform pentru grafica 2D si 3D in sisteme
embedded si mobile
Obiective: studiu de arhitectura si design OpenGL
ES, proiectarea aplicatiei (standalone sau Web
plugin), implementarea componentelor, testarea pe
dispositive mobile; Platforma (iOS, Android,
Symbian) la alegere.
Cerinte: Grafica pe calculator, C/C++
http://www.khronos.org/opengles/

Eclipse Rich Client


Platform (RCP)

Eclipse RCP este o platforma care permite


dezvoltatorilor sa creeze aplicatii desktop
extensibile, modulare folosind platforma Eclipse
Scop: Studiu de tehnologie cu aplicatii practice
Obiective: overview, studiu de arhitectura si design,
prezentare detaliata module si facilitati, realizare de
aplicatii demonstrative (studiu de caz)
Cerinte: Java
http://wiki.eclipse.org/index.php/Rich_Client_Platform
http://www.vogella.de/articles/EclipseRCP/article.htm
l

Multiple Hadoop
Apache Hadoop este un framework care permite
monitoring and scheduling
procesarea distribuita a seturilor de date de mari
dimensiuni folosind paradigme Map-Reduce pe
clustere de calculatoare
Scop: Monitorizarea si lansarea de job-uri pe clustere
Hadoop
Obiective: proiectarea si implementarea
componentei de monitorizare; proiectarea si
implementarea componentei de lansare
Cerinte: Java
http://hadoop.apache.org

Obs

http://pkghosh.wordpress.com/2011/07/30/multicluster-hadoop-job-monitoring/

Coordonator: Lect. dr. Flavia Micota (zflavia@info.uvt.ro)


Nr

Tema

Detalii

Compararea algoritmi de Realizarea unei bibliotecii de algoritmi de planificare


planificare de taskuri
care post fi expui prin servicii REST/ SOAP.

Realizarea unei aplicaii Dezvoltarea unei aplicaii Web care folosete


web folosind tehnologii tehnologi J2EE (EJB, Hibernate, Struts, JSP, AJAX,...)
J2EE

Studiu comparativ pentru Comparaie pentru tool-uri de testare a aplicaiilor


aplicaii de testare a desktop/web (ex. Selenium, Canoo, T-Plan, Test
produselor software
Complete, Sikuli, )

Comparare de algoritmi Realizarea unui software care permite vizualizarea


pentru rutarea vehiculelor datelor de test i modificarea lor. Compararea a
diveri algoritmi.

Sistem de
inventarului

Aplicaie mobil de
gestiune a inventarului

gestiune

a O aplicaie extensibil ce implementeaz un sistem


de gestiune a inventarului. Aplicaia ar fi compus
din dou componente:
- Backend: responsabil cu gestiunea, expune
API Rest care poate fi consumat de alte
aplicaii
- Frontend: o aplicaie web care consum API-ul
Rest i permite utilizatorului s opereze cu
sistemul
Tehnologii: Java, ORM (Hibernate, TopLink, Eclipse
Link), IOC (Spring), MVC (Spring MVC), Maven, Json,
GWT-PlayFramework, jQuery, Apache CFX
O aplicaie mobil Android ce consum serviciile
aplicaiei propuse la punctul 5, oferind o interfa
mobil de interogare, actualizare pe baza numerelor
de interval (sau pe baza codurilor QR )
Tehnologii:Android, Java, JSON,QR codes)

Obs

Colabor
are cu
Marian
Neagul

Colabor
are cu
Marian
Neagul

Coordonator: Lect.dr. Marc Eduard Frincu (mfrincu@info.uvt.ro)


Nr
1

Tema
Notiuni avansate de
grafica: OpenGL Shading
Language

Detalii
Lucrarea va cuprinde:
- studiu asupra limbajului pentru scrierea
shaderelor in aplicatii grafice: GLSL
- comparatie cu OpenGL
- implementarea unei aplicatii demonstrative
3D scrisa in GLSL: labirint sau teren
Lucrarea necesita cunostiinte de: algoritmica,
programare,
geometrie,
algebra,
grafica
pe
calculator.
(nivel avansat/expert)
Nr. studenti: 2
Bibliografie:
1. Randi J. Rost,
edition), Addison
33489-3
2. Dave Shreiner,
edition), Addison
55262-4

OpenGL Shading Language (2nd


Wesley, 2006, ISNB 978-0-321OpenGL Programming Guide (7th
Wesley, 2009, ISBN 978-0-321-

API simplu pentru aplicatii Lucrarea va cuprinde:


2D/3D
1) studiu asupra principalilor algoritmi: de
desenare primite grafice (linii, poligoane), de
taiere, de proiectie, de vizibilitate
2) implementarea unui API grafic simplu pe baza
algoritmilor studiati
3) implementarea unei aplicatii simple 2D/3D
folosind API-ul propus la punctul 2) si
compararea cu o solutie existenta in OpenGL
sau DirectX
Lucrarea necesita cunostiinte de: algoritmica,
programare,
geometrie,
algebra,
grafica
pe
calculator.
(nivel incepator/mediu)
Nr. studenti: 1
Bibliografie:
1. J. Foley, A. van Dam, S. K. Feiner, J. F. Hughes,
Computer Graphics: Principles and Practice in C (2nd
edition), Addison Wesley, 1997, ISBN 0-201-84840-6
2. Eric Lengyel, Mathematics for 3D Game
Programming & Computer Graphics (3rd edition),
Course Technology PTR, 2011, ISBN 978-1-4354-

Obs

5886-4
3. Notitele de curs Grafica si Interfete Utilizator

Simularea realitatii in
scene 3D

Lucrarea va cuprinde:
1) studiu
asupra
principalelor
metode
si
algoritmi de augmentare a unei scene 3D prin
unele
efecte
de:
umbrire,
reflectie,
transparenta, bump mapping, etc.
2) implementarea
acestor
efecte
folosind
OpenGL
si
eventual
OpenGL
Shading
Language
Lucrarea necesita cunostiinte de: algoritmica,
programare,
geometrie,
algebra,
grafica
pe
calculator.
(nivel mediu/avansat)
Nr. studenti: 2
Bibliografie:
1. J. Foley, A. van Dam, S. K. Feiner, J. F. Hughes,
Computer Graphics: Principles and Practice in C (2nd
edition), Addison Wesley, 1997, ISBN 0-201-84840-6
2. Randi J. Rost, OpenGL Shading Language (2nd
edition), Addison Wesley, 2006, ISNB 978-0-32133489-3
3. Notitele de curs Grafica si Interfete Utilizator

API-uri grafice pentru


aplicatii Web

Lucrarea va cuprinde:
1) Studiu
comparativ
asupra
principalelor
modalitati de a reda scene 2D/3D prin
intermediul browserelor web (eg., WebGL,
Three.js, X3D, OpenGL pentru PHP, Java for
OpenGL + JNLP)
2) implementarea unui joc simplu 2D in cel
putin doua API-uri pentru accentuarea
diferentelor/asemanarilor dintre ele
Lucrarea necesita cunostiinte de: algoritmica,
programare,
geometrie,
algebra,
grafica
pe
calculator.
(nivel mediu)
Nr. studenti: 1
Bibliografie:
1. Dave Shreiner, OpenGL Programming Guide (7th

edition), Addison Wesley, 2009, ISBN 978-0-32155262-4


2. http://www.khronos.org/webgl/
3. http://mrdoob.github.com/three.js/
4.
http://beta.wikiversity.org/wiki/Computer_graphics_-_2008-2009_--_info.uvt.ro

Sistem de gestiune a
resurselor autonome in
sisteme distribuite de tip
Grid/Cloud

Lucrarea va cuprinde:
1) Studiu comparativ asupra unor sisteme de
gestiune a resurselor existente pentru
Grid/Cloud cu accent pe caracterul autonom
2) implementare a unor diverse module aferente
acestui
sistem:
configurare,
planificare,
adaptare, etc.
Lucrarea necesita cunostiinte de:
programare, statistica, baze de date.

algoritmica,

(nivel mediu)
Nr. studenti: 3
6

Diseminarea datelor in
medii distribuite tip
Grid/Cloud

Lucrarea va cuprinde:
1) studiu comparativ asupra unor algoritmi
simpli de tip gossip
2) implementarea unui simulator pentru testarea
acestor algoritmi pentru diverse topologii de
retea
Lucrarea necesita cunostiinte de: algoritmica,
programare, tehnologii web, retelistica, baze de
date.
(nivel mediu)
Nr. studenti: 1

Sistem pentru
Lucrarea va cuprinde:
monitorizarea unui sistem
1) studiu
asupra
principalelor
solutii
de
distribuit tip Grid/Cloud
monitorizare in retele
2) studiu asupra principalelor metode de
generare de topologii de retea sintetice
3) implementarea unui sistem de monitorizare a
starii resurselor (retea/calculatoare) bazat pe
rezultatele de la punctele 1) si 2). Aplicatia
poate sa lucreze fie intr-un mediu simulat fie

intr-unul real. In al doilea caz punctul 2) nu


este necesar
Lucrarea necesita cunostiinte de: algoritmica,
programare, limbaje de scripting (Bash), retelistica,
statistica, baze de date.
(nivel mediu)
Nr. studenti: 1