Pristop intenzivnega učenja STEM

V svetu inženirskega izobraževanja je veliko odličnih predmetov, vendar ima kurikulum, zgrajen okrog njih, pogosto eno resno napako – pomanjkanje dobre povezanosti med različnimi temami. Lahko bi ugovarjali: kako je to mogoče?

Ko se oblikuje program usposabljanja, so za vsak tečaj navedeni predpogoji in jasen vrstni red, v katerem je treba študirati discipline. Na primer, če želite zgraditi in programirati primitivnega mobilnega robota, morate poznati nekaj mehanike za ustvarjanje njegove fizične strukture; osnove elektrike na ravni Ohm/Kirchhoffovih zakonov, predstavitev digitalnih in analognih signalov; operacije z vektorji in matrikami za opis koordinatnih sistemov in gibanja robota v prostoru; osnove programiranja na nivoju predstavitve podatkov, enostavni algoritmi in strukture prenosa krmiljenja itd. opisati vedenje.

Je vse to zajeto v univerzitetnih tečajih? Seveda imajo. Vendar z Ohm/Kirchhoffovimi zakoni dobimo termodinamiko in teorijo polja; poleg operacij z matricami in vektorji je treba obravnavati Jordanove oblike; pri programiranju preučite polimorfizem - teme, ki niso vedno potrebne za rešitev preprostega praktičnega problema.

Univerzitetno izobraževanje je obsežno - študent gre na široko in pogosto ne vidi smisla in praktičnega pomena znanja, ki ga prejme. Odločili smo se, da paradigmo univerzitetnega izobraževanja obrnemo v STEM (iz besed Science, Technology, Engineering, Math) in ustvarimo program, ki temelji na koherentnosti znanja, kar omogoča povečanje celovitosti v prihodnosti, tj. pomeni intenzivno obvladovanje predmetov.

Učenje novega predmetnega področja lahko primerjamo z raziskovanjem lokalnega območja. In tukaj sta dve možnosti: ali imamo zelo podroben zemljevid z ogromno količino podrobnosti, ki jih je treba preučiti (in to vzame veliko časa), da bi razumeli, kje so glavne mejnike in kako so med seboj povezane ; lahko pa uporabite primitiven načrt, na katerem so označene samo glavne točke in njihovi relativni položaji - takšen zemljevid je dovolj, da se takoj začnete premikati v pravo smer in sproti pojasnjujete podrobnosti.

Pristop intenzivnega učenja STEM smo testirali na zimski šoli, ki smo jo izvedli skupaj s študenti MIT ob podpori JetBrains Research.

Priprava materiala


Prvi del šolskega programa je bil teden pouka glavnih področij, ki so vključevala algebro, električna vezja, računalniško arhitekturo, programiranje Python in uvod v ROS (robotski operacijski sistem).

Smeri nista bili izbrani naključno: dopolnjujoč se naj bi dijakom pomagali videti povezavo med na prvi pogled navidezno različnimi stvarmi – matematiko, elektroniko in programiranjem.

Seveda glavni cilj ni bil veliko predavanj, ampak študentom omogočiti, da novo pridobljeno znanje sami uporabijo v praksi.

Pri algebrskem delu so učenci lahko vadili matrične operacije in reševali sisteme enačb, kar je bilo koristno pri študiju električnih vezij. Ob spoznavanju zgradbe tranzistorja in na njegovi osnovi zgrajenih logičnih elementov so si učenci lahko ogledali njihovo uporabo v procesorski napravi in ​​po spoznavanju osnov jezika Python v njem napisali program za pravega robota.

Pristop intenzivnega učenja STEM

Duckietown


Eden od ciljev šole je bil čim manj dela s simulatorji, kjer je to mogoče. Zato je bil pripravljen velik nabor elektronskih vezij, ki so jih študenti morali sestaviti na testni plošči iz pravih komponent in jih preizkusiti v praksi, za osnovo projektov pa je bil izbran Duckietown.

Duckietown je odprtokodni projekt, ki vključuje majhne avtonomne robote, imenovane Duckiebots, in omrežja cest, po katerih potujejo. Duckiebot je platforma na kolesih, opremljena z mikroračunalnikom Raspberry Pi in eno samo kamero.

Na njegovi podlagi smo pripravili nabor možnih nalog, kot so sestavljanje cestnega zemljevida, iskanje objektov in ustavljanje ob njih ter številne druge. Učenci bi lahko predlagali tudi svoj problem in ne le napisali program za njegovo rešitev, ampak ga tudi takoj pognali na pravem robotu.

Poučevanje


Med predavanjem so učitelji predstavili snov z vnaprej pripravljenimi predstavitvami. Nekatere ure so posneli na video, da so jih učenci lahko spremljali doma. Pri predavanjih so študenti uporabljali gradiva na svojih računalnikih, postavljali vprašanja ter reševali naloge skupaj in samostojno, včasih tudi ob tabli. Na podlagi rezultatov dela je bila izračunana ocena vsakega učenca posebej pri različnih predmetih.

Pristop intenzivnega učenja STEM

Oglejmo si podrobneje izvedbo pouka pri vsakem predmetu. Prvi predmet je bila linearna algebra. Dijaki so en dan namenili študiju vektorjev in matrik, sistemov linearnih enačb itd. Praktične naloge so bile strukturirane interaktivno: predlagane probleme smo reševali individualno, učitelj in drugi učenci pa so podajali komentarje in nasvete.

Pristop intenzivnega učenja STEM

Drugi predmet je elektrika in enostavna vezja. Učenci so spoznali osnove elektrodinamike: napetost, tok, upor, Ohmov zakon in Kirchhoffov zakon. Praktične naloge so bile delno opravljene na simulatorju ali na tabli, več časa pa je bilo porabljenega za izdelavo realnih vezij, kot so logična vezja, nihajna vezja itd.

Pristop intenzivnega učenja STEM

Naslednja tema je računalniška arhitektura - v nekem smislu most, ki povezuje fiziko in programiranje. Študenti so preučevali temeljne osnove, katerih pomen je bolj teoretičen kot praktični. Dijaki so v praksi samostojno oblikovali aritmetična in logična vezja v simulatorju in za opravljene naloge prejeli točke.

Četrti dan je prvi dan programiranja. Python 2 je bil izbran kot programski jezik, ker se uporablja v programiranju ROS. Ta dan je bil strukturiran takole: učitelji so podajali snov, navajali primere reševanja nalog, učenci pa so jih poslušali, sedeč za računalnikom, in ponavljali, kar je učitelj napisal na tablo ali prosojnico. Nato so učenci samostojno reševali podobne naloge, rešitve pa so naknadno ovrednotili učitelji.

Peti dan je bil posvečen ROS-u: fantje so se učili o programiranju robotov. Ves šolski dan so učenci sedeli za svojimi računalniki in izvajali programsko kodo, o kateri je govoril učitelj. Sami so lahko poganjali osnovne enote ROS, seznanili pa so se tudi s projektom Duckietown. Ob koncu tega dne so bili dijaki pripravljeni na projektni del šole – reševanje praktičnih nalog.

Pristop intenzivnega učenja STEM

Opis izbranih projektov

Dijaki so bili pozvani, da sestavijo ekipe po tri in izberejo temo projekta. Posledično so bili sprejeti naslednji projekti:

1. Umerjanje barv. Duckiebot mora umeriti kamero, ko se spremenijo svetlobni pogoji, zato obstaja naloga samodejne kalibracije. Težava je v tem, da so barvni razponi zelo občutljivi na svetlobo. Udeleženci so implementirali pripomoček, ki bi poudaril zahtevane barve v okvirju (rdeča, bela in rumena) in zgradil obsege za vsako barvo v formatu HSV.

2. Duck Taxi. Ideja tega projekta je, da bi se lahko Duckiebot ustavil blizu predmeta, ga pobral in sledil določeni poti. Za objekt je bila izbrana svetlo rumena raca.

Pristop intenzivnega učenja STEM

3. Izdelava cestnega grafa. Obstaja naloga izdelave grafa cest in križišč. Cilj tega projekta je izdelava cestnega grafa brez zagotavljanja a priori okoljskih podatkov Duckiebotu, pri čemer se zanaša le na podatke kamere.

4. Patruljni avto. Ta projekt so si izmislili učenci sami. Predlagali so, da bi enega Duckiebota, »patruljo«, naučili loviti drugega, »kršitelja«. V ta namen je bil uporabljen mehanizem prepoznavanja ciljev z uporabo markerja ArUco. Takoj ko je prepoznavanje končano, se "vsiljivcu" pošlje signal, da dokonča delo.

Pristop intenzivnega učenja STEM

Umerjanje barv

Cilj projekta Color Calibration je bil prilagoditi obseg prepoznavnih barv oznak novim svetlobnim razmeram. Brez takšnih prilagoditev je prepoznavanje zapornih črt, ločilnih pasov in cestnih mej postalo nepravilno. Udeleženci so predlagali rešitev, ki temelji na predobdelavi barvnih vzorcev označevanja: rdeče, rumene in bele.

Vsaka od teh barv ima prednastavljen obseg vrednosti HSV ali RGB. S tem obsegom se najdejo vsa področja okvirja, ki vsebujejo ustrezne barve, in izbere se največje. To območje je vzeto kot barva, ki si jo je treba zapomniti. Za oceno novega barvnega obsega se nato uporabijo statistične formule, kot sta izračun povprečja in standardnega odklona.

Ta razpon je zabeležen v konfiguracijskih datotekah kamere Duckiebota in ga je mogoče uporabiti pozneje. Opisani pristop smo uporabili za vse tri barve in na koncu oblikovali obsege za vsako od barv oznak.

Preizkusi so pokazali skoraj popolno prepoznavanje črt za označevanje, razen v primerih, ko je bil material za označevanje uporabljen sijajni trak, ki tako močno odbija svetlobne vire, da so iz kota gledanja kamere bile oznake bele, ne glede na prvotno barvo.

Pristop intenzivnega učenja STEM

Duck Taxi

Projekt Duck Taxi je vključeval izdelavo algoritma za iskanje račjega potnika v mestu in nato prevoz do želene točke. Udeleženci so ta problem razdelili na dvoje: zaznavanje in premikanje po grafu.

Dijaki so izvedli zaznavanje rac tako, da so predpostavili, da je raca vsako območje v okvirju, ki ga lahko prepoznamo kot rumeno, z rdečim trikotnikom (kljunom) na njem. Takoj, ko je takšno območje zaznano v naslednjem kadru, se mu mora robot približati in se nato za nekaj sekund ustaviti ter simulirati pristanek potnika.

Nato imajo udeleženci vnaprej shranjen v pomnilnik cestni graf celotnega duckietowna in položaj bota ter prejmejo tudi cilj kot vnos, nato pa udeleženci zgradijo pot od točke odhoda do točke prihoda z uporabo Dijkstrinega algoritma za iskanje poti v grafu . Izhod je predstavljen kot niz ukazov - zavojev na vsakem od naslednjih križišč.

Pristop intenzivnega učenja STEM

Graf cest

Cilj tega projekta je bil zgraditi graf – mrežo cest v Duckietownu. Vozlišča nastalega grafa so križišča, loki pa ceste. Za to mora Duckiebot raziskati mesto in analizirati svojo pot.

Med delom na projektu je bila obravnavana, a nato zavržena ideja o ustvarjanju uteženega grafa, v katerem je strošek roba določen z razdaljo (časom potovanja) med križišči. Izvedba te ideje se je izkazala za preveč delovno zahtevno, zanjo pa je bilo v šoli premalo časa.

Ko Duckiebot pride do naslednjega križišča, izbere cesto, ki vodi iz križišča, po kateri še ni šel. Ko so prevožene vse ceste v vseh križiščih, ostane ustvarjen seznam sosednjih križišč v pomnilniku bota, ki se s knjižnico Graphviz pretvori v sliko.

Algoritem, ki so ga predlagali udeleženci, ni bil primeren za naključno Duckietown, vendar je dobro deloval za majhno mesto s štirimi križišči, ki se uporabljajo v šoli. Zamisel je bila, da se vsakemu križišču doda oznaka ArUco, ki vsebuje identifikator križišča za sledenje vrstnemu redu, v katerem so bila križišča prevožena.
Diagram algoritma, ki so ga razvili udeleženci, je prikazan na sliki.

Pristop intenzivnega učenja STEM

Patruljni avto

Cilj tega projekta je poiskati, zasledovati in pridržati bota kršitelja v mestu Duckietown. Patruljni bot se mora premikati po zunanjem obroču mestne ceste in išče znanega vsiljivca. Ko zazna vsiljivca, mora patruljni bot slediti vsiljivcu in ga prisiliti, da se ustavi.

Delo se je začelo z iskanjem ideje za zaznavanje bota v okvirju in prepoznavanje vsiljivca v njem. Ekipa je predlagala, da bi vsakega bota v mestu opremili z edinstvenim označevalcem na zadnji strani – tako kot imajo pravi avtomobili državne registrske številke. V ta namen so bili izbrani markerji ArUco. Prej so jih uporabljali v duckietownu, saj je z njimi enostavno delati in vam omogočajo, da določite orientacijo markerja v prostoru in razdaljo do njega.

Nato je bilo treba zagotoviti, da se patruljni bot premika strogo v zunanjem krogu, ne da bi se ustavil na križiščih. Duckiebot se privzeto premika po voznem pasu in se ustavi na stop črti. Nato s pomočjo prometnih znakov določi konfiguracijo križišča in se odloči za smer prehoda križišča. Za vsako od opisanih stopenj je odgovorno eno od stanj robotovega končnega avtomata. Da bi se znebili ustavljanja na križišču, je ekipa spremenila stanje stroja, tako da je bot ob približevanju stop črti takoj preklopil v stanje vožnje naravnost skozi križišče.

Naslednji korak je bil rešiti problem zaustavitve bota vsiljivca. Ekipa je domnevala, da ima lahko patruljni bot SSH dostop do vsakega od botov v mestu, to je, da ima nekaj informacij o tem, katere avtorizacijske podatke in kakšen ID ima vsak bot. Tako se je patruljni bot po zaznavi vsiljivca začel povezovati preko SSH z vsiljivcem in zaustaviti njegov sistem.

Po potrditvi, da je bil ukaz za zaustavitev končan, se je ustavil tudi patruljni bot.
Algoritem delovanja patruljnega robota lahko predstavimo kot naslednji diagram:

Pristop intenzivnega učenja STEM

Delo na projektih

Delo je bilo organizirano podobno kot Scrum: vsako jutro so študentje načrtovali naloge za tekoči dan, zvečer pa poročali o opravljenem delu.

Prvi in ​​zadnji dan so dijaki pripravili predstavitve, v katerih so opisali nalogo in kako jo rešiti. Da bi učencem pomagali slediti izbranim načrtom, so bili v prostorih, kjer je potekalo delo na projektih, stalno prisotni učitelji iz Rusije in Amerike, ki so odgovarjali na vprašanja. Komunikacija je potekala predvsem v angleškem jeziku.

Rezultati in njihova predstavitev

Delo na projektih je trajalo en teden, nato pa so učenci predstavili svoje rezultate. Vsi so pripravili predstavitve, v katerih so govorili o tem, kaj so se naučili na tej šoli, katere so bile najpomembnejše lekcije, ki so se jih naučili, kaj jim je bilo všeč in kaj ne. Nato je vsaka ekipa predstavila svoj projekt. Vse ekipe so opravile svoje naloge.

Ekipa, ki je izvajala barvno kalibracijo, je projekt zaključila hitreje kot drugi, zato so imeli tudi čas za pripravo dokumentacije za svoj program. In ekipa, ki je delala na cestnem grafu, je celo zadnji dan pred predstavitvijo projekta poskušala izboljšati in popraviti svoje algoritme.

Pristop intenzivnega učenja STEM

Zaključek

Po končanem šolanju smo učence prosili, da ovrednotijo ​​pretekle aktivnosti in odgovorijo na vprašanja, kako dobro je šola izpolnila njihova pričakovanja, katera znanja so pridobili ipd. Vsi učenci so ugotovili, da so se naučili delati v timu, razporejati naloge in načrtovati svoj čas.

Študente so prosili tudi, da ocenijo uporabnost in težavnost tečajev, ki so jih obiskovali. In tu sta se oblikovali dve skupini ocen: nekaterim tečaji niso predstavljali večjih težav, drugi so jih ocenili kot izjemno težke.

To pomeni, da je šola zavzela pravo mesto, saj ostaja dostopna začetnikom na določenem področju, hkrati pa zagotavlja gradivo za ponavljanje in utrjevanje izkušenim učencem. Treba je opozoriti, da so tečaj programiranja (Python) skoraj vsi opazili kot nezapletenega, a uporabnega. Po mnenju študentov je bil najtežji predmet "Računalniška arhitektura".

Ko so učence vprašali o prednostih in slabostih šole, so mnogi odgovorili, da jim je bil všeč izbrani stil poučevanja, v katerem so učitelji zagotavljali hitro in osebno pomoč ter odgovarjali na vprašanja.

Dijaki so tudi ugotovili, da jim je všeč delo v načinu dnevnega načrtovanja svojih nalog in določanja lastnih rokov. Kot slabosti so študentje opozorili na pomanjkanje podanega znanja, ki je bilo potrebno pri delu z botom: pri povezovanju, razumevanju osnov in principov njegovega delovanja.

Skoraj vsi dijaki ugotavljajo, da je šola presegla njihova pričakovanja, kar kaže na pravo smer organizacije šole. Zato je treba pri organizaciji naslednje šole ohraniti splošna načela, pri čemer je treba upoštevati in po možnosti odpraviti pomanjkljivosti, ki so jih opazili učenci in učitelji, morda spremeniti seznam predmetov ali časovnico njihovega poučevanja.

Avtorji članka: ekipa laboratorij za algoritme mobilnih robotov в JetBrains Research.

PS Naš poslovni blog ima novo ime. Zdaj bo namenjen izobraževalnim projektom JetBrains.

Vir: www.habr.com

Dodaj komentar