STEM pristup intenzivnom učenju

U svijetu inženjerskog obrazovanja postoji mnogo odličnih kurseva, ali često nastavni plan i program izgrađen oko njih pati od jedne ozbiljne mane - nedostatka dobre koherentnosti između različitih tema. Neko bi mogao prigovoriti: kako je to moguće?

Prilikom formiranja programa obuke za svaki kurs se navode preduslovi i jasan redosled kojim se discipline moraju izučavati. Na primjer, da biste napravili i programirali primitivnog mobilnog robota, morate znati malo mehanike da biste stvorili njegovu fizičku strukturu; osnove elektriciteta na nivou Ohm/Kirchhoffovih zakona, predstavljanje digitalnih i analognih signala; operacije sa vektorima i matricama u cilju opisa koordinatnih sistema i kretanja robota u prostoru; osnove programiranja na nivou prezentacije podataka, jednostavni algoritmi i strukture prenosa upravljanja itd. da opiše ponašanje.

Da li je sve ovo pokriveno univerzitetskim kursevima? Naravno. Međutim, sa Ohm/Kirchhoffovim zakonima dobijamo termodinamiku i teoriju polja; pored operacija sa matricama i vektorima, treba se baviti i Jordanovim oblicima; u programiranju, proučavaju polimorfizam - teme koje nisu uvijek potrebne za rješavanje jednostavnog praktičnog problema.

Univerzitetsko obrazovanje je ekstenzivno – student ide na široki front i često ne vidi smisao i praktični značaj znanja koje dobija. Odlučili smo da paradigmu univerzitetskog obrazovanja okrenemo u STEM (od riječi Science, Technology, Engineering, Math) i kreiramo program koji se zasniva na koherentnosti znanja, omogućavajući povećanje kompletnosti u budućnosti, tj. podrazumeva intenzivno savladavanje predmeta.

Učenje nove predmetne oblasti može se uporediti sa istraživanjem lokalnog područja. I ovdje postoje dvije opcije: ili imamo vrlo detaljnu kartu sa ogromnom količinom detalja koje treba proučiti (a to zahtijeva dosta vremena) da bismo razumjeli gdje su glavni orijentiri i kako se međusobno odnose ; ili možete koristiti primitivni plan, na kojem su naznačene samo glavne točke i njihovi relativni položaji - takva karta je dovoljna da se odmah počne kretati u pravom smjeru, razjašnjavajući detalje dok idete.

Testirali smo pristup intenzivnog STEM učenja u zimskoj školi, koju smo održali zajedno sa studentima MIT-a uz podršku JetBrains Research.

Priprema materijala


Prvi dio školskog programa bio je sedmica nastave iz glavnih oblasti, koja je uključivala algebru, električna kola, računarsku arhitekturu, Python programiranje i uvod u ROS (Robot Operating System).

Smjerovi nisu odabrani slučajno: dopunjujući se, trebali su pomoći učenicima da uvide vezu između naizgled različitih stvari na prvi pogled – matematike, elektronike i programiranja.

Naravno, glavni cilj nije bio da se drži puno predavanja, već da se studentima pruži prilika da novostečeno znanje i sami primjene u praksi.

U odeljku algebra učenici su mogli da vežbaju matrične operacije i rešavaju sisteme jednačina, koji su bili korisni u proučavanju električnih kola. Nakon što su naučili o strukturi tranzistora i logičkim elementima izgrađenim na njegovoj osnovi, učenici su mogli vidjeti njihovu upotrebu u procesorskom uređaju, te nakon što nauče osnove jezika Python, u njemu napisati program za pravog robota.

STEM pristup intenzivnom učenju

Duckietown


Jedan od ciljeva škole bio je minimiziranje rada sa simulatorima gdje je to moguće. Stoga je pripremljen veliki set elektronskih kola koje su studenti morali sastaviti na matičnoj ploči od stvarnih komponenti i testirati ih u praksi, a Duckietown je izabran kao osnova za projekte.

Duckietown je projekat otvorenog koda koji uključuje male autonomne robote zvane Duckiebots i mreže puteva po kojima putuju. Duckiebot je platforma na točkovima opremljena mikrokompjuterom Raspberry Pi i jednom kamerom.

Na osnovu toga pripremili smo set mogućih zadataka, kao što su izrada mape puta, traženje objekata i zaustavljanje pored njih i niz drugih. Učenici su također mogli predložiti svoj vlastiti problem i ne samo da napišu program koji će ga riješiti, već ga i odmah pokrenuti na pravom robotu.

Nastava


Nastavnici su tokom predavanja prezentirali materijal koristeći unaprijed pripremljene prezentacije. Neki časovi su snimljeni na video kako bi ih učenici mogli gledati kod kuće. Tokom predavanja studenti su koristili materijale na svojim računarima, postavljali pitanja i rešavali probleme zajedno i samostalno, ponekad i za tablom. Na osnovu rezultata rada, ocjena svakog učenika posebno je izračunata u različitim predmetima.

STEM pristup intenzivnom učenju

Razmotrimo detaljnije izvođenje nastave iz svakog predmeta. Prvi predmet je bila linearna algebra. Učenici su jedan dan proveli proučavajući vektore i matrice, sisteme linearnih jednačina itd. Praktični zadaci su strukturirani interaktivno: predloženi problemi su rješavani pojedinačno, a nastavnik i drugi učenici su davali komentare i savjete.

STEM pristup intenzivnom učenju

Druga tema su električna energija i jednostavna kola. Učenici su naučili osnove elektrodinamike: napon, struju, otpor, Ohmov zakon i Kirchhoffove zakone. Praktični zadaci su djelomično rađeni u simulatoru ili završeni na ploči, ali je više vremena utrošeno na izgradnju stvarnih kola kao što su logička kola, oscilirajuća kola, itd.

STEM pristup intenzivnom učenju

Sljedeća tema je Arhitektura računara – u određenom smislu, most koji povezuje fiziku i programiranje. Studenti su proučavali temeljne osnove, čiji je značaj više teorijski nego praktični. U praksi su studenti samostalno dizajnirali aritmetička i logička kola u simulatoru i dobijali bodove za obavljene zadatke.

Četvrti dan je prvi dan programiranja. Python 2 je izabran kao programski jezik jer se koristi u ROS programiranju. Ovaj dan je bio struktuiran na sljedeći način: nastavnici su prezentirali gradivo, davali primjere rješavanja zadataka, a učenici su ih slušali, sjedeći za svojim računarom, i ponavljali ono što je nastavnik napisao na tabli ili slajdu. Zatim su učenici sami rješavali slične probleme, a rješenja su naknadno evaluirali nastavnici.

Peti dan je bio posvećen ROS-u: momci su naučili o programiranju robota. Čitav školski dan učenici su sjedili za svojim računarima, pokrećući programski kod o kojem je učiteljica pričala. Bili su u mogućnosti da samostalno upravljaju osnovnim ROS jedinicama, a također su upoznati sa projektom Duckietown. Na kraju ovog dana učenici su bili spremni da započnu projektni dio škole - rješavanje praktičnih zadataka.

STEM pristup intenzivnom učenju

Opis odabranih projekata

Učenici su bili zamoljeni da formiraju timove od tri osobe i odaberu temu projekta. Kao rezultat toga, usvojeni su sljedeći projekti:

1. Kalibracija boje. Duckiebot treba da kalibriše kameru kada se uslovi osvetljenja promene, tako da postoji zadatak automatske kalibracije. Problem je što su rasponi boja vrlo osjetljivi na svjetlost. Učesnici su implementirali uslužni program koji bi istakao potrebne boje u okviru (crvena, bijela i žuta) i izgradio raspon za svaku boju u HSV formatu.

2. Duck Taxi. Ideja ovog projekta je da Duckiebot može stati u blizini objekta, pokupiti ga i pratiti određenu rutu. Za objekat je odabrana jarko žuta patka.

STEM pristup intenzivnom učenju

3. Izrada grafa puta. Postoji zadatak da se napravi graf puteva i raskrsnica. Cilj ovog projekta je da se napravi graf puta bez pružanja a priori podataka o životnoj sredini Duckiebot-u, oslanjajući se samo na podatke kamere.

4. Patrolni automobil. Ovaj projekat su izmislili sami studenti. Predložili su da nauči jednog Duckiebota, "patrolu", da juri drugog, "nasilnika". U tu svrhu korišten je mehanizam prepoznavanja cilja pomoću ArUco markera. Čim se prepoznavanje završi, "uljezu" se šalje signal da završi posao.

STEM pristup intenzivnom učenju

Kalibracija boja

Cilj projekta Color Calibration je bio prilagođavanje raspona prepoznatljivih boja označavanja novim uslovima osvjetljenja. Bez takvih podešavanja, prepoznavanje zaustavnih linija, separatora traka i granica puta postalo je pogrešno. Učesnici su predložili rješenje bazirano na predprocesiranju uzoraka boja za označavanje: crvene, žute i bijele.

Svaka od ovih boja ima unaprijed postavljeni raspon HSV ili RGB vrijednosti. Koristeći ovaj raspon, pronalaze se sve oblasti okvira koje sadrže odgovarajuće boje i odabire se najveća. Ovo područje se uzima kao boja koju treba zapamtiti. Statističke formule kao što su izračunavanje srednje vrijednosti i standardne devijacije se zatim koriste za procjenu novog raspona boja.

Ovaj raspon je zabilježen u Duckiebotovim konfiguracijskim datotekama kamere i može se koristiti kasnije. Opisani pristup je primijenjen na sve tri boje, u konačnici formirajući raspone za svaku od markiranih boja.

Testovi su pokazali gotovo savršeno prepoznavanje linija označavanja, osim u slučajevima kada je za označavanje korištena sjajna traka, koja reflektira izvore svjetlosti toliko snažno da su iz ugla gledanja kamere oznake izgledale bijele, bez obzira na izvornu boju.

STEM pristup intenzivnom učenju

Duck Taxi

Projekat Duck Taxi uključivao je izgradnju algoritma za traženje putnika patke u gradu, a zatim ga transportovao do tražene tačke. Učesnici su ovaj problem podijelili na dva: otkrivanje i kretanje duž grafikona.

Učenici su vršili detekciju patke tako što su pretpostavili da je patka bilo koje područje u kadru koje se može prepoznati kao žuto, sa crvenim trouglom (kljunom) na njemu. Čim se takvo područje otkrije u sljedećem kadru, robot mu treba prići i zatim stati na nekoliko sekundi, simulirajući slijetanje putnika.

Zatim, imajući unaprijed pohranjeni graf puta cijelog Duckietown-a i poziciju bota, a također primajući odredište kao ulaz, učesnici grade putanju od tačke polaska do tačke dolaska, koristeći Dijkstrin algoritam za pronalaženje staza na grafu . Izlaz je predstavljen kao skup naredbi - skretanja na svakoj od sljedećih raskrsnica.

STEM pristup intenzivnom učenju

Grafikon puteva

Cilj ovog projekta je bio da se napravi graf - mreža puteva u Duckietownu. Čvorovi rezultirajućeg grafa su raskrsnice, a lukovi su putevi. Da bi to učinio, Duckiebot mora istražiti grad i analizirati njegovu rutu.

Tokom rada na projektu razmatrana je, ali je potom odbačena ideja o kreiranju ponderiranog grafa, u kojem je cijena ruba određena udaljenosti (vrijeme putovanja) između raskrsnica. Ispostavilo se da je implementacija ove ideje previše radno intenzivna, a za to nije bilo dovoljno vremena u školi.

Kada Duckiebot dođe do sljedeće raskrsnice, bira cestu koja vodi van raskrsnice kojom još nije prošao. Kada se prođu svi putevi na svim raskrsnicama, generirana lista susjedstava raskrsnica ostaje u memoriji bota, koja se pretvara u sliku pomoću Graphviz biblioteke.

Algoritam koji su predložili učesnici nije bio prikladan za slučajni Duckietown, ali je dobro funkcionisao za mali grad sa četiri raskrsnice koje se koriste u okviru škole. Ideja je bila da se svakoj raskrsnici doda ArUco marker koji sadrži identifikator raskrsnice za praćenje redosleda kojim su raskrsnice vožene.
Dijagram algoritma koji su razvili učesnici prikazan je na slici.

STEM pristup intenzivnom učenju

Patrolni automobil

Cilj ovog projekta je potraga, progon i zadržavanje bota koji je prekršio radnju u gradu Duckietown. Patrolni bot se mora kretati duž vanjskog prstena gradske ceste, tražeći poznatog bota uljeza. Nakon što otkrije uljeza, patrolni bot mora pratiti uljeza i prisiliti ga da stane.

Rad je započeo potragom za idejom za otkrivanje bota u okviru i prepoznavanje uljeza u njemu. Tim je predložio da se svaki bot u gradu opremi jedinstvenim markerom na poleđini - baš kao što pravi automobili imaju državne registracijske brojeve. U tu svrhu su odabrani ArUco markeri. Ranije su korišteni u Duckietownu jer su laki za rad i omogućavaju vam da odredite orijentaciju markera u prostoru i udaljenost do njega.

Zatim je bilo potrebno osigurati da se patrolni bot kreće striktno u vanjskom krugu bez zaustavljanja na raskrsnicama. Podrazumevano, Duckiebot se kreće u traci i zaustavlja se na zaustavnoj liniji. Zatim, uz pomoć putokaza, određuje konfiguraciju raskrsnice i bira smjer prolaska raskrsnice. Za svaku od opisanih faza odgovorno je jedno od stanja robotovog konačnog stroja. Kako bi se riješio zaustavljanja na raskrsnici, tim je promijenio državnu mašinu tako da je pri približavanju stop liniji bot odmah prešao u stanje vožnje pravo kroz raskrsnicu.

Sljedeći korak je bio rješavanje problema zaustavljanja bota uljeza. Tim je pretpostavio da bi patrolni bot mogao imati SSH pristup svakom od botova u gradu, odnosno imati neke informacije o tome koje autorizacijske podatke i koji ID ima svaki bot. Tako je, nakon što je otkrio uljeza, patrolni bot počeo da se povezuje preko SSH-a sa botom uljeza i isključio njegov sistem.

Nakon potvrde da je komanda gašenja završena, patrolni bot je takođe stao.
Algoritam rada patrolnog robota može se predstaviti kao sljedeći dijagram:

STEM pristup intenzivnom učenju

Rad na projektima

Rad je bio organizovan u formatu sličnom Scrum-u: svako jutro učenici su planirali zadatke za tekući dan, a uveče su izvještavali o obavljenom poslu.

Prvih i završnih dana učenici su pripremali prezentacije u kojima su opisali zadatak i kako ga riješiti. Kako bi pomogli učenicima da prate svoje odabrane planove, nastavnici iz Rusije i Amerike su stalno bili prisutni u prostorijama u kojima se odvijao rad na projektima, odgovarajući na pitanja. Komunikacija se odvijala uglavnom na engleskom jeziku.

Rezultati i njihova demonstracija

Rad na projektima trajao je nedelju dana, nakon čega su učenici predstavili svoje rezultate. Svi su pripremili prezentacije u kojima su govorili o tome šta su naučili u ovoj školi, koje su najvažnije lekcije naučili, šta im se dopalo, a šta ne. Nakon toga, svaki tim je predstavio svoj projekat. Sve ekipe su završile svoje zadatke.

Tim koji je implementirao kalibraciju boja je završio projekat brže od ostalih, tako da su imali vremena i da pripreme dokumentaciju za svoj program. A tim koji je radio na grafu puta, čak i posljednjeg dana prije demonstracije projekta, pokušao je usavršiti i ispraviti svoje algoritme.

STEM pristup intenzivnom učenju

zaključak

Po završetku škole, zamolili smo učenike da procijene dosadašnje aktivnosti i odgovore na pitanja koliko je škola ispunila njihova očekivanja, koje su vještine stekli itd. Svi učenici su istakli da su naučili da rade u timu, raspoređuju zadatke i planiraju svoje vreme.

Studenti su također zamoljeni da ocijene korisnost i težinu kurseva koje su pohađali. I tu su formirane dvije grupe ocjenjivanja: nekima kursevi nisu predstavljali velike poteškoće, drugi su ih ocijenili kao izuzetno teške.

To znači da je škola zauzela ispravan stav tako što je ostala dostupna početnicima u određenoj oblasti, ali i dajući materijale za ponavljanje i konsolidaciju iskusnih učenika. Treba napomenuti da su kurs programiranja (Python) gotovo svi primijetili kao jednostavan, ali koristan. Prema mišljenju studenata, najteži predmet je bio „Arhitektura računara“.

Kada su učenici upitani o prednostima i slabostima škole, mnogi su odgovorili da im se dopada odabrani stil nastave, u kojem su nastavnici pružali brzu i ličnu pomoć i odgovarali na pitanja.

Učenici su također istakli da im se dopada rad u načinu dnevnog planiranja zadataka i postavljanja vlastitih rokova. Kao nedostatke studenti su naveli nedostatak pruženog znanja, koji je bio potreban pri radu sa botom: pri povezivanju, razumijevanju osnova i principa njegovog rada.

Gotovo svi učenici su istakli da je škola nadmašila njihova očekivanja, a to ukazuje na pravi smjer za organizaciju škole. Dakle, treba zadržati opšta načela prilikom organizovanja sljedeće škole, uzimajući u obzir i, ako je moguće, otklanjajući nedostatke koje su učenici i nastavnici uočili, eventualno mijenjajući listu predmeta ili vrijeme njihove nastave.

Autori članka: tim laboratorija algoritama mobilnih robota в JetBrains Research.

P.S. Naš korporativni blog ima novo ime. Sada će biti posvećen edukativnim projektima JetBrainsa.

izvor: www.habr.com

Dodajte komentar