Documente Academic
Documente Profesional
Documente Cultură
Chişinău - 2016
Ministerul Educației al Republicii Moldova
Universitatea Tehnică a Moldovei
Facultatea de Calculatoare, Informatică și Microelectronică
Filiera Anglofonă „Computer Science”
Admis la susținere
Prof. dr. hab. Viorel Bostan,
Director Filieră Anglofonă
________________________
„__”_____________ 2016
Chişinău 2016
Universitatea Tehnică a Moldovei
Facultatea Calculatoare, Informatică și Microelectronică
Filiera Anglofonă „Computer Science”
Aprob.
Prof. dr. hab. Viorel Bostan,
Director Filieră Anglofonă
________________________
„__”_____________ 2015
CAIET DE SARCINI
pentru proiectul de licență al studentului
Băncilă Iana
(numele și prenumele studentului)
Conducător ____________________________________
semnătura
PLAN CALENDARISTIC
Nr. Termenul de
Denumirea etapelor de proiectare Nota
crt. realizare a etapelor
AVIZ
la proiectul / teza de licenţă
Tema: Vocabular cu șabloane ce utilizează audio cu pronunțare “Text-to-Speech”
Studentul: Băncilă Iana, gr. FAF-121
1. Actualitatea temei: Utilizarea telefoanelor mobile în scopuri educaționale este un subiect puțin
studiat. În acest context apare necesitatea unei aplicații care are unui caracter educațional și
interactiv de cursuri lingvistice. În teză se prezintă o aplicație mobilă care oferă o interfață grafică
simplă și prietenoasă care se păstrează în fiecare modul, conferind aplicației un aspect elegant și
uniform.
2. Caracteristica tezei de licenţă: Teza a fost realizată conform tututor cerințelor și standardelor în
vigoare. Teza prezintă o analiză a problemei, precum și definește caracteristicile de bază ale
soluției create. Sunt prezentate statistici și sunt descrise tehnologiile moderne utilizate cu
exemplificări de cod sursă și analiza arhitecturii sitemului prin prezentarea diagramelor UML. În
final este prezentată analiza economică a sistemului prin calcularea tuturor cheltuielilor și a
veniturilor.
5. Calitatea materialului grafic: Diagramele UML prezentate în teză corespund standardul UML
2.0. Figurile atașate sunt relevante tematicii și completează descrierea textuală a lucrării cu
detaliile necesare. Conținutul diagramelor este unul ce permite înțelegerea modului de funcționare
a sistemului și componentele care interacționează pentru a crea sistemul funcțional în întregime.
6. Valoarea practică a tezei este bazată pe un studiu bine efectuat și este determinată de
soluționarea unei probleme actuale pentru companiile de pe piața locală.
Rezultatele obținute în cadrul tezei îmi permit să recomand admiterea tezei de licență spre
susținere și să o apreciez cu nota 10 (zece), iar d-rei Băncilă Iana de conferit titlul de inginer
licențiat în Tehnologii Informaționale.
University of Moldova, was written by B ncil Iana as a Bachelor project. It contains 66 pages
and includes 20 gures, 19 references. The thesis consists of a list of gures, list of abbreviations,
The four chapters which compose the report are: project analysis and system requirements
chapter, software design chapter, implementation and results chapter and economic analysis chapter.
The rst chapter describes the problem that the system is designed to solve, as well as all the necessary
technology to be used in order to make the system functional. The second chapter examines the UML
diagrams and its descriptions. The third chapter describes in depth how the project is implemented.
Code listings will be shown and described. For every component in the structure, its implementation
will be explained. Finally, there is the fourth chapter, in which the project is analyzed from a nancial
This thesis is dedicated to the study of Mobile Learning. The project focuses on developing an
mobile application which consists of a vocabulary maker for studying English for traveling, business,
meetings and the purpose of study. This application has an educational and interactive aspects,
including linguistic courses and Text-to-Speech audio pronunciation to help memorize words easily
and quickly. There is a bunch of ashcards, each card having just one word/phrase written on its
face, the other face of the card has the explanation of this word. The program gives the possibility
to add your own lists of words. The application is written in the Java programming language for the
Android platform, and provides a simple and friendly interface of every module, giving an uniform
mobile applications are based on interfaces which consist of dialog boxes, visual controls, 2D graphics
and other multimedia elements. Thus, for this application was utilized the declarative method to
prezentat la Universitatea Tehnic a Moldovei, a fost scris de B ncil Iana ca un proiect de licent, .
Ea cont, ine 66 de pagini s, i include 20 de guri, 19 referint, e. Teza cont, ine o list de guri, list de
Cele patru capitole din care este constituit raportul sunt: analiza proiectului s, i cerint, ele sis-
temului, proiectarea programului soft, implementarea s, i rezultatele obt, inute, s, i analiza economic .
Primul capitol descrie problema pe care sistemul este planicat s o rezolve, precum s, i toate teh-
nologiile necesare pentru a crea sistemul. Al doilea capitol examineaz s, i descrie diagramele UML.
Capitolul trei descrie am nunt, it implementarea sistemului. Pentru ecare component al structu-
rii, se va explica implementarea acestuia. Ultimul capitol face analiza economica s, i nanciar . Se
Proiectul este concentrat asupra dezvolt rii unei aplicat, ii mobile ce încadreaz în sine un forma-
tor de vocabular conceput pentru a înv t, a Limba Englez pentru c l torii, afaceri, întâlniri s, i studiu.
Aplicat, ia apart, ine unui caracter educat, ional s, i interactiv de cursuri lingvistice, implimentând audio
cu pronunt, are "Text-to Speech" pentru înv t, area mai rapid s, i mai ecient a cuvintelor. Aceast
aplicat, ie formeaz un ansamblu de cartonas, e dict, ionar cu imagini, unde pe fat, este scris cuvân-
tul/fraza, iar pe partea opus explicat, ia acestui cuvânt, având posibilitatea de a ad uga propriile
liste de cuvinte. Aplicat, ia dat este scris în limbajul de programare Java pentru platforma Android,
ergonomia ind dat de interfat, a grac simpl s, i prietenoas care se p streaz în ecare modul,
O aplicat, ie mobil Android este un program software care ruleaz pe un dispozitiv cu sistem de
operare Android. Aplicat, iile mobile Android se bazeaz pe interfet, e compuse din ferestre de dialog,
controale vizuale variate, graca 2D s, i alte elemente multimedia. Astfel, pentru aplicat, ia dat a fost
folosit metoda declarativ a proiect rii interfet, ei, folosind un limbaj de marcare descriptiv XML.
Contents
List of gures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
List of abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1 Project Analysis and System Requirements . . . . . . . . . . . . . . . . . . . . . . . 15
1.1 Problem Denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.5 Text-to-Speech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2 Software Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.1 UML Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
UTM 526.2.262 ME
Mod. Coala Nr. document Semnăt. Data
Elaborat Băncilă Iana Litera Coala Coli
Conducător Balan Mihaela Automated Testing and 9 66
Consultant Balan Mihaela Evaluation of the Source
Contr. norm. Bostan Viorel Code from Assignments UTM FCIM
FAF-121
Aprobat Bostan Viorel
3 Implementation and Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.1 Basic Implementations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4 Economic Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.1 Project Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Coala
UTM 526.2.262 ME
Mod Coala Nr. document Semnăt. Data
10
List of Figures
1.1 Data mining phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.4 Operations of the Natural Language Processing module of a TTS synthesizer, [9] . . . 30
2.5 Sequence diagram for describing the events provided by the administrator . . . . . . . 40
2.6 Sequence diagram for describing the events provided by the user . . . . . . . . . . . . 41
2.7 Sequence diagram for describing the creation of the lesson by the user . . . . . . . . . 43
2.9 Flashcards Vocabulary state machine diagram representing creation of the ashcards
by the user . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.10 Vocabulary Flashcard activity diagram representing basic operations of the User . . . 45
3.1 Lessons Page (a), Bookmarks Page (b) and My Lessons Page (c). . . . . . . . . . . . 53
3.2 Learning Page (a), Flashcard Page (b) and Editing Personal Flashcard Page (c). . . . 53
11
Abbreviations
XML Extensible Markup Language
12
Introduction
In the recent years, the world has experienced a technological revolution. It started with the
introduction of smartphones mobile phones with advanced operating systems which provide features
of cell phones, personal digital assistants, GPS navigators, media players, digital cameras and other
portable devices. The adoption rate of smartphones was mostly determined by the rapidly growing
number of third-party applications developed for these devices. Users could quickly nd the right
application for their task and install it with a few taps. The use of smartphones for educational
purposes is an understudied area even though their accessibility and potential as educational tools
The way a lot of people memorize stu is to make a long list of prompts, then repeatedly
run down the list checking that they can recall each item. This method is outrageously slow and
inecient. If the list is long, by the time you've gone through it once you've probably forgotten
half of the items on the way. What technology has brought to the table is SRS Spaced Repetition
System. What SRS does, in a nutshell, is to control the frequency that certain cards appear and
reappear. A technique that ensures nearly perfect recall with the minimum possible investment of
At rst SRS systems were actually implemented with real, physical ashcards. This was still
a huge step up from rote learning, but couldn't quite take advantage of the full implications of SRS.
Physical ashcards have worked for centuries, and naturally still do. However, they're cumbersome
to use as you have to manually determine the order of the cards yourself. Educational software
applications have the potential to improve upon the ecacy of learning. Although scores were higher
for students who used the application, many students showed resistance to studying with it.
The proposed solution is Vocabulary Flashcards an application for the Android platform,
written in the Java programming language and running on the Android Studio platform, that im-
Works oine.
and sound support. Vocabulary Flashcards is an application which makes people remember things
13
easier. Because it's a lot more ecient than traditional study methods, you can either greatly
decrease your time spent studying, or greatly increase the amount you learn.
Flashcard use is a standard study technique where traditional ashcards are typically pieces of
paper or notecards that have a term written on one side and a denition on the other side. When
one studies using ashcards, users often look at one side and try to recall information on the other
side. Advantages of ashcards include their portability and their ease of use in various locations. The
advantages to using app-based ashcards include that many students have their smartphones with
them most of the time and smartphones are more portable than large stacks of traditional ashcards.
The thesis is divided into four chapters, a table of contents, a list of gures, a list of abbre-
viations, a list of listings, conclusion, and references. The thesis has a total of 66 pages. The rst
chapter describes the problem, the proposed solution and the technologies used in development. The
second chapter covers the software design with UML diagrams. The third chapter describes the
implementation of the system. The fourth chapter analyses the project from an economic point of
view and discusses the marketing strategies. Finally, the conclusions are presented, with comments
14
1 Project Analysis and System Requirements
1.1 Problem Denition
The smartphone owner population is growing. Multi-functionality, portability, and connectivity
are opening doors for learning. No wonder people harness smartphone technology to help them in
education. However, many people are oblivious to the power in their hands; the power of educational
applications, the potential for success. The use of smartphones for educational purposes is an under-
studied area even though their accessibility and potential as educational tools is expanding rapidly.
Mobile Internet devices and smartphones have at present a signicant potential as learning tools
and the development of educational interventions based on smartphones have attracted increasing
attention.
The way a lot of people memorize stu is to make a long list of prompts, then repeatedly
run down the list checking that they can recall each item. This method is outrageously slow and
inecient. If the list is long, by the time you've gone through it once you've probably forgotten
half of the items on the way. What technology has brought to the table is SRS Spaced Repetition
System. What SRS does, in a nutshell, is to control the frequency that certain cards appear and
reappear. A technique that ensures nearly perfect recall with minimum possible investment of time
At rst SRS systems were actually implemented with real, physical ashcards. Flashcard use
is a standard study technique where traditional ashcards are typically pieces of paper or notecards
that have a term written on one side and a denition on the other side. When one studies using
ashcards, users often look at one side and try to recall information on the other side. This was still
a huge step up from rote learning, but couldn't quite take advantage of the full implications of SRS.
Physical ashcards have worked for centuries, and naturally still do. However, they're inconvenient
to use as you have to manually determine the order of the cards yourself. Educational software
applications have the potential to improve upon the ecacy of learning. Although scores were higher
for students who used the application, many students showed resistance to studying with it.
It is estimated that at least 80% of college mobile phone users own smartphones and that
by 2016, about 90% of college students will own a smartphone. With the increased popularity of
smartphones, there has been an increase in apps designed to facilitate studying. Among these are apps
that permit the creation of ashcards. The advantages to using app-based ashcards include that
many people have their smartphones with them most of the time and smartphones are more portable
than large stacks of traditional ashcards. Seventy-ve percent of college students report using a
smartphone during breaks, meetings, etc, 55% while waiting in line, and 45% of those surveyed for
school related uses. This pattern of use leaves open the possibility of increasing study time if people
use a ashcard app during these opportunities. When compared to traditional ashcards, ashcards
used on smartphones have the additional advantages of being available whenever the smartphone is
in use, ability to carry as many cards as desired for multiple classes, and collaboration with other
15
1.2 Proposed Solution
The proposed solution is Vocabulary Flashcards an application for the Android platform,
written in the Java programming language. The Learning mode is described as ashcards mechanism
with easy-to-understand denitions and sound support. Vocabulary Flashcards is an app which makes
remembering things easy. Because it's a lot more ecient than traditional study methods, you can
either greatly decrease your time spent studying, or greatly increase the amount you learn.
environment. Information and communication technology (ICT) has been a critical component of
teaching and learning in higher education over the last few decades. One particularly important
trend we have recently witnessed with regard to the use of ICT is the increasing reliance on mobile-
connected devices not only in daily tasks, but also within professional and educational environments.
Without a doubt, the eective use of mobile devices today has become one signicant parameter
of "computer literacy". Consequently, primary and high schools are increasingly introducing mobile
technology to enhance teaching and learning. It is not surprising, therefore, that students expect to
are everywhere: Smartphones, music players, tablet computers, laptops, netbooks, etc. If one of
them is used for educational purposes and productivity, that's mobile learning.
Learning does not only happen inside the four walls of the classroom, it can happen anywhere:
On a bus, in a museum, at the zoo, in the living room. Portability is important for a gadget, but a
gadget is most praised for its ability to connect to academic resources with just a swipe of a nger.
A user can now take notes and transfer them to a laptop or share them online with a study
group. Teachers can create presentations or ashcards. A learner has instant access to numerous
websites for questions needing to be answered. For video assignments, students can record their lms
There are really a lot of ways to learn using a smartphone. Mobile learning is a gateway to
tools and resources. It makes learning more personalized and creates bridges over the gaps between
teacher and student. The great thing is that it gives users access to tons of content anywhere,
anytime. Mobile learning opens up the opportunity to learn all the time.
Mobile learning is not the same as e-learning. E-learning focuses on disseminating educational
knowledge through the Internet. Therefore, if there is no Internet connection, e-learning is impossible.
Mobile learning is only a part of it. E-learning incorporates mobile learning through conducting
The use of mobile technology can signicantly enhance blended learning, but can have a major
role in also supporting on-campus teaching. Smartphones have been used in educational activities
to access course content, acquire information related to students' performance, and to encourage
discussion and sharing between students and teachers, [2]. It is, therefore, apparent that mobile
devices such smartphones can have a signicant contribution to modern healthcare education since
16
these devices might oer possibilities to enhance teaching and learning.
As with every technology, however, understanding the skills of the main users and their attitudes
toward the new tool is of fundamental importance, in order to guide the development of appropriate
educational innovation. At times, people have been reported to be reluctant to use smartphones for
learning; they would rather use their smartphones for social and private activities, [3].
or will they just add to the number of distractions to students? Although schools will disagree on
the educational value of smartphones, they have to accept the fact that, slowly, smartphones are
We all know that the problem with smartphones in the classroom is that they are a way for
distractions. This is the main reason why many teachers are anxious about allowing smartphones in
class. Smartphones might lure the students away from the lesson, instead of pushing them toward
learning.
Teachers should really reconsider allowing smartphones in class. Although smartphones might
look like toys at rst, they can be very ecient, especially now that many app developers are creating
educational apps. Most of these apps are even free! It is just a matter of exploring the App Store or
Play Store.
Portability is another reason why administrators and teachers should reconsider allowing smart-
phones in class. Bringing laptops to class is a bit of a hassle for students because they are heavy.
Why not use a gadget that can level with laptops? No, a student cannot type a long essay using
a smartphone, but they can still do a lot on it like reviewing, nding articles, taking notes or even
reading.
Smartphones are not completely alternative tools. They are just a supplement for classroom
engagement. Besides, it is not a good idea to require smartphones when many students still use
standard phones. This is just to show that smartphones are not completely or necessarily evil. This
generation's kids are a lot harder to encourage to study because of the technology that surrounds
their learning activities when they can access it from any device and any location. It allows greater
continuity of learning when they can continue their activity when the class ends or when they go
home. This higher level of engagement with the material leads to better results and higher retention
of the material. This is a winning solution for both learners and training coordinators. M-Learning
is characterized by the ability to learn through portable devices. Technology has continued to play
a pivotal role in Advantages and Disadvantages of M-Learning teaching and training, though mobile
technologies and devices have their own share of advantages and also disadvantages.
17
Thus, m-learning advantages are the following:
Portability. Smartphones are small and lightweight when compared to laptops and tablet
computers. They can easily be carried by anyone, anytime and anywhere. Mobile learning is
Low Cost. Because fewer materials were used for smartphones, they are less expensive than
desktop computers;
Energy-Saver. Smartphones run on smaller amounts of power than desktop and laptop
computers;
Connection. Along with their portability, smartphones also have Bluetooth and/or Internet
connectivity. Internet connectivity enhances person performance because people have easy and
Personal Feel. Smartphones are the closest gadgets that anyone can have. They are more
personal. Teachers or students might share a laptop or desktop computer with their whole
family and with their friends, but they will nd it hard to share their phone;
They're very engaging, so learning can last for a long time. Moreover, people have dierent
ways of learning. With hundreds of educational apps available in the app libraries, people can
Good Use of Time. Most people do not know what to do during dead time like when
travelling or just waiting for a bus. With smartphones, they can now learn even when they are
Today, we rely more on technology when it comes to solving common everyday life problems.
Mobile learning has proven to be a powerful tool for personal use, education and business as well.
In what follows, there will be discussed several limitations of the mobile learning. M-learning
Cost. A mobile device with limited functionality capabilities may not be suitable for m-
learning. Hence, a person has no option but to get one with the required level of functionality
so as to access the online courses. This mobile device may be relatively expensive;
Size of Device. Despite the fact that small smartphones are good for portability, their size
adds to the possibility of getting stolen or lost. Moreover, their screen is so small; some users
Battery Life. Most smartphones can last only about two to four hours. Once the power runs
Usability. The keypad is too small on some smartphones making it hard for some users to
type. Yes, detachable keyboards are available, but that will just add to the cost.
18
1.3.3 Current Capabilities and Applications of Mobile Phone
Mobile learning can happen anywhere: in a classroom, at the dining room table, on a bus, in
front of a science exhibit, and anywhere. Portability is not as important as the ability of the learner
to connect, communicate, collaborate, and create using tools that are readily at hand.
Asynchronous Synchronous
Communication
Scheduled Spontaneous
Face-to-Face Flexible
19
Table 1.1 Current Capabilities and Applications of Mobile Phone (Continued)
20
1.3.4 Mobile Technologies for Mobile Learning
Mobile technologies are an attractive and easy means to maintain literacy skills and gain con-
stant access to information. They are aordable, can be easily distributed and thus hold great
potential for reaching limited groups and providing them with access to further learning and de-
velopment. Mobile technologies facilitate distance learning in situations where access to education
situations. Mobile devices and personal technologies that can support mobile learning include:
E-book;
Handheld game console, modern gaming consoles such as Sony PSP or Nintendo DS;
Personal audio player, e.g. for listening to audio recordings of lectures (podcasting);
Tablet computer;
3GP For compression and delivery method of audiovisual content associated with Mobile Learn-
ing;
GPRS mobile data service, provides high speed connection and data transfer rate;
And also, the baseline requirements for mobile technologies that support learning outside of
Highly portable. The technology is available whenever the user needs to learn;
Individual. The technology can be personalized to suit the individual learner`s abilities,
knowledge and learning style, and is designed to support personal learning rather than general
oce work;
Unobtrusive. The learner can capture situations and retrieve knowledge without the tech-
Available. The learner can use the technology anywhere, to enable communication with
Adaptable. The technology can be adapted to the context for learning and the learner's
21
Persistent. The learner can use the technology to manage learning throughout a lifetime,
so that the learner`s personal accumulation of resources and knowledge will be immediately
Useful. The technology is suited to everyday needs for communication, reference, work and
learning;
Easy to use. The technology is easily comprehended and navigated by people with no previous
On the other hand, mobile technologies can improve professional development and teacher
Communication. Mobile devices can be used in conjunction with wireless broadband and
video-call services like Skype to facilitate communication between teachers and mentors;
Self-assessment. Video cameras can be used to record lessons, allowing teachers to reect on
teachers to think creatively about mobile learning and develop the condence to try new ideas.
huge volumes of data raised the need for evolutionary ways of managing and using data such as Data
mining which is capable of discovering hidden patterns and trends in organization's data assets.
Data Mining is a thriving research area. The concept of data mining in academics is still at its early
stages but appears promising; thus, this section aims to highlight the potential of data mining in the
m-learning domain and propose a model for applying data mining in m-learning and suggests that
various data mining tools can be benecial for m-learning from many perspectives.
of discovering patterns in large data sets involving methods at the intersection of articial intelligence,
machine learning, and database systems. The overall goal of the data mining process is to extract
information from a data set and transform it into an understandable structure for further use.
Data mining is a collection of tools and methods that search for valuable and meaningful
information in large volumes of data, which allow decision makers to learn from their data assets;
data mining discover hidden relationships, patterns, and interdependencies in massive databases and
data warehouses. Data Mining is the process of extracting implicit, unknown and useful information
such as knowledge rules and constraints using pattern recognition techniques and statistical and
mathematical techniques. Data mining tools include various articial intelligence methods such as
expert systems, fuzzy logic and others, decision trees, genetic algorithms, association rules, clustering
22
1.4.2 Data Mining Steps
There are three main steps in Data mining, preparing data, reducing data and nally searching
for valuable information, however dened four major steps in data mining:
Predictive Modeling. The process of creating predictive models using inductive reasoning
Database Segmentation. The process of partitioning data into dierent clusters and seg-
Deviation Detection. The process of detecting and explaining the reason for excluding
Further explained that data mining passes through phases; at rst selecting the dataset that is
extracted from an operational database or business transactions. In the second phase, cleaning and
pre-processing are applied on the selected dataset to remove redundancy, inconsistency, and noisy
data. In the third phase, the dataset is examined to discover relationships between data and thus
identify hidden patterns by applying some data mining tools and algorithms, such as clustering,
classication, and prediction, genetic algorithms, expert system, decision trees, etc. In the fourth
phase, the patterns will be evaluated by testing samples or other datasets. Finally, the data mining
phases are pursued iteratively until useful knowledge is extracted, [5]. Summarized data mining
Data mining in the m-learning domain is applicable to enhance enrollment management, admis-
sion process, segmenting learners based on dierent indicators, recognizing hidden learning behavior,
and predicting future learning trends, further this paper propose a model to apply data mining in
the m-learning domain. However, this model needs to be investigated on real case studies to suggest
23
further recommendations. Moreover, the research about data mining in academics is still evolving
and more investigation is highly recommended to address the implications and challenges of data
immediate need to manage and utilize this data has driven the need for data mining in all businesses
and services industry. Data mining is a natural result of the technology evolution in data collection
In m-learning there is a need to manage two groups of users; learners and learning providers, for
learners, databases should store all personal information such as name, age, address, education de-
tails, qualication, moreover, information about work experience, income range, courses were taken,
courses of interest, this kind of information will be valuable to predict future behavior of dierently
employed people, also personal interests and hobbies would be benecial. Regarding the learning
providers, databases should keep track of name of the institute, oered courses, area of courses,
duration, and credits of courses, pre-requisites for each course, course content, course path, cost, and
targeted learners. This information will be valuable to suggest relevant or complementary courses,
data mining can allow learning providers to view learners and courses data from multiple angles
and that would help in better decisions such as, investment in highly recommended courses. Data
mining will help in recognizing patterns and future trends of learners, making more ecient decisions
regarding courses and certicates, suggesting other courses from market point-of-view, [6].
association analysis includes market basket analysis, attached mailing in direct marketing,
fraud detection, department store etc. Association in m-learning can be used to track students
activities related to discipline programs, specializations, and courses. Association analysis can
also be benecial to nd rules for example between age of learners and courses of interest, [7];
Clustering. This tool is used to segment data into similar groups, Clustering techniques are
ideal for classication and category prediction problems. Clustering starts with creating a set
choosing a record from the pre-processed normalized database, order the representatives by their
similarity to the random record, and then adjust the closest representative in the direction of
the data record, then similarly adjust each of the other representatives, this process continues
for a long period of time, or a pre-specied number of iterations have occurred. In the context
of m-learning clustering can be used to group learners based on their educational backgrounds,
24
Classication and Prediction. These two tools are used to dene data classes and predict
future data classes and trends, these tools can be valuable in m-learning in terms of classifying
learners into groups based on their learning performance to excellent learners, average learners,
or classify courses to attractive courses and non-attractive courses, and predicting learners
behavior;
Genetic Algorithm. This method is based on the biological mechanism of natural selection
and survival of the ttest, genetic algorithms evolve complex data structures for nding solution
to complex optimization problems, it will run for hundreds of generations until an acceptable
solution is found or after a pre-specied amount of time, and thus will generate optimal solutions
to problems;
Expert System. A system that can imitate the reasoning of human experts, it consists of a
knowledge base of rules, facts, and a logic based inference engine which creates new rules and
facts based on previously accumulated knowledge and facts. However, the knowledge should
model suggests that there is a potential to cluster similar m-learners into groups based on many
factors such as learners backgrounds, gender, major, common interests. Thus, there is a possibility
to identify m-learners behavioral patterns. This model includes ve steps which will be explained as
follows:
Select the m-learning database or target subset of the database on which the data mining
tools will be applied; further, it is necessary to identify the goal of the mining from dierent
perspectives;
Cleaning and processing data which include handling errors and noisy data, remove redundancy,
managing missing data, and preparing database for the mining process;
Clustering m-learners into similar groups based on factors that must be dened earlier depend-
ing on the learning provider point of view, these factors might be m-learners backgrounds,
Applying various data mining tools such as association rules, classication, genetic algorithms
and other techniques to predict m-learners behavioral and thus identify m-learners patterns;
Recommend potential courses for m-learners based on the patterns identied earlier after ap-
Data mining tools are highly recommended to enhance enrollment management. For example,
discover which in quiries are most likely to turn into actual applications. Moreover, applying pre-
diction on course enrollment can rate the success of a particular course. Data mining can forecasts
the demand for specic existing or new courses, and thus enhance the admission process, moreover
25
data mining can improve the learning process by identifying groups of students who may need special
1.5 Text-to-Speech
A Text-to-speech synthesizer is an application that converts text into spoken word, by analyzing
and processing the text using Natural Language Processing (NLP) and then using Digital Signal
Processing (DSP) technology to convert this processed text into synthesized speech representation
of the text. Here, is developed a useful text-to-speech synthesizer in the form of a vocabulary
ashcards application that converts inputted text into synthesized speech and reads out to the user.
The development of a text to speech synthesizer will be of great help to people with visual impairment
Text-to-speech synthesis TTS is the automatic conversion of a text into speech that re-
sembles, as closely as possible, a native speaker of the language reading that text. Text-to-speech
synthesizer (TTS) is the technology which lets computer speak to you. The TTS system gets the
text as the input and then a computer algorithm which called TTS engine analyses the text, pre-
processes the text and synthesizes the speech with some mathematical models. The TTS engine
26
The text-to-speech (TTS) synthesis procedure consists of two main phases. The rst is text
analysis, where the input text is transcribed into a phonetic or some other linguistic representation,
and the second one is the generation of speech waveforms, where the output is produced from
this phonetic and prosodic information. These two phases are usually called high and low-level
synthesis, [8]. A version of this procedure is presented in gure 1.3 below. The input text might
be for example data from a word processor, standard ASCII from e-mail, a mobile text-message,
or scanned text from a newspaper. The character string is then pre-processed and analyzed into
a phonetic representation which is usually a string of phonemes with some additional information
for correct intonation, duration, and stress. Speech sound is nally generated with the low-level
system used for this purpose is called a speech synthesizer, and can be implemented in software or
hardware. A text-to-speech (TTS) system converts normal language text into speech, [11]. Synthe-
sized speech can be created by concatenating pieces of recorded speech that are stored in a database.
Systems dier in the size of the stored speech units; a system that stores phones provides the largest
output range, but may lack clarity. For specic usage domains, the storage of entire words or sen-
tences allows for high-quality output. Alternatively, a synthesizer can incorporate a model of the
vocal tract and other human voice characteristics to create a completely "synthetic" voice output,
[12]. The quality of a speech synthesizer is judged by its similarity to the human voice and by its abil-
ity to be understood. An intelligible text-to-speech program allows people with visual impairments
A text-to-speech system (or "engine") is composed of two parts: a front-end and a back-
end, [13]. The front-end has two major tasks. First, it converts raw text containing symbols like
numbers and abbreviations into the equivalent of written-out words. This process is often called text
normalization, pre-processing. The front-end then assigns phonetic transcriptions to each word, and
divides and marks the text into prosodic units, like phrases, clauses, and sentences. The process
27
of assigning phonetic transcriptions to words is called text-to-phoneme or grapheme-to-phoneme
conversion. Phonetic transcriptions and prosody information together make up the symbolic linguistic
representation that is output by the front-end. The back-end often referred to as the synthesizer then
converts the symbolic linguistic representation into sound. In certain systems, this part includes the
computation of the target prosody (pitch contour, phoneme durations), which is then imposed on
There are dierent ways to perform speech synthesis. The choice depends on the task they
are used for, but the most widely used method is Concatenating Synthesis because it generally
produces the most natural-sounding synthesized speech. Concatenating synthesis is based on the
concatenation (or stringing together) of segments of recorded speech. There are three major sub-
phrases to create complete utterances. It is used in applications where the variety of texts the
system will output is limited to a particular domain, like transit schedule announcements or
weather reports. The technology is very simple to implement and has been in commercial use
The level of naturalness of these systems can be very high because the variety of sentence types
is limited, and they closely match the prosody and intonation of the original recordings. Because
these systems are limited by the words and phrases in their databases, they are not general-
purpose and can only synthesize the combinations of words and phrases with which they have
been pre-programmed. The blending of words within naturally spoken language, however, can
still cause problems unless many variations are taken into account. This alternation cannot be
to be context-sensitive. This involves recording the voice of a person speaking the desired words
and phrases. This is useful if only the restricted volume of phrases and sentences is used and
the variety of texts the system will output is limited to a particular domain;
Unit Selection Synthesis. Unit selection synthesis uses large databases of recorded speech.
During database creation, each recorded utterance is segmented into some or all of the following:
individual phones, diphones, half-phones, syllables, morphemes, words, phrases, and sentences.
Typically, the division into segments is done using a specially modied speech recognizer set to
a "forced alignment" mode with some manual correction afterward, using visual representations
such as the waveform and spectrogram. An index of the units in the speech database is then
created based on the segmentation and acoustic parameters like the fundamental frequency,
duration, position in the syllable, and neighboring phones. At runtime, the desired target
utterance is created by determining the best chain of candidate units from the database. This
Unit selection provides the greatest naturalness because it applies only a small amount of
digital signals processing (DSP) to the recorded speech. DSP often makes recorded speech
sound less natural, although some systems use a small amount of signal processing at the
28
point of concatenation to smooth the waveform. The output from the best unit selection
systems is often indistinguishable from real human voices, especially in contexts for which the
TTS system has been tuned. However, maximum naturalness typically requires unit selection
speech databases to be very large, in some systems ranging into the gigabytes of recorded data,
representing dozens of hours of speech. Also, unit selection algorithms have been known to
select segments from a place that results in less than ideal synthesis (e.g. minor words become
Diphone Synthesis. Diphone synthesis uses a minimal speech database containing all the di-
In diphone synthesis, only one example of each diphone is contained in the speech database. At
runtime, the target prosody of a sentence is superimposed on these minimal units by means of
digital signal processing techniques such as linear predictive coding, PSOLA or MBROLA. The
quality of the resulting speech is generally worse than that of unit-selection systems but more
natural-sounding than the output of formant synthesizers. Diphone synthesis suers from the
sonic glitches of concatenating synthesis and the robotic-sounding nature of formant synthesis
and has few of the advantages of either approach other than small size. As such, its use in
which it rst must analyze and then transform into a phonetic description. Then in a further step,
it generates the prosody. From the information now available, it can produce a speech signal. The
structure of the text-to-speech synthesizer can be broken down into major modules:
Natural Language Processing (NLP) module. It produces a phonetic transcription of the text
Digital Signal Processing (DSP) module. It transforms the symbolic information it receives
Text Analysis.
Prosody Generation.
First, the text is segmented into tokens. The token-to-word conversion creates the orthographic
form of the token. For the token "Mr" the orthographic form "Mister" is formed by expansion, the
token "12" gets the orthographic form "twelve" and "1997" is transformed to "nineteen ninety-seven";
29
After the text analysis has been completed, pronunciation rules can be applied. Letters cannot
be transformed 1:1 into phonemes because the correspondence is not always parallel. In certain
environments, a single letter can correspond to either no phoneme (for example, "h" in "caught")
or several phoneme ("m" in "Maximum"). In addition, several letters can correspond to a single
possible, are stored in a dictionary. Full forms are generated by means of inection, derivation
and composition rules. Alternatively, a full form dictionary is used in which all possible word
forms are stored. Pronunciation rules determine the pronunciation of words not found in the
dictionary;
In a rule-based solution, pronunciation rules are generated from the phonological knowledge
of dictionaries. Only words whose pronunciation is a complete exception are included in the
dictionary;
Both applications dier signicantly in the size of their dictionaries. The dictionary-based solu-
tion is many times larger than the rules-based solutions dictionary of exception. However, dictionary-
based solutions can be more exact than a rule-based solution if they have a large enough phonetic
dictionary available.
After the pronunciation has been determined, the prosody is generated. The degree of nat-
uralness of a TTS system is dependent on prosodic factors like intonation modeling (phrasing and
Figure 1.4 Operations of the Natural Language Processing module of a TTS synthesizer, [9]
30
The output of the NLP module is passed to the DSP module. This is where the actual synthesis
of the speech signal happens. In concatenating synthesis the selection and linking of speech segments
take place. For individual sounds, the best option is selected from a database and concatenated.
As a product of the Open Handset Alliance's vision for a robust and open source development
environment for wireless, Android is an emerging mobile development platform. The platform was
designed for the sole purpose of encouraging a free and open market that all mobile applications
phone users might want to have and software developers might want to develop.
Android is hailed as the rst complete, open, and free mobile platform.
Complete. The designers took a comprehensive approach when they developed the Android
platform. They began with a secure operating system and built a robust software framework
Open. The Android platform is provided through open source licensing. Developers have
31
Free. Android applications are free to develop. There are no licensing or royalty fees to develop
on the platform. No required membership fees. No required testing fees. No required signing
of ways.
The Android platform is designed to be more fault tolerant than many of its predecessors. The
device runs a Linux operating system upon which Android applications are executed in a secure
fashion. Each Android application runs in its own virtual machine (gure 1.6). Android applications
are managed code, therefore, they are much less likely to cause the device to crash, leading to fewer
Frameworks in the Application Framework layer are written in Java and provide abstractions
of the underlying native libraries and Dalvik capabilities to applications. Android applications run
in their own sandboxed Dalvik VM and can consist of multiple components: Activities, services,
broadcast receivers and content providers. Components can interact with other components of the
32
1.6.1 Android Application
Android applications are written in the Java programming language. The compiled Java code
along with any data and resource les required by the application is bundled by theaapt tool into
an Android package, an archive le marked by an .apk sux. This le is the vehicle for distributing
the application and installing it on mobile devices; it's the le users download totheir devices. All
An application has essential components that the system can instantiate and run as needed.
Activities. An activity presents a visual user interface for one focused endeavor the user can
undertake. A text messaging application might have one activity that shows a list of contacts
to send messages to, a second activity to write the message to the chosen contact, and other
activities to review old messages or change settings. Though they work together to form a
cohesive user interface, each activity is independent of the others. Each one is implemented as
Services. A service doesn't have a visual user interface, but rather runs in the background for
an indenite period of time. Each service extends the Service base class.;
Broadcast receivers. A broadcast receiver is a component that does nothing but receive and
can also initiate broadcasts for example, to let other applications know that some data has
been downloaded to the device and is available for them to use. An application can have any
Content providers. A content provider makes a specic set of the application's data available
to other applications. The data can be stored in the le system, in an SQLite database, or in
any other manner that makes sense. The content provider extends the ContentProvider base
class to implement a standard set of methods that enable other applications to retrieve and
store data of the type it controls. However, applications do not call these methods directly.
Rather they use a ContentResolver object and call its methods instead. A ContentResolver
can talk to any content provider; it cooperates with the provider to manage any interprocess
Activities in the system are managed as an activity stack. When a new activity is started, it
is placed on the top of the stack and becomes the running activity the previous activity always
remains below it in the stack, and will not come to the foreground again until the new activity exits.
If an activity in the foreground of the screen (at the top of the stack), it is active or running;
33
If an activity has lost focus but is still visible (that is, a new non-full-sized or transparent
activity has focus on top of your activity), it is paused. A paused activity is completely alive
(it maintains all state and member information and remains attached to the window manager),
If an activity is completely obscured by another activity, it is stopped. It still retains all state
and member information, however, it is no longer visible to the user so its window is hidden
and it will often be killed by the system when memory is needed elsewhere;
If an activity is paused or stopped, the system can drop the activity from memory by either
asking it to nish, or simply killing its process. When it is displayed again to the user, it must
be completely restarted and restored to its previous state. The following diagram shows the
important state paths of an Activity. The square rectangles represent callback methods you
can implement to perform operations when the Activity moves between states. The colored
34
2 Software Design
2.1 UML Diagrams
Unied Modeling Language (UML) is a graphical language for visualizing, specifying, construct-
ing, and documenting the artifacts of a software-intensive system. It oers a standard way to write a
system's blueprints, including conceptual things such as business processes and system functions as
well as concrete things such as programming language statements, database schemas, and reusable
software components. The UML is a tool for specifying software systems. Using UML it is possible
to model just about any kind of application, both specically and independently of a target platform.
Having a clearly visible structure makes it easy to introduce new people to an existing project. UML
oers a variety of diagrammatic notations for modeling static and dynamic aspects of an application.
The standard currently denes 13 types of diagrams organized into two distinct groups: struc-
tural and behavioral. Structural diagrams include class, package, object, component, composite
structure and deployment diagrams. Activity, sequence, use case, state, communication, interaction
overview and timing are behavioral diagrams. To describe the current project the Use Case, Class,
Sequence, State Machine, Activity and Component diagrams are used and presented bellow.
that shows the relationship between the user and the dierent use cases in which the user is involved.
A use case diagram can identify the dierent types of users of a system and the dierent use cases
In software and systems engineering, a use case is a list of actions or event steps, typically
dening the interactions between an actor and a system, to achieve a goal. The use case model
Use cases are a means of communicating with users and other stakeholders what the system
is intended to do. A use case is a single unit of meaningful work. It provides a high-level view of
The requirements dene the formal functional requirements that a use case must supply to the
end user. They correspond to the functional specications found in structured methodologies. A
requirement is a contract or promise that the use case will perform an action or provide some value
to the system.
The gure 2.1 shows how the administrator creates and populate the Lessons. First of all
the administrator creates all the lessons by adding its title and the corresponding image which will
represent the lesson. Then, starts adding ashcards to created lesson, by adding words and the
meaning of the words, to selected lesson. These are the most important, and mandatory, steps and
In gure 2.2 the use cases of the application, from the point of view of a regular user, are shown.
The regular user has the ability either, practice on some lesson, either, to add some additional,
35
If a user decides to practice any lesson, he rst of all selects the desired lesson and starts to
read mindfully the ashcards or listen to them. After that, the user may start answering ashcards
by selecting progress button. The user may know the meaning of the word or may not. If the user
knows the meaning of the word, this word automatically is added to mastered list but if the user
doesn't know the meaning, the word is added to the learning list.
In case if the user decides to enrich the database with new ashcards, he selects personal lessons
tab and selects to add a new lesson or to add some words and its meaning to an existing lesson.
36
2.1.2 Class Diagrams
Class diagrams are visual representations of the static structure and composition of a particular
system using the conventions set by the Unied Modeling Language (UML). Class Diagram provides
an overview of the target system by describing the objects and classes inside the system and the
relationships between them. It provides a wide variety of usage; from modeling the domain-specic
data structure to detailed design of the target system. Out of all the UML diagram types, it is one
of the most used ones. System designers use class diagrams as a way of simplifying how objects
in a system interact with each other. Using class diagrams, it is easier to describe all the classes,
packages, and interfaces that constitute a system and how these components are interrelated. On
the other hand, precisely detailed class diagrams can readily be used as the primary reference for
translating the designed system into a programming code. These diagrams are used for a variety of
Classes in class diagrams are represented by boxes that are partitioned into three:
The bottom partition shows the possible operations that are associated with the class.
Classes are interrelated to each other in specic ways. In particular, relationships in class
diagrams include dierent types of logical connections. The following are such types of logical
connections that are possible in UML: Association, Multiplicity, Aggregation, Composition, Inheri-
tance/Generalization, Realization.
In object-oriented modeling, class diagrams are considered the key building blocks that enable
information architects, designers, and developers to show a given system's classes, their attributes,
the functions or operations that are associated with them, and the relationships among the dierent
In gure 2.3 a general overview of the main parts of the system, represented in the Vocabulary
Flashcards application is displayed. This class diagram implements the Vocabulary Flashcards in-
terface with a collection of attribute denitions that ideally denes a cohesive set of behaviors. This
interface is realized by classes. And these classes implement the operations and attributes dened
The gure 2.4 presents an overview of the system by describing System class, Lessons class
and Flashcards class and the relationship between them. Classes dene attributes, information that
is pertinent to their instances, and operations, functionality that the objects support. This class
diagram describes the structure of a system by showing the system's classes, their attributes, and
37
38
Figure 2.3 General overview of the system classes
39
Figure 2.4 General overview of the system classes
2.1.3 Sequence Diagrams
In UML, sequence diagrams are used to describe the interactions between the classes in the form
of an exchange of messages that happens over time. Sequence diagrams are also sometimes called
event diagrams. They provide a better way to visualize the communication and message passing in
the system and validate the dierent scenarios that can take place at runtime. They help predict the
behavior of the system and aid in discovering the responsibilities that a class should have.
In gure 2.5 is presented the communication between various instances during the populating
the database with necessary information by the administrator. The administrator calls the "Add
New Lesson" method on the System instance, trying to supplement the database with a new lesson.
The system has to rst ask for the name of the lesson and if the name is typed, the lesson will be
added to the database. Almost the same procedure is done when the new word is added by the
administrator. First of all, the administrator calls the "Add New Word" method, and the system has
to ask the choice of the lesson. Finally, when the administrator selects the lesson and the meaning
Figure 2.5 Sequence diagram for describing the events provided by the administrator
40
The sequence (gure 2.6) starts with the User requesting the application to open. The Mobile
receives that request, and, in response, starts running the application and then requests from the
Mobile Display, to initialize the app. Once the Mobile Display asks the User to provide the choice
for practice lesson set, User calls the Mobile Display, for selection of the lesson and this, in return,
opens the practice lesson and display the words. After a set of interactions between User and Mobile
Display, the User requests to exit the app, and, in response, the Mobile Display, call the Mobile, to
Figure 2.6 Sequence diagram for describing the events provided by the user
41
The process of creation the lesson by the user can be seen from the gure 2.7. The sequence
starts with the User requesting the application to open. The Mobile receives that request, and, in
response, starts running the application and then requests from the Mobile Display, to initialize the
app. The Mobile Display displays the menu and the user calls the Mobile Display, to select "Create
Customizable Lesson" menu. As a response, Mobile Display opens the customizable menu. After
that, the User calls the Mobile Display to create a new lesson. When the lesson was created Mobile
Display call the user to choose the features for the lesson. As a return, User types the Lesson name
which is automatically processed and saved. When the lesson was saved the User send request to
add the word to a custom lesson. This one is also processed and saved and sends as a return to User
that new word was added to database successfully. As a third basic operation of the User in creating
process is requesting to add the meaning of the word. This one also is processed and saved. After
this set of interactions the User requests to exit the app, and, in response, the Mobile Display, call
The Sequence Diagram models the collaboration of objects based on a time sequence. It shows
how the objects interact with others in a particular scenario of a use case. A sequence diagram is a
good way to visualize and validate various runtime scenarios. These can help to predict how a system
will behave and to discover responsibilities a class may need to have in the process of modeling a
new system.
The boxes across the top of the diagram represent their instances, in this case, objects and
actors. Objects respond to messages through the invocation of an operation. Because actors initiate
and take an active part in usage scenarios, they are also included in sequence diagrams. Object inter-
actions usually begin at the top of a diagram and end at the bottom. In a sequence diagram, object
interaction occurs through messages on the vertical and horizontal dimensions and are designated by
horizontal arrows and message names. The initial sequence diagram message begins at the top and
is located on the diagram's left side. Subsequent messages are added just below previous messages.
A lifeline, which indicates a role, is represented by a named rectangular box with a dashed
line descending from the center of the diagram's bottom edge. Lifeline boxes represent participating
sequence object instances. In this diagram, lifelines represent roles that participate in the sequence
being modeled.
The X at the bottom of Lesson activation box is a UML convention to indicate that object
has been removed from memory. Destruction occurrence is a message occurrence which represents
the destruction of the instance described by the lifeline. It results in the subsequent destruction of
another object that object Lesson owns by composition. No other occurrence may appear below the
This sequence diagram describes an interaction by focusing on the sequence of messages that
are exchanged, along with their corresponding occurrence specications on the lifelines.
42
Figure 2.7 Sequence diagram for describing the creation of the lesson by the user
43
2.1.4 State Diagrams
State machine diagrams expressed in the UML notation are the enhanced versions of the nite
automaton concept in computer science. They are used to describe the states a system, or part
of the system, can be in and shows the exact events that trigger transitions between states. They
also show the conditions that must be met in order to perform the transitions, and what actions
will be triggered upon a state change. This is very useful for describing huge objects, with complex
behaviors and many possible states that are otherwise unclear. The behavior of an entity is not
only a direct consequence of its input, but it also depends on its preceding state. The history of an
entity can best be modeled by a nite state diagram. State Machine diagram can show the dierent
states of an entity also how an entity responds to various events by changing from one state to another.
In gure 2.8 there are displayed the steps that User passes in order to complete one or more
lessons. The rst steps are opening the application, then goes the selection of the lesson and com-
pleting it. Upon disconnect, the application terminates and the vocabulary reaches its nal state.
State Machine of creating a new lesson by the User is presented in gure 2.9. Here, the rst
step is going to personal lesson tab, then creating a new lesson, creating a new card and, adding
the word and the meaning of the created ashcard. The nal point is presented as a ashcard fully
Figure 2.8 Flashcards Vocabulary state machine diagram representing basic operations
44
Figure 2.9 Flashcards Vocabulary state machine diagram representing creation of the ashcards
by the user
action sequences and respective action initiating conditions. The state of an activity relates to the
performance of each workow step. Activity diagrams describe parallel and conditional activities,
Activity diagram from gure 2.10 also shows the representation of the basic operations per-
formed by User.
Figure 2.10 Vocabulary Flashcard activity diagram representing basic operations of the User
45
2.1.6 Component Diagram
Component diagram of the system with used version of the database and all java les is pre-
sented in gure 2.11. A component diagram describes the organization and wiring of the physical
components in a system. Component diagrams are often drawn to help model implementation de-
tails and double-check that every aspect of the system's required functions is covered by planned
system. These are mostly used when working with complex systems that have many components.
Components communicate with each other using interfaces. The interfaces are linked using connec-
tors. This diagram is very important because without it the application cannot be implemented
eciently. Now before implementing the application these components are to be organized. This
46
3 Implementation and Results
3.1 Basic Implementations
This section covers the project implementation and features code listings to demonstrate the
concepts that were discussed in previous sections. The code is accompanied with commentaries to
aid in understanding. The listings bellow include some of the most important parts of the system,
troller. It keep track of application state, global variables, etc. Listing 1 presents this base class for
The public method onCreate() is called when the application is starting, before any activity,
service, or receiver objects (excluding content providers) have been created. Implementations should
be as quick as possible (for example using lazy initialization of state) since the time spent in this
function directly impacts the performance of starting the rst activity, service, or receiver in a process.
In the last part of the code is described the thread. A thread is a concurrent unit of execution.
It has its own call stack for methods being invoked, their arguments and local variables. Each thread
has an integer priority that aect how it is scheduled by the OS. A new thread inherits the priority of
its parent. And the public method used here for thread describing is setUncaughtExceptionHandler(),
which sets the default uncaught exception handler.
47
23 }
24 private void setUncaughtExceptionHandler () {
25 Thread . setDefaultUncaughtExceptionHandler ( new Thread .
UncaughtExceptionHandler () {
26 @Override
27 public void uncaughtException ( Thread thread , Throwable ex ) {
28 LogHelper . e ( TAG , ex , " Exception escaped ") ;
29 }
30 }) ;
31 }
32 }
with material design styles in the application, it is used the RecyclerView widget. A ViewHolder
object stores each of the component views inside the tag eld of the Layout, so you can immediately
access them without the need to look them up repeatedly. All of the view classes dened in the
Android framework extend View. To allow Android Studio to interact with the view, at a minimum
must be provided a constructor that takes a Context. This constructor allows the layout editor to
1 public abstract class BaseListAdapter <T , V extends View > extends RecyclerView .
Adapter < BaseListAdapter . ViewHolder <V > > {
2
12 @Override
13 public ViewHolder onCreateViewHolder ( ViewGroup parent , int viewType ) {
14 return new ViewHolder <V >( createView ( context , parent , viewType ) ) ;
15 }
16
17 @Override
18 public void onBindViewHolder ( ViewHolder <V > holder , int position ) {
19 bind ( list . get ( position ) , holder . view , holder ) ;
20 }
21
48
22 public static class ViewHolder < V extends View > extends RecyclerView .
ViewHolder {
23 V view ;
24 public ViewHolder ( V view ) {
25 super ( view ) ;
26 this . view = view ;
27 }
28 }
29 }
is implemented the interface of the pages. ViewPager is most often used in conjunction with Frag-
ment, which is a convenient way to supply and manage the lifecycle of each page. There is standard
adapter implemented for using fragments with the ViewPager, which cover the most common use
cases. This is the FragmentPagerAdapter ; this class has simple code showing how to build a full user
interface with it. Tabs which are implemented in this app are "Lessons", "Bookmarks" and "My
49
3.1.4 Render Flashcard Class
Listing 4 presents adapter for rendering list of ashcards. In this class are set the word of the
ashcard, the denition of the ashcard, the learnt word, and the listen button. Here, createView(
function is a low-level function for instantiating a view by name. This attempts to instantiate a
view class of the given name found in this LayoutInater's ClassLoader. LayoutInater (context)
create a new LayoutInater instance associated with a particular Context. The Context in which
this LayoutInater will create its Views; most importantly, this supplies the theme from which the
5 @Inject
6 public ViewFlashcardsAdapter ( Context context , ViewFlashcardsActivityPresenter
presenter ) {
7 super ( context ) ;
8 this . presenter = presenter ;
9 }
10
11 @Override
12 protected ReadOnlyFlashcardView createView ( Context context , ViewGroup
viewGroup , int viewType ) {
13 return ( ReadOnlyFlashcardView ) LayoutInflater . from ( context )
14 . inflate ( R . layout . adapter_item_learn_words , viewGroup , false ) ;
15 }
16
17 @Override
18 protected void bind ( final Flashcard flashcard , ReadOnlyFlashcardView view ,
ViewHolder < ReadOnlyFlashcardView > viewHolder ) {
19 view . setFlashcardWord ( flashcard . getWord () ) ;
20 view . setFlashcardDefinition ( flashcard . getDefinition () ) ;
21 view . setLearnt ( flashcard . isLearnt () ) ;
22 view . setSpeakerIconClickListener ( new View . OnClickListener () {
23 @Override
24 public void onClick ( View v ) {
25 presenter . onSpeakIconClicked ( flashcard . getWord () ) ;
26 }
27 }) ;
28 }
29 }
50
3.1.5 Bookmark Class
This class from listing 5 is responsible for the bookmarks. Bookmarks are represented in
star shape. Once this star is pressed, this item is automatically transferred in the bookmarks list
setBookmarked.
4 @Override
5 protected void bind ( final Lesson lesson , final LessonItemView view ,
6 final BaseListAdapter . ViewHolder < LessonItemView > holder ) {
7 super . bind ( lesson , view , holder ) ;
8 view . setBookmarked ( lesson . isBookmarked () ) ;
9 view . setBookmarkButtonListener ( new View . OnClickListener () {
10 @Override
11 public void onClick ( View v ) {
12 presenter . bookmarkedLessonClicked ( lesson . getId () , holder .
getAdapterPosition () ) ;
13 }
14 }) ;
15 }
16 }
class and also specify the initListner. In this listener, it is specied the properties for TextToSpeech
object, such as its language, pitch etc. Language is set by calling setLanguage() method. The method
setLanguage takes an locale object as parameter. Once the language is set, it is called speak method
51
14 }
15 @Override
16 public void speak ( String text ) {
17 textToSpeech . speak ( text , TextToSpeech . QUEUE_FLUSH , null ) ;
18 }
19 }
This factory class is used to create data services and prepared statements for ad hoc queries, and
The SQLite database is lazily initialized. This means that it isn't actually created until it's
rst accessed through a call to getWriteableDatabase(). This also means that any methods that call
user interface. The UI sets this app apart from the rest in a very appealing way. One of the rst
things that are noticeable is the marriage between functionality and design simple graphic aesthetics
combined with natural usability. Other ashcard apps can be complicated with graphics that are
too crowded and dicult to understand. Vocabulary Flashcards app allows user to track his results
and see his score in percentage, a few features that aren't available in most apps of this category.
52
Figure 3.1 Lessons Page (a), Bookmarks Page (b) and My Lessons Page (c).
Figure 3.2 Learning Page (a), Flashcard Page (b) and Editing Personal Flashcard Page (c).
53
4 Economic Analysis
4.1 Project Description
The use of smartphones for educational purposes is an understudied area even though their
accessibility and potential as educational tools is expanding rapidly. The objective of this project
was to obtain a deeper insight in the nature of students' use of smartphones, as well as their attitudes
towards educational use of mobile devices in order to design successful teaching interventions.
The solution proposed in the thesis is an application for the Android platform, Vocabulary
Flashcards, that provides a mechanism with easy-to-understand denitions and sound support in
the Java programming language. Vocabulary Flashcards is an app which makes remembering things
easy. Because it's a lot more ecient than traditional study methods, in other words, you learn stu
quickly and save time. The existing solutions on the market provide dicult interface and limited
be used as a method for managing the design and build activities of the project. It's iterative,
incremental and exible nature will allow building working prototypes that will evaluate the direction
of development. Agile implies 5 phases: planning, research, development, testing and deployment.
cards application. This includes CRUD (create, read, update, delete) operations. For the initial
version, the number of features is not as important as the reliability of the application, therefore the
application will focus on stability. Since it's an open-source application, the main source of income
will be through consulting and support. In order for that to be sustainable, the application should
54
The planning phase will concern determining what the application will be responsible of, as
well as the main features of the application to implement rst. This phase will not take a lot of
time because it will not cover implementation details. These will be sorted out during research,
because the application will try to provide an User friendly API design concept, which will depend
on available language and standard application features. The project is further divided into smaller
sub-tasks. These tasks will have a 3-5 day target time frame. The total duration of the project can
DT = DF − DS + TR (4.1)
where DT the duration, DF the nish date, DS the start date and TR reserve time. Table 4.1
9 Documentation 5 D
12 Active marketing 10 SM
presents the project schedule, using the notations: PM project manager, SA system architect,
SM sales manager, D developer. It species which members of the team is involved into each
process and the amount of time allocated for each task. Total time spent on the project is 140 days.
55
4.3 Economic Motivation
The following section describes the project evaluation from an economic point of view. This
evaluation covers the number of potential clients, revenues, salaries paid to employees and total prot
from providing support and consulting services for the product. The costs and prices mentioned in
the evaluation are in Moldavian Leu (MDL) currency. This section also covers indirect expenses,
Direct expenses are presented in Table 4.4. Tangible assets are any assets of the physical nature.
Intangible assets are the ones that do not have a physical form, such as software licenses and other
services. Direct expenses refer to purchasing any materials that facilitate working on the project.
Total 15900
We used 2 units of Enterprise Architect in order to design the UML diagrams, as can be
Total 6500
56
Direct expense is an expense incurred that varies directly with changes in the volume of a cost
object. A cost object is any item for which you are measuring expenses, such as products, product
lines, services, sales regions and customers. Direct expenses are costs that can be traced back to a
specic department, often called an object, and are incurred only to benet that department. Direct
expenses describe all extra materials used in order to facilitate the work on the main project. The
Total 795
So, the total amount of money (MDL) spent as direct expenses is:
project, according to their position, as well as the expenses that will go to dierent funds, that are
It has been established that, at a minimum, 4 people will be working on the project. The
members will be paid according to the information shown in the list below, that tells the amount of
The distribution, as well as the total amount spent on salaries, is shown in Table 4.5.
57
Table 4.5 Salary expenses
Total 220500
Now, by having computed all the salaries for the employees, it is time to compute how much
there has to be paid to the social services fund, the medical insurance fund and the total work
M I = Fre · Tmi
= 220500 · 0, 045 (4.3)
= 9922.5
where Tmi is the mandatory medical insurance tax approved each year by medical insurance law,
follows in (4.4).
F S = Fre · Tf s
= 220500 · 0, 23 (4.4)
= 50715
where FS is the salary expense, Fre is the salary expense fund and Tf s is the social service tax
W EF = Fre + F S + M I
= 220500 + 9922.5 + 50715 (4.5)
= 281137.5
where W EF is the work expense fund, FS is the social fund and MI is the medical insurance fund.
58
4.4 Individual Person Salary
Along with total work expense fund, it is necessary to compute the annual salary for the
developer. Considering that the developer has a salary of 400 MDL per day and a total of 250
working days in the year, so the gross salary of the developer is computed as:
Social fund tax is currently set at 6%, therefore the amount (MDL) of paid tax is:
T S = GS − SF − M IF − P E
= 125000 − 7500 − 5625 − 10128 (4.9)
= 101747
where TS the taxed salary, GS gross salary, SF social fund, PE personal exemption, which
currently is 10128.
The total income tax can now be computed. It is 7% for income less than 29640 MDL, and
IT = T S − ST
= 29640 · 0, 07 + (101747 − 29640) · 0, 18
(4.10)
= 2074, 8 + 12979.26
= 15054.06
where IT the income tax, TS the taxed salary and ST the salary tax.
N S = GS − IT − SF − M IF
= 125000 − 15054.06 − 7500 − 5625 (4.11)
= 96820.94
where NS the net salary, GS gross salary, IT income tax, SF social fund, M IF medical
insurance fund.
are, however, mandatory in order to ensure its completion (e.g.: Internet connection, electricity,
59
Table 4.6 Indirect expenses
Total 1578
that the depreciation is occurring uniformly over the entire period of the project. Straight line
depreciation is applied. The laptop will be considered usable for a 3 year period. The licences are
for 1 year period. The total asset value is the sum of the dierence between an asset's cost and its
X
T AV = (AC − SV )
(4.12)
= (10500 − 1000) + (5400 − 1000) + (2300 − 1000) + (2100 − 1000)
= 16300
where T AV total assets value, AC assets cost, SV salvage value.
To nd the yearly weak, the total asset value is divided by the period of use of the assets, which
Wy = T AV /Tuse
= 16300/3 (4.13)
= 5433.33
where Wy wear per year, T AV total assets value, Tuse period of use.
The equation (4.4.2) includes tangible and intangible assets, which last for 3 and 1 years
60
respectively. The initial value of assets in MDL is:
W = Wy /Dy · Tp
= 5433.33/365 · 140 (4.14)
= 2084
and indirect expenses, salary and wear expenses, can be computed as shown in Table 4.7.
money. Since the nal product is an open-sourced library, the main source of income will be paid
consulting and support oered to users. To cover the development costs within reasonable time, the
price of such services will be set higher. Also, to keep the developers motivated to work full-time on
the project, a prot of 20% and an expected number of 500 customers is assumed.
GP = Ctotal /Ncs + Pp
= 231457/500 + 20% (4.15)
= 555.5
where GP is the gross price, Ctotal total product cost, Ncs the number of customers, Pp the
However, the gross price is not the nal price of the product (consulting service). The sale
61
price is the sum of the gross price and the sales tax (VAT), which is 20%.
Psale = GP + T Xsales
= 555.5 + 20% (4.16)
= 666.6
where Psale is the sale prices including VAT, GP gross price, T Xsales sales tax.
The net income is computed by multiplying gross price and the number of expected customers
Inet = GP · Ncs
= 555.5 · 500 (4.17)
= 277750
where Inet is the net income, GP gross price, Ncs number of customers.
GP r = Inet − Cproduction
= 277750 − 231457
= 46293
(4.18)
N P r = GP r − 12%
= 46293 − 12%
= 43509.84
where GP r gross prot, NP r net prot, Inet net income, Cproduction cost of production.
The protability indicators are Cprof it cost protability, Sprof it sales protability.
with the sole purpose of promoting or selling that product or service. Its functions are: analysing ex-
ternal environment and the consumer's behaviour, price setting, development of product, promotion
It is the role of marketing to ensure that as many potential customers know about the prod-
uct as possible. To achieve this, the promotional materials should be visible within the developer
community. Blog posts and articles on specialised news outlets will spread awareness of the product.
62
Another viable medium is social media, where mentions about the library could get the attention
ences and taking the opportunities to talk on stage about the product will maximise it's exposure to
potential customers.
view, having all the indicators, such as direct and indirect expenses, tangible and intangible asset
costs, employee salaries and protability, computed. The greatest expense is the human work hours
Since it is an open-source application, which implies free of charge use under the terms of the
licence, other means of making a prot must be imposed. Customer support and consulting are
viable alternatives to direct pricing, and given enough project exposure, will ensure the continuity of
support and development of the library. The extended use of it among developers will also have other
benecial side-eects. The project will have a user base that could potentially be the consumers of
63
Conclusions
In this report, the Mobile Learning has been analyzed. As a result of the research, several things
have been discovered. Knowledge of how the system operates as well as in-depth understanding of
how its components work has gained. Throughout the development stage, a lot of things have been
First of all, the meaning of education in the Age of Information was analyzed. Providing
a quality education is a complex problem. A quality education system must manage to provide
all people with a comprehensive education and with an appropriate preparation for working life.
Learning does not only happen inside the four walls of the classroom, it can happen anywhere: On a
bus, in a museum, at the zoo, in the living room. Portability is important for a gadget, but a gadget
is most praised for its ability to connect to academic resources with just a swipe of a nger. Mobile
phones have provided remarkable advantages in the learning process. All across the globe, people
are increasingly engaging with advanced wireless devices to collaborate with peers, access rich digital
content, and personalize their learning experiences. Always-on, always-connected, smartphones and
tablets provide today's people with a universal gateway to a new ecosystem of information, experts,
and experiences, regardless of the physical assets and resources in their own communities.
The solution proposed in this thesis answers this concern by providing an easy to use mobile
application with educational purpose using SRS method. Vocabulary ashcards are an eective
memory aid tool that can help all people learn new material quickly. One of the rst things that
are noticeable is the combination of functionality and design. Simple graphic aesthetics combined
with natural usability. Other ashcard applications can be complicated with graphics that are too
crowded and dicult to understand. Vocabulary Flashcards is designed in a way that turns studying
into a game. If a specic cards are not available, it is not a problem because the user can make
his own stack of cards just by clicking on "create" button. The application has very useful features
for learning a new language, even for people with disabilities it provides a convenient and idiomatic
interface.
The user experience with the system has been taken into consideration in order to create an
easy to use interface for the project. That has been an important part because the popularity of the
project is directly related to how interesting and helpful it is for the end user. The interface is easy
to use and understand which was taken care of by applying principles such as relevance, intuitive
design, etc. The intuitive design helped with making the learning process easier for the user. By
having the same ideas, when it comes to design, as other products, the user could assume what the
During development, there were some diculties encountered that aected the nal result. The
most interfering issue was regarding the Java compiler. Even the language is not so young, some of
the features of the language are not yet implemented in the compiler. These issues were resolved by
various workarounds, as well as changing the design of the software to accommodate the limitations.
The project provides an educational mobile application with basic, most used functionalities.
It provides a solid foundation for future language learning, new features, and improvements. In
the next iterations, the application should provide customizable features with more complex and
64
interesting user-interface. Another complex problem that the application could tackle is sharing
ashcards between students. There are several solutions to this problem, and each one should be
carefully considered before implementation because it will have deep implication on performance.
There is still space for the structure to be extended. Having it constantly maintained will make
the system powerful and more popular. With this improvements, the system will no doubt become
Working on the project proved to be a challenging enterprise. Not only the complications of
dealing with incompatible representations proved to be dicult, but also designing a simple interface
to help students to learn eectively a new language. This was an opportunity to contribute to the
developer community and to help education with one more powerful application.
65
References
1 Sandars J., Technology and the delivery of the curriculum of the future: opportunities and
challenges. Med Teach. 2012;
2 Cochrane T.D., Beyond the Yellow Brick Road: mobile Web 2. ALT-J. 2010
3 Mobile Learning Update. Learning Consortium Perspectives. pp. 3, 513. Retrieved June 9,
2009
5 C. M. Huang, M.J. and S. Lee, Integrating data mining with case-based reasoning for chronic
diseases prognosis and diagnosis, vol. 32, no. 3, 2007.
6 M. Hanna, Data mining in the e-learning domain, Campus Wide Information Systems, vol.
21, no. 1, 2004.
7 J. Ranjan and K. Malik, Eective educational process, vol. 37, no. 4, 2007.
8 Lemmetty, S., Review of Speech Syn1thesis Technology. Masters Dissertation, Helsinki Uni-
versity Of Technology, 2009.
9 Dutoit, T., 1993. High quality text-to-speech synthesis of the French language. Doctoral dis-
sertation, Faculte Polytechnique de Mons.
10 Chen F., Jokinen K., Suendermann, Challenges in Speech Synthesis, Springer Science + Busi-
ness Media LLC, 2010.
11 Allen, J., Hunnicutt, M. S., Klatt D., 1987. From Text to Speech: The MITalk system.
Cambridge University Press.
12 Rubin P., Baer T., and Mermelstein P., An articulatory synthesizer for perceptual research.
Journal of the Acoustical Society of America 70: 321328., 2005
13 van Santen, J.P.H., Sproat, R. W., Olive, J.P., and Hirschberg, J., 1997. Progress in Speech
Synthesis. Springer.
14 Wasala, A., Weerasinghe R. , and Gamage, K., 2006, Sinhala Grapheme-to-Phoneme Conver-
sion and Rules for Schwaepenthesis. Sydney, Australia, pp. 890-897
16 Koszalka T.A., Ntloedibe-Kuswani G., Literature on the safe and disruptive learning potential
of mobile technologies. Distance Education. 2010;
17 Echeverría A., Nussbaum M., Calderón J.F., Bravo C., Infante C., Face-to-face collaborative
learning supported by mobile phones. Interactive Learning Environments. 2011;
66