Elaborarea Unei Aplicații Mobile Pentru Ajutor ÎN Studierea Limbajului DE Programare Assembler
ELABORAREA UNEI APLICAȚII MOBILE PENTRU AJUTOR ÎN STUDIEREA LIMBAJULUI DE PROGRAMARE ASSEMBLER
CUPRINS
ADNOTARE
LISTA ABREVIERILOR
INTRODUCERE
1. ANALIZA APLICAȚIILOR MOBILE MODERNE PENTRU STUDIERE
1.1. Dezvoltarea aplicațiilor mobile pentru studiere.
1.2. Analiza aplicației mobile Learn C++ Pro
1.3. Analiza aplicației mobile Duolingo
1.4. Analiza aplicației mobile W3schools.com
1.5. Analiza comparativă a aplicațiilor Learn C++ Pro, Duolingo și W3schools.com
1.6. Concluzii la capitolul 1.
2. PROIECTAREA ȘI DEZVOLTAREA APLICAȚIEI ÎN MEDIUL ANDROID
2.1. Cerințele si procesul de proiectare a aplicației.
2.2. Procesul de creare a aplicației.
2.3. Mediu de dezvoltare a softului.
2.3.1. Sistemul de operare Android
2.3.2. Mediul de dezvoltarea Android Studio
2.4. Limbajul de programare utilizat pentru realizarea softului
2.5. Concluzii la capitolul 2.
3.Utilizarea aplicației mobile elaborate.
3.1. Îndrumări pentru dezvoltator.
3.2. Îndrumări pentru utilizator.
3.3. Concluzii la capitolul 3.
CONCLUZII GENERALE ȘI RECOMANDĂRI
BIBLIOGRAFIE
ANEXA. Codul sursă
DECLARAȚIE
CURRICULUM VITAE (CV)
DATE PRIVIND CONTROLUL TEHNIC AL TEZEI
LISTA ABREVIERILOR
XML – Extensible Markup Language
CAT – Computer Adaptive Testing
UI – User Interface
API – Application Programming Interface
SDK – Software Development Kit
IDE – Intergrated Development Environment
APK – Android Application Package
ADT – Android Developer Tools
ARM – Architecture Reference Manual
JVM – Java Virtual Machine
OOP – Object Oriented Programming
PHP – Hypertext Preprocessor
HTML – HyperText Markup Language
XHTML – Extensible HyperText Markup Language
CSS – Cascading Style Sheets
SQL – Structured Query Language
INTRODUCERE
Actualitatea temei:
Studierea la distantă sau m-learning oferă o mulțime de materiale electronice ce simplifică procesul de educație cum ar fi cărțile electronice, teste, prezentări în diverse formate, dicționare, software de exersare, tutori ale, enciclopedii. Aplicațiile create pentru studiere sunt utilizate ca suport în învățare, predare, evaluare. Un tip de aplicații ce permit studierea sunt cărțile electronice și cursuri electronice ce permit utilizatorului de a studia materialul materialul teoretic apoi de a fi testat în baza materialului teoretic studiat, studentul sau utilizatorul va fi nevoit să răspundă la anumite întrebări, după succesibilitatea testului utilizatorului i se va oferi tema următoare a cursului. Majoritatea platformelor de învățare reprezintă un spațiu virtual de învățare ce includ diferite activități, tipuri de resurse, tipuri de întrebări (adevărat sau fals, alegerea răspunsului corect sau de complectat spațiul liber), filtru de conținut, metode de înscriere, metode de autentificare.
Deci, unele din avantaje ale unei aplicații destinate studierii pot fi:
Posibilitatea utilizatorului de a-și schimba stilul propriu de învățare
Informația este partajată pe module ce facilitează însușirea materialului
Posibilitatea utilizatorului să își organizeze modul de învățare
Posibilitatea de a-și testa cunoștințele acumulate
Pentru a crea o aplicație destinate studierii e nevoie ca dezvoltatorul să țină cont de calitatea informației, informații despre curs, materiale pentru curs, materiale suplimentare care vor complecta informațiile oferite de curs, cum ar fi articole științifice, alte suporturi de curs din internet, biblioteci. Alegerea dispozitivelor mobile depind de vârstă, locul de trai și de mai mulți factori în dependență de destinația acestora. Un rol important joacă și infrastructura ce influențează disponibilitatea accesului la internet dar și soluții wireless permițând studenților de a se deplasa fără să piardă legătura unul cu celălalt. Dezvoltarea unei aplicații de obicei necesită mult timp pentru a o realiza, de asemenea este necesar de a cunoaște limbajul în care va fi realizată aplicația și de resurse financiare.
Scopurile si obiectivele tezei:
Elaborarea unei aplicații mobile pentru ajutor în studierea limbajului de programarea Assembler. Aplicația trebuie să fie dezvoltată în mediul Android.
Obiectivele tezei sunt:
Analiza aplicațiilor mobile pentru ajutor în studiere, depistarea avantajelor acestora care vom lua în considerație pentru aplicația care va fi dezvoltată.
Analiza algoritmilor progresivi pentru testarea cunoștințelor.
Elaborarea unui algoritm pentru testare.
Implementarea algoritmului în soft.
Împărțirea materialului teoretic pentru curs în capitole.
Dezvoltarea aplicației.
Noutatea științifică a rezultatelor:
Cu ajutorul algoritmului am realizat un tip de test al cunoștințelor utilizatorului.
Realizarea unei interfețe cu utilizator simplă de navigat.
Elaborarea unei aplicații mobile pentru studierea limbajului de programare Assembler.
Structura lucrării:
Teza este structurată în trei capitole, conținând introduceri, concluzii și anexe.
Primul capitol constă din: “Analiza aplicațiilor mobile moderne pentru studiere” care include noțiunile generale despre m-learning și analiză a trei aplicații destinate pentru studiere.
Al doilea capitol consta din: “Proiectarea și dezvoltarea aplicației în mediul Android”, în acest capitol merge vorba despre proiectarea aplicației, utilizarea algoritmului, mediul de dezvoltare și limbajul de programare în care a fost dezvoltată aplicația.
Al treilea capitol consta din: “Utilizarea aplicației mobile elaborate” ce cuprinde îndrumări pentru dezvoltator și pentru utilizator.
ANALIZA APLICAȚIILOR MOBILE MODERNE PENTRU STUDIERE
Dezvoltarea aplicațiilor mobile pentru studiere.
În prezent dispozitivele mobile au avansat foarte rapid ce a influențat destul de mult la dezvoltarea unui mediu perfect pentru aplicațiile de învățare. Cunoștiințele programatorului pentru crearea aplicațiilor necesită mai multe cerințe. Deoarece pentru fiecare SO este nevoie cunoașterea unui limbaj de programare. Pentru ca o aplicație să poată fi rulată pe mai multe sisteme de operare, este nevoie de câte un programator pentru fiecare platformă în funcție de volumul de muncă, termene limită și alți factori ce influențează calitatea produsului. Aplicațiile pentru studiere fac parte din mobile learning ce reprezintă o metodă de învățare care oferă un mod de prelucrare și transmitere a informațiilor în scopuri educative folosind echipamentele tehnologice mobile.
Fiecare implementare are caracteristici specifice în ceea ce privește interfața cu utilizatorul și conținut ce influențează procesul de dezvoltare. Mobile learning oferă o metodă clasică pentru studiere, ce în prezent dezvoltarea aplicațiilor pentru studiere devine tot mai atractivă datorită smartphone-urilor performante. Această metodă încearcă să motiveze un număr mare de tineri în procesul educațional. Triale de jocuri, materiale didactice și instrumente de învățare care au fost realizate și-au demonstrat potențialul de a motiva utilizatorii cu un entuziasm față de procesul de studiere [1].
Aplicațiile Mobile pentru studiere reprezintă un nou model de educație, creeat
datorită tehnologiilor care suportă un sistem flexibil și accesibil pentru studierea individuală. Utilizarea de zi cu zi a telefoanelor mobile de către studenți și a consolelor de jocuri, care pot fi utilizate în scopuri educaționale, acum este scopul principal de stimulare în masă a învățării mobile la nivel mondial.
Foarte important tehnologia mobilă poate ajuta în furnizarea unei educații de calitate pentru dezvoltarea copiilor, tinerilor și adulților din întreaga lume, așa cum sa menționat în scopurile UNESCO “Învățare pentru toți” [2]. M-learning presupune apariția unui spectru de noi metode de studiere și de predare bazate pe convingerea că procesul de studiere tradițională nu este așa de eficace cum ar trebui.
Educația mobilă leagă mai strâns învățarea cu viața și serviciu, și acest tip de activitate nu este neapărat să fie legat în mod semnificativ de școală s-au universitate. Aceasta conduce la conflicte între sistemul tradițional de învățământ, axat pe programul studierii și realizărilor individuale, și mobile learning, care se bazează pe interesele elevilor și nevoile lor în situații și circumstanțe diferite.
Deseori pentru mobile learning se folosesc diferite dispozitive ca telefoanele mobile, tabletele, laptopuri mici și dispozitive audio personale, consolele de jocuri, e-cărți și dicționare, precum și tehnologie de asistență pentru persoanele cu dizabilități.
Dispozitivele devin mult mai multifuncționale, ele suportă controlul cu ajutorul vocii, redare audio și video, citire, scriere, căutare de informații, efectuare a calculelor, jocuri etc. Alegerea dispozitivelor mobile depind de vârstă, locul de trai și de mai mulți factori în dependență de destinația acestora. Un rol important joacă și infrastructura ce influențează disponibilitatea accesului la internet dar și soluții wireless permițând studenților de a se deplasa fără să piardă legătura unul cu celălalt.
Principalele oportunități ale studenților folosind dispozitivele mobile:
Posibilitatea de a învăța într-un ritm propriu și folosirea dispozitivelor proprii, în caz că instituția nu dispune de calculatoare îndeajuns pentru toți studenții.
Oferă un bun suport pentru moduri de primire a informației că accesul la cursuri audio, rețele de socializare, dicționare etc.
Accesul la alte aplicații destinate pentru studiere a cursului folosind altă metodă pentru a reține mai bine informația despre curs.
Folosirea dispozitivelor mobile la serviciu ca un suport sau ajutor în rezolvarea unor probleme folosind informații sau tutoriale în acest timp utilizatorul își va întări experiența în domeniul dat.
Oferă un mediu de studiu pentru diagnosticarea problemelor apărute în învățământ.
Obținerea părerilor utilizatorului sau studentului cât de eficace este materialul predat într-o aplicație.
Majoritatea instituțiilor de învățământ interzic folosirea dispozitivelor mobile de aceea pentru ca studenți să aibă posibilitatea de a le folosi este nevoie ca administrația instituției de învățământ să pună legi care permit utilizarea dispozitivelor mobile în scop educativ[3].
La fel de important este integrarea studierii cursului cu ajutorul dispozitivelor mobile în sistemul tradițional și controlul studierii într-un mediu virtual.
Unele dintre principalele avantaje a folosirii dispozitivelor mobile pentru studiere în instituții de învățământ sunt:
Materiale educaționale disponibile pe pagină web a instituției, aplicații mobile pentru studiere, accesul la cărțile electronice, toate acestea va mări atragerea potențialilor studenți.
Mărirea calității învățământului în instituție folosind altă metodă de predare a cursului ce influențează la succesul obținerii calității a tinerilor specialiști în domeniu.
Ajutorul social pentru persoanele cu dizabilități care nu pot frecventa orele, în acest caz studierea cu ajutorul dispozitivelor mobile devine un ajutor enorm de asemenea au posibilitatea de a ține legătura cu instituția de învățământ.
Posibilitatea de a crea proiecte mari cu scop de cercetare și pentru dezvoltarea cât mai eficient a acestei metode de studiere având șansa de a fi sponsorizat.
Studierea cu ajutorul dispozitivelor mobile elimină necesitatea creării unei clase speciale de calculatoare și oferă profesorilor libertatea de a oferi studenților aplicații online pentru după necesitate. La efectuarea unei practici cum ar fi gătirea s-au citirea unor instrucțiuni, utilizatorul poate folosi dispozitivul mobil ce conține informație în formă de instrucțiuni și de a executa primind o experiență.
Dispozitivele mobile deseori oferă pentru studenți accesul la cursurile audio, schimbarea mesajelor, la participarea în chaturi, la participarea unor sondaje, la scrierea și citirea conspectelor ce se urmărește ca dovadă de participare la studiere sau ca o modalitate de combinație învățarea formală și învățarea informaliști în domeniu.
Ajutorul social pentru persoanele cu dizabilități care nu pot frecventa orele, în acest caz studierea cu ajutorul dispozitivelor mobile devine un ajutor enorm de asemenea au posibilitatea de a ține legătura cu instituția de învățământ.
Posibilitatea de a crea proiecte mari cu scop de cercetare și pentru dezvoltarea cât mai eficient a acestei metode de studiere având șansa de a fi sponsorizat.
Studierea cu ajutorul dispozitivelor mobile elimină necesitatea creării unei clase speciale de calculatoare și oferă profesorilor libertatea de a oferi studenților aplicații online pentru după necesitate. La efectuarea unei practici cum ar fi gătirea s-au citirea unor instrucțiuni, utilizatorul poate folosi dispozitivul mobil ce conține informație în formă de instrucțiuni și de a executa primind o experiență.
Dispozitivele mobile deseori oferă pentru studenți accesul la cursurile audio, schimbarea mesajelor, la participarea în chaturi, la participarea unor sondaje, la scrierea și citirea conspectelor ce se urmărește ca dovadă de participare la studiere sau ca o modalitate de combinație învățarea formală și învățarea informală [4].
Printre dezavantaje folosirii dispozitivelor mobile pentru studiere pot fi:
Studentul are acces la materialele pentru studiere în orice moment de aceea profesorul nu poate să determine timpul alocat pentru studiu al studentului pentru că relația student-profesor nu există. Din acest motiv poate afecta motivația studentului pentru învățare.
Studierea cu ajutorul dispozitivelor mobile nu se poate extinde foarte mult în prezent din cauza resurselor individuale limitate pentru că nu oricine poate să-și permită un dispozitiv mobil performant, în acest caz influențează nivelul de trăi a societății.
Majoritatea proiectelor pentru implementare a acestei metode de studiere necesită finanțe și resurse.
Dimensiunile mici ale ecranelor mobile și dimensiunile mici ale tastaturii, aceste probleme afectează enorm studierea cu ajutorul dispozitivelor mobile și cauzează rapid starea de oboseală a utilizatorului [5].
Pentru implementarea acestei metode de studiere în instituțiile de învățământ e nevoie să convingă profesorii că aplicațiile mobile pentru studiere sunt un ajutor serios pentru educație, dar este posibilitatea ca să iese de sub control procesul de învățare, pentru că majoritatea informațiilor au drept de autor această problemă împiedică formarea unor informații potrivite pentru studiere. Dezvoltarea aplicației necesită un profesionalism de nivel înalt sau găsirea unor specialiști în domeniu.
În prezent au început să apară diferite proiecte la nivel european, bazate pe folosirea telefoanelor mobile. De exemplu, un program european numit M-learning [6], aici merge vorba despre tinerii cu vârste cuprinse între 16 și 24 de ani care nu au reușit să se adapteze în sistemul de educație, ei nu pot scrie și citi, mulți sunt șomeri, iar unii chiar fără domiciliu, însă având un singur lucru în comun un telefon mobil. Proiectul este bazat pe analiza, acestui caz, cum această tehnologie poate fi folosită pentru a-i angaja pe acești tineri în activități educaționale și de a analiza cum le poate schimba atitudinea lor asupra procesului de studiere.
Un alt proiect european care face parte din cadrul Programului „Leonardo da Vinci” al Comisiei Europene, Mobile Learning [7] încearcă să se folosească de avantajul existenței a jumătate de miliard de telefoane mobile „data-enabled” la sfârșitul anului 2003, pentru a crea noi metode de învățare și predare.
Obiectivele programului constă în dezvoltarea de materiale de curs pe care unele grupuri de studenți să le testeze și să le evalueze, apoi să afișeze rezultatele evaluării prin raporturi publice.
Proiectul Learning from Starlight "Progettare per comprendere" este un proiect experimental ce utilizează m-learning-ul pentru predarea și învățarea astrofizicii în școli[8]. În 2011 a startat un proiect sub nume Federica ce până în prezent face parte dintre una din cele mai apreciate aplicațiile ca inovație, caracter complet și eficacitate, este platforma Federic@ implementată de Universitatea Federico II din Napoli [9]. Platforma este puternic orientată către un model de învățare la distanță de tip m-learning, care folosește ca instrument ideal de utilizare a dispozitivelor mobile moderne. Platforma cuprinde aplicațiile Federica WebLearning, FedericaMobile și Federica iTunes U.
Un alt proiect de un an s-a derulat în cadrul Universității Northumbria din Marea Britanie [9] și a avut ca rezultat descoperirea unor avantaje și dezavantaje ale utilizării tehnologiilor mobile în procesul de învățare. A fost analizat potențialul acestor tehnologii de a da acces studenților la resurse educaționale, de asemenea și problemele ce se pot întâlni în folosirea lor.
Tehnologiile m-learning au nevoie de un sistem de învățământ foarte bine structurat, care ar trebui să includă accesul la materialele de instruire și servicii de la diferite dispozitive mobile, precum și disponibilitatea de accesul la internet [10]. Trebuie de evidențiat că această tehnologie este în curs de dezvoltare și cercetare și în prezent, nu există definiri sau standarde pentru studierea cu ajutorul telefoanelor mobile. Obiectivele sunt de a crea soluții flexibile de predare, care vor permite accesul la informații cu ajutorul diferitor dispozitive, precum și pentru a produce materiale flexibile într-o varietate de situații, tehnologia mobilă a pus începutul pentru a lua primele măsuri în predare și învățare în instituții. Posibilitățile pe care le creează au fost recunoscute și ideea de acces la internet fără fir în jurul universităților se răspândește.
Integrarea în aceste metode netradiționale propune în procesul de predare să o ia în direcția de predare deschise, cu condiția ca tehnologia mobilă este privită ca o alegere pentru dezvoltarea. Caracteristică de bază de studiere cu ajutorul dispozitivului mobil este că permite utilizatorilor sau studenților să fie în locul potrivit pentru a fi în momentul în care acestea au posibilitatea de a experimenta posibilităților alternative a învățării[11].
În conformitate cu viitoarele aplicații și servicii educaționale vom avea nevoie de resurse pentru a face mai ușor utilizarea acestuia, cum ar fi: de a descărca materiale în diferite tipuri de format, text, voce și video, pentru a fi în „pas” fără folosirea adaptări, precum și pentru a face posibil reducerea costului de acces la Internet de aceea caracteristicile funcționalitatea dispozitivelor diferă de la producători.
Fig 1.0. Factorii principali dintre tehnologii și educație.
În Fig 1.0 arată investigațiile din această lucrare, care întruchipează subiectele de programare, în special în învățarea algoritmului, stiluri de învățare, în special căile elevilor de învățare, precum și a tehnologiilor dispozitivelor mobile, pe lângă introducerea tehnologiilor mobile pentru învățare. Există un consens, printre profesorii din instituții, care nu pot suficient de a prezenta un algoritm în un mod explicativ pentru al putea aplica ca studentul să poată să înțeleagă complet și pentru a crea algoritmi similare sau derivate din care să devină capabil de a rezolva probleme cu aceste instrumente. Această lucrare prezintă utilizarea dispozitivelor mobile în procesul de predare-învățare algoritmilor. În această lucrare, este legată o experiență în care a fost explorat un alt mod de a transfera materialul în dispozitivul mobil elevilor de învățare, folosind tehnologia wireless, Bluetooth și SMS. Se prevede că mLearning poate fi definit ca învățare prin utilizarea de dispozitive și tehnologia fără fir. Conform factorilor acestora se observă acest proces de învățare prin intermediul dispozitivelor mobile nu necesită ca să fie prezența fizică permanentă în cadrul procesului de învățământ.
1.2. Analiza aplicației mobile Learn C++ Pro
Această aplicație a fost dezvoltată de compania „SoloLearn”, această companie a creat 14 aplicații pentru studierea limbajelor de programare și tutoriale având aceeași metodă de învățare și același design [12]. Procesul de învățare constă din mini clipuri video și testarea utilizatorului după ce a vizualizat cu ajutorul unor întrebări cu variante de răspuns sau de complectat în căsuțe răspunsul corect. Pornind aplicația putem observa că tot cursul împărțit pe capitole, fiecare capitol pune scop ca utilizatorul să îl studieze treptat începând de la primul capitol, celelalte capitole sunt blocate, pentru ale debloca utilizatorul e nevoit să treacă toate testele de la primul capitol cu succesiune sau să treacă un test care îi va deschide accesul la al doilea capitol și așa până la deblocarea ultimului capitol.
Fig 1.1. Structura cursului a acestei aplicații.
După cum observăm în Fig 1.1 capitolul este divizat pe teme, fiecare temă include câteva mini clipuri video ce permite utilizatorului de a studia și de a înțelege mai eficient materialul propus ca după să poată să răspundă la întrebări pe baza video-ului vizionat, în caz de eșuare va fi nevoit să privească acest video din nou. Interfața cu utilizatorul acestei foarte simplă ce simplifică navigarea.
Una din opțiuni ale acestei aplicație este acumularea unor puncte conform testelor efectuate la fiecare temă, aceste puncte indică cât progres a făcut utilizatorul comparându-le cu alți utilizatori a acestei aplicații. Deci, această aplicație cuprinde un mod de studiere a limbajului foarte facil și mai eficient în comparație cu citirea textului, de aceea reprezintă un avantaj mare pentru a studia un limbaj de programare. Un mic dezavantaj este că aceasta aplicație oferă acest curs doar în limba engleză, în acest caz utilizatorul este nevoit să cunoască limba engleză pentru a însuși și de a înțelege acest curs propus.De asemenea un mare avantaj este că această aplicație este absolut gratuită ce motivează utilizatorii mai mult pentru a cunoaște acest curs propus. Această aplicație rulează pe sisteme de operare Android, IOS și Windows Phone dar și s-a dezvoltat în versiune beta online pe site-ul oficial sololearn.com.
1.3. Analiza aplicației mobile Duolingo
Duolingo este o platformă destinată pentru a studia limbile străine. Aplicația Duolingo oferă cursuri în mod de joc ce cuprinde o mulțime de exerciții de traducere, vorbire, ascultare și de întrebări cu variante de răspuns[13]. Aplicația a fost creată pentru toți utilizatorii având la bază o interfață foarte simplă și facilă pentru ca navigația utilizatorilor să nu prezinte greutăți.
La pornirea aplicației, aplicația ne oferă o formă de logare destinată pentru utilizatorii care au început testul înainte de a downloada aplicația și doresc să își prelungească studierea recentă utilizând profilul deja creat, dar al doilea buton oferă utilizatorului de a selecta cursul ce dorește să-l studieze. Al trei-lea pas aplicația ne pune la dispoziție să alegem nivelul care vom studia o limbă aleasă recent, aceasta funcționalitate oferă zilnic obiectivele nivelului ce va urma utilizatorul. După aceasta utilizatorului i se oferă o mulțime de compartimente la alegere ce cuprind diferite teste din toate domeniile.
Testele oferite includ opțiuni numite “vieți”, aceste vieți scad atunci când utilizatorul greșește, după epuizarea vieților aplicația raportează că nu au rămas șanse de încercări numite “vieți” oferind de a încerca din nou.
Fig 1.2. Prezentarea cursului sub formă de arbore.
După cum observăm în Fig 1.1 conținutul fiecărui curs de limbă străină aleasă este construit sub formă de arbore, pentru finalizarea cursului definitiv este nevoie de a îndeplini aceste cerințe.
Unul din avantaje ale acestei platforme pentru studiere este posibilitatea de a obține un certificat de confirmare a finisării cursului pentru aceasta pe site-ul oficial utilizatorul poate alege opțiunea de examinare. Procesul de examinare cuprinde un examinator real ce verifică personalitatea fiecărui student, deasemenea și cameră web, microfonul și ecranul dispozitivului folosit de utilizator în scop de a verifica sinceritatea și seriozitatea utilizatorului. Aceasta aplicație pentru studiere a fost dezvoltată pentru cele mai utilizate sisteme de operare mobile ca: IOS, Android și Windows Phone dar și online pe site-ul oficial. Principalul avantaj este disponibilitatea acestuia și este absolut gratuit.
1.4. Analiza aplicației mobile W3schools.com
W3Schools este o site web ce include informații pentru dezvoltatorii web, cu tutoriale și referințe referitoare la subiectele de dezvoltare web, cum ar fi HTML, CSS, JavaScript, PHP, SQL etc. Site-ul oferă un manual de referință care acoperă multe aspecte ale programării web, inclusiv tehnologii, cum ar fi HTML, XHTML, CSS, XML, JavaScript, PHP etc [14].
W3Schools oferă mii de exemple de cod ce ajută dezvoltatorilor avansați sau începători pentru a obține experiență în domeniul dat.
W3Schools a fost creată în anul 1998 de o companie Norvegiană software development and consulting company [15].
Aplicația mobilă conține o versiune offline a acestui site și reprezintă un analog a unui browser cu funcționalități limitate. Pornind aplicația putem observa listele limbajelor de programare propuse pentru studiere. Fiecare limbaj conține 2 submeniuri învățarea limbajului și referințe la limbajul de programare ales.
Cursul unui limbaj de programare în această aplicație este repartizat în capitole, fiecare temă include o mulțime de ilustrații și de exemple, fiecare exemplu poate fi modificat în așa fel că oferă utilizatorului de a experimenta direct și de a testa/corecta acest exemplu s-au de a crea propriu exemplu folosindu-se de această funcționalitate.
Fig 1.3. Conținutul unui curs din această aplicație
În Fig 1.3 putem observa conținutul cursului și un loc de practică pentru student sau pentru un simplu utilizator, utilizatorul poate să experimenteze cu codul.
Un mare avantaj ce îl deține această aplicație e pluginul google translate ce oferă posibilitatea utilizatorilor de a studia în limba dorită ce mărește disponibilitatea a acestei aplicații pentru toți utilizatorii din lume.
Astă aplicație este dezvoltată pentru majoritatea sistemelor de operare mobile ca Android, Windows Phone, IOS dar și poate fi accesat direct pe site-ul dezvoltatorului ce conține aceleași cursuri, teste, tutoriale, referințe. Deci aplicația reprezintă aceeași interfață grafică ca și site-ul, doar că a fost familiarizat pentru dispozitivele mobile.
1.5. Analiza comparativă a aplicațiilor Learn C++ Pro, Duolingo și W3schools.com
Learn C++ Pro, Duolingo și W3schools.com sunt trei aplicații destinate pentru studiere fiind cele mai populare aplicații pentru învățare. Toate aceste trei aplicații oferă un mod diferit predare a cursului ce oferă caracteristici semnificative ca calitatea informației, ușurința de utilizare, disponibilitatea acestora. Fiecare dintre aceste aplicații au avantajele sale privind modul de predare și modul de testare a cunoștințelor acumulate în decursul cursului.
Printre avantajele Learn C++ Pro putem evidenția mini clipurile video create de un profesor real ce folosește modul de predare auditiv și vizual la fel și aplicația Duolingo, în comparație cu w3schools.com doar vizual. În fiecare secență din video profesorul explică tot ce ține de acest limbaj de programare ca generalități, concepte de bază, tipuri de date, clase și obiecte etc, în comparație cu duolingo, aplicația duolingo oferă cursul în mod de joc, iar aplicația w3schools.com oferă cursul doar prin ilustrații, exemple și conținut text.
Alt avantaj este că fiecare capitole sunt repartizate pe niveluri care nu permite unui utilizator să aibă acces la celelalte capitole până ce nu finalizează cursurile la rând ce motivează utilizatorul de a studia cu seriozitate cursul față de aplicația w3schools.com utilizatorul are acces direct la tot cursul.
Un alt avantaj este disponibilitatea aplicațiilor mobile pentru majoritatea sistemelor de operare moderne. Toate aceste trei aplicații conțin cursuri pentru studiere pentru începători și pentru cei mai avansați. Printre dezavantaje acestor aplicații putem enumera limba în care este predat cursul, aplicația Learn c++ Pro este disponibilă doar în limba engleză, comparând Duolingo și W3schools.com cursul este oferit în mai multe limbi ce prezintă un avantaj destul de mare. Un dezavantaj ce îl prezintă aplicația w3schools.com e că este nevoie de conexiune la internet pentru a accesa unele funcționalități, comparând cu aplicația Learn c++ pro și Duolingo necesită conexiune la internet doar pentru descărcarea aplicației.
1.6. Concluzii la capitolul 1.
Dispozitivele mobile continuă să pătrundă în toate sferele vieții noastre și mobilizarea devine una dintre cerințe cheie pentru studenți. Această formă de studiere netradițională cu ajutorul dispozitivelor mobile conectate la rețea s-au aplicațiile speciale ce conțin informații în scopuri educative prezintă un potențial foarte mare în domeniile studierii limbilor străine, limbajelor de programare, în medicină și într-o mulțime de domenii ce cuprinde o gamă largă de oportunități.
În urma acestui capitol am studiat și am analizat aplicațiile destinate pentru studiere, efectuând această analiză am realizat că există o mulțime de modalități de dezvoltare a aplicațiilor oferind un mod diferit de predare a informației. Majoritatea studenților din Republica Moldova s-au din alte țări au deja dispozitive mobile performante și sunt gata pentru folosirea acestor dispozitive în scop educativ.
Deci, este nevoie de evidențiat potențialul și posibilitățile oferite mobile learning. Rezolvarea acestei probleme necesită un efort organizatoric din partea profesorilor de la școli, universități și alte instituții de învățământ acesta va fi un pas către aplicarea acestei metode netradiționale. Profesorii vor fi nevoiți de a crea strategii și metode noi de predare a informației pentru ca studenții să poată să însușească materialul propus cât mai eficient.
În aplicațiile analizate am observat unele metode destul de succesibile ce profesorilor le este mai ușor să construiască noi strategii pentru predare analizând aplicațiile existente pentru studiere împrumutând toate avantajele și dezavantajele acestor aplicații dezvoltând cu succes o aplicație cât mai efectivă.
Profesorii pot oferi studenților cursul propus apoi după o perioadă de timp să efectueze o examinare s-au o testare pentru a confirma însușirea materialului teoretic propus. După cum am observat la aplicația analizată din acest capitol adică aplicația Learn c++ pro ce folosește ca unealtă de predare mini clipuri video care oferă însușirea informației mai eficient decât celelalte metode de predare mărind un interes enorm pentru studenți și oferind profesorilor o idee de predare a cursului foarte eficient și econom față de timp, profesorii vor putea înregistra cursul după planul învățământului doar o singură dată apoi de a oferi studenților acest mini clip video apoi dacă vor apărea întrebări studenții vor putea să se adreseze către profesor. Tehnologiile devin tot mai performante și metoda tradițională devine tot mai neeficientă de aceea este nevoie de trecut la altă metodă studiere mai modernă ce va deschide noi oportunități în învățământ.
PROIECTAREA ȘI DEZVOLTAREA APLICAȚIEI ÎN MEDIUL ANDROID
Cerințele si procesul de proiectare a aplicației.
Înainte de a proiecta arhitectura unei aplicații este necesar să obținem o structură clară care influențează arhitectura analizând cerințele. Procesul de stabilire a cerințelor ce vor afecta arhitectura cuprinde două tipuri de intrări: pe de o parte programatorul trebuie să efectueze analiza cerințele funcționale și a doua parte programatorul e nevoie să țină cont și de cerințele utilizatorilor care vor efectua acțiuni cu aplicația. După efectuarea analizei acestor tipuri de cerințe vor urma cerințele cerințele care va influența arhitectura aplicației.
Cerințele stabilite de conducător:
Dezvoltarea aplicației în mediul android
Materialul pentru studiere trebuie să fie împărțit pe capitole
Elaborarea unui algoritm de testarea cunoștințelor pentru fiecare capitol
Algoritmul pe care îl voi folosi pentru aceasta aplicație va cuprinde o listă de întrebări la care utilizatorul va trebui să răspundă la unele întrebări pe baza materialului din capitol studiat.
Funcționalitatea algoritmului de testare consta în:
Fig 2.0. Reprezentarea algoritmului de testare.
În Fig 2.0 observăm funcționalitatea algoritmului aplicat în aplicație, ce va servi un suport bun pentru ajutor în însușirea capitolului ales. Scopul este de elabora o metodă cât mai simplă de testare pentru ca utilizatorul să poată să rețină informația propusă cât mai eficient și pentru a evita dezavantajul pe care îl prezintă alți algoritmi de testare.
Folosind acest algoritm de testare utilizatorul va fi nevoit să citească mai cu atenție materialul teoretic ca în timpul testării să cunoască răspunsul corect. Sunt diferiți algoritmi de testare ca alegerea răspunsului corect și altele care face testarea cunoștințelor mai puțin eficient comparând cu complectarea căsuței libere deoarece utilizatorul în cazul cu alegerea răspunsului corect poate încerca mai multe ori să aleagă răspunsul corect până ce îl va găsi pe acel corect de aceea și nu este așa eficient.
Schema bloc al algoritmului implementat:
Fig 2.1. Schema bloc
După cum observăm în figura 2.1. utilizatorul a acestei aplicații va fi nevoit să efectueze pas cu pas toate aceste acțiuni pentru a însuși cu succes acest material teoretic ce în cazul nostru este limbajul de programare Assembler. La procesul de testare, utilizatorul dacă nu va răspunde corect la întrebare vă fi nevoit să mai citească încă odată materialul teoretic din capitolul ales.
Cele mai progresive sisteme de testare în prezent sunt sistemele de testare adaptive la care nivelul de dificultate crește în dependență de răspunsurile corecte a utilizatorului. Ideile principale a sistemelor de testare adaptive CAT (Computer Adaptive Testing) consta în: schimbarea dificultății întrebărilor din test în așa fel încât ele să coincidă cu posibilitățile celui ce îndeplinește aceste teste și încetarea testelor într-un timp anumit care vor arăta cele mai bune rezultate sau cele mai nereușite [16].
Relația dintre sarcinile din test și persoana care îndeplinește aceste teste este definit de expresia dihotomică.
Fig 2.2.
În Fig 2.2 reprezintă nota posibilităților al lui n-utilizator. – Nivelul de dificultate al i-sarcina din test. – Probabilitatea că n-utilizator se va isprăvi cu i-sarcină. – Probabilitatea că n-utilizator nu se va isprăvi cu i-sarcina propusă. Această expresie a pus temelie la mai multe algoritme cu testarea adaptivă.
Procesul de creare a aplicației.
După ce am stabilit cerințele ce țin de proiectare a softului ce trebuie realizat putem trece la procesul de creare a aplicației. Pentru a crea aplicația voi folosi un mediu de dezvoltare a aplicațiilor Android, acesta poarte numele de Eclipse. Printre primii pași am descărcat și am instalat toate plug-in-uri-le de care am nevoie pentru dezvoltare și după configurarea lor putem trece la crearea aplicației (mai în detaliat despre plug-in-uri am descris în capitolul următor). Pentru a crea un proiect nou vom accesa opțiunea din meniu File > New > Android Application Project, după accesare va apărea o fereastră în care trebuie să completăm numele aplicației, numele proiectului, numele pachetului, versiunea minimală în care va putea rula aceasta aplicație, versiunea în care vom lucra și versiunea în care va fi compilata aplicația. Aplicația va fi dezvoltată în versiunea minimală Android 2.2 (Froyo) deoarece selectând un API lvl mai mic, aplicația va fi disponibilă pentru 90% de dispozitive mobile de pe piață pe sistemul Android. API lvl (Application Programming Interface) asociat cu un număr întreg de API reprezintă comunicarea cu biblioteci specifice și obiect la clasă pentru dispozitivele Android. Versiunea în care voi testa funcționabilitatea aplicației este Android 4. X (L preview) dar compilarea o voi face în versiunea Android 5.1.1 cu API lvl 22 deoarece această versiune conține toate bibliotecile din toate versiunile precedente de Android cu API lvl mai mici.
După alegerea versiunilor programul ne propune să configurăm proiectul nostru, să atribuim o imagine a aplicației noastre apoi să selectăm un Activity în care va merge procesul de realizare a acestei aplicații.
Componentele și funcțiile utilizate pentru realizarea aplicației:
Activity – reprezintă o interfață cu utilizatorul, fiecare Activity are propriul său ciclu de viață, propria stare cum ar fi Running, Paused, Stopped, Destroyed. O aplicație Android poate conține mai multe activități în dependență de aplicație [17].
Intent – este o entitate necesară pentru descrierea unei operațiuni ce va trebui executată și pentru a apela la altă componentă pentru a anunța o operațiune [17].
AndroidManifest.xml – Fișierul manifest prezintă informații esențiale cu privire la aplicația pentru sistemul Android. Numește pachetul Java de aplicare, descrie componentele din aplicație, determină care procese vor găzdui componentele aplicației, declară care permisiuni, cererile trebuie să aibă (pentru a accesa părți ale API protejate și să interacționeze cu alte aplicații), enumera lista de instrumente a claselor ce prevede profilarea și alte informații la rularea aplicației, declară nivelul minim al API Android care este nevoie, evidențiază bibliotecile care for fi apelate din nou [18].
Componentul Textview – Un TextView este un editor de text complet, cu toate acestea afișează text pentru utilizator și în clasa de bază este configurat să nu permită editarea.
Button – Reprezintă un widget buton. Butoanele pot fi presate, sau clic, de către utilizator pentru a efectua o acțiune [19].
Imageview – Afișează o imagine arbitrar, cum ar fi un icon. Clasa ImageView poate încărca imagini din diferite surse (cum ar fi resursele și furnizorii de conținut), are grijă de calcul măsurare a imaginii, astfel încât să poată fi folosit în orice manager aspect și oferă diverse opțiuni de afișare, cum ar fi scalarea și nuanțare [19].
FrameLayout – este proiectat pentru a bloca o zonă de pe ecran pentru a afișa un singur articol. În general, FrameLayout ar trebui utilizate pentru a organiza o singură vizualizare copil, deoarece poate fi dificil de organizat child views într-un mod care este scalabilă pentru diferite dimensiuni de ecran și se suprapun reciproc [20].
AdapterView. OnItemClickListener – Această clasă definește interfață pentru un apel invers de a fi invocate atunci când un element din această AdapterView a fost făcut clic.[21]
AutoCompleteTextView – Această interfață este utilizată pentru a ne asigura că textul introdus în acest TextView respectă un anumit format [21].
Deoarece nu există nici o modalitate simplă de manevrat pentru a preveni utilizator de a părăsi această View cu o valoare incorectă în ea, tot ce putem face este să încercam să-l reparăm singuri atunci când se întâmplă acest lucru.
Android. Appwidget – Conține componentele necesare pentru a crea "widgets app", care utilizatorii pot încorpora în alte aplicații (cum ar fi ecranul de start), pentru a accesa rapid datele și servicii de aplicare fără lansarea unei activități noi [21].
AppWidgetHost – oferă interacțiunea cu serviciul AppWidget de aplicații, cum ar fi ecranul de start, care doresc să încorporeze AppWidgets în UI lor [21].
Android. Content – Conține clase pentru accesarea și publicarea de date pe un dispozitiv. Acesta include trei categorii principale de API [21]:
Content sharing (android. Content) – ce folosește pentru partajarea conținutului între componentele aplicației. Cele mai importante clase din Content sharing sunt ContentProvider și ContentResolver folosite pentru gestionarea și publicarea datelor persistente asociate cu o aplicație Intent și IntentFilter și pentru transmiterea mesajelor structurate între diferitele aplicații componente care să permită componente pentru a iniția alte componente și întoarce rezultatele.
Package management (android. Content.pm) – pentru accesul la informații cu privire la un pachet Android (Apk), inclusiv informații despre activitățile sale, permisiuni, servicii, semnături și furnizorii. Cea mai importantă clasă pentru accesarea acestor informații este PackageManager.
Resource management (android. Content.res) – Pentru extragerea de date de resurse asociate cu o aplicație, cum ar fi șiruri de caractere, drawables, mass-media și detalii de configurare dispozitiv. Cea mai importantă clasă pentru accesarea acestor date este Resources.
Materialul teoretic în aplicație cuprinde:
Primul capitol – în primul capitol se descrie noțiunile generale și istoria a limbajului de programare Assembler.
Al doilea capitol – în acest capitol se descrie procesul de scriere a programelor în assembler ce include noțiuni generale, exemple de programe.
Al treilea capitol – conține informații teoretice și exemple despre operațiile aritmetice în Assembler.
Al patrulea capitol – include utilizarea funcțiilor logice în calcule
Al cincilea capitol – cuprinde noțiuni generale despre Salturi și instrucțiuni de comparare; întreruperi (citirea și afișarea textelor) în Assembler.
Al șaselea capitol – consta din noțiuni generale pentru utilizarea diferitor cicluri la scrierea programelor; citirea de la tastatură și afișarea pe ecran a numerelor.
Al șaptelea capitol – include noțiuni teoretice despre utilizarea procedurilor la scrierea programelor.
Al optulea capitol – conține noțiuni teoretice despre utilizarea vectorilor și șirurilor de caractere în programe și utilizarea macroinstrucțiunilor pentru ușurarea scrierii programelor.
Al nouălea capitol – include noțiuni teoretice despre operații cu ecranul în
Mediu de dezvoltare a softului.
Pentru a dezvolta o aplicație pentru sistemul de operare Android avem nevoie de un mediu de dezvoltare a aplicațiilor. Un mediu perfect pentru dezvoltarea aplicațiilor pe platforma Android îl prezintă Eclipse și Android Studio.
Sistemul de operare Android
Android reprezintă un sistem de operare bazat pe nucleul Linux. Numele platformei a fost numit după fondatorul companiei Android Inc. În 2005, compania a fost achiziționată de către Google, care până azi este proprietarul brandului Android [22]. Android este un sistem de operare puternic având un număr mare de aplicații pentru telefoanele inteligente, aceste aplicații face viața mai confortabilă și avansată pentru utilizatori. Componentele hardware care susțin platforma Android se bazează în principal pe arhitectura ARM [23].
Unele dintre caracteristicile actuale și specificațiile android sunt:
Application framework – ce permite reutilizarea și înlocuirea componentelor
Dalvik virtual machine – este optimizat pentru dispozitivele mobile care execută aplicații scrise pentru Android
Suport media
Tehnologii GSM.
Bluetooth, EDGE, 3G, Wifi
GPS, Camera, Compas
SQLite – este încorporat în fiecare dispozitiv Android care nu necesită o procedură de setare sau administrarea bazei de date. Trebuie doar să definim instrucțiunile SQL pentru crearea și actualizarea bazei de date, ulterior baza de date este gestionată în mod automat de platforma Android
Aplicații Android sunt scrise în limbajul de programare Java și este disponibil ca open source pentru dezvoltatorii de a dezvolta aplicații care pot fi utilizate în continuare pentru a vinde pe piața Android. Android se bazează pe Linux versiunea 2.6 pentru serviciile de sistem de bază, cum ar fi securitatea, gestionarea memoriei, procesul de management, stiva de rețea [24]. Android deține de un magazin online de software care fost dezvoltat de compania Google ce permite utilizatorilor de a selecta și descărca aplicații gratuite sau cu plată.
Elementele de bază ale aplicațiilor Android:
Aplicații Android sunt compuse din una sau mai multe componente de aplicații (activități, servicii, furnizorii de conținut și receptoare de difuzare).
Fiecare componentă îndeplinește un rol diferit în comportamentul general aplicare, iar fiecare dintre ele poate fi activată în mod individual (chiar prin alte aplicații).
Fișierul manifest declara toate componentele și toate cerințele aplicației, cum ar fi versiunea minimă de Android necesar și configurații hardware necesare.
Resurse de aplicație fără cod (images, strings, layout files, etc.) care ar trebui să includă alternative pentru diferitor configurații.
Android este în continuă evoluție, în fiecare nouă versiune dezvoltatorii sistemului de operare reduc numărul de erori și defecte și măresc viteza de lucru și funcționalitatea dispozitivelor. Începând cu versiunea 1.5, actualizat în fiecare modificare se face atribuirea unui nume propriu. Un avantaj al sistemul de operare Android este modul configurare flexibil. Două dispozitive identice de către un producător poate arăta complet diferit! Proprietarul dispozitivului mobil folosind un sistem de operare Android are posibilitatea de ași schimba dispozitivul după preferințele sale cum ar fi stabilirea interfeței de lucru și alte funcționalități ce un utilizator le folosește zi de zi.
SO Android a început lansarea cu versiunea Android 1.0 în luna noiembrie 2007Din anul 2009, orice versiune Android a început să fie atribuit câte un nume asociat de deserturi [25]. În orice versiune Android dezvoltatorii vin cu un update și corectarea bug-urilor de la versiunile precedente.
Deci versiunile dezvoltate până în prezent sunt:
Android 1.0 Alpha
Android 2.0 Beta.
Android 1.5 Cupcake
Android 1.6 Donut
Android 2.1 Eclair.
Android 2.2 Froyo
Android 2.3 – 2.3.2 Gingerbread
Android 2.3.3 – 2.3.7 Gingerbread
Android 3.0 – 3.1 – 3.2 Honeycomb
Android 4.0.3 – 4.0.4 Ice Creăm Sandwich
Android 4.1 – 4.2 – 4.2.2 Jelly Bean
Android 4.4 KitKat
Android 5.0.1
Android 5.1.1 Lolipop
Android M
Pentru a crea o aplicație pentru sistemul de operare Android avem nevoie de un mediu de dezvoltare a aplicațiilor. Un mediu perfect pentru dezvoltarea aplicațiilor pe platforma Android îl prezintă Eclipse și Android Studio.
Eclipse este un mediu de dezvoltare a aplicațiilor extensibil (IDE) open-source scrisă în Java pentru dezvoltarea aplicațiilor în mai multe limbaje de programare că C, Java Script, C++, Prolog, PHP, etc. cu ajutorul unor plug-in-uri. Pentru a dezvolta aplicația pe platforma Android, avem nevoie de a instala JDK (Java Development Kit) care ne servește cu niște instrumente de dezvoltare incluse în JDK de care au nevoie Eclipse și SDK-ul Android [26]. După ce am instalat JDK-ul avem nevoie să instalăm Eclipse IDE în care putem să dezvoltăm aplicația pentru Android.
Pentru a putea dezvolta aplicația în mediul Eclipse este nevoie să instalăm plug-in-urile ADT (Android Development Toolkit) acesta oferă o suită de instrumente care sunt integrate cu Eclipse IDE. Acesta oferă acces la multe caracteristici care ne ajută să dezvoltăm aplicații Android. ADT oferă acces GUI la multe dintre instrumentele SDK linia de comandă, precum și un instrument de proiectare UI pentru prototipuri rapide, proiectarea, construirea și de interfață cu utilizatorul. Dar și de plug-in-ul Android SDK ce cuprinde instrumentele necesare pentru dezvoltare, librarii externe, documentația necesară pentru fiecare versiune de platformă.
Pentru a instala toate componentele necesare pentru dezvoltarea aplicație este nevoie să pornim SDK Manager și să instalăm toate instrumentele care vor servi ca suport în dezvoltarea și rularea aplicație într-un mediu virtual. Pentru aceasta este nevoie să alegem versiunea de platformă în care vom programa aplicația ce cuprinde documentația și API-urile pentru a putea dezvolta în această versiune de Android.
Mediul de dezvoltarea Android Studio
Android Studio este IDE oficial pentru dezvoltarea de aplicații Android. Programul a fost dezvoltat pe baza mediului popular IntelliJ IDEA Java IDE și are același set de avantaje în ceea ce privește codul de editare: codul cu funcții de auto completare, re-factorizare, analiză de cod etc. Anunțarea Android Studio a avut loc în mai 2013, la o conferință de I/O Developer. Android Studio este poziționat ca un mijloc de a îmbunătăți viteza și eficiența dezvoltării și înlocuirea cu mediul de dezvoltare Eclipse. Programul ne permite să testăm aplicația pe dispozitive cu dimensiuni diferite de ecran și chiar versiuni diferite de API-uri, programul va funcționa corect pe diferite versiunile de Android care în aceste vremuri joacă un rol foarte important. Android Studio vine cu caracteristici unice care permit să creăm programe nu numai pentru numărul mare de smartphone-uri și tablete, dar și pentru televizoare, ceasuri "inteligente", mașini și alte dispozitive bazate pe Android.
Înainte de orice lucru poate începe dezvoltarea unei aplicații Android, primul pas este de a configura calculatorul ca să acționeze ca platformă de dezvoltare. Acest lucru implică o serie de măsuri constând în instalarea Kit Java Development (JDK) și SDK.
Android SDK a fost dezvoltat folosind limbajul de programare Java de asemenea și aplicațiile Android sunt dezvoltate cu ajutorul Java.
Android Studio oferă:
Un sistem flexibil bazat pe sistemul Gradle
Construirea variantelor și generarea multiplă a fișierului apk
Șabloane de cod pentru care va ajuta să construim aplicații cu caracteristici comune
Suport pentru Cloud Platform Google, făcându-l ușor să se integreze Google Cloud Messaging și App Engine
Instrumente bune pentru a mari productivitatea, uzabilitate, compatibilitate intre versiuni.
Android Studio folosește un set de instrumente utile pentru a construi, rula și a compila aplicațiile, acest set înlocuiește sistemul folosit de Eclipse ADT
Emulatorul Android
Android SDK include un emulator virtual asemănător cu un dispozitiv mobil care rulează pe computer. Emulator permite de a dezvolta și testa aplicațiile Android fără a utiliza un dispozitiv fizic. Imitațiile Emulatorului Android are prezent toate hardware și software și caracteristicile unui dispozitiv tipic mobil, cu excepția faptului că nu se poate efectua apeluri telefonice reale.
Acesta oferă o varietate de navigație și control chei, pe care le putem "apăsa" utilizând mouse-ul sau tastatura pentru a genera evenimente pentru aplicația noastră. Acesta oferă, de asemenea, un ecran în care este afișată aplicația, împreună cu orice alte aplicații Android active.
Pentru a modela și a testa aplicația mai ușor, emulatorul utilizează Android Virtual Device (AVD) cu configurațiile sale. AVD ne permit să definim anumite aspecte hardware ale telefonului emulat și ne permite să creăm mai multe configurații pentru a testa mai multe platforme Android și permutări de hardware. Odată ce aplicația se execută pe emulator, se poate folosi serviciile platformei Android din alte aplicații, acces la rețea, redare audio și video, stocare și recuperare de date, notificarea utilizatorului și face tranziții grafice și teme. Emulatorul include de asemenea o varietate de capabilități de depănare, cum ar fi o consolă de la care ne putem conecta, de a ieși din nucleu, simula întreruperi de aplicare precum și simularea efectelor de latență și abandonului în rețeaua de date.
Android emulator este o aplicație care oferă un dispozitiv mobil virtual pe care putem rula aplicații Android. Rulează din plin stiva din sistemul Android, până la nivelul kernel, care include un set de aplicații
preinstalate (cum ar fi dialer), pe care le putem accesa din aplicațiile. Putem alege ce versiune a sistemului Android dorim să rulăm în emulator de AVD și putem efectua configurarea, personalizarea.
La lansarea emulator și la runtime, putem utiliza o varietate de comenzi și opțiuni pentru al controla.Imaginile sistemului Android sunt disponibile prin intermediul Android SDK, managerul conține un cod kernel-ul Linux Android și bibliotecile încorporate, Dalvik VM și diferitele pachete Android (cum ar fi cadrul Android și aplicații preinstalate).
Emulatorul oferă traducerea dinamică a codului binar, ce folosește ca cod mașină cu arhitectură de sistem de operare și procesor pentru aparatul de dezvoltare.
Android emulator suporta caracteristici care pot fi găsite pe dispozitive mobile, inclusiv multe hardware ca:
Un ARMv5, ARMv7, or x86 CPU.
A 16-bit LCD display.
Un cip de sunet cu capabilități de ieșire și intrare.
Una sau mai multe tastaturi (tastatura Qwerty pe bază și butoanele asociate Dpad/telefon).
Partiții de memorie Flash (emulat prin fișiere de imagine de pe disc în mașina de dezvoltare).
Un modem GSM, inclusiv și un card SIM simulat.
Un aparat de fotografiat, folosind un webcam conectat la computerul dezvoltatorului.
Senzori, cum ar fi un accelerometru, folosind date de la un dispozitiv Android conectat prin USB.
Pentru a utiliza emulatorul, trebuie mai întâi să creăm una sau mai multe configurații AVD. În fiecare configurație trebuie să specificăm o platformă Android pentru a rula în emulatorul și setul de opțiuni hardware și fundalul în emulator pe care dorim sal utilizăm.
Apoi, când lansăm emulatorul specificam configurația AVD pe care dorim să se încarce. Fiecare funcții AVD sunt folosite ca la un dispozitiv independent, cu propriile sale pentru depozitari private a datelor de utilizator.
Fig 2.3. Emulatorul virtual.
Când lansăm emulatorul cu o configurație AVD, se încarcă automat datele utilizatorului și datele de pe cardul SD și de directorul AVD. În mod implicit, emulatorul stochează datele utilizatorului, datele de pe card SD și memoria cache din directorul AVD.
În timpul dezvoltării și testării aplicației noastre e nevoie să instalăm și să rulăm aplicația în emulatorul Android. Putem lansa emulatorul ca o aplicație independentă de la o linie de comandă, sau îl putem rula din cadrul mediul de dezvoltare Android Studio. În ambele cazuri, să specificăm configurația AVD pentru a încărca și orice opțiuni de pornire pe care dorim să utilizăm. Așadar putem rula aplicația pe un singur exemplu de emulator sau în funcție de nevoile noastre, putem începe mai multe instanțe pentru emulator și putem rula aplicația în mai multe ori.
Astfel putem folosi built-in emulatorul cu comenzi pentru a simula GSM așteptare telefon sau SMS între instanțe și emulator, și putem configura redirecționarea de rețea care permite emulatoare pentru a trimite date la un altul. Emulator oferă capabilități de rețea versatil pe care îl putem utiliza pentru a configura mediul de modelare și complexitatea de testare pentru aplicația noastră.
Limbajul de programare utilizat pentru realizarea softului
Java este un limbaj de programare dezvoltat inițial de Sun Microsystems și lansat în 1995. Java rulează pe o varietate de platforme, cum ar fi Windows, Mac OS și diferitele versiuni ale UNIX. Sun Microsystems a redenumit noi versiuni J2 ca Java SE, Java EE și Java ME ce respectiv garantează că să fie scris odată și rulata oriunde [28].
Deci, Java este:
Orientat pe obiect: În Java, totul este un obiect și poate fi extins cu ușurință, deoarece acesta se bazează pe modelul obiect.
platforma independentă: Spre deosebire de multe alte limbaje de programare, inclusiv C și C ++, atunci când Java este compilat în platformă, nu este compilat într-o mașină specifică, dar este compilat într-o platformă independentă în byte code. Acest cod octet este distribuit pe web și interpretată de Virtual Machine (JVM) pe platformă care a fost rulata [29].
Simplă: Java este proiectat pentru a fi ușor de învățat. Dacă înțelegem conceptul de bază de OOP Java ar fi de a deveni un programator de nivel înalt.
Securizată: Tehnicile de autentificare se bazează pe criptare cu chei publice.
Portabilă: Fiind arhitectural-neutru care nu implementează aspecte dependente ale caietului de sarcini face Java portabil. Compilator în Java este scris în ANSI C, cu o limită de portabilitate curată, care este un subset POSIX.
Puternică: Java face un efort de a elimina situațiile de eroare predispuse, subliniind mai ales pe timp de compilare verificarea erorilor și verificarea execuție.
Multithreaded: În Java facilitatea multithreaded face posibil să se scrim programe care pot face multe sarcini simultan. Această caracteristică de design permite dezvoltatorilor să construiască și să ruleze aplicații interactive.
Dinamică: Java este considerat a fi mai dinamică decât C sau C ++, deoarece este conceput pentru a se adapta la un mediu în continuă evoluție. Programele Java pot efectua cantitate vastă de informații run-time, care poate fi folosit pentru a verifica și de a rezolva acces la obiecte pe run-time.
James Gosling a inițiat proiectul “limbajul Java” în iunie 1991, pentru utilizarea proiectelor sale. Limbajul, numit Oak inițial arbore după arbore, de asemenea, să pus și numele Green și a ajuns mai târziu să fie redenumit dintr-o listă de cuvinte aleatoare ca Java. La 13 noiembrie 2006, Sun a lansat o mare parte din Java ca software liber și open source în condițiile GNU General Public License (GPL). La 8 mai 2007, Sun a terminat procesul, făcând toate Java cod de bază gratuit și open-source, în afară de o mică parte de cod la care Sun nu deține drepturile de autor. Pentru a scrie programe Java, avem nevoie de un editor de text. Există chiar IDE mai sofisticate disponibile în prezent ca NetBeans, Eclipse, Notepad ++.
Tipurilе dе datе în Java:
Dеci tipurilе dе datе în Java sе împart în două catеgorii: tipuri rеfеrință și tipuri primitivе, în Java oricе еstе un obiеct, tipurilе dе datе sunt dеfinitе dе clasе și toatе variabilеlе sе mеmorеaza instantе alе acеstor clasе (obiеctе).
În java sunt și tipuri dе datе primitivе ca:
Dе tip logic: Boolеan (truе și falsе)
Dе tip caractеr: char (arе 2 octеti)
Dе tip aritmеtic cе includе numеrеlе intrеgi (int, long, short) și numеrе rеalе (float și doublе)
În așa mod clasеlе, vеctorii și intеrfеtеlе sunt dе tip rеfеrinta. Astfеl valorilе a unor variabilе acеst tip sunt dе tip primitivе și rеfеrinta catrе valoarеa sau multimеa dе valori rеprеzеntata dе variabilă rеspеctiva. Așadar еxistă trеi tipuri dе datе din limbajul C carе nu sunt suportatе dе limbajul Java. Acеstеa sunt: pointеr, struct ¸și union. Pointеrii au fost еliminați din cauză că еrau o sursă constantă dе еrori, locul lor fiind luat dе tipul rеfеrință, iar struct și union nu își mai au rostul atât timp cât tipurilе compusе dе datе sunt formatе în Java cu ajutorul clasеlor.
Variabililе în Java:
În Java variabilеlе pot fi dе tip primitiv sau rеfеrințе la obiеctе. În acеst caz indifеrеnt dе tipul lor, pеntru a putеa fi folositе variabilеlе trеbuiе dеclaratе și еvеntual, inițializatе.
Dеclararеa variabilеlor
Inițializarеa variabilеlor
Dеclararеa constantеlor
Dе acееa еxistă posibilitatеa dе a dеclara și inițializa mai multе variabilе sau constantе dе acеlași tip într-o singură instrucțiunе astfеl: Tip variabila1[=valoarе1], variabila2[=valoarе2].
Astfеl convеnția dе numirе a variabilеlor ın Java includе următoarеlе critеrii:
variabilеlе finalе (constantе) sе scriu cu majusculе.
variabilеlе carе nu sunt constantе sе scriu astfеl: prima litеră mică iar dacă numеlе variabilеi еstе format din mai mulți atomi lеxicali, atunci primеlе litеrе alе cеlorlalți atomi sе scriu cu majusculе.
Astfel variabilе mеmbrе, dеclaratе în intеriorul unеi clasе, vizibilе pеntru toatе mеtodеlе clasеi rеspеctivе cât și pеntru altе clasе în funcțiе dе nivеlul lor dе accеs.
Șiruri dе caractеrе:
Dеci în Java, un șir dе caractеrе poatе fi rеprеzеntat printr-un vеctor format din еlеmеntе dе tip char, un obiеct dе tip String sau un obiеct dе tip StringBuffеr. Dacă un șir dе caractеrе еstе constant atunci еl va fi dеclarat dе tipul String, altfеl va fi dеclarat dе tip StringBuffеr.
Astfеl difеrеnța principală dintrе acеstе clasе еstе ca StringBuffеr punе la dispozițiе mеtodе pеntru modificarеa conținutului șirului, cum ar fi: appеnd, insеrt, dеlеtе, rеvеrsе. Așadar cеa mai folosită modalitatе dе a lucra cu șiruri еstе prin intеrmеdiul clasеi Strâng, carе arе și unеlе particularități față dе rеstul clasеlor mеnitе să simplificе cât mai mult folosirеa șirurilor dе caractеrе. Astfеl Clasa StringBuffеr va fi utilizată prеdominant în aplicații dеstinatе procеsării tеxtеlor cum ar fi еditoarеlе dе tеxtе.
Obiеctеlе în Java:
Deoarece în oricе limbaj dе programarе oriеntat-obiеct, crеarеa obiеctеlor sе rеalizеază prin instanțiеrе unеi clasе și implică următoarеlе lucruri:
Dеclararеa Prеsupunе spеcificarеa tipului acеlui obiеct, cu altе cuvintе spеcificarеa clasеi acеstuia (tipul unui obiеct poatе fi și o intеrfață). NumеClasa numеObiеct.
Instanțiеrе Sе rеalizеază prin intеrmеdiul opеratorului nеw și arе ca еfеct crеarеa еfеctivă a obiеctului cu alocarеa spațiului dе mеmoriе corеspunzător. NumеObiеct = nеw NumеClasa (). Inițializarеa Sе rеalizеază prin intеrmеdiul constructorilor clasеi rеspеctivе.
Astfеl inițializarеa еstе dе fapt partе intеgrantă a procеsului dе instanțiеrе, în sеnsul că imеdiat după alocarеa mеmoriеi ca еfеct al opеratorului nеw еstе apеlat constructorul spеcificat. Însă parantеzеlе rotundе dе după numеlе clasеi indică faptul că acolo еstе dе fapt un apеl la unul din constructorii clasеi și nu simplă spеcificarе a numеlui clasеi. Mai gеnеral, instanțiеrеa și inițializarеa apar sub forma – numеObiеct = nеw NumеClasa ([argumеntе constructor]);
Astfеl еstе posibilă și crеarеa unor obiеctе anonimе carе sеrvеsc doar pеntru inițializarеa altor obiеctе, caz ın carе еtapă dе dеclararе a rеfеrințеi obiеctului nu mai еstе prеzеnta. Dеclararеa unui obiеct nu implică sub nici o formă alocarеa dе spat¸iu dе mеmoriе pеntru acеl obiеct.
În compararе cu altе limbajе dе programarе oriеntatе-obiеct, Java pеrmitе doar moștеnirеa simplă, cееa cе însеamnă că o clasă poatе avеa un singur părintе (supеrclasa). Astfеl, o clasă poatе avеa oricarе moștеnitori (subclasе), dе undе rеzultă că mulțimеa tuturor clasеlor dеfinitе ın Java poatе fi văzută ca un arborе, rădăcina acеstuia fiind clasa Objеct. Astfеl, Objеct еstе singura clasă carе nu arе părintе, fiind foartе importantă în modul dе lucru cu obiеctе și structuri dе datе în Java.
Variabilеlе unеi clasе pot avеa acеla și numе cu mеtodеlе clasеi, carе poatе fi chiar numеlе clasеi, fără a еxista posibilitatеa aparițiеi unеi grеutăți din punctul dе vеdеrе al compilatorului. Acеst lucru еstе însă total nеrеcomandat dacă nе gândim din pеrspеctiva clarității codului, dovеdind un stil inеficiеnt dе programarе.
Dеci constructorii unеi clasе sunt mеtodе spеcialе carе au acеlași numе cu cеl al clasеi, nu rеturnеază nici o valoarе și sunt folosiți pеntru inițializarеa obiеctеlor acеlеi clasе în momеntul instanțiеrii lor [30]. O clasă poatе avеa unul sau mai mulți constructori carе trеbuiе însă să difеrе prin lista dе argumеntе primitе în fеlul acеsta sunt pеrmisе divеrsе tipuri dе inițializări alе obiеctеlor la crеarеa lor, în funcțiе dе numărul paramеtrilor cu carе еstе apеlat constructorul [30].
Constructorii sunt apеlați automat la instanțiеrеa unui obiеct. În cazul în carе scriеm o clasă carе nu arе dеclarat nici un constructor, sistеmul îi crееază automat un constructor, carе nu primеștе nici un argumеnt și carе nu facе nimic. Dеci prеzеnța constructorilor în corpul unеi clasе nu еstе obligatoriе [30]. Dacă însă scriеm un constructor pеntru o clasă, carе arе mai mult dе un argumеnt, atunci constructorul fără nici un argumеnt nu va mai fi furnizat implicit dе cătrе sistеm [29].
Constructorii unеi clasе pot avеa următorii modificatori dе accеs: public, protеctеd, privatе și cеl implicit.
public – oricе altă clasă sе pot crеa instantе alе clasеi rеspеctivе.
protеctеd – în subclasе pot fi crеatе obiеctе dе tipul clasеi rеspеctivе.
privatе – nici o altă clasă nu sе pot instanția obiеctе alе acеstеi clasе. O astfеl dе clasa poatе conținе mеtodе publicе (numitе” factory mеthods”) carе să fiе rеsponsabilе cu crеarеa obiеctеlor, controlând în fеlul acеsta divеrsе aspеctе lеgatе dе instanțiеrеa clasеi rеspеctivе.
implicit – în clasеlе din acеlași pachеt sе pot crеa instantе alе clasеi rеspеctivе.
Concluzii la capitolul 2.
În decursul acestui capitol am elaborat proiectarea și aplicarea algoritmului pentru testarea cunoștințelor în aplicația în mediul Android. Aplicația elaborată are o structură și o interfață cu utilizator simplă care simplifica navigarea în aplicație. Deasemenea am descris mediul în care am dezvoltat aplicația și procesul de dezvoltare ce include componentele utilizate în decursul dezvoltării, versiunile de Android în care am dezvoltat aplicația, API-urile și plug-in-urile necesare pentru că aceasta aplicație să funcționeze, limbajul de programare în care a fost dezvoltată aplicația, aplicarea cerințelor stabilite de conducătorul tezei. Toți acești factori au fost ca suport util și necesar pentru dezvoltarea acestei aplicații pentru ajutor în studiere.
După cum am observat elaborând analiza algoritmilor existenți pentru elaborarea unor teste cât mai eficiente, putem confirma că algoritmii bazați pe teste adaptive a pus temelie la majoritatea testelor electronice ce efectuează o testare mai eficientă adaptându-se după persoană ce efectuează aceasta testare și aceasta duce la o testare a cunoștințelor cât mai exactă. În ziua de azi exista o mulțime de aplicații mobile destinate pentru studiere, dezvoltatorii a acestor aplicații încearcă să elaboreze aplicații cât mai eficiente folosindu-se de toate posibilitățile dispozitivelor mobile și încearcă de a inventa metode noi de predare a informației și elaborarea unei interfețe cu utilizator cât mai prietenoasă pentru că utilizatorul să rețină cât mai bine informația. Unele aplicații mobile destinate studiere sunt cu plata deoarece acești dezvoltatori au elaborat aplicația pentru un nivel înalt de pregătire la care pentru dezvoltare au participat mai mulți profesori de calificare înaltă și programatori care au implementat cele mai reușite idei și algoritme de testare în aplicație.
Utilizarea aplicației mobile elaborate.
Îndrumări pentru dezvoltator.
Pentru ca programatorul să poată adăuga funcționalități noi sau să editeze unele capitole este nevoie ca să urmeze următorii pași:
Crearea unui nou class care va include interfața unei noi pagini din aplicație care va fi rulată de aplicația noastră. După ce a fost creată este nevoie de creat un nou xml file care reprezintă un fișier ce permite de a adăuga componente în aplicația noastră în timpul elaborării softului, apoi trebuie definită in AndroidManifest.xml un nou activity. Crearea unui nou class este reprezentată in Fig 3.1.
Fig. 3.1. Crearea unui nou class.
Adăugarea unui nou String se folosește pentru pastrarea tipurilor de date de tip text din aplicația noastră. Dacă vom dori să modificăm aplicația va fi nevoie doar să modificăm aceste constante. Această clasă are două atribute nume și valori, atributul nume va servi ca nume identificator pe care il vom utiliza la un button sau la alt component folosind comanda @string/nume(numele constantei create), al doilea atribut values include conținutul de text(Fig 3.2) pe care îl dorim să îl adăugam într-un Textview, button, Imageview, etc.
Fig 3.1.2. Valorile Strings.
Fig 3.1.3. Paleta de instrumente folosit pentru adăugare unor noi componente.
Fig 3.2.2 Adăugarea întrebărilor.
După cum observăm în Fig 3.2.2 este reprezentată secțiunea de cod a metodei de testare. Dezvoltatoru dacă va dori să adauge noi întrebări în test va rămâne doar să adauge întrebările în această secțiune de cod.
Îndrumări pentru utilizator.
Acest subcapitol cuprinde un mic tutorial pentru utilizatori.
Fig 3.2. Capitolele propuse pentru studiere.
Fig 3.2.1 Conținutul unui capitol.
După cum observăm în Fig 3.2.1 este reprezentat materialul teoretic ale unui capitol. Acest material teoretic include atât material teoreti cât și ilustrații cum funcționează și cum se programează în mediul Assembler. Fiecare utilizator va pute încerca la calculatorul său cum funcționează confirmânduse că materialul propus în capitol că este veridic și prezintă un ajutor enorm pentru studierea acestui limbaj de programare.
Fig 3.2.2 Buttonul care redirecționeză la procesul de testare.
Fig 3.2.3. Procesul de testare cu răspunsul corect la întrebare.
Fig 3.2.3. Procesul de testare cu răspunsul greșit la întrebare.
Concluzii la capitolul 3.
În acest capitol este reprezentată funcționalitatea softului precum a fost proiectată. În subcapitolul “îndrumări pentru dezvoltator” putem observa instrucțiunile necesare pentru a edita sau a adăuga elemente noi sau funcționalități pentru dezvoltarea aplicației în continuare. În subcapitolul 2 a fost descris funcționalitatea testării și am afișat amândouă variante de răspuns, răspus adevărat și răspuns greșit(putem observa în Fig 3.2.2 și Fig 3.2.3 deasemea și mică excursie în aplicație și reprezentarea capitolelor în scop de a face cunoștință cu programul realizat.
CONCLUZII GENERALE ȘI RECOMANDĂRI
Aplicațiile mobile destinate studierii pot juca un rol foarte important în învățământul de astăzi. Majoritatea dispozitivelor mobile au niște funcționalități foarte puternice, în curând posibilitățile lor se vor extinde foarte mult ce va fi un avantaj foarte mare pentru dezvoltatorii care au în plan să creeze o aplicație în scop educativ. Chiar și dispozitivele mobile din prezent au un mediu perfect pentru a implementa și a dezvolta aplicații pentru ajutor în studiere sau chiar și pentru studiere.
După cum am observat aplicația dezvoltată pentru ajutorul studierii limbajului Assembler este reprezentată și dezvoltată cu o interfață pentru utilizator foarte simplă, în care utilizatorul rămâne de a studia acest curs bucurându-se de o interfață plăcută și prietenoasă. Deasemenea aceasta aplicație poate fi folosită ca suport pentru a include alt curs propus pentru studiere, programatorului îi rămâne doar să denumească denumirile capitolelor și lista de întrebări și răspunsuri din test.
Programatorul este nevoie neapărat să cunoască mediul în care este dezvoltată aplicația, pentru că în cazul când va apărea vreo eroare sau de a adăuga unui nou capitol să le poată rezolva cu ușurință.
Rezultatele principale ale lucrării sunt următoarele:
A fost dezvoltată aplicația care include un mediu prietenos și ușor de navigat între capitole ce prezintă un avantaj bun.
A fost introdus un algoritm de testare a cunoștințelor, pentru care utilizatorul va avea posibilitatea de a vedea cât de bine a studiat capitolul ales.
Aceasta aplicație poate fi folosită pentru predarea altui curs pentru studiere.
BIBLIOGRAFIE
M-LEARNING – A VIABLE WAY OF LEARNING.
http://www.ris.uvt.ro/wp-content/uploads/2009/01/tchicioreanu.pdf (vizitat 16.04.2015).
Programul de învățare pe tot parcursul vieții.
http://eur-lex.europa.eu/legal-content/RO/TXT/?uri=URISERV:c11082 (vizitat 17.04.2015).
MOBILE LEARNING IN HIGHER EDUCATION.
http://files.eric.ed.gov/fulltext/ED502236.pdf (vizitat 18.05.2015).
Learning from Starlight – Progettare per comprendere.
http://www.garr.it/eventiGARR/conf_05/articoli/GARR05-Pastore.pdf (vizitat22.04.2015).
Innovative Mobile Learning.
https://eprints.usq.edu.au/4714/2/Danaher_Gururajan_Hafeez-Baig_Doc_4714.pdf (vizitat 22.04.2015).
Using mobile tehnologies to give health students access to learning resources.
http://www.ncbi.nlm.nih.gov/pubmed/16279976 (vizitat 23.04.2015).
Învățare pe tot parcusul vieții – Leonardo da Vinci.
http://www.eurodesk.ro/program.php?id=RO0010000029 (vizitat 24.04.2015)
Learning from Starlight – Progettare per comprendere.
http://www.garr.it/eventiGARR/conf_05/articoli/GARR05-Pastore.pdf (vizitat 26.04.2015).
Proiecte europene bazate pe tehnologiile mobile.
http://www.icvl.eu/2010/disc/cniv/documente/pdf/sectiuneaA/sectiuneaA_lucrarea16.pdf (vizitat 29.04.2015).
Innovative Mobile Learning – Techniques and Technologies Hokyoung Ryu. https://books.google.md/books?id=XLiRCNx_OoC&pg=PT318&lpg=PT318&dq=17.%09Innovative+Mobile+Learning++Techniques+and+Technologies+Hokyoung+Ryu&source=bl&ots=D6MGYBZT7j&sig=A_scUuhRydQmH5JeZgX4UQRal88&hl=ro&sa=X&ei=4XZrVbjjBIGuswHKvoDIDA&redir_esc=y#v=onepage&q=17.%09Innovative%20Mobile%20Learning%20%20Techniques%20and%20Technologies%20Hokyoung%20Ryu&f=false (vizitat 29.05.2015).
Metodele alternative de învățare.
http://www.asociatia-profesorilor.ro/studiu-privind-folosirea-metodelor-alternative-de-invatare.html (vizitat 26.04.2015).
Caracteristicile Learn c++ Pro.
http://www.sololearn.com/Features/ (vizitat 21.04.2015).
About Duolingo.
http://en.wikipedia.org/wiki/Duolingo#cite_note-19 (vizitat 22.04.2015).
Descrierea aplicației w3schools.com.
http://www.windowsphone.com/en-us/store/app/w3schools-com/3bdc0daa-c92d-49fb-b079-dbe82d4ef1a9 (vizitat 18.04.2015).
About w3schools.
http://www.w3schools.com/about/ (vizitat 20.04.2015).
Computer-Adaptive Testing.
http://www.rasch.org/memo69.pdf (vizitat 27.04.2015).
Componentele aplicației Android.
http://www.itcsolutions.eu/2011/09/08/android-tutorial-concepte-activitati-si-resurse-ale-unei-aplicatii-android/ (vizitat 29.04.2015).
Working with AndroidManifest.xml.
http://developer.xamarin.com/guides/android/advanced_topics/working_with_androidmanifest.xml/ (vizitat 1.05.2015).
Android Button.
http://www.javatpoint.com/android-working-with-button (vizitat 1.05.2015).
Android Frame layout.
http://www.tutorialspoint.com/android/android_frame_layout.htm (vizitat 1.05.2015).
Package Index.
http://developer.android.com/reference/packages.html (vizitat 1.05.2015).
Android.
http://ro.wikipedia.org/wiki/Android_%28sistem_de_operare%29 (vizitat 2.05.2015).
Arhitectura ARM.
http://andrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_13.pdf(vizitat 2.05.2015).
Android kernel Versions.
http://elinux.org/Android_Kernel_Versions (vizitat 3.05.2015).
Android version history.
http://en.wikipedia.org/wiki/Android_version_history (vizitat 4.05.2015).
Eclipse.
http://en.wikipedia.org/wiki/Eclipse_(software) (vizitat 4.05.2015).
Android Studio.
http://developer.android.com/tools/studio/index.html (vizitat 5.05.2015).
JAVA About.
http://en.wikipedia.org/wiki/Java_(programming_language) (vizitat 7.05.2015).
Java prezintă.
http://thor.info.uaic.ro/~acf/java/Cristian_Frasinaru-Curs_practic_de_Java.pdf (vizitat 11.05.2015).
Curs Java.
http://pionulcareconteaza.blogspot.com/2012/04/curs-java-2-obiecte-si-clase-in-java.html (vizitat 15.05.2015).
BIBLIOGRAFIE
M-LEARNING – A VIABLE WAY OF LEARNING.
http://www.ris.uvt.ro/wp-content/uploads/2009/01/tchicioreanu.pdf (vizitat 16.04.2015).
Programul de învățare pe tot parcursul vieții.
http://eur-lex.europa.eu/legal-content/RO/TXT/?uri=URISERV:c11082 (vizitat 17.04.2015).
MOBILE LEARNING IN HIGHER EDUCATION.
http://files.eric.ed.gov/fulltext/ED502236.pdf (vizitat 18.05.2015).
Learning from Starlight – Progettare per comprendere.
http://www.garr.it/eventiGARR/conf_05/articoli/GARR05-Pastore.pdf (vizitat22.04.2015).
Innovative Mobile Learning.
https://eprints.usq.edu.au/4714/2/Danaher_Gururajan_Hafeez-Baig_Doc_4714.pdf (vizitat 22.04.2015).
Using mobile tehnologies to give health students access to learning resources.
http://www.ncbi.nlm.nih.gov/pubmed/16279976 (vizitat 23.04.2015).
Învățare pe tot parcusul vieții – Leonardo da Vinci.
http://www.eurodesk.ro/program.php?id=RO0010000029 (vizitat 24.04.2015)
Learning from Starlight – Progettare per comprendere.
http://www.garr.it/eventiGARR/conf_05/articoli/GARR05-Pastore.pdf (vizitat 26.04.2015).
Proiecte europene bazate pe tehnologiile mobile.
http://www.icvl.eu/2010/disc/cniv/documente/pdf/sectiuneaA/sectiuneaA_lucrarea16.pdf (vizitat 29.04.2015).
Innovative Mobile Learning – Techniques and Technologies Hokyoung Ryu. https://books.google.md/books?id=XLiRCNx_OoC&pg=PT318&lpg=PT318&dq=17.%09Innovative+Mobile+Learning++Techniques+and+Technologies+Hokyoung+Ryu&source=bl&ots=D6MGYBZT7j&sig=A_scUuhRydQmH5JeZgX4UQRal88&hl=ro&sa=X&ei=4XZrVbjjBIGuswHKvoDIDA&redir_esc=y#v=onepage&q=17.%09Innovative%20Mobile%20Learning%20%20Techniques%20and%20Technologies%20Hokyoung%20Ryu&f=false (vizitat 29.05.2015).
Metodele alternative de învățare.
http://www.asociatia-profesorilor.ro/studiu-privind-folosirea-metodelor-alternative-de-invatare.html (vizitat 26.04.2015).
Caracteristicile Learn c++ Pro.
http://www.sololearn.com/Features/ (vizitat 21.04.2015).
About Duolingo.
http://en.wikipedia.org/wiki/Duolingo#cite_note-19 (vizitat 22.04.2015).
Descrierea aplicației w3schools.com.
http://www.windowsphone.com/en-us/store/app/w3schools-com/3bdc0daa-c92d-49fb-b079-dbe82d4ef1a9 (vizitat 18.04.2015).
About w3schools.
http://www.w3schools.com/about/ (vizitat 20.04.2015).
Computer-Adaptive Testing.
http://www.rasch.org/memo69.pdf (vizitat 27.04.2015).
Componentele aplicației Android.
http://www.itcsolutions.eu/2011/09/08/android-tutorial-concepte-activitati-si-resurse-ale-unei-aplicatii-android/ (vizitat 29.04.2015).
Working with AndroidManifest.xml.
http://developer.xamarin.com/guides/android/advanced_topics/working_with_androidmanifest.xml/ (vizitat 1.05.2015).
Android Button.
http://www.javatpoint.com/android-working-with-button (vizitat 1.05.2015).
Android Frame layout.
http://www.tutorialspoint.com/android/android_frame_layout.htm (vizitat 1.05.2015).
Package Index.
http://developer.android.com/reference/packages.html (vizitat 1.05.2015).
Android.
http://ro.wikipedia.org/wiki/Android_%28sistem_de_operare%29 (vizitat 2.05.2015).
Arhitectura ARM.
http://andrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_13.pdf(vizitat 2.05.2015).
Android kernel Versions.
http://elinux.org/Android_Kernel_Versions (vizitat 3.05.2015).
Android version history.
http://en.wikipedia.org/wiki/Android_version_history (vizitat 4.05.2015).
Eclipse.
http://en.wikipedia.org/wiki/Eclipse_(software) (vizitat 4.05.2015).
Android Studio.
http://developer.android.com/tools/studio/index.html (vizitat 5.05.2015).
JAVA About.
http://en.wikipedia.org/wiki/Java_(programming_language) (vizitat 7.05.2015).
Java prezintă.
http://thor.info.uaic.ro/~acf/java/Cristian_Frasinaru-Curs_practic_de_Java.pdf (vizitat 11.05.2015).
Curs Java.
http://pionulcareconteaza.blogspot.com/2012/04/curs-java-2-obiecte-si-clase-in-java.html (vizitat 15.05.2015).
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Elaborarea Unei Aplicații Mobile Pentru Ajutor ÎN Studierea Limbajului DE Programare Assembler (ID: 149774)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
