You are on page 1of 155


Proceedings of the International Students' Conference

Organized by the Faculty of Exact Sciences
"Aurel Vlaicu" University of Arad
May 18-19, 2017

First Edition

Mathematics & Computer Science

The International Students' Conference
Organized by the Faculty of Exact Sciences
"Aurel Vlaicu" University of Arad
May 18-19, 2017

Mathematics & Computer Science

"Aurel Vlaicu" University of Arad, Romania

The International Students' Conference StudMath-IT
Faculty of Exact Sciences
"Aurel Vlaicu" University of Arad
First Edition
Mathematics & Computer Science
Arad, May 18-19, 2017

Address: B-dul Revoluţiei nr. 77, 310130 Arad, Romania, P.O. BOX 2/158 AR
Telephone: +40-257-283010
Fax: +40-257-280070

Copyright © 2017 by Editura Universităţii “Aurel Vlaicu” Arad


Ramona Lile, PhD, Rector of “Aurel Vlaicu” University of Arad and Chair of the conference
Mariana Nagy, PhD, Dean of the Faculty of Exact Sciences
Marius Lucian Tomescu, PhD, Vice-Dean of the Faculty of Exact Sciences
Ghiocel Moț, PhD, Head of the Department of Mathematics-Informatics
Gabriela Cristescu, PhD
Dominic Bucerzan, PhD
Valeriu Beiu, PhD
Sorin Nădăban, PhD
Păstorel Gaspar, PhD
Violeta Chiș, PhD
Lorena Popa, PhD
Crina Anina Bejan, PhD
Claudia Mihiț, PhD student


Dumitru Gașpar, PhD, “Aurel Vlaicu” University of Arad

Ioan Dzitac, PhD, “Aurel Vlaicu” University of Arad
Adrian Palcu, PhD, “Aurel Vlaicu” University of Arad
Valeriu Guțu, PhD, State University of Moldova, Chișinău
Gheorghe Căpățână, PhD, State University of Moldova, Chișinău
Mihail Găianu, PhD, West University of Timișoara
Molnár István, PhD, Szent István University, Békéscsaba Campus
Simon Sándor, PhD, Szent István University, Békéscsaba Campus

Mariana Nagy, Marius Tomescu
Table of Contents

A Boundary Value Problem for the generalized Brinkman and Stokes systems in Lipschitz
domains ........................................................................................................................................... 1
3D Graphic Applied in VR ........................................................................................................... 12
Sums of integer powers of the roots of second degree algebraic equations.................................. 16
Accounting Fraud Detection Analytics, in the Light of Data Mining Techniques ....................... 22
Android Steganography Application - Lynx................................................................................. 37
Isosceles and Equilateral triangles from a higher point of view ................................................... 42
The Difference Between the Latest Macs and PCs ....................................................................... 49
Fractals design with C#. Julia Set ................................................................................................. 57
Approximation of fuzzy real numbers by trapezoidal fuzzy numbers .......................................... 61
Monitoring of housing parameters ................................................................................................ 67
Music Player for Android Mobile Devices ................................................................................... 72
A Framework for Student Support ................................................................................................ 77
IAI Watermarking application ...................................................................................................... 83
Timetable Management For Students ........................................................................................... 87
Caesar Cipher with Symmetric Key ............................................................................................. 92
E-Commerce Platform for IT mobile products ............................................................................. 97
Intelligent shopping platform – 103
OOP’s Fundamental Principle: Polymorphism ........................................................................... 108
E- Commerce-Perspective .......................................................................................................... 114
CLove ......................................................................................................................................... 120
In Depth – Virus Outbreak.......................................................................................................... 127
Virtual reality modelling language (VRML) .............................................................................. 132
Newton’s method and fractals .................................................................................................... 137
Overview upon Cryptography Techniques ................................................................................. 142
Determination of the coordinates of the new points by using the foresight intersection
method....... ...................................................................................... ...........................................147
A Boundary Value Problem for the generalized Brinkman and
Stokes systems in Lipschitz domains
Albişoru Andrei-Florin*
Faculty of Mathematics and Computer Science, Babeş-Bolyai University, 1 M. Kogălniceanu Str., 400084
Cluj-Napoca, Romania

Scientific Advisor: Prof. Univ. Dr. Kohr Mirela

Faculty of Mathematics and Computer Science, Babeş-Bolyai University, 1 M. Kogălniceanu Str., 400084
Cluj-Napoca, Romania

The purpose of this paper is that of the study of a boundary value problem of transmission type
for the Stokes and generalized Brinkman systems in two complementary Lipschitz domains in
R3 . We exploit the well-posedness of some other boundary value problems established in the
literature combined with the Fredholm operator theory to show an existence and uniqueness
result in L2 -based Sobolev spaces.

Keywords: Stokes system, Brinkman system, transmission problem, Lipschitz domain,

Fredholm operator, Sobolev spaces.

1. Introduction

The aim of this paper is to give an existence and uniqueness result in L2 -weighted
Sobolev spaces for a transmission problem for the generalized Brinkman and Stokes
systems in two complementary Lipschitz domains in R3 , one being a bounded Lipschitz
domain  with connected boundary  , and the other, its complementary Lipschitz
domain R 3 \  .
Note, that in the work of Kohr, Lanza de Cristoforis, Mikhailov, and Wendland (see
[5]), the well-posedness of a Poisson problem of transmission type for the Brinkman and
Stokes systems in complementary Lipschitz domains in R3 . In their work, they have

* Corresponding author,
E-mail address:
used the methods of potential theory and Fredholm operator theory to prove the
existence, uniqueness and data dependence for the transmission problem.
A similar generalization to that stated in this paper, was given by Kohr, Mikhailov and
Wendland in the paper [6], where they consider a Poisson problem of transmission type
for a generalized Brinkman and Stokes systems in Lipschitz domains on compact
Riemannian manifolds. The idea of the proof for this boundary value problem will be
used, of course, modified in our setting, that of Sobolev spaces in Lipschitz domains in
R3 .
We shall make extensive use of the papers [5] and [6], to formulate our boundary
value problem and obtain the existence and uniqueness of the solution.
Next, we shall discuss the PDE systems that will intervene time and time again in our

Let   0 be a given constant. Consider the following equations:

L (u,  ) : u  u   f
div u  0.
These equations determine the Brinkman system. If we set   0, we obtain the Stokes
L0 (u,  ) : u   f
div u  0.
These PDE systems described above are linear.

Another important PDE system is the Darcy-Forchheimer-Brinkman system:

u   u  k | u | u   (u )u    f
div u  0,
which is non-linear and describes flows through porous media saturated with viscous
incompressible fluids, where the inertia of such a fluid is not negligible. The constants
 ,  , k  0 are determined by the physical properties of the porous medium.
Note that, when   k  0, one finds the Navier-Stokes system:
u   (u )u    f
div u  0.

For more details regarding these equations, see, e.g., [7].

The outline of the paper is the following. In the next section we define the Sobolev
spaces in which we will seek our solutions and talk about the trace operator and
conormal derivatives associated to the systems that we will treat. These concepts will
provide the transmission conditions in our boundary value problems. In the third section
we will state and prove the theorem that gives us the existence and uniqueness of our
transmission problem. The fourth section, presents some future directions that can be
explored in this field. A two-part appendix has been included for some steps in our

2. Preliminary results

2.1. Sobolev Spaces on Lipschitz domains in R3

Let  :   R3 be a bounded Lipschitz domain, i.e. an open, connected set whose

boundary  is locally the graph of a Lipschitz function. Let  : R3 \  denote the
exterior Lipschitz domain.

Denote by  ' either  or  . Denote by D ( ') the space of infinitely differentiable

functions compactly supported in  ' , equipped with the inductive limit topology. Also,
denote D '( ') the corresponding space of distributions on  ' , i.e. the dual of D ( ') .
Recall that L2 ( ') is the Lebesgue space of (equivalence classes of) measurable, square
integrable functions on  ' . Consider the following Sobolev spaces:
 H 1 ( ') : {u  L2 ( ') : D u  L2 ( '),0    1} ;
 H 01 ( ')  the closure of D( ') in H 1 ( ') .

One defines the spaces H 1 ( ')3 , H01 ( ')3 component-wise. We also have the following
duality relations (due to the fact that D( ') is dense in H 1 ( ') ):
 ( H 1 ( '))'  H01 ( ') ;
 H 1 ( ')  ( H01 ( '))' .

One can introduce the boundary Sobolev space H 1/2 () , in different ways, but we
recommend for further reading the book of Hsiao and Wendland [4, pg.187]. Also note
that we have H 1/2 ()  ( H 1/2 ())' . All the above spaces are Hilbert.

Now consider the weight function  ( x)  (1 | x |2 )1/2 , x  ( x1 , x2 , x3 ) R3 . Define the
weighted space L2 (  1;  ) by the following relation:
f  L2 (  1;  )   1 f  L2 ( ) .

Define the weighted Sobolev space:

1 ( ) : { f  D '( ) :  1 f  L2 ( ), f  L2 ( )3}

which is a Hilbert space with respect to the norm provided in [3], Sec. 2.2.. Define
10 ( ) as the closure of D( ) in 1 ( ) . We introduce also the spaces:
 (1 ( )) '  01 ( ) ;
 1 ( )  (10 ( ))' .
One defines the spaces 1 ( )3 , 10 ( )3 component-wise.

2.2. Trace Operator and Conormal Derivative Operator for the generalized Brinkman
and Stokes system

Let us introduce the generalized form of the Brinkman system, in our domain  :
u  Pu   f |
div u  0.

where P  OPS 0 and satisfies the following positivity condition:

Pv, v 
 cP || v ||2L2 (  )3 , v  L2 ()3 .

Before we tackle the upcoming transmission problem, we have the following trace
lemma. Just before we define the trace operator, we must take note that one can use the
following lemma to define the exterior trace operator on the weighted Sobolev space
1 ( ) ,by substituting the space H 1 ( ) with 1 ( ) , and the exterior trace operator
enjoys the same properties.

Lemma 2.1.(see, e.g., [5], Lemma 2.1) Assume that  :   R3 is a bounded

Lipschitz domain with connected boundary  . Then, there is a linear and continuous
trace operator,   : H 1 ( )  H 1/2 () such that   f  f | for any f  C  ( ) . This
operator is surjective and has a (non-unique) linear and continuous right inverse operator
Z : H 1/2 ()  H 1 ( ) .

Now, we develop the conormal derivative for this version of the Brinkman system
(with its associated Green formula) which intervenes in the formulation of our
transmission problem. To this end we have the following lemma:

Lemma 2.2. (based on [5], Lemma 2.5.)Assume that   R3 is a bounded Lipschitz
domain, let P  OPS 0 and consider the space:

H 1 (, LP ) : {(u,  , f )  H div

()3  L2 ()  H 01 ()3 : Lp (u,  ) : u  Pu    f |}
where we denote by H div ()3 all the divergence-free elements of H 1 ()3 . Then we can
define the conormal derivative operator  P : H 1 (, LP )  H 1/2 ()3 by the following

P (u,  , f ),  : 2  (u), ( Z )    Pu, Z     , div(Z )    f , Z 


for all   H 1/2 ()3 , where (u) denote the symmetric part of the gradient of u .

Also, for every (u,  , f )  H 1 (, LP ) and for every w  H 1 ()3 , the following Green
formula holds:

P (u,  , f ),   w : 2  (u), (w)    Pu, w     , div(w)    f , w  .


We will consider the Stokes system in the exterior domain, and hence we will work in
the weighted Sobolev space 1 . In this case, we use the following lemma to introduce
the conormal derivative operator:

Lemma 2.3. (see, e.g., [5], Lemma 2.9.) Assume that  :   R3 is a bounded
Lipschitz domain with connected boundary  and denote by  : R3 \  the
corresponding exterior domain. Consider the space:

1 ( , L0 ) : {(u,  , f ) 1div ( )3  L2 ( )   01 ( )3 : L0 (u,  ) : u    f | }

where we denote by 1div ( )3 all the divergence-free elements of 1 ( )3 .

Then we can define the conormal derivative operator 0 : 1 ( , L0 )  H 1/2 ()3 by
the following formula:

0 (u,  , f ),  : 2  (u), ( Z )     , div( Z )    f , Z 

for all   H 1/2 ()3 , where (u) denote the symmetric part of the gradient of u .

Also, for every (u,  , f ) 1 ( , L0 ) and for every w 1 ( )3 , the following Green
formula holds:

0 (u,  , f ),   w : 2  (u), (w)     , div(w)    f , w  .


3. A transmission problem for the generalized Brinkman and Stokes system

We have now, all the required notions to formulate our transmission problem. Recall
that we have  :   R3 , a bounded Lipschitz domain with connected boundary 
and let  : R3 \  . To keep the presentation simple, we introduce the following
  : ( H div
( )3  L2 ( ))  (1div ( )3  L2 ( )) ;
 Y : H01 ( )3 01 ( )3  H 1/2 ()3  H 1/2 ()3 .

Let P  OPS 0 such that the following positivity condition is satisfied:

Pv, v   cP || v ||2L2 (  )3 , v  L2 (  )3
 

 33
Let λ  L () be a symmetric matrix valued function which satisfies the positivity
λv, v   0, v  L2 ()3 .
Then we consider the following Possion problem of transmission type for the
generalized Brinkman (in the interior domain  ) and for the Stokes systems (in the
exterior domain  ):
u  Pu     f | in 
u     f | in 
 u   u  h0 on 
 P (u ,   , f )  0 (u ,   , f )  λ u  g0 on 
and we hereby claim the existence and the uniqueness of the solution
((u ,   ),(u ,   ))  when we have the given initial data (f , f , h0 , g0 ) Y .

We divide the proof of our claim into two steps.

Step 1: P  0 .
In this case we get:
u     f | in 
u     f | in 
 u   u  h0 on 
 P (u ,   , f )  0 (u ,   , f )  λ u  g0 on 
i.e., it is the transmission problem for the interior Stokes and exterior Stokes system.
In the paper of Kohr, Lanza de Cristoforis, Mikhailov and Wendland [5], a more general
result was proven, i.e. the well-posedness for the same transmission problem that we
obtained at step one, so our claim is valid (for more details, see [5, Sec.4]).
Now, due to this result, we have guaranteed the existence of a linear and continuous
“solution” operator:
S :Y  
which delivers our solution.

Step 2: P  0

We rewrite our transmission problem in the following form:

u     f |  E( Pu ) in 
u     f | in 
 u   u  h0 on 
 P (u ,   , f )  0 (u ,   , f )  λ u  g0 on 
where E is the extension by 0 operator outside  .
Take note that, since P  OPS 0 we have the following embedding:
P : H 1 ( )3  H 1 ( )3 
 H01 ( )3
and we deduce that E ( Pu )  H 01 ( )3 .
In view of the well-posedness result at Step 1, we have the relation:
S (f  E(Pu ), f , h0 , g0 )  ((u ,   ),(u ,   ))  S ( E( Pu ),0,0,0)
due to the linearity of S , where  is the identity operator, and we denote:
S (E(Pu ),0,0,0) : SP ((u ,   ),(u ,   ))
( S P is well-defined due to the uniqueness of u  ) and we take into account the compact
embedding of P , we get that SP  EP is a compact operator.

Hence, we have introduced the operator:

P  (  SP ) :   

which is a Fredholm operator of index 0. If we establish the injectivity of this operator, it
would follow by that  P is an isomorphism, hence we obtain the existence and
uniqueness of the solution of our transmission problem.

To prove the injectivity, take ((u0 ,  0 ),(u0 ,  0 ))   a solution of the homogeneous

transmission problem:
u0  Pu0   0  0 in 
u0   0  0 in 
 u0   u0  0 on 
 P (u0 ,  0 ,0)  0 (u0 ,  0 ,0)  λ u0  g0 on 
Apply now the Green formula for  and for  , and obtain the relations:
P (u0 ,  0 ,0),  u0  2  (u0 ), (u0 )    Pu0 , u0 

0 (u0 ,  0 ,0),  u0  2  (u0 ), (u0 ) 


Using the transmission conditions satisfied by (u0 ,  0 ) and (u0 ,  0 ) , we have that:
P (u0 ,  0 ,0),  u0  0 (u0 ,  0 ,0),  u0   λ u0 ,  u0
  
and take into account the following relations (for the sake of brevity we omit the

P (u0 ,  0 ,0),  u0  0 (u0 ,  0 ,0),  u0  2 || (u0 ) || cP || u0 || 2 || (u0 ) || 0 ,
 

 λ u0 ,  u0  0,
and we obtain that (the left hand and right hand sides must vanish):
u0  0,  0  c  R in  ,
(u0 )  0 in  .
Due to the fact that u 0 vanishes in  , and by the fact that  u0   u0 on  , we
get that  u0  0 on  . Hence (u0 ,  0 ) 1 ( )3  L2 ( ) is a solution of the exterior
Dirichlet problem for the homogeneous Stokes system with homogeneous Dirichlet
boundary condition. This leads to the following relations (see [3]):
u0  0,  0  0 in  .
Now, we need to return to the definition of the conormal derivative for the
generalized Brinkman system and note that:
 P (u0 ,  0 ,0)  c .
Hence, by the transmission conditions, we get that  0  0 .

Consequently, u0  0,  0  0 in  and u0  0,  0  0 in  .

This proves that our operator  P is an isomorphism, and our transmission problem
has a solution and it is unique. Hence, we have obtained the following theorem:

Theorem Let  :   R3 be a bounded Lipschitz domain with connected boundary

 and let  : R3 \  the exterior Lipschitz domain. Consider the spaces:

  : ( H div
( )3  L2 ( ))  (1div ( )3  L2 ( )) ;
 Y : H01 ( )3 01 ( )3  H 1/2 ()3  H 1/2 ()3 .
Let P  OPS 0 such that the following positivity condition is satisfied:
Pv, v   cP || v ||2L2 (  )3 , v  L2 (  )3
 

 33
Let λ  L () be a symmetric matrix valued function which satisfies the positivity
λv, v   0, v  L2 ()3 .

Then the Poisson problem of transmission type for the generalized Brinkman and
Stokes systems :

u  Pu     f | in 

u     f | in 
 u   u  h0 on 
 P (u ,   , f )  0 (u ,   , f )  λ u  g0 on 
has a unique solution, ((u ,   ),(u ,   ))  , when we have the given initial data
(f , f , h0 , g0 ) Y .

4. Conclusions and further research

We must note the following fact. The result obtained above can be formulated in a much
more general setting, i.e., the existence and uniqueness of the above transmission

problem can be proved when instead of taking P  OPS 0 , we consider a symmetric
matrix valued function η  L ( )33 which satisfies a similar positivity condition:

ηv, v 
 cη || v ||2L2 (  )3 , v  L2 ()3 .

From this problem, one can formulate a nonlinear transmission problem for a
generalized version of the Darcy-Forchheimer-Brinkman and Stokes/Navier-Stokes
systems. These directions will be tackled in future works.


The author wishes to thank his mentor, Prof. Dr. Kohr Mirela, for the advice and
support in preparation of this material.

[1] Abramovich, Y. A., Aliprantis, C. D., 2002. An Invitation to Operator Theory.AMS,
Providence, Rhode Island.
[2] Adams, R., Fournier, J., 2003. Sobolev Spaces, 2nd edition, Pure and Applied Mathematics.
Elsevier/Academic Press, Amsterdam.
[3] Behzadan, A., Holst, M.,.Multiplication in Sobolev spaces.Revisited.arXiv:1512.07379v1.
[4] Hsiao, G.C., Wendland, W.L., 2008. Boundary Integral Equations.Springer-Verlag,
[5] Kohr, M., Lanza de Cristoforis, M., Mikhailov, S.E., Wendland, W.L., 2016. Integral
potential method for a transmission problem with Lipschitz interface in R3 for the Stokes
and Darcy-Forchheimer-Brinkman PDE systems , Zeitschrift fur angewandte Matematik und
Physik, 67:116.
[6] Kohr, M., Mikhailov, S.E., Wendland, W.L., 2016. Transmission Problems for the Navier-
Stokes and Darcy-Forchheimer-Brinkman Systems in Lipschitz Domains on Compact
Riemannian Manifolds, Journal of Mathematical Fluid Mechanics, DOI 10.1007/s00021-
[7] Nield, D.A., Bejan, A., 2013. Convection in Porous Media.3rd edition.Springer, New York.

Appendix A. Fredholm Operators.

Consider a linear continuous operator T : X  Y between two Banach spaces.

Denote the index of the operator T by ind T and it is given by the formula:
ind T  dim( Ker T )  dim(Y / Im T ).

We say that T is a Fredholm operator if the following conditions hold:
dim( Ker T )   and dim(Y /Im T ) < .

We have the following useful result:

Lemma A.1 (see [1] Cor. 4.47.) Let T : X  Y be a linear continuous map between two
Banach spaces. Assume that T is a Fredholm operator. Let K : X  Y be a compact
operator. Then the operator T  K : X  Y is also Fredholm and the following holds:
ind (T  K )  ind T  ind K .
Note that if an operator T of Fredholm type is of index 0, then
dim( Ker T )  dim(Y / Im T ) .

Hence, if T is injective then T must be surjective and vice-versa. In other words, T is an


For further details, we refer the reader to [1].

Appendix B. Sobolev Embedding

We have some useful results, we refer the reader to the paper of Holst and Behzadan [3].

Theorem B.1. (see [3] Th. 3.6.) Let  be a bounded Lipschitz domain in Rn . Let
1  p  q   and 0  t  s , such that:

s  (n / p )  t  (n / q ) .

H s, p ()  H t ,q () .

Theorem B.2. (see [3] Th. 3.7.) Let  be a bounded Lipschitz domain in Rn .

 If sp  n , then H s, p ()  C0 () .

 If sp  n , then H s, p ()  Lq () , for p  q  .
 If 0  sp  n , then H s, p ()  Lq () , for p  q  p  np / (n  sp) .

3D Graphic Applied in VR
Berceanu Andrei – Gabriela, Pîrciu Radu - Alexandrub
University of Petroșani, Strada Universității nr. 20, Petroșani, 332006, Romania
University of Petroșani, Strada Universității nr. 20, Petroșani, 332006, Romania

Scientific Advisor: Conf. dr. ing. Egri Angela

University of Petroșani, Strada Universității nr. 20, Petroșani, 332006, Romania

In this paper we presented a graphic solution for a 3D model of a car.
The graphic design was rendered and turned into a VR application. It can be viewed with a VR
headset for smartphone.

Keywords: virtual objects, Splines, NURB modeling, VR.

1. Introduction

In tridimensional graphics, as in reality, we use three dimensions: length, width and

depth. If we look around us, everything we will see is tridimensional: nature, buildings,
objects. On the computer, all the objects are stored in its memory, without a physical
form and they are generated according to a complex mathematical equation.
In order to process 3D objects, 3ds Max have to solve a multitude of complex
equations. To be able to do that, the computer needs a powerful processor, a large RAM
memory, and above all, a dedicated video card. 3D Studio Max was designed to create
and animate virtual objects. With this program, the user is free to make those objects
move under certain trajectories and laws.
Virtual reality (VR) typically refers to computer technologies that use virtual reality
headsets to generate the realistic images, sounds and other sensations that replicate a real
environment or create an imaginary setting.

2. Modeling methods

Conceiving a 3D graphic project implies modeling the geometry of the objects that are
compounding the scene. In many cases, you have to start with “primitives”, which are
default structures from the program.
Editing and deforming those primitives gives us the desired from of the project,
process named “modeling”.

Every 3D graphic program treats modeling differently. It is very important to consider
the ease of use of modeling tools when you choose this type of program.
The main modeling methods used for geometry creation are:
 Spline curves modeling
 Polygonal modeling
 Parametric modeling
 Spots modeling
 NURB modeling
 Extended spline curves modeling
Spline curves modeling creates forms from curves. Those forms contain control
vertexes and lines or curves.
A spline curve has at least one starting vertex and an ending one. If those two are
connected, the curve is closed.
Every vertex has asscociated a ”tangent control” that determines the degree of
curvature around the spline.
The distance between two vertexes determines a segment. The segment has more steps
as well.
The bigger the number of steps is, the more correct will the curve be, but also the
memory alocated for the process will be larger.
After we have the form, it will be automatically be converted in 3D. The user can
apply to this 3D object various operatons such as “Extrude”, “Bevel”, “Tesselate” etc.
The poligonal modeling implies creating multi-edges poligons, which are going to be
collapsed to form an object.
This type of modeling allow us to make complex objects and then combining them to
get other 3D forms.
Parametric modeling lets user, anytime, to adjust and animate the parameters of an
NURBS modeling is considered one of the most powerfull modeling method of
complex surfaces. It is caracterized by the generation of NURB Splines and the creation
of surfaces in between these curves, but also through surface combining.

3. Graphic modeling realized

The application was realized in 3D Studio Max in three phases:

Modeling phase (Fig. 1)


Animation phase (Fig. 2)


Rendering phase (Fig 3)


[1] Egri Angela, (2015 ), Grafica asistata de calculator, FOCUS/ Petrosani
[2] Sirb Vali, Egri Angela, (2014), Aplicatii software inteligente, FOCUS/ Petrosani
[3] *** WWW.AUTODESK.COM /education/

Sums of integer powers of the roots of second degree algebraic
Mathematical model – Algorithm – Program
Bunea Anca-Maria, Ciocan Loredana-Giorgiana, Preda Ionela-Gabriela†
University of Petrosani, Universitatii Street 20, Petrosani 332006, Romania

Scientific Advisor: Lecturer PhD Zăvoianu Constantin

University of Petrosani, University Street 20, 332006, Petrosani, Romania

In this article we present the mathematical model, the algorithm and the TURBO PASCAL
program, by which it can determine the sum of integer powers of the roots of the second degree
algebraic equation with real and non-zero coefficients ax 2  bx  c  0 .

Keywords:Second degree algebraic equation, roots, powers, algorithm, program

1. Overview

Let ax 2  bx  c  0 be an algebraic equation of the second degree with real and non-
zero coefficients and x1 , x 2 the roots of this equation. We denote Sn  x1n  x2n , for any
n  Z . We put the problem for determining the values S n , for n  0 ,  1,  2 , without
actually solving the equation.

2. The mathematical model

If x1 and x 2 are the roots of equation ax 2  bx  c  0 then we have the following

relations between the roots and the coefficients:
 b
S  x1  x 2  a
 (relations of Viète).
 P  x1 x 2 
 a

* Bunea Anca-Maria,
E-mail address:
We recall that if the sum S  x1  x2 and the product P  x1 x2 are known, then the
equation that has the roots x1 and x 2 is x 2  Sx  P  0 ; in this case is obtained the
b c
equation x 2  x   0 which is equivalent to the equation ax 2  bx  c  0 .
a a
Proposition. If x1 and x 2 are the roots of the equation ax 2  bx  c  0 , then and
are the roots of equation cx 2  bx  a  0 .
1 1 x x b a b 1 1 1 a
Proof. S    1 2    and P     , and the
x1 x2 x1 x2 a c c x1 x2 x1 x2 c
1 1 b a
equation that has the roots and is x 2  x   0 , i.e. the equation
x1 x2 c c
cx 2  bx  a  0 .
In order to determine the sums of powers having the form Sn  x1n  x2n , for any n  Z
, we will analize the following two cases: n  0 and n  0 .
I. If n  0 then:

S0  x10  x20  1  1  2 (1)

S1  x1  x2  . (2)
Because x1 and x 2 are the roots of the equation ax 2  bx  c  0 , the following
statements are true:
ax12  bx1  c  0 (3)
ax2  bx2  c  0 .
Multiplying relation (3) with x1n  2 and relation (4) with x2n  2 , we obtain
ax1n  bx1n 1  cx1n 2  0 (3’)
ax2n  bx2n 1  cx2n 2  0 , (4’)
and if we sum up the last two relations, we obtain:
a( x1n  x2n )  b( x1n 1  x2n1 )  c( x1n 2  x2n2 )  0
a  Sn  b  Sn 1  c  Sn  2  0
where we deduce the following recurrence formula:
 (b  S n 1  c  Sn  2 )
Sn  , for any n  2 . (5)

 (b  S1  c  S0 )
For n  2 we obtain S 2  , where S1 and S0 are known.
 (b  S 2  c  S1 )
For n  3 we obtain S3  , where S 2 and S1 are known from the
previous steps, and the calculation process is repeated for n  4,5, .
II. If n  0 then:

S0  x10  x20  1  1  2 , (6)

1 1 b
S|1|  x11  x21    , (7)
x1 x2 c
i.e. x1 and x 2 are the roots of the equation cx 2  bx  a  0 , and the recurrence formula,
in this case, will be:
 (b  S| n 1|  a  S| n  2| )
S| n |  . (8)

3. Algorithm
From the above, it is noted that in order to calculate a value S n , it is sufficient to know
the values of the sums Sn 1 and Sn  2 ; the idea of this algorithm is the following: it is
determined S0 and S1 , and then with one of recurrence formulas is determined S 2 , and
next, to S0 it is assigned the value of S1 , to S1 it is assigned rhe value of S 2 ; thus
making, the new calculated value of S 2 is actually the value of S3 , and the process can
The resolving algorithm described above is structured in the following steps:
P1. We read the coefficients of the equation: a, b, c and the value of n .
P2. For any k  1,2 we do the following operations:
1. assign to variable na the absolute value of n ;
2. initialize the variable s0 with the value 2 and write its value;
3. if n  0 then we determine the value of variable s1 with the formula (7), and
otherwise with the formula (2) and then write the value of this variable;
4. for any i  1, na we do the following operations:
 if n  0 then we determine the value of variable s 2 with the formula(8), and
otherwise with the formula (5) and then write the value of this variable;
 assign to variable s0 the value s1 and to variable s1 the value s 2 ;
5. assign to variable n the value  n .

Description of the algorithm in the pseudocode

┌/Sums of powers for the roots of the second degree equation/
│real a, b, c, s0, s1, s 2
│integer n, i, k , na
│read a, b, c, n
│┌for k  1,2
││ ┌ na | n |
││ │write a, b, c
││ │ s0  2
││ │write s0
││ │┌if n  0 then s1  b / c
││ ││ else s1  b / a
││ │└endif
││ │ write s1
││ │┌for i  2, na
││ ││┌if n  0 then s 2  (b  s1  a  s0) / c
││ │││ else s 2  (b  s1  c  s0) / a
││ ││└endif
││ ││write i, s 2
││ ││ s0  s1 ; s1  s 2
││ │└repeat
││ └ n  n

4. TURBO PASCAL program
PROGRAM Roots_Sums_of_powers;
VAR a,b,c,s0,s1,s2:REAL;
FOR k:=1 TO 2 DO
WRITELN('If n=',n,' then for equation ',a:6:2,
'*x^2+',b:6:2,'*x+',c:6:2,'=0 we have:');
IF n<0 THEN s1:=-b/c else s1:=-b/a;

FOR i:=2 TO na DO
IF n<0 THEN s2:=-(b*s1+a*s0)/c
ELSE s2:=-(b*s1+c*s0)/a;
s0:=s1; s1:=s2;

5. Paradigms

The equation x 2  5 x  6  0 has the roots x1  2 and x2  3 , and the equation

1 1
6 x 2  5 x  1  0 has the roots x1  and x2  . Without actually determining these
2 3
roots, the program determines the values of sums Sn  x1n  x2n , for any n   4,4 or for
any n  4,4,1.

If n=4 then for equation 1.00*x^2+ -5.00*x+ 6.00=0 we have:

S0= 2.0000
S1= 5.0000
S2= 13.0000
S3= 35.0000
S4= 97.0000
If n=-4 then for equation 1.00*x^2+ -5.00*x+ 6.00=0 we have:
S0= 2.0000
S1= 0.8333
S2= 0.3611
S3= 0.1620
S4= 0.0748

6. Conclusions

 a,b,c are real numbers

 Combines high school mathematics with computer science

[1] Zăvoianu, C., 2000. Algoritmi și programare ȋn Turbo Pascal, Editura Soft Computer,
[2] Năstăsescu, C., Niță, C., Popa, S., Matematica-Manual pentru clasa a X-a Algebra, Editura
Didactică și Pedagogică, București.

Accounting Fraud Detection Analytics,
in the Light of Data Mining Techniques
Burca Valentin‡
“Aurel Vlaicu” University of Arad, Faculty of Exact Sciences, Romania

Scientific Advisor: Prof. univ. dr. Nagy Mariana

“Aurel Vlaicu” University of Arad, Faculty of Exact Sciences, Romania

Financial information accuracy is essential in the decision-making process. But accounting
framework allows, or only omits to regulate different accounting treatments that can lead to
improve artificially the key financial indicators. This article is aimed to underline the role of data
mining techniques in the detection and the prevention of financial information manipulation
techniques. We propose a research framework for studying accountants behavior concerning
earnings management, revealing a model that combine different data mining techniques.

Keywords:data mining; research analytics; creative accounting; logistic regression; decision tree

1. Introduction

In the last decade, the accounting research area has extended tremendously, from
a traditional descriptive statistics approach, to a more complex multivariate statistics
modelling. Nowadays, we are witnesses to a walk towards a more diversified package of
tools and techniques of data analysis, gather within the data-mining methodology
comprising various tools and techniques aimed to provide descriptive and predictive
models that suport the decision-making process.
Once with the increasing availability of big data and unstructured data, the
solution to use data-mining models and tools has become more an more popular. This
way, the patterns drawn up by the theoretical framework of each area of interest have
been slowly change with patterns more costumized to a micro-level of data analysis
(industry level, company level, function level, process level etc.), considering a specific
dynamic components. But this change has acctualy lead to more complex data analysis
models, hybrid models that consist regularly of 2-3 stages of data analysis, one being

* Corresponding author, e-mail address:

some kind of filtering and transformation model and the next one aimed to proceed to
hypothesis research.
By data-mining, also known as “knowledge-discovery in databases”, we
understand advanced data analysis having roots on the classical statistics (computational
methods, data vizualization), artificial intelligence (focused on human reasoning
models), machine learning, natural computing and database systems (Gorunescu, 2011).
Data-mining has a wide range of applications in a large scale of areas, such as
healthcare, telecommunications, or economic area. In the end, all data-mining tools
results into models providing decision-makers the possibility to reveal some patterns of
how a system works and what should be expected for future evolutions, through
predictons tools, classification tools, custering analysis tools and association rules
descovery tools. This way we talk about exploratory data analysis (descriptive statistics,
principal components analysis, scoring models, factor analysis, text mining),
computational data-mining (cluster analysis, linear regression, logistics regression,
discriminant analysis, canonical analysis, bayesian classifier, tree models, neural
networks, association rules mining, support vector machine, fuzzy models, genetic
programming), or statistical data-mining Benford’s Law, stochastic calculus and
statistical inference, non-parametric modelling, generalized linear models – logit, probit,
poisson models, panel data regression models, log-linear models, graphical models,
splines models). But it is extremely important to keep in mind that combining different
basic data-maning tools will lead to a more accurate data-mining model with way higher
perfomance results (classification accuracy matrix, ROC curve) of the model.

2. Data mining in accounting and auditing

Looking only on the economic area, we find numerous examples of data-mining

applications in the marketing, finance, accounting and auditing area, like: market basket
analysis, costumer relationship management, credit scoring, financial benchmarking,
performance efficiency analysis, portofolio analysis, financial distress models, financial
fraud models etc. Each of those models use either directed data-mining techniques (top-
down approach), or undirected data-mining techniques (bottom-up approach).
In the area of acounting, with special focus on auditing financial statements,
forensic accounting and fraud examination, they were developed various models of
analyzing the quality of the information disclosed by financial statements and corporate
disclosures. Here we can mention going concern prediction, fraud detection scoring,
fraud prevention patterns, behavioural accounting patterns and classification analysis.
Starting from simple models derived from basic accounting theory that focus on specific
so called red flags, to more complex data-mining models, all those models try to
underline general mechanims generated by historycal data, in order the companies can
preserve their assets and penalize even potential attempts to put in practice different
earnings management practices, as shown in Table 1.
Overall, the most part of the data-mining tools used in the accounting and
auditing area results especially in classification models that help fraud examiners or
auditors to understand the main factors of fraud accounting and to helps them to design
detection models that are essential in setting up forensic accounting investigation/
auditor mission expectations / targets.
Using data-mining techniques is opportune from several points of view,
reminding here some basic advatanges they offer : (i) the results obtained using those
techniques can be easiy used to find and correct mistakes in our daily work; (ii) the
classification and associations rules patterns identified through data-mining analysis can
be used for planning new products, new projects or new processes inside the company,
leading to significant ost savings; (iii) the best practices patterns identified have to be
replicated along other processes, project, or departments, through a clear, transparent and
effective flow of re-engineering, as long as they are not raised conflicts with the core
principles and values of the company; (iv) improvement of data-mining models enligthen
company’s ability to understand the dynamics of its own economic environment; (v)
data-mining analysis generate descriptive and predictive models that allow decision-
makers to follow properly the status of a project, the stage of company evolution etc.
Moreover, we emphasize an ICAEW (2014) study, which underline some accounting
specific benefits resulted from big data analysis analytics, such as: (i) the use of
predictive models to improve budgeting and forecasting; (ii) the use of sophsticated
models for outliers analysis, extremely important on internal audit process control, in
order to improve internal control and risk management; or (iii) improvement of the
efficiency and quality of audit activities thorugh analysis of the whole data sets.
The same is in case of audit mission planning, where data-mining tchniques can
be used once either on setting up audit expectations determined by a general database of
data describing historical big number of companies financial situation, or on checking
the audit mission findings on the company, against the initial audit expectations. This
target is even easily achievable once accounting standard-setters have realized the
benefits of XBRL financial reporting implementation, as this financial reporting
approach lead to a consistent financial information database from sector, country, region
perspective analysis. This database can result, through the varous data-mining techniques
mentioned, into different classifications models extremely useful in fraud detection and
financial information quality assesment.

Table 1
Short overview on the literature depicting different data-mining tools used on financial information quality assessments

Basic source of
Data analysis objective Data mining model Author
data analysis
neural network, decision trees, logistic regression Koh (2004) financial
mathematical programming technique Konno & Kobayashi (2000) statements &
going concern testing
classification and regression tree Salehi & Zahedi (2013) disclosures
corporate decision-making, Elsas (2008), van der Aalst et.
compliance and risk process mining al. (2011), Caron et. al.
ERP log events
management, control structures (2013), Jans et. al. (2014)
employee fraud detection cluster analysis Jans et. al. (2010)
text mining, social network analysis Debreceny & Gray (2011) emails archives
Thiprungsri & Vasarhelyi
accounting anomaly detection cluster analysis
risk fraud detection fuzzy neural network Lin et. al. (2003)
logistic regression Bell & Carcello (2000) statements &
neural network Fanning & Cogger (1998) corporate
financial statements fraud disclosures
decision tree, neural network Ata & Seyrek (2009)
Bayesian belief networks, decision trees Kirkos et. Al. (2007)
principal components analysis, support vector Sadasivam et. al. (2016)
CART, CHAID, Bayesian belief network, support
Chen (2016)
vector machines, neural networks
Bendford’s Law, neural network Bhattacharya et. al. (2011)
logistic regression, support vector machines Perols (2011)
evolutionary algorithms Alden et. al. (2012)
probabilistic neural network Ravisankar et. al (2011)
Beneish (1999), Dechow
multiple linear regression

Data-mining models have to be used only as an alternative tool of surveillance for
corporate reporting compliance, because those models present as well some limitations, along
the procedure of mining the financial information, because they are not always company
customized models, the hypothesis formulation at the base of the model might be not enough
inclusive concerning variables selection, the database can be significantly heterogeneous, or the
querying of the data is possible to be done exactly as the model of data-mining is asking. That
is why every designed data-mining model has to be tested and evaluated if it is the suitable
model to be used in case of a specific objective the accountant / auditor / fraud examiner wants
to check. Moreover, is extremely important the users of those data-mining models to be careful
about the dynamics of such models, as they have to be updated on a regular basis, according to
the life-cycle of the data used as main source of analysis.

3. Data analysis model performance assessment

There are several issues discussed in the literature about either which is the most
suitable technique to be used to detect and predict fraud in financial reporting, or which is the
best way to increase model’s performance, either by improving the data collection process
(extend sample analysis, review variables considered etc.), or by combining different
Data mining techniques can be used as individual, or can be combined resulting
different hybrid models of data analysis, or aggregate scores obtained reflecting averaging /
hierarchical values obtained using different tools. In the end, what the researcher has to
carefully focus on is the performance level of each model proposed for the hypothesis analysis.
This way, the researcher has to find out model accuracy in terms of predicted numerical value
in case of numerical variables, predicted class membership in case of categorical variable, or
propensity – applicable in case of estimating probability of class membership for categorical
The benchmark used to test if a model has improved, is to compare it to the average
outcome of the records contained in the training set (the initial sample). They are several well-
known metrics used on this direction, generally reflecting traditional statistical measures of
variation, such as the mean absolute error (MAE), the root-mean-squared error (RMSE), or
total sum of squared errors (SSE).
Extremely important in data-mining models evaluation is the classification confusion
matrix, that compared the predicted class members to the actual class members, revealing how
close the outcomes from the predicted class model to the actual one are. As complementary
tools, mainly on the classification models, the cost matrix can be extremely useful, as it allows
the researcher to penalize the model in case of some potential miss-classifications (during the
estimation/simulation process), based on either theoretic reasoning, or based on historical trials
of the same model on similar sample characteristics.
In this article we do not talk about fraudster’ motivation, as this is well drawn in
auditing textbook, through the fraud triangle approach (Singleton et. al., 2006; Coenen, 2008;
Jones, 2011). But we talk about general research models of fraud detection, mainly reflected
through classification models that give the auditors and accountants a clearer picture on how to
analyze companies from the perspective of assurance and compliance to the financial reporting
regulation, including here the debate on fraud detection, forensic accounting and business
health (Amani & Fadlalla, 2017).

Yang et. al. (2017) have run a simulation study concerning the accuracy of multiple-
stages research approach, that combines data-mining techniques with econometric models.
They reveal in this study some conclusions that make researchers to be more careful when
using this kind of models, as multiple-stages approach lead, generally, to an increase in the
prediction error of the aggregate model, as from the first stage there is already a prediction
error that is translated with different amplitude to the next stage of model analysis. It doesn’t
matter the order we use those two family models. Essential is that we chose the models with the
lowest prediction error and we are able to assess the impact of first stage prediction error to the
aggregate model.
On the other side, Chen study (2016) reveal good results when combining different
data-mining techniques, such as CART decision tree, CHAID decision tree, artificial neural
networks support vector machine, or Bayesian neural network. They have chosen to use one of
the decision trees technique (CART vs CHAID) in the first step of the analysis, in order to
select the variable that will be considered for the second step of the analysis. In the second step
of the analysis have been used the remaining techniques. But it is extremely important to
realize that combining models like decision trees with heuristic models like neural networks or
bayesian analysis, the performance of the hybrid model decreases.
Currently, widely used data-mining techniques can be state are the decision tree with
the different algorithms and data visualization versions, the clustering models (k-Means, k-
Nearest Neighbours, CART, CHAID), the nayve bayes models, association rules models
(Apriori), or some machine learning techniques (AdaBoost, C4.5). But the researchers have
reached to a common point of view concerning the best data-mining techniques used
Lin et. al. (2015) study has revealed some basic conclusions in terms of best
performance for data-mining techniques. Starting from analysis Logistic Regression, Decision
Trees (CART), and Artificial Neural Networks (ANNs), they have concluded that CART
method is lead to the best model performance, followed by ANNs and with way lower
outcomes generated by the logistic regression. This underline the increasing role of data-
mining new techniques (CART, ANNs, SVM), compared to the traditional multivariate
statistics models (linear regressions models, generalized regression models, factorial analysis
On the other side, there is Ravisankar et. al. (2011) study that conclude the
probabilistic neural network model (PNN) is better than logistic regression model (LR), group
method of data handling model (GMDH), support vector machines (SVM), or multi-layer
feedforward neural network (MLFF).
Not the least, we remind Perols (2011) study conclusions, which rank logistic
regression and support vector machines on a better position relative to artificial neural
network, bagging, C4.5 and staking methods, from models’ performance level.
One of the reasons behind those controversial results is strongly connected to the
design of the research, especially in the area of the choice of the number, the type and the
timing of the predictors used in the analysis. That is why such fraud detection models in the
financial statements analysis suffer some limitations even from the beginning of the design of
the model, not only from the compatibility between the different data-mining techniques that
can be used. This is a concern that has to remind fraud examiners and auditors to use with
some reserves the classification models when checking for financial information accuracy
disclosed by financial statements.

There is also concern within the researcher in the last period, to check data-mining
techniques utility from the perspective of the experts designing and using those tools as they
seem to be some differences between experts’ perceptions and the ranking of the techniques
based on the performance resulted from model statistical evaluation. But as data-mining
techniques are extremely complex and various, we would not expect the experts to a achieve
to a common point, especially because testing each possible fraud detection model means
additional time and costs invested, knowing actual budgeting constraints that are more and
more aggressive on a globalized economy.

4. Some examples of using data-mining techniques in accounting

The source of data for these models can vary from one company to another, from one
sector of activity to another, depending on the final objective of the decision model. We can
take as source of information:
 transactional data (purchase, claim, cash transfer, credit card payment),
downloadable from company’s ERP system; for instance we can use Bendford’s Law in order
to find out any outliers within the set of purchasing payment submitted to the suppliers,
starting from a pattern that describe the average behavior of the digits of a regular payment
value for purchase; this pattern is drawn up by a series on which each element describe the
probability that the n digits number combination is expected like: the first digit is 1 with the
probability of 30.1%, the first digit is 2 with the probability of 11.4%, …, the first two digits
of the number are 11 with the probability of 3.77%, … (Nigrini, 2012);
 contractual, subscription, or account data (contracts or utilities);
 subscription data, relevant for identifying people behavior, based on their
characteristics (age, gender, marital status, income level, education level, occupation,
 data poolers (databases maintained by professional companies such as
Thomas Reuters in case of financial information data), surveys, publicly available data
(accounting scandals), extremely important for benchmark analysis;
 behavioral information (such as turnover, solvency, number of employees), as
this kind of information is already confirmed in the literature as factors influencing fraud risk
 unstructured data (such as emails, Web pages, claim forms, contextual
network information, qualitative, expert-based data).
Once those data are collected:
 they can be run different statistical tests, between the samples analyzed (the
sample containing variables’ figures valid for companies doing fraud vs the sample
containing variables’ figures valid for companies that haven’t being classified ex-ante as
fraudulent companies), such as Chi-square test, t-test, Z-test;
 it can be proceeded to samples dimension reduction, by eliminating some of
the variables considered as predictors in the initial samples, for example by running a
principal components analysis that exclude variable that are strongly correlated;
 it can be done an outlier detection through different procedures, either on
graphically, or using statistical inference tools; for instance, there is the Grubbs test that can
detect if a set of data contain outliers, analyzing the G score given by the formula

 it can be proceeded to a cluster analysis that can identify the main
characteristics a company is recorded as fraudulent, starting from a set of variables, regularly
financial ratios that are the most affected by the fraud methods used by the analyzed
 they can be used decision trees, either for variables selection, or for behavior
analysis of the fraudsters, starting from data like transactional ones with reference to the
value, the type and the frequency, where they can be added different contextual data like
sector of activity, historical data etc;
 logistic regression can be used on fraud detection, by starting from a
dependent dummy variable (Y) saying if a company is fraudulent or not, and running a
regression against the values of different factors (x1, x2,…, xn), considered as being with
responsible for company’s fraudulent behavior; mathematically, this model is simply
translated by the econometric model below:

 the support vector machine is actually an advanced form of recursive

discriminant analysis, that is actually determining the discriminant hyper-plans in the space
of n predictors, in order the classes determined to be properly separated; this translate into a
mathematical programming problem

with xij the value of variable j for observation i, and nnf and nf the number of no frauds and
frauds, respectively; the linear program assigns the no frauds a score above the cut-off value
c, and the frauds a score below c; the error variables ei are needed to be able to solve the
program since perfect separation will typically not be possible.
 neural networks are more sophisticated models than any regression model, as
they can reflect more regression models in one model, each node being actually a form of
representation of each single transformation functions (like the linear function, the logistics
function, or any other real function); this approach can describe more accurate the multitude
of causal relations between variables, relations defined by different function forms; in case of
fraud detection models, in general, for each output layer is adopted the logistic
transformation, so that the layer’s outcome to be read as probability value;
 in case of classifying a company as fraudulent or not, we can use as well naive
bayesian classifier that, once they are calculated elementary conditional probabilities, it can
be used formula below to determine the probability a company belongs to a class Ciin case of
some specific values for the categorical predictors (x1, x2,…, xn), considered in the model:

where m – number of the predictors, n- number of the classes, P(xj/Ci) – the probability the
company belongs to class Ci, according to predictor xj; once is set up a cut-off value of the
probability that a company is fraudulent in case of specific values o the categorical variables,
it can be decided in which class the company is classified.

5. Conclusions

The decision-making process becomes more and more complex, having at its basis a
wider range of data sets. Traditional methods to analyze patterns, to dig into experts’
behavior, to predict figures, or to analyze causal mechanism are not enough anymore. Data-
mining research area come with proper solutions for big data analysis, through a large set of
tools and technique that help the auditor and the fraud examiner from today to develop easily
decision models in terms of fraud detection, going concern and overall process control.
Designed as inter-disciplinary discipline, the data-mining research area has gained an
increasing role within the areas of information systems development, especially in the area of
business intelligence models implemented by more and more companies across the world.
Fraud detection models represent an important part of the models currently used with the aim
of increasing economic and financial efficiency and effectiveness, especially in the light of
the results derived from the behavioral finance and social financial reporting theories, that
give a high importance to the perceptions of financial information users, because managers
are tempted to manage earnings through artificial accounting techniques, or simply proceed
to various fraud practices.
We observe that fraud detection models, designed in the last years, have improved o a
continuous manner, especially by assimilating different data-mining techniques in the
construction process of the models. Even if they are still controversies about the best data-
mining technique to be used on fraud detection models’ design, or about how to combine
those techniques, all experts agree on the fact that this approach brings visible benefits in the
area of financial prediction, the control of financial reporting processes, or the quality of the
audit activities, the internal and external one as well. But there still remain the issue of the
complexity of those models that many times exceed auditors’/fraud examiners’ knowledge,
because of the high content of systems technical design details. This is because it is not
enough they just use the software, but thy have to understand how to interpret the outcome
resulted, possible only in case they understand very well at least the logic of the data-mining
models used in designing the fraud detection model. Thus, we underline how important
becomes accountants, fraud examiners and auditors have to develop their data analysis skill
from a more advanced perspective.

[1] Alden, M., D. Bryan, B. Lessley, and A. Tripathy (2012),Detection of Financial Statement
Fraud Using Evolutionary Algorithms, Journal of Emerging Technologies in Accounting, vol.
[2] Amani F.A., Fadlalla A.M. (2017), Data mining applications in accounting: A review of the
literature and organizing framework, International Journal of Accounting Information
Systems, vol. 24;

[3] Ata A., Seyrek I.H. (2009), The use of datamining techniques in detecting fraudulent
financial statements: an application on manufacturing firms, Suleyman Demirel
University, The Journal of Faculty of Economicsand Administrative Sciences, vol. 14, issue
[4] Baesens B., van Vlasselaer V., Verbeke W. (2015), Fraud Analytics Using Descriptive,
Predictive, and Social Network Techniques. A Guide to Data Science for Fraud Detection,
Wiley, New Jersey, Canada;
[5] Bell T., Carcello J., (2000), A Decision Aid for Assessing the Likelihood of Fraudulent
Financial Reporting, Auditing: A Journal of Practice & Theory, vol.9, issue.1;
[6] Beneish M. (1999), The detection of earnings manipulation, Financial Analysis Journal,
[7] Bhattacharya, Sukanto, Dongming Xu, and Kuldeep Kumar. 2011. An ANN-based auditor
decision support system using Benford's law, Decision Support Systems, vol. 50, issue 3;
[8] Caron, F., J. Vanthienen, and B. Baesens (2013),Comprehensive rule-based compliance
checking and risk management with process mining, Decision Support Systems, vol. 54, issue
[9] Chen, S. D. 2016. Detection of fraudulent financial statements using the hybrid data mining
approach, Springerplus, vol. 5;
[10] Coenen T. (2008), Essentials of Corporate Fraud, Wiley, New Jersey, Canada;
[11] Debreceny, R. S., and G. L. Gray. (2011),Data Mining of Electronic Mail and Auditing: A
Research Agenda, Journal of Information Systems, vol. 25, issue 2;
[12] Dechow, P. M., W. Ge, C. R. Larson, and R. G. Sloan. 2011. Predicting Material Accounting
Misstatements, Contemporary Accounting Research, vol. 28, issue 1;
[13] Elsas P. (2008), X-raying Segregation of Duties: Support to illuminate an enterprise’s
immunity to solo-fraud, International Journal of Accounting Information Systems, vol. 9,
issue 2;
[14] Fanning K., Cogger K. (1998), Neural Network Detection of Management Fraud Using
Published Financial Data, International Journal of Intelligent Systems in Accounting,Finance
& Management, vol.7, issue 1;
[15] ICAEW (2014), Big data and analytics – what’s new?, Information Technology Faculty;
[16] Jans, M., N. Lybaert, and K. Vanhoof(2010),Internal fraud risk reduction: Results of a data
mining case study, International Journal of Accounting Information Systems, vol. 11, issue 1;
[17] Jans, Mieke, Michael G. Alles, and Miklos A. Vasarhelyi. (2014),A field study on the use of
process mining of event logs as an analytical procedure in auditing, The AccountingReview,
vol 89, issue 5;
[18] Jones M. (2011), Creative Accounting. Fraud and International Accounting Standards,
Wiley, New Jersey, Canada;
[19] Kirkos E. , Spathis C., Manolopoulos Y. (2007), Data mining techniques for the detection of
fraudulent financial statements, Expert Systems withApplications, vol. 32;
[20] Lin C.C., Chiu A.A., Huang S.Y., Yen D.C., (2015), Detecting the financial statement fraud:
The analysis of the differences between data mining techniques and experts’ judgments,
Knowledge-Based Systems, vol. 89;
[21] Lin J.W., Hwang M.I., Becker J.D. (2003), A Fuzzy Neural Network for Assessing the Risk of
Fraudulent Financial Reporting, Managerial Auditing Journal , vol. 18, issue 8;
[22] Mantone P.S. (2013), Using Analytics to Detect Possible Fraud. Tools and Techniques,
Wiley, New Jersey, Canada;
[23] Perols, J. (2011),Financial Statement Fraud Detection: An Analysis of Statistical and
Machine Learning Algorithms, Auditing, vol. 30, issue 2;
[24] Perols J. (2011), Financial Statements Fraud Detection: An Analysis of the Statistical and
Machine Learning Algorithms, Auditing: A Journal of Practice & Theory, vol. 30, issue 2;
[25] Ravisankar, P., V. Ravi, G. Raghava Rao, and I. Bose (2011),Detection of financial statement
fraud and feature selection using data mining techniques, Decision Support Systems, vol. 50,
issue 2;
[26] Ravisankar P., Ravi V., Rao G.R., Bose I. (2011), Detection of financial statement fraud and
feature selection using data mining techniques, Decision Support Systems, vol. 50;

[27] SadasivamG.S., Mutyala S., Dasaraju H., Bhanu P.P., Maha S.L. (2016), Corporate
governance fraud detection from annual reports using big data analytics, International
Journal of Big DataIntelligence, vol. 3, issue 1;
[28] Salehi M., Zahdi F.F. (2013), Data Mining Approach to Prediction of Going Concern using
Classification and Regression Tree (CART), Global Journal of Management and Business
Research Accounting and Auditing, vol. 13, issue 3;
[29] Singleton T., Singleton A., Bologna J., Lindquist (2006), Fraud Auditing and Forensic
Accounting, 3rd edition, Wiley, New Jersey, Canada;
[30] Sunder G. (2015), Fraud and fraud detection. A Data Analytics Approach, Wiley, New
Jersey, Canada;
[31] Thiprungsri S., Vasarhelyi M.A. (2011), Cluster Analysis for Anomaly Detection in
Accounting Data: An Audit Approach, The International Journal of Digital Accounting
Research, vol. 11;
[32] van der Aalst, W., K. van Hee, J. M. van der Werf, A. Kumar, and M. Verdonk (2011),
Conceptual model for online auditing, Decision Support Systems, vol. 50, issue 3;
[33] Yang M., Adomacivius G., Burtch G., Ren Y. (2017), Mind the Gap: Accounting for
Measurement Error and Misclassification in Variables Generated via Data Mining,
Information Systems Research, forthcoming.

Android Steganography Application - Lynx
Chiş Gabriel Iosifa, Ilieş Adrian Ioanbd
Applied computer science, Str. Elena Dragoi, no.2, 310330, Arad, Complex M University
Applied computer science, Str. Elena Dragoi, no.2, 310330, Arad, Complex M University

Scientific Advisor: Prof.Univ.dr. Bucerzan Dominic

Faculty of Exact Sciences, Str. Elena Dragoi, no.2, 310330, Arad, Complex M University

Since the sudden growth of mobile technology, smartphones are slowly taking over. This can be
attributed to the fact that, with every season, faster and more powerful waves of mobile devices are
released and some of the more basic tasks that we used computers for, are taken over by smartphones.
Even though their accessibility is appealing, we still have to remember that, securing confidential data
is still a very important topic. Nowadays almost every conversation is online, so we should be careful
what sort of information we willingly share and sometimes immortalize on the internet. We developed
our application, Lynx, with the purpose of providing an extra layer of security for the digital
information transfer for smartphones that use Android. By using image steganography, we are able to
slip information past unsuspecting eyes by using a cover image, a fast and efficient algorithm and
strong encryption.

Keywords: Steganography; Cryptography; Android;

1. Introduction

Steganography is a method used for hiding information. It is derived from the Greek word
“steganos” and “graphei” which mean “covered” and “writing” [1]. Steganography
techniques use different covers (in most cases media files like: digital picture, video or audio
file) to hide sensitive information. In this paper, we focused on image steganography
processed using mobile devices [2]. If a person views the edited image in which data is
hidden, it should not raise any suspicion to that person because the changes should be
imperceptible to the human eye, or ear in case of audio files.
In the modern era, the internet provides an easy method for people all around the globe to
exchange information at very fast speed, without the concern over distance, the only problem
being security. In order to secure confidential data, people resorted to cryptography to
encrypt and secure information.
Steganography differs from cryptography. The goal of steganography is to hide the
message, making it hard for eavesdropper to notice any confidential data. The purpose of
Cryptography is to alter the information to a point where it can only be understood by the
intended audience. In some cases, sending encrypted messages can draw attention, while
hidden data will not. If the presence of the hidden data is detected, the purpose of
steganography is compromised.
Specialists in the field suggest that he best method for making sure that no confidential
data is stolen, would be using both techniques. This way, if the hidden content is found, the
encryption would further protect the data from attackers.
As stated in his work, Rughani [3] said that there is a problem when trying to create a
common algorithm with all the mobile manufacturers present on the global market, but since
* Corresponding author,
E-mail address:

Android OS covers more than half of the market, we decided that it would be the best
platform to implement our project.

2. Related works

The study [7] states that today’s smartdevices computational performances are very close
to those of traditional computers and can support complex operations and cryptographic
Most of the android applications found on the Google play store can only hide a short
message and can’t hide other files, or have weak or no encryption at all.
One impressive application found on the Google play market is Olmaredo Sego [8]. It
supports a wide variety of customization, like block dimension and image manipulation, but
it lacks the capability to hide files. Another interesting application is Stegais [9]. It can also
encode audio files that you record and it has password protection. The problem is that it lacks
the option to hide files or take pictures. We also investigated the rest of the applications
present on the store, but most of them use the same source code or lack the encryption

3. Proposed solution

The solution that we propose is based on the LSB (Least Significant Bit) method. This
technique uses the least significant bit from every pixel in the target image to store the
desired data. Because the impact that these bits have, it is impossible for the human eye to
notice any difference between the original image and the image edited by the algorithm.
Regarding the cover file (the image that holds the secret information), we choose to work
with PNG (Portable Network Graphics) format because it is a lossless image format that
ensures that the image won’t be compressed in such a way that it will lose data in
consequence [4]. Lossless compression algorithms won’t remove data from the original
image, but instead use mathematical algorithms to represent data. The integrity of the image
file is preserved, and the images are identical after compression. The disadvantage is the
larger file size, and the advantage being no data loss.
It is also very important to access the original file that is stored on the SD card, which is
quite tricky when it comes to how Android returns the path [6].
The environment we used was Android Studio and the programming language we used
was the default for Android OS, Java.
The workflow of the proposed application, Lynx, is as follows:
 The user chooses whether he would like to hide text / files and if he wishes to use
encryption or not.
 After the desired options had been chosen, then the user has the option to take a picture
using the apps in built option that uses the device's camera, and then converts the obtained
file into .png format, and then copies the path and loads it into memory or the user can
choose the picture from the phone's memory.
 After the image path has been loaded, if the option has been chosen the file path is chosen
next using the same method as the photo picker. Or, if the user chose to hide text, a text
box is displayed instead of the file path and file picker button.
 If the user chose, a password box will appear that will be used for the AES encryption.
 After all required actions, the user can use encode button and the LSB method will
initialize hiding the desired file or text in the cover photo.
 After the photo was saved, the user can then send it via email or messenger, or any other
 Once the other end receives the image it can use the application to decode the hidden text
or file using the password.
 After the decoding process finalizes, the text will be displayed on screen, or if the case, the
path to the decoded path will be shown.

Figure 1: Lynx User interface Figure 2: The selection screen

In order to make sure the information is secured even if someone suspects that information
is hidden, we used encryption to further secure the data. The method we chose is the
Advanced Encryption Standard (AES). It is based on a substitution and permutation network,
combining both in a fast manner for both software and hardware [5].
After the user chooses to use encryption, a textbox will appear for the user to input his
password, after the encryption class will generate a seeded randomized key based on his
password and encrypt the data, removing access from unwanted users.

Figure 3: Decryption password field

After the user has selected the desired picture and the target file, as shown in Figure 2, then
the steganography process can begin, and after the process has finalized the user will receive
a confirmation message. After the image was sent to the desired destination, the user can then
select the decode option as seen in Figure 1, then the user input will be required as shown in
Figure 3. After the decoding will be complete the path to the file (or the hidden message) will
be displayed on screen, as seen in Figure 4.

Figure 4: The decoded result screen

As seen in figure 5, after the secret file was hidden, it is impossible for the human eye to
spot the difference between the cover and the original.
The hidden file size should be maximum 1/8th of the image file size in order for the
application to start the process.
Characteristics of the cover image:
 Format: PNG image
 Size: 4,83 MB
 Resolution: 2300x1800

Figure 5: The original image (1) and the image with the file embedded (2)

Characteristics of the hidden file:

 File type: .docx

 Size: 1,43 MB (about 120 pages of text)

Characteristics of the resulted image:

 File size: 4,83 MB

 Size: 4,83 MB
 Resolution: 2300x1800

4. Conclusion

Even though mobile phones don’t have the processing power of a personal computer, their
computing speed is quite impressive, slowly catching up, and taking over mundane tasks like
communication and casual data exchange. Lynx provides a safer way of exchanging data
between users, ensuring their privacy.
The Android Studio provided quite an impressive array of tools, and apart for a minor
problem with the file paths, using the function provided by the OS was quite accessible.
Our application has its own camera function that converts the image to a PNG file, it can
hide text as well as all types of files, uses AES encryption as an added layer of security and
offers customizability for the user and it can hide text as well as a large variety of files.
In the future, we intend to improve the algorithm’s processing speed and add the option to
exchange files directly through the application itself.

[1] N. Provos, P. Honeyman, 2003. Hide and seek: an introduction to steganography, IEEE Security
& Privacy 2003, Volume 99, Issue 3,
[2] K. Szczypiorski, November 2003. Steganography in TCP/IP Networks, State of the Art and a
Proposal of a New System-HICCUPS, Institute of Telecommunications' seminar, Warsaw
University of Technology, Poland.
[3] P. H. Rughani, H. N. Pandya, May 2012. Steganography on Android Based Smart Phones,
International Journal of Mobile & Adhoc Network,
[4] Matthias Gelbmann, January 31 2013. The PNG image file format is now more popular than
GIF, W3Techs. Q-Success.Retrieved March 22, 2013.
[5] Federal Information Processing Standards Publication 197, United States National Institute of
Standards and Technology (NIST), November 26 2001
[6] D. Bucerzan, C. Ratiu, M.J. Manolescu, SmartSteg: A New Android Based Steganography
Application, International Journal of Computers, Communications & Control, September 2013,
Vol. 8 Issue 5
[7] Crina Anina Bejan, Dominic Bucerzan, On Image Steganography Metrics for mobile platforms,
Proceedings of the 16th International Conference on INFORMATICS in ECONOMY (IE 2017)
Education, Research & Business Technologies, ISSN 2284-7472, Published by Bucharest
University of Economic Studies Press, 2017/5.
[8] (visited on
[9] (visited on 25.04.2017)

Isosceles and Equilateral triangles from a higher point of view
Covari (Coroian) Margareta*e
University of Petrosani, Universitatii street 20, Petrosani 332006, Romania

Scientific Advisor: Assoc. Prof. PhD Noaghi Sorin

University of Petrosani, Universitatii street 20, Petrosani 332006, Romania

Purpose of this paper is to present some properties of isosceles triangle and equilateral triangle. Let P
be the intersection point of the Cevennes lines AA′, BB′, CC′ in △ABC. A couple of remarkable
points of the triangle (denoted G, H, K, Γ, N) are identified, such that the congruence of two segments
among [PA′], [PB′] and [PC′ ] implies the property of the triangle to be isosceles. The same way we
obtain several other characterizations of the equilateral triangle.

Keywords:Simedian; Gergonne′ s point; Nagel′ s point; orthocenter; centroid;Spiecker point

1. Outstanding properties of the isosceles triangle

The aim of the paper is to present some more distinctive properties of the isosceles and
equilateral triangles. As we approach the different properties of Isosceles and Equilateral we
will also recall some of the remarkable points, straight lines and triangles that are the subject
of the bachelor's work: The Geometry of the Remarkable Triangles. We chose a superior
approach, and we hope that the detained deeds are enough to bring anyone into the
fascinating universe of the triangle geometry.
The competition point of three Cevennes AA′, BB′, CC′ with A′ ∈ (BC),
B′∈(CA) and C ′∈(AB).

We ask ourselves the following question:

If two of the segments [PA'], [PB'], [PC'] are congruent, then △ABC is an isosceles
We will give the answer a counter-example, showing that the statement is negative. In these
′ ′ ′ ′
circumstances we will note with and and reports that
′ ′ ′ ′

Covari ( Coroian ) Margareta,
E-mail address:

determine the position of AA', BB' and CC', respectively, to triangle, and we will also set the
formulas that give the segments' lengths [PA′], [PB′] and [PC′] depending on .
Indeed, according to Van Aubel’s theorem, we have:
′ ′
, from where:
′ ′ ′
(Stewart’s theorem)
and how ′ ′
a, we obtain:

( )

From (1) and (2) we deduce the formula for ′ and then analogously, we deduce ′ and
′ . So, we have:
′ ( ) ( ); (3)

′ ( ) ( ) ;

′ ( ) ( ).
The following counterexample shows that there is no implication PA'=PB'=PC'⇒△ABC
We will count the amount , we obtain a scalene triangle for any
c > 0 (indeed, a < c < b and b < a + c). For we have: m n p = 1, so
the AA', BB', CC' are competing. Using formulas (3), after the calculations, we find:
We will continue to present the specific cases for which the answer to the question posed
is positive.
i. The median( ). We have: GB' = GC' ⇒ 3GB' = 3GC' ⇒ BB' = CC' (BB', CC'
median) ⇒ △ABC isosceles with tip A.
ii. The heigth( ). We have HB' = HC' ⇒ △HB'A ≡ △HC'A ⇒ AB' = AC' ⇒ △AB'B
≡ △AC'C ⇒ AB = AC (triangles interposed are rectangular).
iii. Bisectors( ). This is a more complicated case. If only two of the segments [IA'],
[IB'], [IC'] are congruent, then △ABC may not be isosceles, as will be shown in the
following example: △ABCwith the measures of the angles A, B, C of: , or
is not obviously isosceles but we find that IB' = IC' (indeed,we have:
( ) ( ) and with the sinus
theorem in △AIB' and △AIC we obtain ′⇒ IB

=IC ). If IA =IB =IC ,then △ABCis equilateral.With theformula (1) and its analogs,
where the condition returns to: . Using the formulas for
calculating bisector lengths, we get . Putting here:

( ) and so on, then we will deduce the
– – –
equality . The final calculations lead us to: ( )
( ) ( ) .
iv. The Simedian( ).We will consider sharp-angled triangle .

Because: with formula (1) we will get:
and with (2) we find the length of simedian AA', that is ( ).
Therefore we will have:

( – ) ( – )

( ) ( )

( )( )

(in this condition the last parenthesis of the relation above, will not be zero and the
triangle is sharp).
( )( ) . The statements remain valid for the obtuse-
angle triangles in A, but not if the obtuse angle is B or C.
v. The Gergonne Cevennes( ). We know that AB '= AC' = p - a, BC '= BA' = p - b,
CA '= CB' = p - c, p = semi perimeter of the triangle. We will verify the equivalence
of the conditions:
1) b = c,
2) The Gergonne’s ceils from B and C are congruent,
3) Segments [BB] and [CR] are congruent.
Using the cosine theorem in △ABB 'and △ACC' we will have: BB' = CC'
( – ) ( )( ( – ) ( )
( )( )
( )[ ( ) ]
I assume now that ΓB '= ΓC', then △ΓB'C 'is isosceles, so BB'C' ≡ CC'B'.Since
△AB'C ' is isosceles, we also have BC'B' ≡ CB'C 'then △BB'C' ≡ △CC'B 'and we
deduce that BB' = CC 'and consequently b = c (q.e.d.).
vi. Nagel Cevennes ( ).
In this case, BC '= CB' = p - a, CA '= AC' = p - b, AB '= BA' = p - c. Analog as in the
previous case. With the cosine theorem, applied in △ABB 'and △ACC', relative to
Nagel BB 'and CC', we have: BB' = CC'
( – ) ( )( ( – ) ( – )
([( ) ( ) ]) [ ( ) ( )]
( )[ ( ) ]

2. Outstanding properties of the isosceles triangle

We will use the following notations: the H point (orthogonal) corresponds to the H point
of the pedal triangle with important points, with obvious meanings, OH, GH, HH, IH etc. We
will only refer to sharp-angled triangles. We will solve some of the problems of the type: if
two important points (taken from different pedal triangles) coincide, then △ABC is
equilateral. Particular attention I will give to Spiecker point of the ABC triangle - the centre

of the circle inscribed in the median triangle, that is, in the agreed notations, point IG. The
procedure used follows from the observation: the points X and Y coincide if and only if the
legs of the vents going through these points coincide (the coincidence of the legs is sufficient
on only two sides of the triangle).

In this situation we will appeal to the following limb: In △ABC we consider Cevennes
AD, with D ∈ (BC). If a secant intersects the sides AB, AC, and Cevennes AD at points M, N,
respectively P, then the following two relations are true:

; (4)


Problem Let ABC be a triangle and the points M, N, P on the sides BC, CA or AB such
that In the MNP triangle we consider the concurrent MM ', NN', PP 'quadrants in Q (M' ∈

(NP), N '∈ ), P '(MN)), with. If {A '} = AQ ∩ BC we will calculate the ratio .

Proof According to his theorem, we have p1p2p3 = 1. Note {S} = AA '∩ P N, {T} =

AA' ∩ MN and (if AQ intersects [PM], we get the same result). So we find

′ ′
out that . According to the relation (4), we
′ ′

( ) , that is:

( )

With relation (5), we deduce:

′ ′ ′

and with Van - Aubel's relation we will get:

′ ′
( ),
′ ′ ′

and the relation (7) becomes:

( ) ( )

, so:


Applying Menelaus' theorem to △MNC and transversal A-T-A' obtain:

or (9)

By substituting in relation (9) to t in relation (6) we will obtain a first degree equation whose
solution is:
( ) ( )
( ) ( )

If X is an important point in, we will note with the ratio in which the right AX divides
the BC side of the ABC triangle. In the case of Spiecker points, IG, we have:

ș . Using the relation (9') we will arrive by

calculation to the result .

Proposition 1 If (Spiecker points coincides with the centre of gravity of the

pedal triangle of point I) then △ABC is equilateral.

Proof Relative to the point we have:

ș is based on the relation (9') we get:

( )( )
( )( )

If , then, it is necessary , so that the relation becomes:

( )( )
( )( )

( )( )

Analogously we obtain a = b, so a = b = c and △ABC is equilateral.

Proposition 2 If (Spiecker point coincides with the centre of gravity of the
orthogonal triangle of △ABC), then △ABC is equilateral.

Proof With regard to we have: and

, based on the relation (9') we obtain:

( )
( )

We also have:
( )
[ ( ) ( )] ( )
( )

[ ( ) ( )] it follows that b = c. Analogously, it is deduced

that a = b, so we can say that △ABC is an equilateral triangle.

Proposition 3 If (orthocentre of the median triangle coincides with the centre

of gravity of the oranges triangle), then △ABC is equilateral.

Proof The value of the report has been set in the previous sentence. For the point we
have: and we will get
. Then:

( )
( )
( – ) ( – )
( – ) ( – )( )
( – ) ( ) ( ) ( )
( )( )( )( ) Therefore we obtain b = c. We
also obtain a = b and result that △ABC is an equilateral triangle.


i. Formula (9') is useful only if the sides of the pedal triangle are easy to find or if they
are not needed to solve the problem.
ii. The same formula (9') is useful if we want to prove that △ABC is an equilateral
triangle, as follows:
-the Nagel’s point of the median triangle is the center of the circle inscribed in the given
-the isotomicpoints of the mediantriangle orthocenter is the Lemoine point of the given

-the point of Lemoine's contact triangle is Gergonne's point of the given triangle.

In conclusion we will quote Galileo Galilei, (1564-1642, Italian scientist and


"The universe cannot be read until we learn its language and do not adapt to the letters in
which it is written. It is written in mathematical language, and the letters are triangles,
circles and other geometric figures, means without which it is impossible for man to
understand a single word. Without this, man wanders in a dark maze.”

[1] Barbu, C., 2008.Fundamental theorems of the triangle geometry, Editor Unique PublishingHouse,
[2] Toma, F., 2011.Properties characteristic of the equilateral triangle, Mathematical Recreation.
[3] Mihalescu, G., 1957. The Geometry of Remarkable Elements, Editor: Technical Publishing House,

The Difference Between the Latest Macs and PCs
Cristea Marius Petruf*, Cazan Oana Roxanag*
Aurel Vlaicu University, Bd. Revoluţiei nr. 77,Arad, 310130,Romania

Scientific Advisor: MihaelaDaciana Crăciun

Aurel Vlaicu University, B-dul Revoluţiei nr. 77,Arad, 310130,Romania

In this paper we present a comparison between software and hardware characteristics of the most two
famous computer manufactures in the world. We analyze howwindows isbooting from an Apple
hardware and we speak a little bit of how battery perform,customer support,file encryption and other
software compatibility and differences.
Generally, a PC is equal with a computer which operates on the Windows System. Also, it is
characterized as an IBM*– compatible computer, thus the sense that its architecture is established on
the IBM microprocessor.
Macintosh like Mac is a type name which defrays a couple lines of personal computer designed,
developed and marketed by Apple Inc. The uniqueness of Mac is that it can run all the most important
operating systems, including Mac OS Sierra and Windows 10. With operating system –or software-
like Parallels Desktop or VMware Fusion they can be run side by side.
The competition between Microsoft’s first desktop PC, the Surface Studio, and Apple’s refreshed
MacBook Pro Line, which handle the new Touch Bar Control, turns around.
The winner of this competition is Apple because its platforms support also other operating systems
including Windows and his autonomy of battery is higher, the booting is faster and it has many ideas
that are improving the way we use computers.

Keywords: Macs; PCs; Windows; operating system; Macintosh;

1. The main computer manufactures on the market

There are many different PC manufacturers, giving customers lots of different options and
brands to choose from.
Microsoft may be in the hardware business now, but companies like HP, Acer, Lenovo, Dell,
and many others still make the vast majority of Windows PCs in the world.
Apple makes both the Mac hardware and the macOS software. So if you want a Mac, you
need to go through Apple.
Founded in 1975, Microsoft (Nasdaq “MSFT”) is the worldwide leader in software, services
and devices. Apple first launched the Macintosh, commonly known as Mac, in 1984. The
product was considered revolutionary at the time, as it was the first personal computer
targeting the consumer market. It was sold without a programming language and had an
integral graphical user interface and mouse. The line of Apple’s Mac computers has evolved
over time and, as of 2016, includes six Mac computer models – MacBook, MacBook Air,
MacBook Pro, Mac Mini, iMac and Mac Pro – along with accessories and complementary
products for these particular device. On 2 May 2017 Apple reported its financial results for its
fiscal second quarter of 2017, the quarter that ended 31 March 2017. Revenue and profit were

* Cristea Marius Petru,
* Cazan Oana Roxana,

up year on year,see (Figure 1).You can also see the statistics today, regardind the OS in the
world in (Figure 2).

Figure 1 - PC Shipments 2017

Figure2 - PC Shipments 2017

Figure 2 - SO on the market

2.Hardware design

Regarding hardware design, Apple win because the creator of Apple’s design, Jony Ive,
when he designed his first iMac, back in 1998, that came as a colourful and stylish. From
then to present there have been manyingenious designssuch as the MacBook, MacBook Air,
MacBook Pro and the different iterations of the original iMac- counting an absolutely
beautiful angle, stand lamp style, observe (Figure3).

Figure 3 - The iMac G4

The latest Microsoft’s Surface Studio PC and Microsoft’s excellent Surface Pro 4 tablet are
a real threat for Apple with an ingenious design, see the(Figure4). There are still a lot of ugly
Windows PC’s out, depending on the make and model. But finally, some real ideas are
getting to emerge.

Figure 4 - Microsoft Surface Studio

3.About software

Apple includes apps for basic photo editing, video production, audio production.
Windows standard apps are quite simple. There is a photo app, but it’s more for
organisation than editing.Windows has an enormous amount of apps that you can buy, much
more then Macs, but the truth is that the apss you get from the begining on your Mac are
everything you need for daily usage.

3.1. Windows 10 versus macOS

Apple’s software has long been heralded as a better designed and easier to use system, with
Windows being a less glossy but more adaptable option. Well,today that is no longer true.
Both systems offer all the major features you’d expect of a modern operating system and, for
daily usage, most people would be fine with either.
Microsoft Windows 10 and Apple's macOS look completely differentfrom one another.
With Windows 10, Microsoft tried to merge the user-friendliness of Windows 7 with the
touchscreen-friendliness of Windows 8. Generally speaking, it works. And you can switch
between a traditional desktop and a "tablet mode" that gives you a grid of apps.
Apple macOS has a cleaner, less busy look. At its most basic level, you have a desktop, a
dock for accessing all of your favorite apps, and a taskbar across the top of the screen.
It’s in the details, though, where they differ. If you’re a gamer, you’ll probably want to
stick with Windows particularly because you can adapt your own hardware to suit your
needs. That might mean building a system from zero or just upgrading your graphics card.

3.2. Compatibility, stability and customer support

In the past years, PCs were known to crash, and users would get the “blue screen,” but
Microsoft has made their operating systems more reliable in recent years. On the other hand,
Mac hardware and software have tended to be stable.
And though the PC tends to dominate in the workplace, many software programs for
professional use–including Microsoft Officeand the Adobe Creative Suite–have versions for
both operating systems. Both systems support most open-source software.
When your Mac breaks, you can take it to your local Apple Store. There, a specialist can
help you out with your Mac. If the problem can be fixed in one session, there's usually no
Microsoft has its retail stores, with its Genius Bar-like Answer Desk. The customer service
at the Microsoft Stores is great. But unlike Apple, Microsoft doesn't make all of the
computers it sells, which means they sometimes have to send it back to the manufacturer for

4.Windows runs on tablets, too — not just laptop and desktop computers

Windows 10 is available on devices of all sizes, from giant all-in-one computers to laptops
to tiny 8-inch tablets,see (Figure 5). If you want macOS, it's only available for Apple's laptops,
desktops, and all-in-one computers.Microsoft tried to make one operating system that can run
on laptops, desktops, tablets, smartphones, and eventually, the futuristic HoloLens -
holographic goggles.

Figure 5 - Windows running on the tablet

5.Want the best of both worlds? Macs can run Windows!

Macs have the ability to run Windows,you can notice that in (Figure 6) windows run on a
Macbook,either through a virtual machine or directly on the system.Every Mac has a built-in
program called Boot Camp that lets you install Windows on your machine.

Figure 6 - Windows running on Mac

5.1. Booting Directly Into Windows

I can to boot directly into Windows. This means partitioning your hard drive so that it’s
shared between OS Sierra and Windows 10 and then using the Boot Camp Utility represented
in(Figure 7), in OS Sierra to create a bootable USB drive containing the Windows installer and
Apple’s Boot Camp drivers.

Figure 7 - Interface of the program Boot Camp Utility

The Boot Camp Assistant is Apple’s utility for running Windows on my Mac (meaning
that you shut down OS Sierra and boot into Windows).
I start up Boot Camp Assistant (found in /Applications/Utilities/),and i use the option to
create a bootable install disk using a USB drive and download the latest Boot Camp drivers.I
used a USB drive plugged in (at least 8GB)to create a Windows installation drive.
To use the BootCamp Assistant for prepping my Mac to install Windows,i’ll need at least
50GB free on my hard drive and also check the “Install or remove Windows 8 or later
version” option. The Assistant will give me a slider allowing you to choose how much space i
want to allocate to Windows.
Once you have created the installer and partitioned the hard drive, i’ll restart my Mac and
boot using the USB drive i just created. The Boot Camp Assistant should do this for me
automatically, but i can also select the USB drive from the boot menu by holding down
the Option keyshown in(Figure 8), as my Mac boots.
To install Windows, you used a “custom install”, and i format the partition created by the
Boot Camp Assistant. Then iwait for Windows to complet the installation process.After the
desktop starts,i install (running setup.exe ) the Boot Camp drivers from the USB drive that i
set up with the Boot Camp Assistant.

Figure 8 - Press the button during boot

5.2. Parallels Desktop (for Mac)

To use Parallels, you'll need a copy of Windows on my Mac, and Parallels gives me
multiple ways of getting one. A button on the New Virtual Machine wizard let me download
Windows 10 directly from Microsoft.

6. Windows PCs have such terrible battery life compared to Mac and iOS?

The battery life discrepancy between Windows and other operating systems,please see
(Figure 9) , has never been clearer than with the Surface Pro 2and the 2013 MacBook Air —
both have very similar specs (Haswell Core i5 CPU/GPU, battery size), and yet Apple’s
laptop has almost twice the battery life of Microsoft’s tablet.
The most sensible argument is that Apple designs its hardware and software to work
perfectly together and to uses less energy to get things done. Microsoft, on the other hand,
has to write software that works equally well across a massive range of hardware.

Figure 3 - Statistics of battery

7.Easily Encrypt Files on Windows 10, and Mac OS Sierra

BitLocker Drive Encryption is a data protection feature that integrates with the operating
system and addresses the threats of data theft or exposure from lost, stolen, or inappropriately
decommissioned computers.
You can hide files on any operating system, but hidden files can be accessed by anyone
with access to your PC or itsstorage. Encryption actually protects your files, preventing
people from accessing them without your encryption key. Windows has built-in BitLocker
encryption. BitLocker drive encryptioncan encrypt your entire Windows system
drive,observe(Figure 10) or another internal drive.
On Mac OS Sierrayou can use FileVault to encrypt the information on your Mac. FileVault
encodes the data on your startup disk so that unauthorized users, apps, or utilities can’t access
your information.
To set up FileVault, you must be an administrator. When you turn on FileVault, you
choose how you want to unlock your startup disk if you ever forget your password: using
your iCloud account and password,observe (Figure 11), or using a recovery key that’s created
for you. If you choose the recovery key, keep a copy of the key somewhere other than your
encrypted startup disk. If you write the key down, be sure to exactly copy the letters and
numbers that
Figure 4 - The encrypt of C partition, on Windows

are shown, and keep it somewhere safe that you’ll remember—but not in the same physical
location as your

Figure 5 - Decryption of OS

Mac, where it can be discovered.If your Mac is at a business or school, your institution can
also set a recovery key to unlock it.
Apple’s Mac OS also includes a variety of built-in encryption features. FileVault allows
you to encrypt an entire system drive. You can also quickly encrypt a removable drive from
the Finder — you’ll see an encryption password prompt when you plug it into a Mac in the
future. The Disk Utility allows you to create an encrypted disk image file you can lock and
unlock on demand. All of these features are built-in and can set up and used with a few
Encryption is a complex topic. Whatever encryption scheme you choose to use, be sure to
set a strong passphrase.


Now, more than ever, both platforms are remarkably similar. Both types of machines use
Intel processors (although some PCs can be configured with processors from AMD). Both
buy memory, hard drives and graphics cards from the same suppliers. The underlying
operating systems have distinctly different flavors, but in terms of functionality, Microsoft
Windows 10 and Mac OS Sierra have surprisingly similar built-in multimedia, Internet and
productivity applications.What makes the platforms feel so dissimilar is their approaches to
these applications. Internet Explorer versus Safari, Windows Media Center versus Front Row,
Photo Gallery versus iPhoto, Backup and Restore Center versus Time Machine—these
system components from Microsoft and Apple are designed to accomplish essentially the
same goals.
Fortunately, this debate has actually been the catalyst for ongoing improvements for both
platforms, making them more intuitive, powerful, and user-friendly. The future of both PCs
and Macs looks increasingly exciting!


[1] AppleInsider: Apple Mac shipments slide 13% in Q3 amid PC market slowdown, Posted:
October 11, 2016 in Current Mac Hardware
[2]Jared writes for PCWorld and TechHive from his remote outpost in Cincinnati: Windows 8 grabs
more market share, but so do older versions, AUG 1, 2013
[3]Benj is editor-in-chief of Vintage Computing and Gaming. He's written for the PCWorld,
Macworld, Atlantic, PCMag and Fast Company :The Exceptional iMac G4: Ten years later, JUL
18, 2012
[4]TechNave: Microsoft announces the Surface Studio, Surface Dial and a new Surface Book, - Oct
27, 2016
[5]JOEL SANTO DOMINGO :The Best Windows Tablets of 2017,MAY 9, 2017
[6]Phil South :The Complete Guide to Installing Windows 10 on Mac,23rd Jan 2017
[7] Phil South :The Complete Guide to Installing Windows 10 on Mac,23rd Jan 2017
[8] AJ: Change the Mac Startup Drive on Boot, Mar 22, 201, in Mac OS X, Tips & Tricks
[9]Sebastian Anthony:Why do Windows PCs have such terrible battery life compared to Mac
and iOS?, October 21, 2013
[10]Chris Hoffman : Should You Upgrade to the Professional Edition of Windows 10?, on July 17th,
[11]Chris Hoffman : How to Encrypt Your Mac’s System Drive, Removable Devices, and Individual
Files,March 17th, 2014

Fractals design with C#. Julia Set
Marcela-Florina Floreaa
a. Aurel Vlaicu University of Arad, Faculty of Exact Science, Student MMCD

Scientific Advisor: Conf. univ. dr. Marius Lucian Tomescub

b. Department of Mathematics and Computer Science,Aurel Vlaicu University of Arad, Romania

In this paper I present the general theoretical aspects of fractals, the fields where are they applied and
a more detailed study about the Julia set. I also created a C# application that generates the Julia set.

Keywords: fractals, C#, Julia Set.

1. Preliminaries

Benoit Mandelbrot was a French mathematician, American jew born in 1924. He bring his
contributions in fields like mathematics, physics and finance, but he is known most as “the
father of fractal geometry”. [1]
Fractals are extraordinary shapes and designs created using mathematical equations. An
intuitive definition of fractal is this: A fractal is a geometric shape that can be split into
fragmented part so that each of them is a miniature of the whore. [6]
The proprieties of fractals are: fine structure- it shows details on arbitrary small scales;
irregularity- i.e. difficulty in being described in Euclidean language and auto-similarity- i.e.
each component of the set is a miniature copy of the whole.
To build a fractal we use an initiator (segment, curve or original form), a generator( usually
used to construct a new shape of the one that was obtained before) to iterate the set. [3]
Some famous example of fractals are:
(i) Sierpinski’s carpet;
(ii) Sierpinski’s triangle;
(iii) Koch’s flake;
(iv) Mandelbrot set[1]
(v) Julia Set.
(vi) Cantor set;
(vii) Peano curve.

2. Julia Set

Gaston Julia was the mathematician that studied and created the Julia set, in 1918. The
Julia set is associated with those point z=xi+y on the complex plane, for which applying
zn+1=zn+c, does not tend to infinity, where c is a complex constant.
Computing a Julia set is easy. The image is created by mapping each pixel to a rectangle
part of the complex plane. The series are computed for each pixel( that represents the starting
point for the series) and if it diverges to infinity is drawn white, while if does not diverge to
infinity it is drawn black. [4]
The well-known Mandelbrot set forms a kind of index for Julia set. A Julia set is either
connected or disconnected, while values of c chosen from within the Mandelbrot set are

connected while those from outside of the Mandelbrot set are disconnected. So, for those c
where the Julia set is connected, there a actually in Mandelbrot set.

Figure 1. Julia set

3. The C# application

privatevoid Form1_Load(object sender, EventArgs e)

constint wt = 700;
constint ht = 400;
constint zoom = 1;
constint maxit = 255;
constint moveX = 0;
constint moveY = 0;
constdouble cX = -0.7;
constdouble cY = 0.27015;
double ax, ay, tmp;
int i;

var colors = (from c inEnumerable.Range(0, 256)

select Color.FromArgb((c >> 5) * 26, (c >> 3 & 8) * 26, (c & 3) * 75)).ToArray();

var bitmap = new Bitmap(wt, ht);

for (int x = 0; x < wt; x++)
for (int y = 0; y < ht; y++)
ax = 1.5 * (x - wt / 2) / (0.5 * zoom * wt) + moveX;
ay = 1.0 * (y - ht / 2) / (0.5 * zoom * ht) + moveY;
i = maxit;
while (ax * ax + ay * ay < 4 && i > 1)

tmp = ax * ax - ay * ay + cX;
ay = 2.0 * ax * ay + cY;
ax = tmp;
i -= 1;
bitmap.SetPixel(x, y, colors[i]);
pictureBox1.Image = bitmap;

Algorithm steps:

1. I defined a bitmap with wh=700, ht=400, witch is the real axis and the imaginary axis.
2. I go through each pixel of the image, calculating the real and the imaginary part of
that complex number denoted here by a, I iterated it an check if the point is in the set
or not.
3. I draw and set the color for the pixel, and after that I move to the next one.

The output is in figure 2.

Figure 1. The Julia set designed in C#

4. Fractals in nature

Benoit Mandelbrot studied the relationship between fractals and nature. He pointed
out that there are many fractals in nature that can model some phenomena. [2]
Approximate fractals can be seen easily in nature. This object display self-similar
structure on a large scale. Example of fractals in nature are: clouds, snowflakes,
crystals, mountain range, trees, lighting, coastlines.
Those natural object can also be computing using an recursive algorithm.
Also, in the human body we find some structure similar to fractals: branching veins
and arteries, kidney and skeletal structure, heart and nervous system.[6]

Because of their beauty, fractals are processed by some people in art, colored in their
different manifestations and grouped in fractal image galleries, to amaze and provoke
imagination. Also, fractals can be used to accurately model music produced by
different composers. Fractals are found in some painting and African art and


[1] Barnsley M., Fractals everywhere,1993, Second Edition, Academin Press Proffessional.
[2] Mandelbrot B., The fractal geometry of nature, 1982, W.H. Freenand and Company New
[3] Ribeiro M., The apparent fractal conjuncture, 2001, Fractals vol.9, nr. 3
[4] Schuller D., C# Game Programming, 2011, Course Rechnology.
[5] Stephens R., C# Graphics Programming, 2009, Wrox Briefs.
[6] Tomescu M., Palcu A., Florea M. , Fractals design with C#, 2016, ISREIE, p. 92
[7] Xu J., Practical C#, Charts and Graphycs, UniCAD

Approximation of fuzzy real numbers by trapezoidal fuzzy
Marcela-Florina Florea
Aurel Vlaicu University of Arad, Faculty of Exact Science, Arad, student MMCD

Scientific Advisor: Prof. univ. dr. Sorin Nădăban

Aurel Vlaicu University of Arad, Faculty of Exact Science,Arad

In this paper I presented a method to approximate fuzzy real numbers by trapezoidal fuzzy numbers. I
have wrote about the support, core and the expected value and how they are preserved using this
approximation. I used some examples and draw some graphics using FuzzyNumbers package in the R

Keywords: fuzzy, fuzzy number, approximation, trapezoidal fuzzy number, core, expected value.

1. Introduction

“Everything has numbers and nothing can be understand without numbers” (Philolaus)

Nowadays, most of the mathematical problems are characterized as complex processes

for which complete information is not available all the time. Many recent papers process and
transform imprecise information using the fuzzy theory introduced by Zadeh. For a more
efficient used of the information there is a need to approximate the fuzzy real numbers by
trapezoidal fuzzy numbers.[3], [6].

2. Preliminaries

Definition 1.
A fuzzy set F in an universe of discourse X is defined as the following set of pairs:
F={x, ( ) ∈ . (1)
Here, [ ] is a mapping called the membership value of ∈ in a fuzzy set F.

Definition 2.
A fuzzy set A is called normal if there is at least one point x∈ with ( )

A fuzzy set A is on convex if for any x,y∈ and ∈[ ] we have

( ( ) ) { ( ) ( ) (2)

Definition 4.
A fuzzy real number is a fuzzy set on the real line that satisfies the conditions of
normality and convexity.
[ ]fuzzy real number if:
(i) convex;
(ii) normal, i.e. ∈ ( )
(iii) upper semicontionus, i.e. ∈ ∈[ ] ( ) | |
( )

Fuzzy numbers play a significant role in many practical applications, since we often
describe our knowledge about object through numbers. Eg. “I am 180 cm tall” or “the teacher
arrived between 2 and 2.15 p.m.”.

Definition 5.
A fuzzy number A is said to be trapezoidal, of its membership function has the form of
trapezoid and is given by:

( ) { (3)

Where T=(a,b,c,d).

Example 1.
The fuzzy set of “teenagers” can be represented by the trapezoidal fuzzy number with the
membership function:

( )

The value Val of a trapezoidal fuzzy number A in F( ) is defined by:

Val(A)=∫ ( ( ) ( )) .

Where ( ) ( ) are the of the fuzzy real number A, defined as:

[ ( ) ( )] [ ( ) ( ) ( ) ( ),
lower:[0;1] [ ] – lower-
upper:[0;1] [ ] – upper -
The expected interval EI(A) is defined as:
EI(A)=[E*(A),E*(A)]=[∫ ( ) ∫ ( ) ]
Expected value is given by:
( ) ( )
EV(A)= .
Core of A is given by:
Core(A)=[ ( ) ( )]

Remark 1.
The expected value for a trapezoidal fuzzy number T=(a,b,c,d) is EV(T)=(a+b+c+d)/2.

3. Main results
The core of 1-cut of fuzzy numbers, which is an extension of the Euclidean distance is
defined by:
( ) ∫ ( ( ) ( )) ∫ ( ) ( )(4)
Where A,B∈ ( ).[2]

Theorem 1.
Let f,g1,g2,…,gm: be convex and differentiable function. The ̅ solves the convex
programming problem min f(x).
gi(x) bi, i∈{1,2,3…,m} if and only if it existis i∈{1,2,3…,m} such that:
(i) ( ̅) ∑ i ( ̅)
(ii) ( ̅)
(iv) ( ( )) [2]
Given a fuzzy real number A, [ ( ) ( )] ∈ [ ], the problem is to find a
trapezoidal fuzzy number T(A)=(t1,t2,t3,t4), which is the nearest to A with respect to metric D
and preserving the expected value and the core of A, that is EV(A)=EV(T(A)),
core(A)=core(T(A)). [1]
The problem is to minimize the distance between the fuzzy real number A and the
trapezoidal fuzzy number T(A).
T(A)=∫ [ ( ) ( ( ) )] ∫ [ ( ) ( ( ) )] .
t2= ( ), t3= ( )
So 2∫ [ ( ) ( )] .
The condition for T(A) to be a trapezoidal fuzzy number is:
, .
t4=2∫ [ ( ) ( )] -t1- ( ) ( ).
So T(A)=(t1,t2,t3,t4) becomes g(t1),
g(t1)= ∫ ( ) ( ))( ) ( ) ∫ ( ) ∫ ( ( )
( )) .
Where ( ) ( ) ( )∫ ( ( ) ( )) ( )( ) ( )(
( ) ( ) ( )
∫ ( ) ∫ ( ) ( ) ( )

Theorem 2.[5]
If A is a fuzzy real number and T(A) denotes the nearest(with respect to metrics) trapezoidal
fuzzy number A preserving the expected value and the core, then:
(i) If ∫ [( ) ( ) ( ) ( )] ( ) ( )

∫ [ ( ) ( )] ( ) ( )

t1=t2= ( ), t3= ( )
t4 = ∫ ( ) ∫ ( ) ( ) ( )
(ii) If ∫ [( ) ( ) ( ) ( )] ( ) ( )

∫ [ ( ) ( )] ( ) ( )

t1 = ∫ ( ) ∫ ( ) ( ) ( )
t2= ( ), t3=t4= ( ).
(iii) If ∫ [( ) ( ) ( ) ( )] ( ) ( )

∫ [( ) ( ) ( ) ( )] ( ) ( )

t1 = ∫ ( ( ) ( )) ( ) ∫ ( ( ) ( )) ( )
t2= ( ), t3= ( )
t4 = ∫ ( ( ) ( )) ( ) ∫ ( ( ) ( )) ( )

4. Applications
Complicated membership functions or complex membership functions bring difficulties to
modeled and interpretate the results. This is a reason why a suitable approximation of fuzzy
numbers is important.

Example 2.
+ left=function(x)pbeta(x,0.4,3),
+ right=function(x)1-x(1/4),
+ lower = function(alpha)qbeta(alpha,0.4,3),
+ upper = function(alpha)(1−alpha)4
(T1<−trapezoidalApproximation(A,method = ‘Naïve’))
Trapezoidalfuzzynumberwith :
support =[-5,20],
core =[3,6].
plot(T1,add = TRUE,col = 2,lty = 2)
The nearest Euclidean method gives the nearest L2 approximation of A.

Figure 1. Approximation of the fuzzy real number A

Example 3.
Trapezoidal fuzzy number with:
[1] 2.603383

Figure 2. Approximation of the fuzzy real number A preserving the core

5. Conclusions

In this paper I presented a method to approximate fuzzy real numbers using fuzzy
trapezoidal numbers. More methods can be found in [5], [6].I have also illustrated some
approximations using plots generates by the FuzzyNumbers package is R soft.


[1] Allahviranloo T., 2007, Trapezoidal approximation of fuzzy numbers, Fuzzy Sets and Systems, p.
[2] Brandas A., 2011, Approximation of fuzzy numbers by trapezoidal fuzzy numbers preserving the
core and the expected value, Stud. Univ. Babes Bolyai Math 56, p. 247
[3] Dubois D., Prade H., 1987, The mean value of a fuzzy number, Fuzzy Sets and Systems, p. 279
[4]Wenyi Z, Hongxing Li, 2006, Weighted triangular approximation of fuzzy numbers in
ScienceDirect, Elsevier Inc., p. 138
[5]Yeh, C., 2009, Approximations by interval, triangular and trapezoidal fuzzy numbers, Ifsa-Eusflat,
p. 143
[6] Yeh, C., Trapezoidal and triangular approximation of fuzzy numbers, 2008, Fuzzy Sets and
Systems, p. 1345.

Monitoring of housing parameters
Foltuț Vasileh
"Aurel Vlaicu" University of Arad,Faculty of Exact Sciences, Arad, Romania

Scientific Advisor: Lect. Univ. Dr. Chiș Violeta

"Aurel Vlaicu" University of Arad,Faculty of Exact Sciences, Arad, Romania


This paper describes a system for simple monitoring of a home, its architecture, the way it
works, how to design and build such a system. The users of this device will be normal people
or technicians. A technician has the ability to modify, delete or add new elements or settings
in the data base the system contains. A technician has the ability to modify, delete, add
elements or settings to the database he / she owns.
A beneficiary running the application can use it to check the status of sensors, device
controls, indoor and outdoor monitoring of the home.
The equipment used is from the range of products based on the technology called Arduino.
We wanted to create a system that can be easily adapted and used in almost every home. The
project was designed to create that type of monitoring that allows interaction with most
electrical systems found in a home.
The system uses a web interface, a database in which the measured values of the sensors
are written, it allows the interaction with a number of four relays, enables the activation or
deactivation of a motion detection system, the state of the environment by measuring some
parameters in the air, video monitoring in some areas.
Modern technology brings many benefits to the homeowner, our homes can have the
advantage of a smart home by using these Arduino-based equipment, offering extra comfort
and safety to those who are passionate about innovation or want to have a higher living

Keywords: temperature monitoring, dwelling equipment control, Arduino, database,

surveillance interface.

1. Argument

Nowadays, the term Smart Home is more and more frequently encountered because of the
fact that new technologies have appeared, technologies which allow the control of household
equipment, some of this having incorporated in intelligent devices of communication and
control; the requirements of the users are various and different and controlling your house
from a distance has become increasingly accessible. While in a traditional house the electric
system is used manually, in a smart house, the electronic and electrical appliances can be
turned on and controlled from a single point while all these devices communicate with one

* Corresponding author,
E-mail address:

The “intelligence” of a house is determined by the installation and configuration of the
electric and electronic systems which are able to perform certain actions using a command
unit and setting automatic rules for their good function.
A very important aspect for a house with many rooms is the control of central heating
systems, air conditioning and the system of lighting.
This can be done by using a system that can be programmed according to time (timed) or
an automated one by using presence sensors thus controlling how much electricity is
consumed in the unoccupied rooms, in which case the equipment in the rooms will be off.A
room control management can be done to be individually controlled, in automatic or manual
mode, so as to adjust the operating mode of the facilities individually for each room.
Programming the systems and equipment used to construct an energy-optimized home with
the automation and centralization of parameters in a data collection system has advantages
and disadvantages.

 Heating startup programming
 Programming the ventilation of different rooms
 When leaving the house, the central heating or air conditioning systems can be
configured to enter the economic mode
 Motorized blinds can be operated remotely to maintain optimal room temperature
depending on heat or sunshine
 activating plant irrigation systems (by placing soil moisture sensors in the ground)
 Protection against leakage of toxic or easily flammable gases
 Flood protection

 The high cost of equipment and its adaptation to existing installations
 These installations are not currently accessible to everyone
 A major disadvantage is that anything connected to the Internet is vulnerable to cyber
 Personal privacy is decreasing, as more and more data is collected about us.

2. Realization of the project

In the drafting of the practical application I used the Arduino hardware interface and
hardware, the PHP language and the XAMPP program package with the Apache server and
the MYSQL database system, HTML, CSS stylesheets, forms and flash files, graphs
presented using the open-source from
The aim was to make a project that could be easily used in a home by monitoring through
four temperature probes and a humidity probe (probes that can be put on the hot water circuit,
outside temperature and indoor temperature, for example), quality monitoring air parameters
(by installing a gas sensor) and video monitoring and also power consumption.
The Arduino equipment used in the project consists of the following electronic equipment:
the Arduino Mega programmable controller, the W5100 data transmission board, the DHT11
temperature and humidity sensor, the DS18B20 temperature sensors, the AC712 curent
sensor, the 2x16 LCD display, the keypad, motion sensor, MQ-2 gas sensor, four relay
module, LEDs to signal different system states (mode).

Figure 1.

Once the sensor pins are set, the following pins are set also: the pins to be used as system
outputs, the pins to control relays, those to communicate data to the display and to read the
actions to be applied to the numeric keypad.
After this step, the Arduino Mode is scheduled to be programmed, taking into account the
specific programming requirements necessary for sensor reading, relay control, association of
events with sounds which will be reproduced by a small buzzer, LED status.
Simultaneously with the programming stage when optimizing the code and adapting it to
the specific situation, new connections to hardware devices can be made. The diagram of
connections is shown in Figure 2, following this paper.

Figure 2.

2.1 The graphical interface

The interface uses the breadcrumb function to optimize the data display in a better way on
multiple platforms. In the first stage the menu represented by the access buttons, is disabled,
the function being available after the user authentication in the application. After logging in,
there is the possibility of adding new users.

Figure 3.

The buttons in the menu shown above have a well-defined role, each of them allowing you
to access a certain category of parameters to be displayed, graphics or controls. For example,
on the page that opens the Control button, it is possible to operate several relays that are
associated with the control of lighting devices, starting the conditioning / heating system. The
HTML code is loaded from the flash memory of the controller!
The commands given using the web interface are passed to the microcontroller, and the
status of the relays is displayed in the browser interface, displaying the ON / OFF values. The
status of the relays is also displayed by several leds / lights mounted sideways on the control
The Temperature button displays the real-time temperature from various locations
monitored by the Arduino module, reading the values of 4 temperature sensors and a
humidity sensor (DHT11 and DS18B20), showing the last database entry, the values on the
page are updated by a script Jquerry (refresh) at a preset interval of a few seconds. In this
area the diagram of the temperature graph is also displayed, generated by a javascript
provided by an open-source platform (, a script that retrieves from the
database the last 100 records for processing.

There are three buttons in the Alarm button area to activate / deactivate the motion sensor,
and a button that allows you to erase records from the table where the motion sensor detects
are recorded.

A passive infrared motion sensor is attached to The Arduino module, the 0 and 1 values
transmitted by the sensor are stored in the "presence" variable and when the value is 1, then a
database entry is made.
The gas sensor transmits a measured voltage value to the analogue port of the Arduino
plate, a value that is displayed in the graphical interface of the web page.
 tables with motion sensor records are displayed
 the measured value (raw) of the gas sensor is displayed.
 when the value read by the gas sensor exceeds a preset value, a red LED lights up on
the Arduino device and the sound is generated by the buzzer, and when the values are
within the set limit, a green LED is lit.
Depending on the temperature measured by the temperature sensor number 1, the ambient
temperature is displayed in the graphical interface, but also an image that suggests that

everything is OK. If the temperature sensor exceeds 50 degrees Celsius, an icon and the "Fire
Danger" message will be displayed in this area.
The Video button displays two video windows, the first displaying images taken from a
USB camcorder attached to the computer, and in another window a web address via an IP
that transmits a video stream directly from an IP camera, displaying video sequences in
The Energy button monitors the measured voltage of the Arduino device by the means of
a current sensor of up to 20 amperes mounted in the circuit, the current absorbed by the
power system in the energy meter, summing the recordings of the energy table, and keeping a
clear situation of the kilowatts consumed. At a few seconds’ interval, the data is inserted into
the database energy table by taking the values of the variables by a PHP script.
The graph of the measured parameters is displayed by generating a chart showing the last
measured values and the time of the measurement.
The voltage and amperage are displayed with a digital meter (vu-meter), taking the last
record from the database energy table.
On the LED display, the measured values of the sensors attached to the monitoring and
control system can be read in real time, displaying periodically the values of the temperature
and humidity sensors, the motion sensor and the gas sensor. Also, various messages are
displayed when you operate the numeric keypad.
The manual mode uses the four-line and four-column alphanumeric keypad. The keypad
facilitates direct access to the four relays, enabling and disabling the motion sensor, which is
only possible after an access code has been introduced to ensure safe operation on the
equipment that makes up this monitoring system. The state of access to the system with the
keyboard is signaled by two red and green LEDs.
Most actions on the keyboard are accompanied by sounds of different frequencies and
durations, being played through a small speaker (buzzer).

[1] Pietraru Radu-Nicolae, Velicu Alexandru, Elemente practice de bază în dezvoltarea
sistemelor cu microprocesoare integrate utilizând Arduino UNO, Editura Tehno Media,
Sibiu 2014.
[2] Anghel Traian, Programarea în PHP, Editura Polirom, București 2005.
[3] Cerchez Emanuela, Șerban Marinel, Programarea în limbajul C/C++ pentru liceu,
Editura Polirom, București 2005.
[4] Simion Ionel, Proiectarea paginilor WEB, Editura Teora, București 2005.
[5] Burța Alin, Informatică, Manual pentru clasa 12-a, Editura ALL Educational, București
[6] Mioara Gheorghe, Monica Tătărâm, Corina Achinca, Ioana Pestriţu, Informatică –
Manual pentru clasa a XII-a, Editura Corint Educaţional, Bucureşti 2007.
[7] (last access: 05.03.2017)
[9] Conexiune senzori la MYSQL
store-data-in-mysql-with-php-using-get-method (last access: 19.04.2017)
[10] What is Arduino? (last access:19.04.2017)
[11] (last access: 05.05.2017)

Music Player for Android Mobile Devices
Vilmoș Hegyiai
“Aurel Vlaicu” University, Faculty of Exact Sciences, Bd. Revoluției 77, 310295 Arad, Romania

Scientific Advisor: Lect. Univ. dr. Crina Anina Bejan

“Aurel Vlaicu” University, Faculty of Exact Sciences, Bd. Revoluției 77, 310295 Arad, Romania

This application is made as a demo to get experience in Android Development as well as in Software
Development and to give others the experience that building a music player application for our phone
device isn’t hard at all. The article is going to give a short presentation about the origins of the idea,
about what Android is, talk about how other related projects differ from my one and show the
procedure of how the application was created.

Keywords: Android; APK; mobile devices; MuZiK; music; music player; audio player; Android
Development; Java; Android Studio.

1. Introduction

Every human being, and as some researches show that even dogs, finds a certain music
with a purpose to listen at. Most people listen to music to relax and to get their mind off of
every day’s troubles. So, they usually listen to their favourite tune(s) to achieve this. Other
people listen to music to help themselves concentrate, be it studying or gaming or any other
activity, if the track is well chosen then it can help you work more efficiently and faster, being
more productive. Listening to our favourite song or songs can be easily done when we are on
our PC or laptop, where we create a playlist, but what if we have all those songs from our
phone and we would still like to have a playlist, or an app designed for this?... Here’s when I
thought an app with preloaded songs could help us listen to our own favourite songs and
decided I should test myself if I can make this become true.
1.1 Basic Theory – About Android

Android[1] is a Linux-based operating system for all kind of devices, such as smartphones,
tablets, TVs, wears, glasses, notebooks, game consoles and many other electronics. The
operating system (OS) is developed by the Open Handset Alliance, which is being led by
Google. It’s source code is released by Google under an open source license, meaning anyone
can customize it for their own tastes. This freedom has led to a large community of
developers and enthusiasts to use the source code as a foundation for community-driven
projects. The top of this operating system was best seen in 2013, from which it was the best-
selling OS on tablets and runs on the vast majority of the smartphones. The success of
Android has made it a target for patent and copyright litigation as part of the so-called
“smartphone wars” between technology companies.

1.2 Versions of Android Operating System

Android has come under various versions which have a codename as well, which would be
easier to recognise or to put in a family with (versions starting with same two numbers like

*Hegyi Vilmoș

4.1.x fall under the Gingerbread codename, no matter if it is 4.1.0. or 4.1.3). These also
include an API Level (ranging from 10 to 25 for now) which helps Android Developers
choose the lowest API Level to work with (so which is the oldest Android user that can use
the software) and a target API, which is chosen usually by popularity (most liked one as in no
bugs) or the one with the most active users (people that use that version day by day without
doing any upgrade due to whatever reasons, be it lack of resources such as RAM of mobile so
it would run slower, or lack of money to replace it and so on). The table below will show us a
few examples of Android versions and their codenames, respectively their API Level.
Table 1.The different versions of Android[2]

Codename Version API Level

Gingerbread 2.3.3 API level 10

Jelly Bean 4.1.x API level 16

KitKat 4.4 API level 19

Lollipop 5.0 API level 21

Marshmallow 6.0 API level 23

Nougat 7.1 API level 25

2. Related projects

Google Play[3] offers a lot of music apps developed by various people, due to streaming
not being quite good enough yet. We all have our own collection of media that we would like
to play, but most of us don’t have the knowledge to develop such an application. Luckily,
there were some kind people to make such apps and share them with us. Related
projects/apps can be found on Google Play as they follow, with a short intro:
• BlackPlayer Music Player [Price: Free / $2.00]: BlackPlayer is a simple, but elegant
music player that puts very little between you and your music. It has a customizable tab, an
equalizer, widgets, scrobbling, an ID3 tag editor, no ads, themes, and support for most
commonly used music files.
• Google Play Music [Price: Free / $9.99 per month]: Google Play Music is a unique
music player in that it’s both a streaming service and a standalone music player. It can read
the files on your device and act as a regular player, or you can upload up to 50,000 of your
songs to Google Play Music and stream them if you prefer.
• jetAudio Music Player [Price: Free / $2.99]: jetAudio long time favorite of Android
users because it has enough features to be better than most, but still simple enough for
everyone to use. It has a variety of audio enhancements that come as plugins so you can
tweak your music experience a little more than usual.
• MediaMonkey [Price: Free / $3.99]: MediaMonkey is a bit of a dark horse in the
music player business. It has a ton of features, including organizational features for things
like audiobooks, podcasts, and the ability to sort songs by things like composer (instead of
just artist). It also has basic stuff like an equalizer. What makes MediaMonkey truly unique is
the ability to sync your music library from your computer to your phone (and back) over
• PlayerPro Music Player [Price: Free trial / $4.95]: PlayerPro Music Player features a
good looking interface that makes everything easy to use along with skins that you can
download and install for more customization. It also includes support for playing video, a five
band equalizer, various audio effects, widgets, and some fun little features like the ability to
shake the phone to get it to change tracks.

As we can see above, there is a big variety of music/audio player apps that are free and/or
have paid versions as well. Among these lines I will talk in the next chapter about my own
app called MuZiK, which is also an audio player developed for Android operating systems as
well, like the ones mentioned before.

3. Proposed Solution

3.1 The origins of the idea

I wanted to learn Java Development but didn’t really have a motivation or a purpose to do so.
This is when my friend told me that I should try writing a music player in Java (he told me I
can find a lot of tutorial about Java on the internet as a source of learning[4] and inspiration),
which got developed into an Android Application eventually at the suggestion of my
professor. She told me I should use Android Studio[5] because that’s the official IDE for
Android Development and I started learning slowly Java and Android Development.

It may not be an ice-breaking application but it was a good experience and I’m on the right
way of starting learning Software Development and creating applications.

3.2 The path to the application

Being a visual thinking person, I like to first think up how the application looks, and then
eventually bother with the coding. I was thinking that as every music player, so does mine,
need a play, stop button. This was developed in the first version of the application. After this
I have added more buttons: pause, next, previous. The application being limited to preloaded
songs only, I decided to add a browse button as well which could help the user pick their own
songs to play, so it’s not like the application is limited to this song or songs only. The
following figure show’s a part of the application’s code and how the GUI looks when it is
opened, from it’s primitive period, when it had really basic functions.

The full code can be seen on my Github[6] profile.

4. Figures

During the development process we do a variety of things that usually gets stuck in our head.
One of these most probably would be, from a programmers point of view, is the coding part.
The coding is done in Android Studio 2.3 with JDK (Java Development Kit) SE 8 and the
most memorable part for a programmer is to comment their code. Commenting not only helps
the programmer, but others to understand what’s done so even a newbie learner can have the
courage to start and “recreate” the program to learn what’s been done and try either to further
develop it or to memorize some interesting parts or even better, recreate the whole program
from scratch without the need to look anymore at the original code, therefore being able to
reproduce the software at any place and can modify anything with no worries that what
would happen can’t be predicted. Figure 1.shows a part of the coding done in the Android
Studio program.

Fig. 1.Part where the buttons’ action listeners are implemented and given functionality.

After all this coding and testing for no problems to occur every programmer has at least once
got curious how their application might do either on a first run, where the buttons are tested if
they appear where they should and if the proper text is displayed. After many test runs, we
have gotten to the final, so called “releasable” or “stable” version of the application, where it
can be given out publicly to the consumers or also known as users, who can enjoy our hard
work’s fruit, a fully functioning application that we have written from scratch. The client can
do a lot of testing on the program, try it from every single angle to bug the programmer with
further work to perfect their project and/or implement new things. In Figure 2. we can see a
screenshot taken by an Allview smartphone as it has the application loaded, showing the
buttons and the rather empty screen, which can be filled up with further functions, such as: a
browse button, a text field to display the current songs title and/or characteristics, a new
background which loads the album’s cover, new buttons for next/previous option and so on,
but that’s planned to be done in the near future!

Fig. 2. Snapshot of the phone having the application loaded up

[1] Amit M. Farkade et al, “International Journal of Computer Science and Mobile Applications”,
Vol. 3 Issue. 1, January-2015, pg. 39-45.
Retrieved March 24, 2017.
[2] Android [Online], April-10-2017. Retrieved
April 24
[3] Joe Indy “10 best music player apps for Android”, June 4, 2016.
Retrieved March 25, 2017.
[4] TheNewBoston [Online] Retrieved April 10, 2017
[5] Android Developer [Online] Retreived April 28, 2017
[6] Github [Online] Retrieved April 28, 2017

A Framework for Student Support
Datcu Bogdan Alexandrua*, Horvath Denisebj
“Aurel Vlaicu” University of Arad, Str. Elena Dragoi, no.2, 310330, Arad
“Aurel Vlaicu” University of Arad, Str. Elena Dragoi, no.2, 310330, Arad

Scientific Advisor: Prof. Univ. Dr. Dominic Bucerzan

“Aurel Vlaicu” University of Arad, Str. Elena Dragoi, no.2, 310330, Arad

Today’s modern world demands an equally modern university campus with all the
modern technologies. Having in mind that in the twenty first century life is the most fast
paced as it has ever been, mobile platforms have stepped up in comparison to past years.
Every college student is using a smartphone both at home and on the go.
After reaching the conclusion that the majority of students use Android OS
(operating system) devices in our university, compared to the majority of students in the
United States for example who are iOS users both for mobile devices but also for their
desktop computer (or laptop) of choice. Starting from this known fact we believe that an
application for Android mobile devices would be useful for both the university staff to keep
in touch with students but also for the students inform themselves about everything university

Keywords: Android; UAV; Arad; Framework; Student; Support; Help;

1. Introduction

The significance and importance of mobile devices such as smartphones or tablets has
drastically increased during the past years and it’s as popular as it’s ever been right now. One
of the pioneers, innovators and promoters of this technology was Steve Jobs who very well
said “Today we’re introducing three revolutionary products at this point. The first one is a
wide screen iPod with touch controls, the second is a revolutionary mobile phone and the
third is a breakthrough internet communications device. These are not three separate devices,
this is all in one device.” [1].

This statement of Steve Jobs I believe explains, in a basic way, why touch screen mobile
devices are so popular. They can be used for games, music, videos, internet surfing, e-mail,
GPS and various other utilitarian applications. Being an active member of the student’s
league of Aurel Vlaicu University since I started my bachelor degree studies in 2014, while
interacting with the students I was able to observe what problems they struggle with and what
needs they have.

This article by authors Datcu Bogdan Alexandru and Horvath Denise is about creating a
new and unique framework application for the Aurel Vlaicu University of Arad. Using the

* Corresponding authors,
E-mail address:;

java programming language in the official integrated development environment (IDE) for
Android OS devices, specifically Android Studio. Only one other state university in the
whole country of Romania (which is the Western University of Timisoara) have such an
application of theirs so this would be a big step forward and it would be considered as an
advantage in comparison with the other state universities in Romania.

2. Related works

As mentioned above, there exists an application called UVT (the abbreviation name of the
Western University of Timisoara). The application is free to download from the Google Play
Store and as of April 2017, it has one hundred downloads.

It has a very user-friendly UI (user interface) with a scroll-down option on the main page
where there is shown every separate building of the whole university, a side bar with a
redirect on the official university website and redirect back to the main page of the
application. The main building of the Western University of Timisoara uses the EDUROAM
technology for creating and running hotspot beacons throughout the whole building of the

After tapping on a random building of the university, there are 2 main paths one can take:
a “take me there” button via Google Maps that basically opens up Google Maps on the device
and sets the destination to the address of the building selected and the starting point as being
the current GPS location; and a “building map” button that if tapped displays the map of the
selected building, detailed with each room (class room, laboratory, cabinet and so on).

In the following images there are shown screenshots from the UVT application showing
exactly the design and functionality of the app’s side bar, homepage and building map.

Fig. 1: UVT app side bar Fig 2: UVT app homepage

Fig. 3 UVT app detailed building blueprint

3. Proposed solution

This UAV mobile application for portable devices aims to offer all the features of the
previously mentioned related works and digitalize the classic methods of a notice board and
website all in just one easy to use and straight forward application.

The application has been developed by me as a student for the students offering a
simple solution to their day to day needs regarding the academic life and everything related.
The Java programming language has been used on the Java programming platform with the
help of Android Studio as the integrated development environment (IDE).

Starting with the main pagewhich has a simplistic and easy to use layout, it has seven
buttons. The first button is the “About” button and the rest of the buttons (six at number).
Each are representing a building body of the “Aurel Vlaicu” University of Arad. Each of the
buttons redirects to a separate page with information corresponding to the button pressed.

Fig. 4 Code view of the “About” button

The “About” page has a number of redirect links displayed on it: links such as
Facebook, e-mail, website and a copyright button that if pressed it shows a pop up message
with the copyright information (it uses a get calendar instance and only shows the year).

Fig. 5 Redirects and links on the “About” page of the application

Each single page of the application has the said copyright information on it. The links
on the “About” page and are inserted using .addEmail, .addFacebook, .addWebsite functions
and after each one the corresponding link is inserted in brackets and quoted. This page does
not have a GPS set on it.

The design view of this main page will be seen in Fig. 6 and 6.1. The code example in
Fig. 4 is declaring it (the “About” button) as being a button, displaying the text on the button
as “About”, it sets the button size to be wrapped to the height of it and matched as the width,
it aligns the left edge of the button with its parent and makes the start edge of this view match
the start edge of the given anchor view ID.

Fig. 6 Design view of the main page

Every page of each university building has its own redirect to the website of the
faculties operating within that building and displays the address of each building. Examples
of code for the address and website redirect via web browser (I have used Google Chrome to
test this feature) can be seen in Fig. 7 and 8.

Fig. 7 Faculty of Theology page

Fig. 8 Faculty of Economics page

4. Conclusions

In conclusion, after doing the research that has been needed to gather the data,
information and skills, and actually creating this application, I have improved my
programming skills in the Java programming language and Android Studio while still
providing a viable solution that I truly believe is the right one and the simplest one. From
now on the students attending the “Aurel Vlaicu” University of Arad will have a new and
simple to use application at their disposal for guidance and use in day to day academic life.

Sure, the application is far from perfect but exactly that’s why, for future updates,
some of my ideas would be:

 integrating a public transportation feature inside the application that shows the time
tables of buses and trams
 integrating an customizable time table feature for students
 creating a social forum
 detailed blueprint map of each building of the university.
Right now, the application as it stands I believe that it acts as a starting point and a
building block for future improvements and it does indeed offer a considerable advantage and
step up to the “Aurel Vlaicu” University of Arad in comparison to other state and private
universities all around the country of Romania.

[1] Steve Jobs’s speech when revealing the latest Apple Inc. device (the iPhone) in January 9
2007, San Francisco, CA.
[2] D. Bucerzan, C. Ratiu, M.J. Manolescu, SmartSteg: A New Android Based
Steganography Application, October, 2013.
[3] “Java de la 0 la expert” – written by authors Cristian Olaru, Ștefan Andrei. Ștefan Tanasă,
published by POLIROM in November of 2011 under ISBN code 978-973-46-2405-8.
[4] “Programarea Aplicațiilor Android” - written by authors Paul Pocatilu, Ion Ivan, Adrian
Vișoiu, Felician Alecu, Alin Zamfiroiu, Bogdan Iancu, București, ASE, 2015.

IAI Watermarking application
Ilieş Adrian Ioanak,Chiş Gabriel Iosifb
Applied Computer Science, Aurel Vlaicu University of Arad
Applied Computer Science, Aurel Vlaicu University of Arad

Scientific Advisor: Prof. univ. dr. Dominic Bucerzan

Aurel Vlaicu University of Arad, Elena Drăgoi 4, Arad310330, Romania

Our modern era can open tremendous perspectives, but at the same time comes with certain
drawbacks we all need to consider. One of these drawbacks is the fact that too many internet users
assume they are entitled to take possession of things made available to them. In this paper, we
consider a particular case of previous described situations namely the copyright of digital images.
Unfortunately, this means copying images from photo sharing sites and making them their own, as a
sign of complete disregard for other people’s hard work.
One of the reasons for the fast development of digital watermarking research is the need to find
solutions to protect the intellectual property of digital materials. Even though there are watermarking
techniques for any type of digital data, most of the literature papers refer to image watermarking
techniques for copyright protection.
We developed our application IAI with the purpose of providing a solid layer of security for our
users’ pictures, and we do that by combining some watermarking, steganography, and cryptography

Keywords: Watermarking; Steganography; Cryptography;

1. Introduction

A watermark is a form, image or text that is impressed onto paper, which provides evidence
of its authenticity. A distinguishing mark impressed on paper during manufacture; visible
when paper is held up to the light;Digital watermarking is an extension of watermarking
concept in the digital world.
A digital watermark is a pattern of bits inserted into a digital image, audio or video file that
identifies the file's copyright information (author, rights, etc.).
The main goal of watermarking is to hide a message in some picture, audio or video
(cover), and to obtain a new data indistinguishable from the old one, by people, in such way
that the message cannot be removed or replaced. [9]
Watermarking can be a very important thing if you are an industry professional, it is a way
to protect your photos, by letting every internet user know that those photos belong to you
and can't be used without your authorization. Those who will disregard, steal your images and
try to remove your watermark can be held accountable. [10]
As a classification, we have:
 Visible & Invisible Watermarking
 Robust & Fragile Watermarking
 Asymmetric & Symmetric Watermarking
 Public & Private Watermarking
 Steganographic & Non-steganographic Watermarking.

* Corresponding author,
E-mail address:

Visible watermarking is a translucent overlaid into an image and is visible to human eye.
This method is used to indicate ownership and for copyright protection.
Invisible watermarking is embedded into the data in such way that the perception of
changing values is perceptually not noticed. This method is used as evidence of ownership
and to detect misappropriated images.
Dual watermarking is a technique that combines both methods, and is usually used as
backup for the visible watermark. [10]
According to working domain we have some several watermarking techniques:
 Spatial Domain Watermarking
o Least Signiant bit
o Patch work
 Frequency Domain Watermarking
o Discrete Cosine Transformation
o Discrete Wavelet Transformation

The watermarked digital signal is usually transmitted to another person.

If that person makes modifications, that is called an attack.
These are some possible attacks:
 Robustness attacks: This kind of attacks are trying to remove the watermark with methods
like JPEG compression, cropping, etc.
 Presentation Attacks: This kind of attacks are trying to make watermark detection
impossible by doing geometric transformations, rations, scaling, translation, change aspect
ratio, affine transformation, etc.
 Counterfeiting attacks: This one renders the original image to generate a fake new one.

2. Related Works

Most of the applications we found can only do a visible watermark and the image formats
you can use are pretty limited, here are some popular programs that we found interesting:
 uMark Lite[1] – Adds a watermark to one or more photos in a snap.
 Batch Watermark Creator[2] – Great tool to add a watermark to a set of photos that you plan
on publishing online.
 Watermark Master [3]– The real advantage to this tool is that it can add watermarks not only
to images but also to videos. Can create all sorts of watermarks, whether image, audio or
 PhotoWatermark Professional[4] – Advanced editing features to create top quality watermarks
for your pictures.
 Visual Watermark[5] – Create strong, visible watermarks to clearly protect your images.
 1-More Watermarker[6] – Simple and easy to use tool to quickly add watermarks to multiple

3.Proposed solution

We tried to make our application very suitable for more general needs, so, IAI can
make a very simple visible watermark, but also an invisible one using a steganographic
method and if the user wants he can also encrypt his message, so the watermark will be more
secure, allowing the user to choose the password for the encrypt/decrypt, and we did that
using a Cryptographic method. “Cryptography is a technique that scrambles digital data in a
way that it becomes unreadable to unauthorized users in the process of storing or transferring
it to its intended receiver using today’s open channels for communication.” [7]
This technique it is recognized as the main component of any legit corporation’s
security policy and it is clear that it’s bot less than a standard to our days data security.
We can speak about two types of cryptographic systems according to their kind of keys:

 The Secret or Symmetric key cryptography: here a single key is used to encrypt the data and it is
the same key that we use in the decryption process.
 Public or Asymmetric key cryptography: in this method 2 keys are used for encrypting and
decrypting our data, the sender has to use a public key of the receiver to encrypt the data and the
receiver use his secret key to decrypt the same data. [8]
In our application, we implemented the first type of cryptography, because we don’t need or want
to involve a second person here, we just want to make our message even harder to detect.
The environment we used was Microsoft Visual Studio and the programming language used was
The workflow of the proposed application, IAI is:
 The user chose the picture that he wants to mark by pressing “File” -> “Open”, he can choose from
8 different image formats so he does not need to worry about his picture format.
 After he selected the picture, he can write the desired text in the “text” textbox, he can choose from
a lot of fonts, fonts style and his font size by pressing the button “Sent font”
 After the text is writhed and the fond is chose the user have the possibility to also chose the opacity
of the text from 10% up to 100%
 The next step is to choose the position of the text, the user has the possibility to pick one from the 3
total critical positions: Top, (So the text is inserted in the top of the image), Bottom (the text is
inserted on the bottom of the image) and Diagonal (the text is inserted in as a diagonal, this one is
the most recommended position)
 After all this step was made, the user can preview his image with the watermark applied in the big
picture box (by pressing the “Preview” button), and if he likes is he can save it (by pressing the
“Save as” button.
 If the user wants to change the format of the picture we can also do that by pressing the “Convert
Image To” where he can choose the desire format.
 However, if the user wants he can insert an invisible watermark text, first step for him is to press
the “Invisible” button, and the application will open a new form for him
 In the new form, the user has to choose again the picture he wants to mark by pressing “File” ->
“Open” -> “Image”
 After that he can write his message in the message box or he can open a message from a text file by
pressing “File” -> “Open” ->” Text”.

Fig. 1. IAI first User Interface

 Now the user has the possibility to encrypt his text by checking the “Encrypted” box, and
writing a password with minimum 6 characters in the “Password” textbox, if he doesn’t
want to do that he can just skip this step

 The next step is to press the “Hide” button and, your text is hidden in the picture
 All you have to now is to save the image by pressing “File” ->” Save” -> “Image”
 Now your image is saved with your text watermark in it, you can also check it and read the
hidden text whenever you want by opening the image, checking the “Encrypted” box and
writing the password (if it’s the case), and press the “Extract” button, your hidden message
will appear in the textbox.

Fig. 2. IAI second User Interface


Watermarking is a very active research field with lots of applications, even if it’s a relative
new field it has produced very important algorithms for hiding messages into digital signals.
This can be described by a lot of different models.
So, if you are an industry professional we highly suggest to protect your work by using a
watermarking application and we invite to try our model.

[2] -> accessed on 02.05.2017
[3] -> accessed on 02.05.2017
[4] -> accessed on 03.05.2017
[5] -> accessed on 02.05.2017
[6] -> accessed on 07.05.2017
[7] Contribution to Watermarking Techniques, Crina Raţiu, Dominic Bucerzan, Mihaela Crăciun, Soft
Computing Applications, Springer Berlin Heidelberg, 2013
[8]Attacks on the Watermark Techniques, Crina Anina Ratiu, Dominic Bucerzan, 2nd Symposium on
Business Informatics in Central and Eastern Europe, Oestrreichische Computer Gesellschaft, 2011
[9] About Hash Function and Watermark Algorithms, Crina Ratiu, Dominic Bucerzan, Mihaela
University Press, 2011
[10] Aspects of a Watermark Solution, Dominic Bucerzan, Crina Ratiu, Ioan Dascal, Informatica
Economica, Vol. 14, nr. 4, 2010

Timetable Management For Students
Eduard Tiberiu Katial
”Aurel Vlaicu” University of Arad, Str. Elena Dragoi, no.2, 310330, Arad

Scientific Advisor: Prof. Univ. Dr. Dominic Bucerzan

”Aurel Vlaicu” University of Arad, Str. Elena Dragoi, no.2, 310330, Arad

This paper proposes a tool that enables Universities to provide a safe, reliable, and easy to use way to
display and manage the student class schedules. This tool has been created to prevent any kind of
human error that might occur in the process of managing the schedules, and to providean easy way of
altering it as fast as possible and relaying it to all the supposed attendants in an optimized manner. It
manages to do the above-mentioned things by providing a secured feed for each potential time slot,
personalized and built around each individual user.

Keywords: timetables; learning environment tool; PC;

1. Introduction

Successful, accurate and immediate relaying of information will always be one of

humanity’s main priorities. Given the time we live in, a place in history where
communication channels are rarely or never considered an issue, and data streaming has
never been faster, we are burdened with several other problems: Accessing, understanding
and processing the constant stream of information we all have to deal with and doing so in
due time. Although there is to general answer to the problems presented above I believe the
solution to them is creating logical and interactive constructs (software) that enable us to
better segment, modularize and distribute the data we work with.
Time Master sets to do precisely that but in the very particular case of student schedule
management in universities. The application has been developed to suit the needs of the
volatile and distributed system that is providing students with details about each and every
time slot in their schedules.

2. Related works

Although we can refer to several applications or web applications, such as Facebook’s

Event System, Google Calendar, Doodle, S Planner, or even Moodle all of them provide a
very general solution to the time management problem. The most comparable aspects of other
related works are Moodle’s class/course distribution and the functionality of Google Calendar
or any other kind of scheduling apps. Time Master was built with the complexities of the said
applications, but also with

3.Application description

As seen in Figure 1 the database structure is fairly simple and easy to understand. It employs
two one-to-one relationships and a one-to-many relationship.

The first one-to-one relationship is formed between the “Day” entity and its PromotionID
attribute and the “Promotion” entity which shares the same attribute. In this way, we ensure
that each instantiation of the Day entity has been created for a specific (only one) promotion.
The second one-to-one relationship is between the “Account” and the “Promotion” entities
and refers to the same previously mentioned PromitonID attribute, ensuring that each account
belongs to only one Promotion.

The one-to-many relationship occurs between the “Promotion” entity and its StudEmailList

Fig. 1: Abstract Database model

It ensures that each instantiation of the “Account” entity that belongs to a specific
instantiation of the “Promotion” entity has its primary key (the email of the user) added to the
StudEmaiList attribute. This naturally employs the distribution of students in promotions and
enables students to “subscribe” to a particular class/promotion [1].
The application was developed in Microsoft’s Visual Studio, in C#, on the Windows
Forms .NET Framework alongside with the MySQL Database server management
application to support the data transfer between a potential server and the application. Time
master works by providing each student the opportunity to create an account, with their
email, that they will require to log in [3].

Fig. 2. Sign up screenFig. 3. Log in screen

As seen above the user is prompted to enter their email, name, a password and select the
exact promotion they belong to. This information helps define the user and each of their time
slots as unique, reachable identities in the database. More specifically, this information will
be fed into a structure described by a diagram similar to the one in the first figure, making
each record unique and identifiable. The “class” that the user will select is the feed that he
subscribes to.

Fig. 3. Main screen

Once logged in the user is prompted with the main menu. This displays the schedule for the
current week (the week given at the execution time) of the user. Selecting all this information
is done through all the information provided by the user during the authentication process. As
seen in the third Figure, the user is presented with a grid composed of two-hour time slots.
Each of the time slots can be clicked, leading up to a menu that will display additional
information about the selected time slot. Once clicked, the user will be prompted with a
window, displaying the title of the class an any additional information (Fig. 4).

Fig. 4. Normal user

If the user is given the proper permissions (e.g. Class Leader, Manager, etc.) they will also
have the option of editing the additional information, saving the changes, call the class
cancelled or edit the name/title of the selected class (Fig 5). Cancelled or free time slots will
be displayed as white squares instead of orange ones, so that they can be immediately
identified. Once saved, the changes will become apparent as soon as the user clicks the
refresh button.

Fig. 5. Privileged User

4. Conclusion

As with every serious database management project the true test is revealed once the product
is has reached the end of its developing state. Maintenance is, at a first glance, easy because
of the vast theoretical background, knowledge and most importantly experience of previously
documented examples.

Unfortunately, the variance of the practical problems is very hard to control pre-emptively
or even predict. For instance, one might be able to predict the order of records that a certain
entity will generate but he or she won’t be able to estimate the time span between record
occurrence [2].

Following these ideas, I plan on probing multiple scalability plans and implementing them
to allow as many users as needed (hundreds of thousands in big Universities) to utilize the
application simultaneously. Implementing the application in a real case could bring several
opportunities of optimization.

I also plan on expanding the application to the most popular mobile platforms (Android,
iOS and possibly Windows Phone) and also provide an alternative web-based option for
additional flexibility and portability [4].

Another improvement that might benefit the application is implementing exhaustive multi-
threaded operations. This, however, is a difficult task due to the variance of owned resources
of the systems that might run the application.


[1]E.F. Codd (1970). "A relational model of data for large shared data banks". In: Communications of
the ACM archive. Vol 13. Issue 6(June 1970).
[2]Zhuge, H. (2008). The Web Resource Space Model.Web Information Systems Engineering and
Internet Technologies Book Series.Springer.ISBN 978-0-387-72771-4.
availability-and-more/ (visited at 14.04.2017)
[4] (visited at 17.04.2017)

Caesar Cipher with Symmetric Key
Kovacs Rolandm*, Bănățeanu Ioneln
a, b
"Aurel Vlaicu" University of Arad,Faculty of Exact Sciences,Bd. Revoluției 77,310295 Arad, Romania

Scientific Advisor: Lect. Univ. dr. Crina Anina Bejan

"Aurel Vlaicu" University of Arad, Faculty of Exact Sciences, Bd.Revoluției 77, 310295 Arad, Romania

The purpose of this paper is to present the Caesar cipher, a simple and widely known encryption
method, based on the symmetric cryptography. This method uses a secret key for encryption and
decryption. In the first part of the paper we discuss about cryptography and its evolution. We continue
with the ASCII code, which is used to understand how encryption works. Due to its design, we
consider that Caesar cipher,is proper to be used by beginner cryptographers to learn and understand
how encryption works.

Keywords: cryptography; Caesar cipher; symmetric encryption; secret key; ASCII code;

1. The science of cryptography

The expansive evolution of technology in all domains of activity, regardless of the form
they take, allowed the reach of some levels of knowledge, which undoubtedly would have not
been possible some decades ago. Precisely this hunger for knowledge, also for analysis and
perfection in a specific domain, eventually led to a technological "boom". In other words,
starting from a discovery made millennia ago, without important information sources, nor the
necessary means to meticulously research, it got, with the passing of time, to the
enhancement and perfection of such discovery, until eventually, it got to be a real science.
One of the thousands of such examples could be cryptography, which took many shapes until
it got to what it is today, but it exists even in the era of Herodotus. Used to send numerous
secret messages, it was and still is of great use to those who know well enough the depths of
this work's procedure.
Cryptography represents a branch of mathematics that is used to secure information and to
authenticate and restrict access into ainformatics system. Cryptography uses mathematic
methods to transform data’s with the intention of hiding their content or protect them from
any modification. Cryptography dates back from old times, this being used by Julius Cezar,
because of the need for communication privacy. Until now, cryptographers tried to upgrade
the algorithms used in encryption, by complicating them, combining substitutions and
transpositions over the symbols, to make the encryption safer.
One element that significantly influenced the evolution of cryptography was the
development of computers network. The users wanted more security when it came of
electronic private communications (via vulnerable means like Internet and Computers
Networks) and funds transfer. By using computers for the encryption, it was allowed to use
keys with higher dimension, thus increasing the resistance at cyber-attacks. If the secret key
used have a convenient size and it is frequently changed, the cipher break would be
impossible even if the encryption algorithm is acknowledged. With this, the Data Encryption
Standard was created, which is widely used by the SUA government and by international

* Corresponding author ,
E-mail adress:

companies. The initial form of this encryption method was proposed by the people of IBM in
1975. DES was adopted in 1977 and was highly used because of its performances. Like any
cipher, any encryption scheme has a limited lifespan, this duration being reduced by the
technologic evolution, which reduce the security a cipher has to offer.
A second very important moment in the evolution of the modern encryption was another
encryption method, different from the symmetric version. Symmetric encryption (with secret
key) uses the same key for the encryption and for decryption of a message. We can see
encryptions that use a secret key at the following ciphers: DES cipher, IDEA cipher, LOKI
cipher, RC2 cipher. The new encryption method is an asymmetric one, using a public key.
This uses distinct keys for encryption and decryption, the keys being bind together. One of
the keys is being kept secret, being known only by the owner, while the second key was made
public. Those who created the asymmetric encryption was WhitfeldDiffie and Martin
Hellman, two researhcers from the Stanford University from California. We can see the
asymmetric encryption at the following ciphers: exponential cipher systems RSA (Rivert-
Shamir-Adleman), EL GAMAL cipher and the digital signature DSS standard.

1.1 Hardware Encryption

Even if the software encryption if dominating, the hardware encryption if very much used
in the military applications or commercial applications of high importance. The reason for
using this type of encryption is its speed. Because the encryption is a complex task, adding
these operations in the CPU is ineffective, so, a dedicated chip or a dedicated CPU for
encryption will help the system to be faster. Another reason for using the hardware
encryption is the physical protection. While an encryption algorithm that works on a
computer doesn’t have any type of security, the encryption devices are encapsulated and the
chips are chemically treated, in this case, if a person wants to open the device, the chip will
be destroyed. Even if you do the encryption on a low-spec computer, it is easier to add a
device between the computer and the communication modem, than to modify the pc’s
system’s software. Because the encryption needs to be invisible and inaccessible for the user,
the only way for the software encryption is to write the encryption in the operating system
which is not an easy thing to do. The three basic encryption devices on the market are
encryption modules, dedicated devices for communications link encryption and boards that
need to be attached to the personal computer.

1.2 Software encryption

By using the software encryption, any encryption algorithm can be implemented. The
disadvantages of the software encryption are the reduced speed, the costs and the ease of
manipulation and modification. There are advantages too for this method, like flexibility and
portability, ease in use and in making of upgrades. Any cryptographic program can be easily
copied and installed on any device or it can be incorporated in complex applications like the
communication ones. The most important thing to remember for the software encryption is
that the clear texts should be erased after encryption and the keys should not be kept on the

2. ASCII code

ASCII (American Standard Code for Information Interchange, is a character encoding
standard. The ASCII code represents text characters for the computers, telecommunications
equipment and other devices. Many of the modern character-encoding schemes are based on
ASCII. Originally based on the English alphabet, ASCII encodes 128 specified characters
into seven-bit integers as shown by the ASCII chart (Figure 1)[4].

Fig. 1. ASCII code chart

The characters encoded are numbers 0 to 9, lowercase letters a to z, uppercase letters A to

Z, basic punctuation symbols, control codes that originated with Teletype machines, and a
space. ASCII includes definitions for 128 characters: 33 are non-printing control characters
that affect how text and space are processed and 95 printable characters, including the

3. Caesar chiper

Caesar cipher, also known as the shift cipher, is an encryption method based on the
symmetric encryption. Caesar cipher is named after Julius Caesar, which used it for his
private correspondence. It is one of the simplest and most widely known encryption
techniques. How this cipher works, is that all the letters from a text that needs to be
encrypted, will be replaced by a letter from another position in the alphabet. The positions
will depend of the secret key, which will be a number given by the owner of the text, or a

Fig. 2. Caesar cipher letter replacement

number decided by the creator of the code. For example, if the secret key will be number
12, the letter „A” will become letter „M”, or if the number is 23, the letter „E” will become
„B” (Figure 2)[5].
In the period Julius Caesar lived, this encryption method was reasonably secure because
most of the Caesar’s enemies were illiterate and others believed that his messages were
written in another, unknown foreign language[3].

4. Our project

My colleague and I, have both came with an encryption algorithm. My encryption

algorithm consist in modifying the value of the letter’s ASCII code, by using a secret key
given by myself. My colleague’s encryption algorithm is based on the Caesar cipher. He uses
a secret key given by the user, a secret key which consists of a number from 1 to 25.Both of
the codes are based on symmetric encryption, we decided to use his code because it provides
more security. We have tested the encryption and the execution time was about 0.03 seconds.
The steps for using his application are the following:
 Insert a number from 1 to 25. This will be used as the secret key for the encryption
 Insert the text you want to encrypt
 Press on the „Encrypt” button.
In the figure3 we made an example of how the encryption works.

Fig. 3. Example of encryption

For the decryption of the text, the steps are the following:
 Insert the encrypted text you wish to decrypt
 Insert the number which has been used for the encryption of that text
 Press on the „Decrypt” button.
In thefigure 4we made an example of howthedecryptionworks.

Fig. 4. Example of decryption

5. Future projects

For the next year we aim to learn more about another branch of cryptology, that being
cryptanalysis. Cryptanalytics is the branch of cryptology concerned with solving the
cryptographic systems used by others.It is used for recovering the encrypted messages and for
recovering the cryptographic system used, which can be useful in further applications [6].

[1] Sharbaf, M.S. "Quantum cryptography: An emerging technology in network security". 2011 IEEE
International Conference on Technologies for Homeland Security (can be accessed at , accessed on April 15.2017, at 14:30)
[2] ***, on April 15,
2017, at 15:50)
[3] Pieprzyk, Josef, Thomas Hardjono, Jennifer Seberry, 2003. Fundamentals of Computer
Security.Springer.p. 6.
[4] ***, UK
pP08M:&spf=200 (accessed on April 15.2017, at 16:02)
[5] ***, (accessed on April
15.2017, at 16:08)
[6]***, US Army Field Manual No. 34-40-2, HEADQUARTERS DEPARTMENT OF THE ARMY
Washington, DC, 13 September 1990, p. 1-0. (can be accessed at , accessed on April 16.2017, at 12:25)

E-Commerce Platform for IT mobile products
Manu Dan-Dumitru, Hajdu Iosif-Emanuel
University of Petrosani, Faculty of Mechanical and Electrical Engineering Str. Universitatii nr 20 zip 332006,

Scientific Advisor: Lecturer dr. eng. Riurean Simona

University of Petrosani, Faculty of Mechanical and Electrical Engineering Str. Universitatii nr 20 zip 332006,

This paper presents the way and tools used to create an e-commerce platform designed to sell
mobile IT products, such as smart phones, laptops, PCs. The shopping chart available for each visitor
on the e-commerce platform provides access for the visitor to any product desired to be bought and
allow to be add in it. The shopping cart content, as well as item’s individual prices and total value are
shown on the shopping cart screen and the buyer has the possibility to add new items or delete some
of them. Placing the order implies registration of some personal information (identification
information, delivery address and so on). The website administrator has the possibility to log in to
his/her own account in order to supervise and edit, if necessary, both the platform and the currently
orders. The application was made using the programming tools HTML, JavaScript and CSS as well as
the development environment Visual Studio 2015.

Keywords: e-commerce; platform; shopping cart;


In the 1990s, thousands of people working in universities or the US government used the
Internet to communicate and change data. In the same year, the US Department of Defense
decided that Internet technology would be accessible to the world. In 1993, there were only
130 web pages in the Internet. The Internet has grown with 130 million pages in 10 years,
meaning an incredible rate of development if we think the radio needed 38 years to earn 50
million listeners and television needed 15 years to have 50 million viewers.
The Internet needed just 4 years to attract 50 million users. Internet development has
grown at a rate of 2,300% per year. In 1992, theUSlaw allow commercial activities via the
Internet, and the first success of an e-commerce was the business started in
1994 by Jeff Bezos, a business that attracted the world's attention to electronic commerce and
the enormous potential of the Internet [1].
On February 24, 2004, Romania was the only country in central and eastern Europe where
electronic banking (online) through the bank card began to function thanks to RomCard -
Card Processing Center and e-commerce solutions [2].
Currently, e-commerce businesses are extremely widespread, covering almost any kind of
products and services, and e-commerce platforms are increasingly complex and offer the
most sophisticated services to visitors / potential buyers [2].
In this paper, our goal is to create a functional electronic store that contains few initial
functions that can be easily developed due to the way and advanced tools at were used for its


Mobile IT is an online sales platform, a web application made with html, css and java
script. An online sales or e-commerce platform is a site where different people in different
areas can buy, compare, and view different products and services for purchase. Mobile IT, as
we called this platform, refers to IT products: phones, laptops, tablets and more. At the
moment, the app only includes 3 product categories, originally designed to demonstrate
functionality. Figure 1 shows the first page of the online store we created.

Fig.1 HomePage

The tools used to develop the platform are Visual Studio 2015 and NotePad ++. The
application includes the following: creating a database (using a local server), a server running
the application (using a local server), html pages, and scripts.

The database or first server was created using deployed, a tool that allows you to create an
application that makes it easy to enter and use existing or previously entered data for complex
applications, namely the first server on which the data resides. Once the server is installed, it
specifies the port on which it will run and changes can be made. The figure shows the server
startup and fig. 3 shows the server's interior:

Fig.2 Data base where we introduced the products

The application runs on server due to a java script usingnodeJS, node JS. The port
where it runs specified into the java script is 5000.
Fig.3 Open Data base server

We used AngularJSto make html and java scripts. AngularJS is a javaScript, a library with
many functions. This open-source javaScript library, sponsored by Google, has been used to
develop some of today's most complex web applications.
AngularJS releases some of the best aspects of server development and uses them to
improve html in Browser, creating a feature that simplifies and facilitates the creation of
complex applications [2].
AngularJS applications are built around a design model called Model-View-Controller
(MVC), [2] that focuses on creating an application, and has a number of specific features
such as:
• Extendable: Once you understand and assimilate the basics and how complex
applications work, various web applicationscan be easily improved;
• Maintainable: AngularJS applications are easy to develop, maintain and fix, meaning that
maintenance is simplified in the long run;
• Testable: AngularJS has good support for end-to-end unit testing and end-to-end testing,
meaning that defects can be detected and resolved before the user senses them;
• Standardized: AngularJS builds on the high capabilities of the web browser, enabling
web-based standards-based applications to take advantage of the latest features (such as APIs,
HTML5), popular tools and folders [2].
The homepage of the e-commerce platform is placed on the top left of the Home button.
Below it, there are the buttons for the three major categories of products the site sells:
laptops, tablets and phones. We've only used 3 major categories because our goal is to
demonstrate the functionality of such a platform, looking for the database to be expanded
later. On the right side of the first page we placed all the products available at the moment in
the online store. We've decided to be 3 per page for good viewing. Considering the rather
small number of products embedded in the platform, 4 pages are currently available. In the
bottom right corner you can select the page to browse all the screens with the products
available and to see all the products brieflydescribed. Figure 4 shows the front page of the

Fig.4 Homepage

Selecting one of the categories, for example, Phones, only available (on stock) phones will
be displayed on the platform. If the number exceeds 3, a new page is created and continues
until the end. In the category of phones we only placed 4 models to see the page. This
changes automatically based on the number of products in the database. If 7 products are
available on the platform in the phones category, the number of pages is changing. There are
currently 4 products and 2 pages at the time; The first with 3 single-product 2 products, as
shown in Figure 5.

Fig.5 2nd page from Smartphone category

Each product has its own box, which shows the name of the product and a brief description
of the product. Here are also 2 buttons ("Add to cart" and "More Details") and a text box with
the price of the product.

Calling the "More Details" button takes you to a new page where you view a product
image and its features, as shown in Figure 6.

Fig.6 Details Page from a product

Home button on this page allows returning to the first page. The "Add to cart" button,
snedsus back to previous screen containing the product description.
In the upper right corner of the screen, where you can see the text "Your Cart", you can see
the number of products added to the shopping cart and the total amount of the payment when
they are purchased. (See Figure 7).

Fig.7 Shopping cart

The "Checkout" button lets you jump to a new page, where products added to the
basketcan be removed, continue shopping, or finish visiting the store by placing the order
(Figure 8).

Fig.8 Page of shopping cart

The "Place order now" button sends us to a new page where we need to write the order
data. The empty fields are red and, because they are mandatory, until they are all completed,
the order can not be fulfilled (Figures 9 and 10).

Fig.9 Page where we need Fig.10 Page incomplete where

fulldata to order we need to fill data to order

Once the form is filled and the order is placed, by pressing the "Complete Order" button, a
“Thank you” message will appear for the purchase of the products in the store, and the
shopping cart will clear (Figure 11).

Fig.11 Message with”Thanks!” after we complete a order

We created, as well, an administrator page, that can only be accessed by the administrator:

Fig.12 Page where admin can log in

Fig.13 Administration page

Fig.14 Date of orders Fig.15 Details of orders

On the administrator page the commands made, add, edit or delete products can be seen in
the database without being necessary to access the server.

[1] Corbu, C.E., Rîurean, S.M Noţiuni introductive în internet şicomerţ electronic, EdituraUniversitas,
Petroşani 2009;
[2] Freeman, Adam Pro Angular JS, Apress; 2014;
[3] Rîurean, S.M, Corbu C.E. eBusinessși Internet, EdituraUniversitas, Petroşani 2010

Intelligent shopping platform –
Claudiu Mihuțao
Applied computer science, Vilele Noi nr.18, com.Dobra, 337215, Hunedoara, Romania

Scientific Advisor: Prof.Univ. dr. Bucerzan Dominic

This paper work will treat the subject of Perceptual Image Hashing and explain the benefits of
implementing it for a shopping platform, the implementation itself, the problems involved and the
current solutions. Also, this work will include a solution for fast comparing and finding image hashes
when working with big sets of data.
This concept is implemented into a real shopping platform that will demonstrate the need, the
usability and how valuable it can be.

Keywords: image comparison, online shopping, perceptual image hashing, large sets of data, solr,

1. Introduction
The world of today: everything is all about TIME. We want to save time and the
INTERNET is the place where things are happening very fast.
People started to spend more and more of their time on the INTERNET because of this. In
our days we can do a lot of stuff on the internet and one of them is SHOPPING online.
We like to buy products, but the offer is very diversified and going from one store to
another and comparing prices and specifications takes us a lot of time. This is why the
internet in populated with a lot of online shops and marketplaces. Shopping online saves our
precious time and comfort because is more easy to sit on a couch at home and waiting for
your products to arrive at our your door.
Everything sounds good, but choosing a product from the internet is becoming a
complicated task because there are plenty of online shops and each of them with different
prices for the same product.
To solve this problem we created different price comparison platforms. Here we started to
implement smart solutions like matching the same product from different vendors, creating
multiple search filters, everyday price updates for millions of products and so on..
But however , the task of finding the right product can become much faster and easier if we
could “tell” to a computer how our desired product looks like by providing an image. As we
know “a picture is worth a thousand words” and that is true if we know how to extract
information from an image. This can be done with Perceptual image hashing and next I will
present how it works and how I implemented into a shopping platform.
Building on advances in computer vision, image and video processing, neuroscience, and
information engineering, perceptual digital imaging greatly enhances the capabilities of
traditional imaging methods.[1]


2. Related works
There are many applications that are using algorithms for perceptual image hashing, but the
majority are using it for finding duplicated images to keep the storage clean and organized.
The idea of shopping by providing an image is implemented just by 2 big companies:
Google and Amazon.

3. Proposed solution
For implementing a “search by image” feature into a shopping platform, we used an
algorithm that is able to generate a hexadecimal hash from an image.
The algorithm:
There are many algorithms for generating hashes from images, but I’ll explain the easiest
one: aHash (average hash).
A perceptual hash is a fingerprint based on the image input, that can be used to compare
images by calculating the Hamming distance (which basically means counting the number of
different individual bits).[2]
Let’s consider figure 1 as the original image.

Fig. 1. Original image

Step 1: Reducing image size to 8x8 pixels (ignoring aspect ratio), this step will remove
high details and frequencies. The resulting image (figure 2) will contain 64 colored pixels.

Fig. 2. Original image reduced is size (8x8)

Step 2: Reduce the color by converting the image into a grayscale version that will leave
us with 64 color values (figure 3).

Fig. 3. Original image reduced is size (8x8) - grayscale

Step 3: The algorithm will calculate the average color from our 64 values
Step 4: Generating the hash
Generating the hash requires to calculate the distance of each pixed color from the average
color and the result will be a 64 bit hash.
Now, to compare two images, we need to find how similar or different are two hashes. The
best way to do this is to calculate the “hamming distance” between them and this will provide
us the number of different bits. The lower is this number, the higher similarity of images.
Because an intelligent shopping platform should be able to work with millions of products,
we generated hashes for ~2.000.000 images (300gb) and stored them into MySQL database.
To calculate the hamming distance in MySQL we used a query like this:

SELECT images.*, BIT_COUNT(hash ^ :hash) as hamming_distance

FROM images
HAVING hamming_distance < 7

Good, now we can upload an image into our intelligent shopping platform and find the
most similar image from our database, but this is now enough. We must provide all the
similar products with their title, price, description an so on.
To achieve this, we used the image id to match the product id, extract it’s category and
searched again in our database for all products that matches the same category and first 25%
of the words from the first matched product title.
Our intelligent shopping platform uses Solr for storing and fast searching between
~2.000.000 products titles and descriptions. Apache Solr is a very fast search platform for big
For the backend we used technologies like PHP and Lumen micro-framework and for the
fronted is build using HTML, CSS , jQuery and twitter Bootstrap as a frontend framework.
The reason we chose twitter bootstrap is because of its responsiveness that easily scale the
interface for mobile phones, tablets, and PCs.

4. Result of this work implemented

The platform is available at this address: and just the following 2 steps are
required in order to test our perceptual image hashing algorithm:
 Step 1: Navigate to
 Step 2: Click on the “camera” icon (figure 4) and choose the desired image.
After selecting the image you can preview the image with a scanning effect until the AJAX
request is done. (figure 5)

Fig. 4.Homepage of intelligent shopping platform Fig. 5. Searching for an image

When the request is done, the website will automatically redirect the user to the results
page (figure 6).

Fig. 6. Displaying the results

5. Conclusion
This feature is working on a live version of an intelligent shopping platform, but it’s still in
beta because all the images from our database are stock images that are using a white
background and if we try to search by a photo taken with our phone camera , then we’ll have
poor matching results. In order to improve this feature we must implement more complex
hashing algorithms that are able to store all the colors and more details from the images.
The current implementation is most suitable for searching for images that contains products
from other online shops, in order to find all the offers for that product or similar ones.
The Average Hash implementation is the easiest and the fastest one, but it appears to be a
bit too inaccurate and generates some false positives. Two other implementations are
Difference Hash (or dHash) and pHash.
Difference Hash follows the same steps as the Average Hash, but generates the fingerprint
based on whether the left pixel is brighter than the right one, instead of using a single average
value. Compared to Average Hash it generates less false positives, which makes it a great
default implementation.[3]
For the future we want to implement searching by a product or photo URL and we already
put some work into this.
Our time is precious, so, we should use our present time to implement ideas that will save
our time in the future.

[1] Rastislav Lukac - Perceptual Digital Imaging: Methods and Applications - March 29, 2017 by
CRC Press
[2] (visited on 12.05.2017)
[3] (visited on 03.04.2017) (visited on 03.04.2017) (visited on 12.05.2017) on 12.05.2017)

(accessed on 15.05.2017)
(accessed on 15.05.2017)
(accessed on 15.05.2017)

OOP’s Fundamental Principle: Polymorphism
Sorin Miroiup
"Aurel Vlaicu" University of Arad, Faculty of Exact Sciences, Bd.Revoluției 77, 310295 Arad, Romania

Scientific Advisor: Tomescu Marius Lucian

"Aurel Vlaicu" University of Arad, Faculty of Exact Sciences, Bd.Revoluției 77, 310295 Arad, Romania

OOP or object oriented programming is a computer paradigm based on the concept of
“objects” [1]. The program is divided into multiple parts. Each object represents a different part of the
application. Each object is made of data and logic. “Data” are the data with which the object works
and “logic” refers to the processing methods of the data (like functions in C/C++ and procedures in
Pascal). The classes and objects work hand in hand. Classes generate objects, so it’s “incorrect” to say
object-oriented, but class-oriented. Classes are abstract notions and the class is a data type, created by
the user. I’m going to use Java and C# for examples in my paper.[2]

Keywords: OOP; class; methods; abstract; data-type; computer;paradigm;concept;data;logic;

1. Introduction

Polymorphism comes from Greek and means many forms or many shapes. There are two
types of polymorphism: Runtime polymorphism (Dynamic polymorphism) and Compile-time
polymorphism (Static polymorphism). Polymorphism means to process objects differently
based on their data type. In other words it means, the implementation that’s going to be used
of a method with multiple implementation, for a certain class of action, is decided at runtime
or at compile-time.
Polymorphism can be static or dynamic. Methods overloading is an example of static
polymorphism and methods overriding is an example of dynamic polymorphism.

2. Compile-time polymorphism (Static polymorphism)

Method overloading is a feature that allows a class to have two or more methods with the
same name. Each method with the same name must have a different signature. A method’s
signature is made of the number of the parameters, their data type, their order and the
parameters’ modifiers. The type returned in the method does not belong to the method’s
As discussed above, method overloading can be done by having different argument list.
Let’s see examples of each and every case.

2.1 Example 1: Different numbers of parameters in the argument list

* Corresponding author,
E-mail address:

The methods’ names are the same but are different from the number of the arguments.

Fig. 1

Fig. 2


Fig. 3

In the above example the method has been overloaded based on the number of the
arguments. We have two definitions for the given method, one with only one argument and
another one with two arguments.

2.2 Example 2: Difference in data type of the arguments

In this example method is overloaded based on the data type of the arguments. We have
two definitions of the given method, one with a String argument and the other one with an
Integer argument.

Fig. 4

Fig. 5


Fig. 6

2.3 Example 3: Arguments’ data type sequence

Here the method is overloaded based on the arguments’ data type sequence.

Fig. 7


Fig. 8

Both methods have different sequence of data type in the argument list. The first method
has its argument list as (String, Integer) and the second one has it as (Integer, String). Since
the sequence is different, the method can be overloaded without any issues.

3. Runtime polymorphism (Dynamic polymorphism)

Earlier I presented the compile-time polymorphism (static polymorphism) and now I’m
going to present the runtime polymorphism.
Method overriding is a perfect example of dynamic polymorphism. In this kind of
polymorphism, a reference of class “BaseClass”can hold an object of class “BaseClass”or an
object of any sub-classes of class “BaseClass”. For example, if class “DerivedClass”
extends/inherits class “BaseClass” then both of the following statements are valid.

Fig. 9

Virtual Function implements the concept of polymorphism. The parent class uses the
“virtual” keyword and the child class uses the “override” keyword. Virtual methods allow
subclasses to provide their own implementation of that method using the “override” keyword.
Virtual methods can't be declared as private.You are not required to declare a method as
virtual, but, if you don't, and you derive from the class, and your derived class has a method
by the same name and signature, you'll get a warning that you are hiding a parent's method. A
virtual property or method has an implementation in the base class, and can be overridden in
the derived classes.

Since in method overriding both the classes (base class and derived class) have the same
method, the compiler does not figure out which method to call at compile-time. In this case,
in Java, the JVM (java virtual machine) decides which method to call at runtime.

The Common Language Runtime or CLR, is the runtime that supports not just C# but also
other .NET languages, such as Visual Basic.NET. The CLR decides in this case which
method to call at runtime.
That’s why it is known as runtime or dynamic polymorphism.

Here is an example:

Fig. 10


Fig. 11

As you can see MethodX has two different forms in child and parent class.
Thus we can say MethodX here is polymorphic.


Robert C. Martin (Uncle Bob), Daniel Solis, Tanenbaum Austin.

[2] Dr. Prof. Tomescu Marius Lucian’s materials course

E- Commerce-Perspective
Morariu Mioara Madalina, Petyo Maria Herieta,
"Aurel Vlaicu" University of Arad, Faculty of Exact Sciences, Bd.Revoluției 77, 310295 Arad, Romania

Scientific Advisor: Chis Violeta

"Aurel Vlaicu" University of Arad, Faculty of Exact Sciences, Bd.Revoluției 77, 310295 Arad, Romania


The paper presents a short perspective of electronic commerce (e-commerce).E-

commerce is a business dealing of buying or selling online. The presentation will concentrate
on advantages and disadvantages of online buying, a short description of security systems and
web technologies.

Keywords: e-commerce; internet; e-business; transactions online; websites;

1. Introduction

E-commerce is the buying, selling and/or exchanging of goods or services, over the
Internet. E-commerce draws on technologies such as mobile commerce, electronic funds
transfer, supply chain management, Internet marketing, online transaction processing,
electronic data interchange (EDI), inventory management systems, and automated data
collection systems.Nearly any product or service can be offered via e-commerce, from books
and music to financial services and plane tickets.
E-commerce has authorized firms to create a positive image on market and to increase
an actual market position, by furnishing a less expensive and more economical distribution
for their products or services. [1], [2].
Ecommerce offered many advantages to companies and customers but it also caused
many problems. A comparative situațion is presented in Figure 1.1.

Figure 1.1 Advantages vs disadvantages of E-commerce

2. E-Commerce - Business Models

E-Commerce or Electronics Commerce business models can generally categorized in

following categories.[3]

Figure 2.1.Business models

3.E-Commerce - Security Systems and Web technologies

Security is an essential part of any transaction that takes place over the internet.
Customer will loose his/her faith in e-business if its security is compromised[3]. The
essential requirments for safe e-payments/transactions are presentet in Figure 3.1.

Figure 3.1 Security systems

Major security measures are presented in Figure 3.2.

Figure 3.2 Security measures

The popular protocols used over the internet which ensures security of transactions
made Figure 3.3 presents a short description for most popularinternet protocols.

Figure 3.3 Internet protocols

There can be a lot of technologies used to build e-commerce websites:

 Pre Requisite (Front End) : HTML, CSS , Javascript, jQuery, Ajax

 Server Side Language: PHP, Java,JSP / ASP
 User Interface : Photoshop, Illustrator, Corel Draw
 A database system is an integral part of an e-commerce website. The database is used to
store information about the products that are for sale on the store ( MySQL, SQL,
NoSQL or other databases)
 Framework : Magento, SAAS (Software as a service), Prestashop, Zencart, Woo
commerce (Wordpress), Virtuemart(Joomla), Ubercart(Drupal), Opencart, Spree
Commerce, Ruby on Rails, Bootstrap.

4. Case Study

a. Top ten online shopping websites


2. E-bay

3. Walmart

4. Alibaba

5. Target

6. Flipkart

7. Bestbuy

8. Newegg

9. Overstock

Figure 4. 1Top online shopping websites

b. About

eMAG is a Romanian company which sells online IT equipment and components,

electronics, appliances, sport equipment, books, music, movies, petshops, toys. The platform
was settled in 2001. Starting with 2012 eMAG was extended on international markets, such
as Bulgaria, Poland and Hungary.In Romania the most practical platform for online shopping

Figure 4. 2Top sites[5]

c. Statistics

The eMAG traffic raised in 2016 with 63% in comparison with the previous year. The
mobile visits were with 26% higher on the mobile than on the desktop (Figure4.3)[6].

Figure 4. 3Desktop vs. mobile

As a result of the improvement on electronic commerce, the customers have easier

access to every product they are looking for at every second of the day and at any step
(Figure 4.4).

Figure 4.4 Orders time interval

Among the most procured product categories are those for children (4.7%), home & deco
(3.7%) and beauty products (3.3%), followed by small household appliances and accessories for
phones and mobile phones.The next diagram illustrates the top of 10 products categories by the
number of orders(Figure 4.5).

Figure 4.5 Products categories[6]

5. Conclusions

Nowadays e-commerce is gaining more and more ground against the classic
commerce methods. There are, however, people who do not trust online shopping, but most
of them choose this type of. The majority of online buyers consist of young people.
We can say that e-commerce is a low cost and important economic development tool
for firms located in developing and industrial countries.
Sales of products and services for and over the Internet grew exponentially and the
majority of all current and estimated sales are business to business.
Electronic commerce is influenced by technology infrastructure, economics, vendors,
culture, competitors and all consumers. Security, privacy, censorship also play a role.

[1] K.Laudon , C.G. Traver, E-Commerce business. technology. Society, Pearson, 2014
[2]Ajeet Khurana”, Advantages and Disadvantages of Ecommerce”, October 17, 2016,

- A lovely game framework -
Mureșan Vlad Mihail q
"Aurel Vlaicu" University of Arad,Faculty of Exact Sciences,Bd. Revoluției 77, 310295 Arad,

Scientific Advisor: Lect. Univ. dr. Crina Anina Bejan

"Aurel Vlaicu" University of Arad, Faculty of Exact Sciences, Bd.Revoluției 77, 310295 Arad, Romania

Clove is a simple to use and learn 2D game framework created in C programming language which is
using Lua as the scripting language.

Keywords:game framework, 2D games,C programming language, game engine

1. Main - Introduction

Clove is a simple as in use and easy to learn 2D game framework tested on Mac, Linux and
Windows, Android and web ports are under development. This project is written in C
programming language but recently I added the possibility of writing C++ code as well, if
Clove is hosted on Github as an open source project under the MIT license. For more info

1.1 What is a game framework / game engine?

A game engine is a software framework designed for the creation and development of
video games. Developers use them to create games for consoles, mobile devices and personal
computers. The core functionality typically provided by a game engine includes
a rendering engine (“renderer”) for 2D or 3D graphics, a physics engine or collision
detection (and collision response), sound, scripting, animation, artificial
intelligence, networking, streaming, memory management,
threading, localization support, scene graph, and may include video support for cinematics.
The process of game development is often economized, in large part, by reusing/adapting the
same game engine to create different games, or to make it easier to "port" games to multiple
Clove is no difference to this definition but it has to be mentioned that this project is not
your typical game engine because this kind of projects are made by entire teams for a long
period of time where Clove is made by a single person, me, for the past 2 years as a hobby
hence the terminology of game framework instead of game engine.

* Corresponding author,

A game framework is more or less the same thing as a game engine but usually lacks the
following features:
 AI system
 Method of showing the current scene.

1.2 Why choose C as programming language when you could use X language?

Originally Clove was meant to be written in Java or C# but I was always fascinated by how
things work at their core. In a high level language like Java or C# these kind of elements are
abstracted away by all the high level code you are forced to use, so a high level language was
not an option for me.
As soon as I realized I don’t want to use a high level language I opted for, initially, C++98
but I found too many resembles with Java so I decided to go a bit more low level and use

2. What big features does Clove have to offer?

Table 1 presents the most important features that empathies Clove from other games
Table 1. Features of CLove

Nr. Crt. Feature

Lua scripting language
Writing code in C or C++
Unique easy to learn and use api
Cross platform deployment
Custom package format
Very powerful batch system
Image loading, drawing and creating
Sound loading and playing (vorbis and wav)
Streaming support for vorbis sound files
Primitive shapes drawing
Cross platform file system functions
Usage of GPU by using OpenGL 2.0 on desktop
and OpenGL ES 2.0 on mobile devices
Powerful font loading and drawing using the
batching system
Keyboard, mouse and joystick support
Usage of threads
Error handling
Image fonts

2.1. Lua scripting language

”Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports

procedural programming, object-oriented programming, functional programming, data-driven
programming, and data description.
Lua combines simple procedural syntax with powerful data description constructs based on
associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting
bytecode with a register-based virtual machine, and has automatic memory management with
incremental garbage collection, making it ideal for configuration, scripting, and rapid
I have chosen Lua because even before I started creating Clove I used it and enjoyed a lot
the simplicity of it and because it’s bloat-free.
At it’s core Lua is written in C making it very fast and efficient and linking with an already
made project written in C or C++ is not a big hassle.
The purpose of a scripting language in a game framework or game engine is to make the
experience of game developers more enjoyable and to take away the stress of handling the
memory cleaning or dealing with complex problems that a language like C would come with.

2.2. Writing code in C or C++

Another thing that makes Clove to stand out from the rest of the competition is that it does
not force you to use Lua if you do not want to.
There are situations where you want to have the maximum performance possible and using
C or C++ will provide you that.
Having C++ in Clove allows more developers to join the process of developing and
expanding this game framework, also it allows the usage of C++ libraries that are not available
in C.

2.3. Unique easy to learn and use API

Making games is really hard and time consuming. This is exactly why I spend a lot of time
thinking how this process can be made easier and faster. A solution to this problem is to have
a clean, easy to remember and most important easy to use API that can be learned by
inexperienced programmers and experienced programmers and have a scripting language that
does not require a lot of time and effort to be learned.

2.4. Cross platform deployment

When creating games is a good idea to have them on as many as possible devices so more
people have the chance to check out your game meaning more revenue and more exposure to
the community of game development and software in general.
Clove uses Cmake which is build upon Make build system and manages under the ‘hood’
every library and its functions in a smart cross platform way so it can run on Mac,Linux and
Windows without the need to rewrite code for a certain platform when creating games. For
making sure the code will run on all platforms that are being targeted, Clove uses C99 which
should be supported by all compilers. The standard compiler in Clove is GNU GCC and G++
for C++ which is supported by default on Linux and OSX. On Windows a workaround for
this is to use MinGW,Minimalist GNU for Windows.

2.5. Custom package format

Clove has a new feature that allows to pack your source code in a custom format and have
the game in a more secure format(much like how Java does it with JAR files) eg:
Name.clove.tar .
The purpose of this feature is to hide your source code written in Lua from users who
might want to hack the game and ruin the experience or steal the source code. Also by
packing the game you reduce the overall size of the game, making it easier for people with
slow internet connection to have it run.

2.6. Very powerful batch system

Every game has to have some sort of graphics on the screen. The process of rendering
graphics to the screen can be quite expensive if you are not careful with how you send data to
the GPU aka Graphics processing unit and how you manage the communication between
CPU aka Central processing unit and GPU by using shaders (“In the field of computer
graphics, a shader is a computer program that is used to do shading: the production of
appropriate levels of light, darkness, and color within an image, or, in the modern era, also to
produce special effects or do video post-processing”
Every image rendered on the screen is composed out of 3 big layers:
I) A quad (4 vertices mesh ie a rectangle)
II) The image being rendered is placed on top of the quad
III) In order for I) and II) to happen there needs to be a shader that glues them together.
Eg: sets a color, sets the coordinate system(X, Y for 2D, X, Y, Z for 3D) etc.
The process mentioned above can and will become expensive when you are dealing with
thousands or more images, vertices, meshes, models etc. Knowing that current gen games
have millions of vertices shown at the same time on the screen there needs to be made some
optimizations to the framework so it can handle all of the data at a decent FPS aka frames per
One solution to a good optimization is to pack before sending the data to the rendering
function everything in one big chunk of data making easier for the GPU to process
Eg: Sending 22000 images and making 22000 calls to the GPU will be a lot worse than
sending one big chunk of 22000 images.

2.7. Image loading, drawing and creating

Before rendering the images on the screen they have to be loaded. This process is handled
by using a library called stb_image which reads the format of different types of images like:
tga, png, jpg and expose them in a handy way so later the exposure can be sent to the GPU.
Writing images from scratch is done by using some functions that stb_image provide.

2.8. Meshes

Meshes are a powerful feature that consists the core of every object that is displayed on the
screen. A mesh is nothing more than a set of vertices with special properties like: color, uv
and a set of coordinates.
Having a special class for dealing with meshes lets you create all sorts of objects which
later can be displayed on the screen. A mesh may or may not have a texture applied to it
letting the developer doing whatever he wants with the mesh just created.

2.9. Sound loading and playing (vorbis and wav)

Sound is one of the core functionalities of a game framework or game engine. Loading and
parsing an .ogg file (vorbis) is done by using a special library called stbi_vorbis. Loading and
parsing a .wav(waveform audio file format) file is done by myself.
After the desired sound is successfully loaded it has to be sent to the audio control unit by
the help of OpenAL (Open Audio Library) is a cross-platform audio application
programming interface (API). It is designed for efficient rendering of multichannel three-
dimensional positional audio.

2.10. Streaming support for vorbis sound files

Based on the length of a sound file eg .ogg its size can differ. When having to play a large
sound eg: 6 minutes of length and 10mb of size that sound is going to be decompressed in
ram and from the size of 10mb used in example can reach to a size of 100mb easily meaning
a very long time to decode and a high usage of ram per song.
A solution to this problem is to stream the sound file. The process of streaming consists in
loading bits of chucks of data and only that small loaded part of the song to be decoded and
processed. This process will repeat until there is no more data to be read.

2.11. Primitive shapes drawing

When you have to quickly prototype a game idea and you don’t have assets to test with it’s
a common practice among game programmers and developers to have some primitives on
screen which server different purpose for your demo. Example of primitives supported by
Clove: rectangles, circles, points, lines. All of them can be ,,filled” or not “filled” with color
resulting different types of effects.

2.12. Cross platform file system functions

Like everything else in Clove, file system functions have to be managed in a cross platform
way so that when wanting to create a folder/file or reading from a file or writing to a file
everything is handled in the same way across platforms without needing to write special code
for the current platform you’re developing for. There are many functions related to this
module and I won’t get into much details here.

2.13. Usage of GPU by using OpenGL 2.0 on desktop and OpenGL ES 2.0 on mobile devices

When you want to have your game framework written in a manner of portability you have
to think very careful at what tehnologies you pick so you’ll have the same result across
platforms without needing to change a lot about your code. Write it smart once and have it
run everywhere. For that to happen I was needed to pick very careful between: OpenGL 1.x,
2.x, 3.x or the latest one 4.x. I picked OpenGL 2.0, 2.1 because this version with small
modifications can be run on Android, Ios, Windows, Mac, Linux, PS Vita, Nitendo Switch,
3DS and many more. This once again is possible due to C which can be virtually run on any
device ever created because almost all of them are at their core based on C programming

2.14. Powerful font loading and drawing using the batching system

Font loading is done by using a standard library named Freetype which serves for reading
and decoding .ttf fonts files. After the font as been successfully loaded into memory Clove
handles the drawing of the font by using the batch system presented earlier. In the earlies
versions of Clove fonts did not use the batching system resulting a slower performance when
dealing with large amounts of text or multiple fonts displayed at the same time on the screen.
Also in earlier versions of Clove fonts did not support any kind of rotations and barely
supported scaling, all of that have been fixed since november 2016.

2. 15. Keyboard, mouse and joystick support

When dealing with multiple platforms each of them have different functions in their kernel
which allows you, the game framework programmer, to check input. For example creating a
window, checking for mouse input(mouse movement, button pressed, button released),
keyboard input(key pressed, key released, key just pressed, key just released) is totally

different for each platform. For example in order to achieve what I descried earlier on
Windows you would have to use Win32 API created and maintained be Microsoft itself, on
OsX you would have to use Cocoa API which is written in Object-C by Apple and last but
not least on Linux use their kernel for getting what you want. The same applies when you
want to port to different systems making it a hard and a slow process.

2.16. Usage of threads

Threads are a relative new feature to Clove and not yet fully functional but should be
enough for basic tasks. Threads are used in game programming but not only. Since our
machines have multiple cores inside it’s a good practice to use (if we can) all of them in order
to have the application run smoother and faster. Threads like most of the features supported
by Clove are system specific meaning that the code will be almost totally different for each
platform but handled and exposed in a simple way making the usage of them very easy and

2.17. Error handling

When coding large applications sometimes it could be hard to keep track when and why we
get certain errors. Clove uses a custom build in error handling and Lua’s error handling for
making the experience of debugging much easier for programmers.

2.18. Networking

Networking is supported in Clove using socket stream TCP protocol and IPv4 and IPv6.
It has all the function which lets you create a server and the client side both in C and Lua. It
also handles all the error which may occur.

2.19. Image fonts

Back in the days(1990-1995) fonts used to be drawn using glyphs drawn in images by hand.
Now there’s a new format type named TTF which is vectorial base letting it be scaled by any
size without breaking the quality of it. This format is supported in Clove and also it supports
the old format with images as glyphs because image fonts are easier to be created by
developers than TTF which require special tools and special knowledge.

Table 2. List of game engines/frameworks

Name Primmary Scripting Cross- 2D/3D Target Notable License

programming language platform oriented platform games
Unity Mono, Yes YES 2D, 3D Windows, OS X, Almost every Proprietary
UnityScript ("also game you see
LinuxXbox 360, Xbox One,
known as made by indie
Wii U, 3DS, PlayStation 4, developers
JavaScript for PlayStation Vita, Windows
Unity"[11]), C#,
Phone, iOS, Android,
Boo,[12]Cg, BlackBerry 10, Tizen,
HLSL Unity Web Player,
Windows Store, WebGL,
Oculus Rift, Gear VR,
Android TV, Samsung
Smart TV

Name Primmary Scripting Cross- 2D/3D Target Notable License
programming language platform oriented platform games
4A Engine Unknown Unknown YES 3D Windows, OS X, Linux, Metro 2033, Proprietary
PlayStation 3, PlayStation Metro: Last
4, Xbox 360, Xbox One Light
Allegro C Ada, YES 2D Windows, Linux, OS X, Factorio ZLib
C++, iOS, Android, Raspberry Pi,
C#, D, DOS
, Pascal,
CryEngine C++ Lua,C# YES 3D Windows, OS X, Linux, Crysis Proprietary
PlayStation 3, PlayStation
4, Wii U, Xbox 360, Xbox
One, iOS, Android
Libgdx Java YES 2D/3D GNU/Linux, Windows, OS Apache 2.0
X, iOS, Android, Java
applet, WebGL
Java3D Java YES 3D Cross-platfrom BSD


In Depth – Virus Outbreak

Negru Andrei-Iulian, Kallos Zoltan-Andrei, Ciochia Andrei-Daniel

University of Petrosani, University Street 20, 332006, Petrosani, Romania
University of Petrosani, University Street 20, 332006, Petrosani, Romania
“Constantin Brancusi”Technical College, Republicii Street 196, 335800, Petrila, Romania

Scientific Advisor: Lecturer PhD Zavoianu Constantin

University of Petrosani, University Street 20, 332006, Petrosani, Romania

The game was created for a game development challenge named “Ludum Dare” put forth by the site[1] in the span of 72 hours with the theme being “A small world”.
This is a basic survival game with an evolution mechanic that lets you develop upgrades to better
survive against enemies.

Keywords: Ludum Dare; game; a small world.

1. The Setting

The game is set on the bottom of the ocean floor, where you take the role of a new virus.
Your goal is to grow, consume the nearby bacteria and evolve into a deadly virus that can
eventually infest the entire world.

Fig. 1. Main Game

2. The Mechanics

This game features two main mechanics to augment the gameplay: an evolution mechanic,
and a power-up mechanic.

2.1. Evolution

The first mechanic is the ‘Evolution’ mechanic. Whenever a player acquires enough
DNA he can trigger an evolution, which not only provides a level-up, thus increasing all the
base stats, but can also choose to improve the character in one of multiple ways. Eventually,
you are even given a mutually exclusive choice between active abilities.

Fig. 2. Level-up screen screenshot

2.2. Power-ups

The next mechanic is the Power-up system which randomly spawns Power-ups on the
field which have to be picked up by the player. The game features two different power-ups

 The first one is a shield with 2 charges that protects the player from two attacks.
The shield protects based on attacks, not damage, so it can protect the player from 2
hits from the strongest enemies, but can also be broken by 2 attacks from the
weakest ones. Picking up multiple shields without completely breaking the

previous one wastes the power-up, so in the interest of efficiency you may wish to
leave the shields on the field to pick up later, but if your current shield only has one
charge left, you can pick up another one to refresh the charges back to two.

Fig. 3. Shield Power-up

 The other one is a healing power. Picking this one up heals the injured player by a
set amount (enough to bring him back to full health at the start of the game), and if
picked up when at maximum health, it increases the maximum hit points of the
player by a small amount.

Fig. 4. Health Power-up

3. The Models

The game features the following sprite models for the player and the enemies. As a note,
the enemies that fight back each have 3 tiers. The higher the tier, the tougher the enemy.
 The player controlled virus, whose goal is to consume all nearby enemies to grow
and evolve.

Fig. 5. Player sprite
 A harmless cell that cannot attack and simply wanders around.

Fig. 6. Harmless cell sprite

 A defensive ranged squid-like enemy that, when it detects the player, shoots acid
towards its location, while also slowly backing away from it.

Fig. 7. Squid sprites

 An aggressive enemy, which charges towards the player when it detects it to impale
it on its horn-like protrusions.

Fig. 8.Charger sprites.

4. Ludum Dare

Ludum Dare is a community based game development competition in which the

participants have to create a video game in a set amount of time and with a specific theme.
The theme is chosen through a voting process that starts a week prior to the
competition in which every participant can suggest up to three themes.
The competition starts when the winning theme is announced and depending on the
category the participant wishes to attend he will have 48 hours or 72 hours to create and
submit the game.

 The Ludum Dare Compo category is for solo development with a strict set of rules,
which are as follows: the game must be created from scratch without using premade
assets, the developer must create everything from graphics, to audio, tosource code
for the game alone in the span of 48 hours and publish the source code along with
the game when the time is over.

 The Ludum Dare Jam category is more relaxed, allowing the participants to work
alone or create a team , it allows the use of preexisting assets and it does not require
giving away the games source code, and it extends the deadline to 72 hours instead
of 48.

5. Unity engine

Unity is a game engine that allows the use of either 3D or 2D graphics. It is one of the
most used free game engines alongside Unreal Engine 4.
The engine is popular because of its easy to use interface and flexibility, the user can code
his games using two different programming languages such as C# or JavaScript, and it also
has a marketplace where you can find graphic assets or even source codes for different uses.

Used Software

Different software was used during different stages of development. The Sprites were
created in Pyxel Edit, the programming was created using Unity3D v 5.5 with C#.


Virtual reality modelling language (VRML)
Onețiu Nicoletaar
”Aurel Vlaicu” University of Arad, Str. Elena Dragoi, no.2, 310330, Arad

Scientific Advisor: Lect. Univ. dr. Bejan Crina Anina

”Aurel Vlaicu” University of Arad, Str. Elena Dragoi, no.2, 310330, Arad

This paper approaches a simple structure of a virtual world. The subjects that will be presented in this
paper is VRML (Virtual Reality Modeling Language), that is a standard file format for representing
3D interactive vector graphics and Cortona3D that provides fast, reliable and high interactive viewers
for 3D/2D content on various platforms. This work examines the principal components of the virtual
world, which are: immersion, navigation and interaction. This article contains also a practical work in
which is presented how to create 3D object, texture for an object and movements.

Keywords: VRML; Cortona 3D; immersion; navigation; interaction;

1. Introduction to VRML

VRML, the Virtual Reality Modelling Language, is a file format for describing
interactive three-dimensional objects and worlds. Here a world is a model of a 3D space,
which can contain 3D objects, lights, and backgrounds; in other 3D systems this is often
called a scene [1]. Objects can be built from solid shapes, from text, or from primitive points,
lines, and faces. Objects have optical material properties which affects how they interact with
the lights in the world; they can also have textures (2-D pat terns) applied to them. Objects
can be grouped into more complex objects, used multiple times, translated, and rotated.
Objects can trigger events, which can be routed to other events or to scripts written in
JavaScript or Java .Within VRML you can trigger sounds, move objects along paths, and link
to HTML or VRML targets. In JavaScript or Java you can manipulate VRML object
properties programmatically and even generate new objects. It's entirely possible to create
VRML worlds with nothing more than the VRML specification, a text editor, and a VRML-
enabled browser (all of which are free), if you're a programmer with a good grasp of 3D
computer graphics concepts. On the other hand, a VRML modelling program or world
builder can take a lot of the pain out of the process, and make 3D world creation accessible to
non-technical designers. It is possible to create VRML filed in any cod editor text but the file
must be saved with the extension wrl.

* Corresponding author,
E-mail address:

To open the files with the extension 3D is needed to use Cortona 3D Viewer. With
Cortona3D Viewer you can see and explore 3D worlds. Cortona3D Viewer will start
automatically when you open a file containing VRML world. There are two parts of the
Cortona3D Viewer window:
 The toolbar, which contains buttons used to specify navigation type in a world and
buttons with predefined actions to change your position in a world.
 The 3D window, which shows VRML world.

2. Concepts of VRML using Cortona 3D

2.1. Concept of Immersion

Immersion in VRML is a perception of being physically present in a non-physical world.

The perception is created by surrounding the user of the VRML system in images, sound or
other stimuli that provide an engrossing total environment. So, the Immersion is an important
concept of the Virtual World, because the immersion helps us to see inside the things that we
create, for example if we build a house we can build and decorate the inside of building using

Fig. 1. House in VRML

2.2. Concept of navigation

In Virtual Reality Modeling Language exist more possibilities of navigation for the files
with wrl extension:
 PageUp and PageDown keys. These are the standard keys for moving to the next or
previous viewpoint, respectively.[2]
 Walk – generally follows the surface of the terrain by providing the effect of gravity.
Moving the pointer up/down moves forward, while relative left or right controls the
viewing direction and thus the direction of movement.[2] In general, you will move in
the direction you are looking. Walk is the simplist form when the author has provided
terrain for you to walk on. Just move the pointer left/right to look around, and
up/down to move. Your movement may be affected by 'collision' with objects in the
 Fly – typical eliminates the gravity effect and allows you to move in any direction
without restriction. To move in a desired direction, you first aim the view in the
direction you wish to travel.[2] As with Walk, pointer up/down will move
forward/backward and relative left/right will cause the view to yaw in the desired
direction. Other controls are used to provide pitch and roll movements.

 Pan – will allow you to look all around the scene freely without changing your
position. When you select Walk or Fly, then you can move in that direction. For Fly
navigation, you may use Pan to change your heading and pitch, then return to Fly for
 Roll – rotates the view around your view direction. This is not usually useful in Walk,
but is useful in Fly to change your 'up' when choosing movement direction.

In addition, the X3D browser (Cortona 3D Viewer) will include a couple of navigation
utilities: Examine which allows the viewpoint to move around an object, and LookAt which
allows selection of the object to examine.

3. Creating 3D objects in VRML

How I said before, to create a virtual world using VRML is needed a code editor text.
There You can start creating object. I will show you some examples made created by me. I
didn’t use advanced techniques, I just used the basic techniques witch are easy to understand.
I will start with creating some geometric shapes.
The picture below is opened using Cortona and all the shapes presented there are
made using codes:

Fig. 1. Shapes in VRML

For example the code to create the red cube is the following:

Transform {
translation -3 3 0
children [
Shape {
geometry Box{}

appearance Appearance {
material Material {
diffuseColor 0.5 0 0
specularColor 0.5 0 0
shininess 0.2 }}}]}

The code that draws a shape with a picture on it is the following:

PROTO JED_Cylinder [
field SFColor color .0 .0 .0]
{ Shape{
appearance Appearance {
material Material{
diffuseColor IS color }
texture ImageTexture{
url "bike.jpg"
repeatS TRUE
repeatT TRUE } }
geometry Cylinder{
radius 1.0
height 2.0
side TRUE
bottom TRUE
top TRUE}} }

The positive aspects regarding this practical part are the following:
 Very easy to understand
 The code structure is clear
 The project includes some important techniques using VRM, e.g. lightening

The negative aspects of this work are:

 It doesn’t have movements implementation
 The interaction is very low


VRML is a way to represent and transport 3D environment definitions across the

Internet efficiently. Because of the rapid development of the standards of VRML,
implementers of viewers are hard-pressed to provide users with a well thought-out interface.
This is understandable, considering that the technology is so new and the availability of
viewers is more important to the spreading of the standard than a good interface that takes
years to develop and has to wait for hardware standards to catch up. Nevertheless, it is useful
to look at the requirements for a viewer and the preconditions for the use of VRML to
represent information to the user.


I would like to express my special thanks of gratitude to my scientific advisor, Bejan

Crina, who gave me the opportunity to present this work at this conference and for her
support regarding my practical work. I also want to thank to my Erasmus professor from
Portugal: Jamie Silva, who teach me the basics about how to create a virtual worlds using

[1], 11.05.2017
[2] , 11.05.2017

Newton’s method and fractals
Rustam Shaghivaliev
Moldova State University, A. Mateevici str., 60, Chişinău, MD-2009, Republic of Moldova

Scientific Advisor: Valeriu Guţu

Moldova State University, A. Mateevici str., 60, Chişinău, MD-2009, Republic of Moldova

Newton’s method under some conditions offers an opportunity to find the roots of real functions,
using a recurrent procedure. In this case a basin of attraction can be defined for each root. However,
Newton’s method and its recurrent procedure can be extended on complex functions, which can
generate interesting fractal pictures as basins of attractions. We present a program for drawing such
fractals for complex polynomial functions.

Keywords: Type your keywords here, separated by semicolons ; Newton’s method, fractal, basin of

1. Mathematical background

1.1 Description of Newton’s method

Let be a differentiable function. Suppose we need to find the root of the

equation ( ) on a given interval, provided such root exists. Newton’s method consists
of following: we take an initial point and then draw the tangent line atthe point ( ( ))
to the graph of function f and find its intersection with the x-axis getting a new point .
Repeating this process a sufficient number of times we obtain a finite sequence ( ) that
approaches (under some sufficient conditions) to the root. Thus, we get a recurrence formula
for this sequence( ) :


1.2 Convergence of Newton’s method

There are some sufficient conditions for the convergence of Newton’s method. We
consider, as example, some simple such conditions.
Theorem.Let [ ] be a function of class .Assume that the following
conditions are satisfied:
1. has a root on the interval ([ )];
2. is monotonous on the interval [ ];
3. The second derivative of f has a permanent sign on the interval ([ )].
Given ∈[ ],if ( ) ( ) , then the sequence ( ) in Newton’s method
converges to the root of function on the interval [ ].
L. Kantorovich has established [1] sufficient conditions, when Newton’s method hasat
least a quadraticconvergence.

1.3 Failure of Newton’s method

Newton’s method converges when some sufficient conditions are satisfied. Nevertheless,
there are situations when this method does not converge at all.
A simple case when Newton’s method does not converge can appear when sequence from
the starting point enters in a cycle. For example, consider the function ( ) , and
the starting point . After the first iteration we obtain and after the second
iteration . After this the sequence alternates between two values and does not converge
at all.
Another simple case of no convergence can occur when the sequence enters in a some
stationary point of the function f, so when ( ) In the case of convergence of
Newton’s method the basin of attraction can be defined for each root of the given function.If
is a root of , the basin of attraction of , is called to be the set of all points such that
Newton's method starting at converges to (see, e.g. [2]).

1.4 Newton’s method in the complex plane and basins of attractions

Newton’s method under some conditions can be generalized on the complex plane. This
case is interesting by presenting a lot of various and very interesting shapes of basins of
attractions. Arthur Caley (1879) first considered such kind of basins of attractions for
quadratic functions in the complex plane.
Cayley’s Theorem. [2]Let the complex quadratic polynomial ( ) has
zeroes and in the complex plane. Let be the perpendicular bisector of the line segment
from to . Then, when Newton’s method is applied to ( ), the half-planes into which
divides the complex plane are exactly ( ) and ( ), the basins of attraction to and .
Generally, the basins of attractions for a complex function, provided they exist, often have
fractal patterns. Such pictures were gotten in 1980s with the development of computer
graphics [2].
Further,we consider a program for drawing such fractals.

2 Computer Science background

2.1 Program description

The program to draw fractals as basins of attractions for complex functions was written on
Java, which in was described class for complex numbers. The program uses the library Swing
for building graphical user interface. Our program can build fractals, for example, for
polynomial functions and not only. As parameters of the program, we establish the function,
desired interval of real part and imaginary part, the maximal allowed number of iterations and
necessary accuracy epsilon. We assign to each roota certain color. If the sequence, starting in
a point approaches enough to the root (it reaches the epsilon neighborhood of the root) less
than the maximal allowednumber of iterations we color the starting point in the color
assigned to this root. We color the starting point by black, if the sequence does not reach
epsilon neighborhood for any root during the allowed number of iterations. Hence, the
blackarea means that starting from this point does not converge to any root for a given
number of iterations. Fig. 1 and Fig. 2 show examples of fractals of the basins of attractions
for the functions ( ) , ( ) build by
our program.

Fig.1. Basins of attractions the function for ( )

Fig.2. Basins of attractions for ( )

2.2 Problem of choosing the number of iterations

Drawing fractals as basins of attractions for complex functions, the main problem is to
choose correctly the maximal number of allowed iterations. If we choose a small number of
iterations, than large area of considered domain remains under black (the points do not
succeed to approachenough to the root), but increasing the number of iterations larger parts of
these areas became painted in the colors of respective roots. So, choosing a small number of
iterations leads to a poor picture. Nevertheless, a big number of iterations leads to big
computations and slows program without any visible effect. For example, Fig.3 –Fig. 5
shows the coloring of fractals for the function ( ) , with different maximal
allowed number of iterations.

Fig.3. Maximal number of iterations – 20

Fig.4. Maximal number of iterations – 100

Fig.5. Maximal number of iterations - 200

2.3 Different types of painting

In previous examples we have shown the coloring of fractals, where colors were used
corresponding to roots. However, we can consider other type of coloring the fractals. For
example, we can take as criteria for coloring starting points the speed (number of iterations)
which ensures the convergence of a starting point to some root, does matter to which one. So
now different colors show to the number of iterations that ensure the convergence.
For the same given function, these two approaches for coloring fractals lead to different
fractal pattern. For example, Fig.6 and Fig.7 show two different pictures corresponding to the
( ) using these two approaches.

There are also many other possibilities to obtain various and fascinating coloring fractals,
using Newton’s method.

Fig.6. Painting by roots

Fig.7. Painting by iterations

[1] P. Deuflhard. Newton Methods for Nonlinear Problems.Affine Invariance and Adaptive
Algorithms, volume 35 of Computational Mathematics.Springer International, 2004.
[2] Philip D. Straffin, Jr. UMAP Modules: Tools for Teaching 1991. Newtons Method and

Overview upon Cryptography Techniques
Zlotea Gheorgheas
”Aurel Vlaicu” University of Arad, Str. Elena Dragoi, no.2, 310330, Arad

Scientific Advisor: Lect. univ. dr. Bejan Crina Anina

”Aurel Vlaicu” University of Arad, Str. Elena Dragoi, no.2, 310330, Arad


This article present an overview upon cryptography techniques and is presented three
algorithms for encryption and decryption: DES, RSA, SHA1. In this work, the three
algorithms are examined and explained in logical and theoretical terms. It is analyzed also the
difference between symmetric and asymmetric encryption. This article has also a practical
support, in which I implemented the three algorithms in Java, Eclipse.
Keywords: cryptography, encryption, decryption,symmetric, asymmetric.

1. Introduction in Cryptography

In this report I will present you what we need to know about Cryptography. First of
all, what is Cryptography? Cryptography mostly means “the study of secret data”[5].
Cryptography is a process in which you use codes to protect the information, that you want to
keep hidden, and nobody have access to it, just the persons that you allow.

To perform an encryption must be used a plaintext, which is the normal and original
text and chipertext, which is the abnormal text. So, encryption is the process that convert a
plain text into a chiper text and decryption, vice versa, is the process that convert the chiper
test into the plain text.

To succeed an encryption, have to use an algorithm. Algorithm is the programmatic

steps used to convert an unencrypted message into an encrypted sequence of bits that
represent the message; sometimes refers to the programs that enable the cryptographic

2. Cryptography

Cryptography probably is the most important aspect of communications security and is

becoming increasingly important as a basic building block for computer security.
Cryptography or cryptology came from the Greek words: kryptos that means “hidden,
secret”, graphein that means “writing” or logia that means “study”.

Encryption is also known as cryptology and is the process that convert an original and
readable text in a form that is unreadable to unauthorized individuals to open it and read it.
The only ones that can read the text is the ones that have the tools to convert the unreadable

* Corresponding author,
E-mail address:

text in the original form (usually the tool is a key). The process to convert an encrypted text
to the original (readable) form is decryption[1]. The original text that follows to be encrypted
is known as plain text and the resulting text after encryption is known as chiper text.

2.1.Symmetric encriptio

Symmetric Encryption was the only type of encryption in use prior to the
development of public key encryption in 1970’s. It remains by far the most widely used of
two types of encryption[2].

Symmetric encryption scheme has five ingredients:

 Plaintext
 Encryption Algorithm
 Secret Key
 Chipertext
 Decryption algorithm

2.2.Asymmetric encription

While symmetric encryption system use a single key to both encrypt and decrypt
message, in asymmetric encryption, encryption and decryption are performed using the
different keysone, a public key and a private key.
Asymmetric encryption scheme has six ingredients:
 Plaintext
 Encryption Algorithm
 Public & Private Key
 Chipertext
 Decryption algorithm
The concept of public-key cryptography evolved from an attempt to attack two of the
most difficult problems associated with symmetric encryption. The first problem is that of
key distribution. Key distribution under symmetric encryption requires that two
communicants already share a key, which somehow has been distributed to them; or the use
of a key distribution center.

3. DES, RSA and SHA1

Here I will explain how to implement the tree algorithms: DES, RSA, SHA1 in Java
language and Elipse IDEA.

3.1.Data Encryption Standard (DES)

Data Encryption Standard (DES) is a symmetric-key block cipher published by the

National Institute of Standards and Technology (NIST). DES is an implementation of a
Feistel Cipher. It uses 16 round Feistel structure. The block size is 64-bit. Though, key length
is 64-bit, DES has an effective key length of 56 bits, since 8 of the 64 bits of the key are not
used by the encryption algorithm (function as check bits only). General Structure of DES is
depicted in the following illustration[1].

The following screenshot that I will show you make part from a program that I take from
the internet and then I adapted this program to the following requirements:
1. Actual IV must be represented as a string comprised only of hexadecimal digits.
2. The actual key to use must be represented as a string
3. Input file must be test.txt
4. Output must be test.des

Fig. 3 Encrypt plaintext

This method encrypts data information. To encrypts data information is needed a key
and the plaintext. This methods returns encrypted data.

Fig. 4. Decrypt cipher text

This method is not encrypting data but decrypting data. To decrypt data also is needed the
secret key and the chipertext.


The RSA cryptosystem is the most widely-used public key cryptography algorithm in the
world. It can be used to encrypt a message without the need to exchange a secret key
separately. The RSA algorithm can be used for both public key encryption and digital
signatures.[4] Its security is based on the difficulty of factoring large integers.
The following codes initializes the key pair generator for a certain keysize using a default
parameter set and the Secure Random implementation. This class is a simple older for a key
pair. This codes also create files to sore public and private keys.

Fig. 5

Here the plaintext is encrypted using the public key.

Fig. 6. Encrypt plaintext

This codes get an RSA chiper object and print the provider and decrypt the text using the
private key.

Fig. 7. Decrypt cipher text


In addition to ciphers, another important encryption technique that is often incorporated

into cryptosystems is the hash function. Hash functions are mathematical algorithms that
generate a message summary or dig to confirm the identity of a specific message and to
confirm that there have not been any changes to the content. While they do not create a
ciphertext, hash functions confirm message identity and integrity, both of which are critical
functions in e-commerce.

Fig. 7. Encrypt plaintext
This programs is working, you can encrypt an decrypt a file txt, using a public key.
An negative aspet about this program is that is very easy to be cracked, because is not built to
strong for this times.


In conclusion I can say that Cryptography is a topic that use in computer and network
What can we say now abbot symmetric and asymmetric encryption? Making a compare
between them we can say that the Symmetric encryption must have in consideration the
following to work: First that the same algorithm with the same key is used for both, encrypt
and decrypt a message; Second that the sender and the receiver must share the algorithm and
the key, wile Asymmetric encryption must have in consideration to work the following: First,
that one algorithm is use for encryption and decryption with a pair of keys , one for encrypt
and other for decrypt message or data; Second, that the sender an the receiver must each have
one of the matched pair of keys(not the same, like in asymmetric encryption).


I would like to express my special thanks of gratitude to my professor Crina Bejan,

who gave my the initiative to participate at this conferece and who is my scientific advisor
also. As well I want to express my gratitude to my Security of Informstion systems: who
teach me all that I know about Cryptography.

[1] Principles of Information Security 4th ed. – Michael E. Whitman, Herbet J.Mattord
[2] Cryptography and Network Security 4th ed. – William Stalling

Determination of the coordinates of the new points by using the
foresight intersection method
Calinovici Alina Ioanat
"Aurel Vlaicu"University of Arad, Faculty, Faculty of Exact Science, Arad, Romania, 310130

Scientific Advisor: Lecturer dr. Popa Lorena Camelia

"Aurel Vlaicu"University of Arad, Faculty, Faculty of Exact Science, Arad, Romania, 310130

In many fields of activity, man defines more accurately his reflections by using mathematical
relations. Between them, the Geodesy and the Topography are fields in which Trigonometry and
Geometry are widely used.
The direct measurement of certain distances and angles is difficult, and in some cases even
impossible. If we use the mathematical knowledge of plane or spherical trigonometry and geometry,
the problem is limited to determining on site the distances between certain accessible points and the
angles of a number of directions; the next step will be to determine the other distances and angles by
calculation based on trigonometry and geometry theorems [9].

Keywords:topographic circle, foresight intersection, trigonometric procedure

The foresight intersection consists in determining the absolute rectangular coordinates of a

point by the intersection of the directions of the unknown coordinate points and of those of
the known coordinates [1-7]. The absolute rectangular coordinates of the points 177 (X177,
Y177) and 178 (X178, Y178) are known (fig. 1). The angles ɑ and β are measured in the points 177
and 178, and the angle γ in the unknown point 301 if it is static. Further on it is necessary to
compensate the angles with the relation:

γ = 200g - (α + β) (1)

* Calinovici Alina Ioana,

E-mail address:


177 - 178

177 - 301 N


301 178 - 301

0 Y

Fig. 1. Foresight
Fig. 4.2.

Table 1 present the coordinates inventory of the supporting points.

Table 1

Coordinates inventory of the supporting points

Point nr. X [m] Y [m]

177 529395,624 215849,751

178 529361,973 215870,104

α = 57g15c56cc

β = 72g67c17cc

γ = 200g - (α + β) = 200g - (57g15c56cc + 72g67c17cc) = 70g17c27cc (2)

It is not necessary to measure any distance in the field because the distances are determined
from the coordinates.
1. The distance between the points 177 and 178 is calculated by using the relation:

D177 178   X 178  X 177 2  Y178  Y177 2 

 529361,973  529395,624 2  215870 ,104  215849 ,7512

  33,6512  20,353 2  1546,633  39,327 m (3)

2. Calculation of the orientation of the side 177-178 ( 177-178)

Y178  Y177 215870 ,105  215849 ,751

tg 177-178 =  
X 178  X 177 529361,973  529395 ,624

=  0,604855 → arctg 177-178 = 34g63c09cc (4)
 33,651

177-178 = 200g - 34g63c09cc = 165g36c91cc (5)

3. Calculation of the orientation of the sides 177-301 și 178-301

177-301 = 177-178 + α = 165g36c91cc + 57g15c56cc = 222g52c47cc (6)

178-301 = Ɵ177-178 + 200g - β = 165g36c91cc + 200g - 72g67c17cc =

= 292g69c74cc (7)

4. Calculation of the sides intersection

D177178 D177301 D178301

 
sin  sin  sin  (8)

D177178  sin 
D177301 
sin  (9)

39,327  sin 72 g 67 c17 cc
D177301   40,077 m
sin 70 g17 c 27 cc

D177178  sin 
D178301 
sin  (11)

39,327  sin 57 g15c56 cc

D178301   34,466 m (12)
sin 70 g17 c 27 cc

5. Calculation of the absolute coordinates of point 301



X301 = 529395,624 + 40,077  cos 222g52c47cc = 529358,030 m (15)

Y301 = 215849,751 + 40,077  sin 222g52c47cc = 215835,866 m (16)



X301 = 529361,973 + 34,466  cos 292g69c74cc = 529358,029 m (19)

Y301 = 215849,751 + 34,466  sin 292g69c74cc = 215835,865 m. (20)

Figures 4.3. și 4.4. present the mode of calculation by using the topo-online program [8].

Fig. 3. Solving the foresight intersection by using the topo-online program

Fig. 4. Solving the foresight intersection by using the topo-online program

[1]. Brișan M.C., 2005,Topography, MatrixRom Publishing House, Bucharest, p. 14-17.

[2]. Călina A., Călina Jenica, Mustață I., Iagăru R., 1999, Planimetry, Sitech Publishing House,
Craiova, p. 13-20, 140-148.

[3]. Coșarcă C., 2003, Engineering topography, MatrixRom Publishing House, Bucharest, p. 71-91.

[4] David Viorica, Geodesy - Practical Works, 2006, Politehnica Publishing House, Timișoara, p. 7-

[5]. Leu I. N., Budiu V., Moca V., Ritt C., Ciotlăuș A., Ciolac V., 1999, Topography and the
Agricultural Cadastre, Didactical and Pedagogical Publishing House, Bucharest, p. 15-19, 130-147.

[6]. Onose D., 2004, Topography, MatrixRom Publishing House, Bucharest, p. 64-145.

[7]. Sărăcin A., 2005, Topography, MatrixRom Publishing House, Bucharest, p. 67-73.

[8]. (access 15.12.2016).

cate.pdf (access 18.01.2017).