8
Informacione tehnologije, obrazovanje i preduzetništvo ITOP17 259 UDK: 004.451.9:621.39 Stručni rad MOBILNE APLIKACIJE U UČENJU ALGORITAMA I STRUKTURA PODATAKA MOBILE APPLICATIONS IN ALGORITHMS AND DATA STRUCTURES LEARNING Olga Ristić 1 , Katarina Mitrović 2 , Vlade Urošević 3 1,2,3 Fakultet tehničkih nauka u Čačku, Univerzitet u Kragujevcu 1 [email protected], 2 [email protected], 3 [email protected] Apstrakt: Razvoj mobilnih uređaja u poslednjoj deceniji je značajno promenio svet. Milioni ljudi koriste mobilne uređaje ne samo za komunikaciju, već i za učenje. Studenti mobilne uređaje uglavnom koriste za pristup internet sadržajima. Zbog toga se poslednjih godina sve više mobilni uređaji uvode i u obrazovni proces za simuliranje nastavnih sadržaja koji su kompleksniji za razumevanje. U ovom radu je opisan značaj razvoja mobilnih aplikacija u učenju algoritama. Prikazane su razvijene mobilne aplikacije koje simuliraju algoritme za sortiranje, za rad grafova, za rad sa listama itd. Ove mobilne aplikacije omogućuju brže učenje sa razumevanjem i vizuelni prikaz apstraktnih pojmova. Zbog intenzivnije primene mobilnih uređaja, na fakultetima koji školuju studente Informacionih tehnologija uvode se predmeti na kojima se izučava programiranje mobilnih aplikacija. Jedan od softverskih alata koji se koriste za razvoj mobilnih aplikacija, a za koje nije neophodno prethodno znanje programskih jezika, je App Invertor. Ključne reči: Algoritmi, mobilne aplikacije, obrazovanje. Abstract: The development of mobile devices in the last decade has significantly changed the world. Millions of people use mobile devices not only for communication, but also for learning. Students generally use mobile devices to access internet content. Therefore, mobile devices are increasingly used in educational process in recent years for simulation of materials which are more complex to understand. This paper describes the importance of the development of mobile applications for algorithm learning. Mobile applications that simulate algorithms for sorting, graphs, lists, etc. are presented in this paper. These mobile applications provide faster learning with understanding and a visual representation of abstract concepts. Due to the intensive usage of mobile devices, new courses of mobile application programming are proposed in colleges of Information technology. One of the software tools used for mobile applications development, which do not need prior knowledge of programming languages, is the App Inverter. Key words: Algorithms, mobile applications, education.

MOBILNE APLIKACIJE U UČENJU ALGORITAMA I … Ristic, Katarina... · Informacione tehnologije, obrazovanje i preduzetništvo ITOP17 260 1. UVOD Danas se koriste milioni mobilnih uređaja

Embed Size (px)

Citation preview

Informacione tehnologije, obrazovanje i preduzetništvo ITOP17

259

UDK: 004.451.9:621.39 Stručni rad

MOBILNE APLIKACIJE U UČENJU ALGORITAMA I STRUKTURA PODATAKA

MOBILE APPLICATIONS IN ALGORITHMS AND

DATA STRUCTURES LEARNING

Olga Ristić1, Katarina Mitrović2, Vlade Urošević3 1,2,3Fakultet tehničkih nauka u Čačku, Univerzitet u Kragujevcu

[email protected], [email protected], [email protected] Apstrakt: Razvoj mobilnih uređaja u poslednjoj deceniji je značajno promenio svet. Milioni ljudi koriste mobilne uređaje ne samo za komunikaciju, već i za učenje. Studenti mobilne uređaje uglavnom koriste za pristup internet sadržajima. Zbog toga se poslednjih godina sve više mobilni uređaji uvode i u obrazovni proces za simuliranje nastavnih sadržaja koji su kompleksniji za razumevanje. U ovom radu je opisan značaj razvoja mobilnih aplikacija u učenju algoritama. Prikazane su razvijene mobilne aplikacije koje simuliraju algoritme za sortiranje, za rad grafova, za rad sa listama itd. Ove mobilne aplikacije omogućuju brže učenje sa razumevanjem i vizuelni prikaz apstraktnih pojmova. Zbog intenzivnije primene mobilnih uređaja, na fakultetima koji školuju studente Informacionih tehnologija uvode se predmeti na kojima se izučava programiranje mobilnih aplikacija. Jedan od softverskih alata koji se koriste za razvoj mobilnih aplikacija, a za koje nije neophodno prethodno znanje programskih jezika, je App Invertor. Ključne reči: Algoritmi, mobilne aplikacije, obrazovanje. Abstract: The development of mobile devices in the last decade has significantly changed the world. Millions of people use mobile devices not only for communication,

but also for learning. Students generally use mobile devices to access internet content.

Therefore, mobile devices are increasingly used in educational process in recent years

for simulation of materials which are more complex to understand. This paper describes

the importance of the development of mobile applications for algorithm learning. Mobile

applications that simulate algorithms for sorting, graphs, lists, etc. are presented in this

paper. These mobile applications provide faster learning with understanding and a

visual representation of abstract concepts. Due to the intensive usage of mobile devices,

new courses of mobile application programming are proposed in colleges of Information

technology. One of the software tools used for mobile applications development, which

do not need prior knowledge of programming languages, is the App Inverter.

Key words: Algorithms, mobile applications, education.

Informacione tehnologije, obrazovanje i preduzetništvo ITOP17

260

1. UVOD Danas se koriste milioni mobilnih uređaja u svetu. Studenti i učenici mobilne uređaje uglavnom koriste za neformalno učenje ili igranje. Poslednjih godina se ovi uređaji koriste i za učenje složenijih nastavnih sadržaja. Učenje pomoću mobilnih uređaja će u budućnosti biti sve više primenjivano, tako da će nastavnim sadržajima moći da se pristupi na bilo kom mestu. Primena mobilnih tehnologija će omogućiti učenje u oblaku (cloud teaching), gde će biti moguće pristupati ljudima, informacijama i nastavnim sadržajim. U bućnosti, mobilni uređaji će najverovatnije izgledati potpuno drugačije nego što izgledaju danas, pa tako i visoko obrazovanje mora planirati da prilagodi sadržaje nastavnih predmeta novim generacijama studenata. Veliki broj studenata poseduje smart mobilne telefone. Većina studenata ih koristi za zabavu ili neformalno učenje (npr. pretraživanje podataka koji ih interesuju, slušanje muzike itd...), a mali broj za kreiranje aplikacija, pogotovo ukoliko se to od njih ne zahteva [1].

2. PRIMENA MOBILNIH TEHNOLOGIJA U VISOKOM OBRAZOVANJU Mobilni uređaji imaju sve veću primenu u visokom obrazovanju. Primenom m-učenja (mobile learning) kao novog oblika pristupa sadržaju materijala za učenje, omogućeno je da studenti ne moraju fizički prisustvovati nastavi. Na ovaj način, mogu studirati i studenti koji su u radnom odnosu ili žive u drugim zemljama. Pristup materijalu primenom m-učenja je omogućen u bilo kom trenutku, bilo gde i u bilo koje vreme. Dovoljno je da student ima pristup Internetu i neki mobilni uređaj. Prednost m-učenja je mogućnost pristupa materijalima i u drugim vremenskim zonama. Bežični mobilni uređaji su dovoljno mali da ih student može poneti svuda, a pomoću njih se može vršiti i interakcija sa drugim studentima u vezi rešavanja problema na koje naiđu npr. pri izradi projekta, domaćih zadataka itd [2].

Primena mobilnih tehnologija je promenila način života i opšti pristup obrazovanju. Osnovni cilj je da se svi koji su zainteresovani uključe u proces obrazovanja. Tako je omogućeno da se i zemlje koje su u razvoju mnogo brže razviju zahvaljući primeni mobilnih tehnologija u obrazovanju, gde sve postaje dostupno i jednostavno za upotrebu. Čovek postaje centar za usvajanje znanja, a primenom mobilnih tehnologija mogu se usvajati različiti sadržaji. Studenti iz različitih zemalja u svetu mogu zajedno učiti koristeći mobilne uređaje.

3. UČENJE ALGORITAMA I STRUKTURA PODATAKA PRIMENOM MOBILNIH TEHNOLOGIJA Algoritam predstavlja niz instrukcija koje se koriste u rešavanju problema u konačnom vremenskom periodu. Algoritmi se koriste u svakodnevnom životu i može se reći da se za rešavanje i najjednostavnih problema koristi neki algoritam. Ako se razmatra primer kako stići najbrže iz jednog grada u drugi, neophodno je primeniti jedan od algoritama za određivanje najkraćeg puta ili koristiti navigaciju (koja postoji na skoro svim novijim mobilnim telefonima u kojoj je integrisan algoritam za optimizaciju udaljenosti).

Informacione tehnologije, obrazovanje i preduzetništvo ITOP17

261

Na fakultetima širom sveta, u okviru studijskih programa Informacionih tehnologija (IT), izučavaju se kursevi iz oblasti programiranja. Algoritmi i strukture podataka su takođe fundamentalan kurs u okviru koga se izučavaju različite strukture podataka i algoritmi koji se izvode na tim strukturama. Nastavnici i asistenti provode mnogo vremena objašnjavajući funkcionisanje nekog algoritma i u uporšćavanju predavanja kako bi studentima nastavni sadržaji bili što jednostavniji za učenje. Takođe, gubi se puno vremena pri objašnjavanju ponašanja algoritama pri različitim ulaznim podacima. Da bi se skratilo vreme objašnjavanja i da bi studentima nastava bila zanimljivija koristi se vizuelizacija. Osnovna ideja za vizuelizaciju algoritama je simulacija izvršavanja algoritma kako bi se pojednostavilo učenje različitih vrsta algoritama.

Sa razvojem programskih jezika koji podržavaju primenu grafičkog korisničkog interfejsa (GUI), kreirani su mnogobrojni softverski paketi za učenje algoritama i struktura podataka kao što su: TRAKLA, AlCoLab, GeoBuilder, MatrixPro, Algorithm Explorer itd. koji se mogu besplatno preuzeti sa Interneta [3].

Za učenje algoritama mogu se koristiti mobilni uređaji preuzimanjem simulatora različitih algoritama sa Interneta i instaliranjem na mobilnom uređaju. Algortimi koji se najčešće uče u okviru osnovnih studija su algoritmi za:

· Sortiranje struktura padataka, · Pretraživanje (linearno, binarno), · Za obilazak binarnih stabala za pretraživanje, · Za obilazak grafa, · Za određivanje najkraćih rastojanja itd.

Na kursevima koji obrađuju gradivo iz algoritama, softveri koji se mogu preuzeti preko android mobilnih uređaja, koriste se za vizuelno objašnjenje rada algoritama [4]. Studenti ih mogu koristiti u učenju i pri rešavanju određenih vežbi, a mogu se koristiti i za sprečavanje eventualnih grešaka koje studenti prave pri rešavanju nekog problema. Na slici 1 dat je prikaz mobilne aplikacije (Algorithms Explained and Animated) koja simulira rad algoritama i struktura podataka. Još jedan primer je Algorithm Vizualizer (slika 2) koji vizuelno prikazuje rad algoritama i struktura podataka i daje objašnjenja za sve algoritme. Primenom razvijenih softvera na mobilnim uređajima, omogućeno je lakše razumevanje tog nastavnog sadržaja. Postoji veliki broj android aplikacija koje korisnicima omogućavaju besplatnu instalaciju osnovne verzije aplikacije, dok se aktivacija dodatnih funkcionalnosti plaća.

Na kursu Strukture podataka i algoritmi studenti mogu koristiti mogućnosti Andorid mobilnih uređaja u procesu učenja algoritama za sortiranje. Ovi algoritmi su kompleksni za razumevanje pri objašnjenju postupka zamene mesta elementima u strukturi u zavisnosti od algoritma koji se implementira. Sortiranje je postupak raspoređivanja elemenata u rastućem ili opadajućem poretku. Elementi strukture moraju biti sortirani po nekom kriterijumu zbog lakšeg pretraživanja i uštede vremena koje je neophodno ukoliko se traži podatak u strukturi.

Informacione tehnologije, obrazovanje i preduzetništvo ITOP17

262

a) b) c)

d) e) f)

Slika 1. Android aplikacija za učenje algoritama i struktura podataka a) izbor osnovnih struktura podataka, b) algoritmi za sortiranje, c) algortimi za pretraživanje lista i grafova,

d) algoritmi za sortiranje-Bubble sort, e) ubacivanje elemenata u listu, f) algoritmi za binarno pretraživanje

Informacione tehnologije, obrazovanje i preduzetništvo ITOP17

263

a) b) c)

d) e) f)

Slika 2. Algorithm Vizualizer - Android aplikacija za učenje algoritama i struktura podataka a) binarna stabla za pretraživanje, b) algoritam Insertion sort, c) jednostruko

povezana lista, d) Dijkstrin algoritam, e) BFS algoritam, f) binarno stablo za pretraživanje

Studenti najčešće izučavaju algoritme za sortiranje koristeći papir i olovku, ali primenom aplikacija koje vizuelno predstavljaju postupak zamene elemenata u strukturi, brže će shvatiti princip rada tih algoritama. Često se dešava da studenti pogrešno razumeju algoritme za sortiranje, ili ne zapamte postupak svakog od izučavanih algoritama. Istraživanja u svetu [4] su pokazala sledeće prednosti pri korišćenju android aplikacija za sortiranje algoritama kao pomoćnih nastavnih sredstava:

Informacione tehnologije, obrazovanje i preduzetništvo ITOP17

264

· Studenti su postigli bolje rezultate na ispitu u odnosu na one koji nisu koristili aplikacije.

· Vizuelizacija rada algoritma utiče da studenti duže zadrže usvojeno znanje.

· Profesorima i asistentima je olakšan postupak objašnjavanja rada algoritma.

4. UČENJE PROGRAMIRANJA MOBILNIH APLIKACIJA Na velikom broju fakulteta koji obrazuju IT inženjere, poslednjih godina se uvodi predmet „Programiranje mobilnih aplikacija“ koji je značajan i zbog brzog razvoja IT sektora. Motivacija studenata za učenje ovog predmeta bi bila u razvoju i implementaciji softvera koji će se koristiti za učenje ili za praktičnu upotrebu u svakodnevom životu ili za igru. Svaki nastavni sadržaj se može pretvoriti u aplikaciju koja će kroz učenje bazirano na igri (game-based learning) dodatno motivisati studente za učenje apstraktnih ili nezanimljivih sadržaja. U tako razvijenim aplikacijama moguće je, kao i u standardnim igrama, omogućiti prikupljanje poena, prelazak iz nižeg na viši nivo, postizanje najboljih rezultata itd. Na ovaj način se motivišu studenti/učenici da više puta ponavljaju igru, odnosno pokreću aplikaciju u kojoj je nastavni sadržaj, i time da ubrzavaju proces učenja. Tako učenje postaje zabavno, a studenti se motivišu za učenje i kod kuće i postaju zainteresovani za nastavne sadržaje. Integracijom igre u nastavni proces, učenje postaje zanimljivije [5].

Postoji preko 1.000.000 aplikacija za iOS mobilne uređaje u Apple AppStore i za uređaje koji rade na Andorid operativnom sistemu, koje se preuzimaju preko Google Play aplikacije (ranije Android Market). Zbog velike primene mobilnih aplikacija u različitim oblastima, edukacija u smislu učenja programiranja mobilnih aplikacija je poslednjih godina u porastu. Postoji veliki broj razvojnih okruženja za mobilne aplikacije, pri čemu je za programiranje takvih aplikacija neophodno prethodno znanje nekog programskog jezika (Java, C#, C++…). Međutim, postoje razvojna okruženja koja ne zahtevaju znanje nijednog programskog jezika, kao što je npr. App Invertor [6].

App Invertor se zasniva na web baziranom korisničkom interfejsu i razvijen je od strane Google Inc. kompanije i MIT-a, sa ciljem da svima koji imaju Google nalog bude omogućen razvoj Android mobilnih aplikacija. Razvijanje aplikacija ovim alatom se zasniva na prevlačenju vizuelnih komponenti kojima se kreira aplikacija. App Invertor se sastoji od dva dela: Component Designer-a i Block Editor-a, koji omogućavaju korisniku da razvije aplikacije koje se mogu pokrenuti na Android uređajima. Component Designer omogućava projektovanje interfejsa aplikacije i integraciju nevidljivh komponenti, kao što su GPS ili zvuk. Block Editor se koristi za progamiranje ponašanja mobilne aplikacije i upravljanje radom aplikacije u zavisnosti od okolnosti koje se dešavaju.

Informacione tehnologije, obrazovanje i preduzetništvo ITOP17

265

5. ZAKLJUČAK

Programiranje mobilnih aplikacija postaje sve značajnije, jer omogućava nastavnicima i studentima da pojednostave proces učenja i predavanja. U oblasti informacionih tehnologija, izučavaju se kompleksni algoritmi koje studenti uz velike napore uče koristeći samo literaturu i predavanja koja ne uključuju mobilne aplikacije. Ekspanzija primene mobilnih uređaja je uticala da se mogućnosti učenja orjentišu na mobilne aplikacije, koje mogu koristiti za pojašnjenje i vizuelizaciju nastavnog sadržaja. U narednim godinama će doći do značajnih promena u visokom obrazovanju zahvaljujući razvoju i primeni mobilnih tehnologija. Softver App Invertor je izuzetno značajan za nastavnike koji nemaju znanja iz programskih jezika, a koji žele da razviju aplikacije za mobilne uređaje koje će koristiti u nastavnom procesu.

LITERATURA

[1] Kaliisa, R., Picard, M (2017), A Systematic Review on Mobile Learning in Higher

Education: The African Perspective, The Turkish Online Journal of Educational Technology – January 2017, volume 16 issue 1, pp.

[2] Ally, M. & Prieto-Blázquez, J. (2014), What is the future of mobile learning in

education?, Mobile Learning Applications in Higher Education [Special Section]. Revista de Universidad y Sociedad del Conocimiento (RUSC). Vol. 11, No 1. pp. 142-151.

[3] Boticki, I., Barisic, A., Martin, S., Drljević N. (2013). Teaching and learning

computer science sorting algorithms with mobile devices: A case study, Computer Applications in Engineering Education, Volume 21, Issue S1, pp. E41–E50.

[4] İlhan, İ. (2016), Mobile device based test tool for optimization algorithms, Computer Applications in Engineering Education, Volume 24, Issue 5, pp. 744–754.

[5] Supli, A. A., Shiratuddin, N., Zaibon, S. B. (2016), Critical Analysis on Algorithm

Visualization Study, International Journal of Computer Applications, Volume 150, No. 11, pp. 18-22.

[6] Hsu, Y. S., Ching, Y. H. (2013), Mobile App Design for Teaching and Learning:

Educators’ Experiences in an Online Graduate Course, The International Review of Research in Open and Distance Larning, Vol. 14. No. 4, pp. 117-139.

Informacione tehnologije, obrazovanje i preduzetništvo ITOP17

266