STEM intenzív tanulási megközelítés

A mérnökképzés világában számos kiváló kurzus létezik, de a köréjük épített tananyag gyakran egy súlyos hibától szenved - a különböző témák közötti jó koherencia hiányában. Lehet ellenkezni: hogy lehet ez?

A képzési program kialakításakor minden kurzushoz fel kell tüntetni az előfeltételeket és a tantárgyak tanulásának egyértelmű sorrendjét. Például egy primitív mobil robot megépítéséhez és programozásához ismernie kell egy kis mechanikát a fizikai szerkezetének létrehozásához; az elektromosság alapjai az Ohm/Kirchhoff-törvények szintjén, digitális és analóg jelek ábrázolása; műveletek vektorokkal és mátrixokkal a koordinátarendszerek és a robot térbeli mozgásainak leírására; programozási alapismeretek adatmegjelenítés szintjén, egyszerű algoritmusok és vezérlésátviteli struktúrák stb. viselkedés leírására.

Mindezt lefedik az egyetemi képzések? Természetesen van. Az Ohm/Kirchhoff-törvényekkel azonban megkapjuk a termodinamikát és a térelméletet; a mátrixokkal és vektorokkal végzett műveletek mellett foglalkozni kell Jordan alakokkal is; a programozásban tanulmányozza a polimorfizmust - olyan témákat, amelyek nem mindig szükségesek egy egyszerű gyakorlati probléma megoldásához.

Az egyetemi oktatás kiterjedt – a hallgató széles fronton halad, és gyakran nem látja a kapott tudás értelmét és gyakorlati jelentőségét. Úgy döntöttünk, hogy az egyetemi oktatás STEM (tudomány, technológia, mérnöki, matematika szavakból) paradigmáját megfordítjuk, és olyan programot készítünk, amely a tudás koherenciájára épül, lehetővé téve a jövőbeni teljesség növelését, azaz a tantárgyak intenzív elsajátítását jelenti.

Egy új tantárgy elsajátítása egy helyi terület felfedezéséhez hasonlítható. És itt két lehetőség van: vagy van egy nagyon részletes térképünk hatalmas mennyiségű részlettel, amelyeket tanulmányozni kell (és ez sok időt vesz igénybe), hogy megértsük, hol vannak a fő tereptárgyak és hogyan kapcsolódnak egymáshoz. ; vagy használhat egy primitív tervet, amelyen csak a fő pontok és azok egymáshoz viszonyított helyzete vannak feltüntetve - egy ilyen térkép elegendő ahhoz, hogy azonnal elinduljon a megfelelő irányba, és menet közben tisztázza a részleteket.

Az intenzív STEM tanulási megközelítést egy téli iskolában teszteltük, amelyet MIT hallgatóival közösen tartottunk JetBrains kutatás.

Anyagkészítés


Az iskolai program első része egy hét volt a főbb területeken, amely magában foglalta az algebrát, az elektromos áramköröket, a számítógép-architektúrát, a Python programozást és a ROS (Robot Operating System) bevezetését.

Az irányokat nem véletlenül választották ki: egymást kiegészítve az volt a céljuk, hogy a tanulók meglássák az összefüggést az első pillantásra különbözőnek tűnő dolgok - a matematika, az elektronika és a programozás - között.

Természetesen nem az volt a fő cél, hogy sok előadást tartsanak, hanem az, hogy a hallgatók lehetőséget kapjanak az újonnan megszerzett ismeretek saját gyakorlati alkalmazására.

Az algebra szekcióban mátrixműveleteket és egyenletrendszerek megoldását gyakorolhatták, amelyek hasznosak voltak az elektromos áramkörök tanulmányozásában. A tanulók a tranzisztor felépítését és az erre épülő logikai elemeket megismerve egy processzoros eszközben láthatták felhasználásukat, majd a Python nyelv alapjainak elsajátítása után egy igazi robothoz való programot írhattak benne.

STEM intenzív tanulási megközelítés

Duckietown


Az iskola egyik célja az volt, hogy lehetőség szerint minimalizálja a szimulátorokkal végzett munkát. Ezért elkészült az elektronikus áramkörök nagy készlete, amelyet a tanulóknak valós alkatrészekből kellett kenyértáblára összeállítaniuk és a gyakorlatban tesztelniük, a projektek alapjául pedig a Duckietownt választották.

A Duckietown egy nyílt forráskódú projekt, amely a Duckiebots nevű kis autonóm robotokat és az általuk vezetett úthálózatokat foglalja magában. A Duckiebot egy kerekes platform Raspberry Pi mikroszámítógéppel és egyetlen kamerával.

Ennek alapján elkészítettük a lehetséges feladatok sorát, mint például az útiterv készítése, objektumok felkutatása és mellettük való megállás, és számos más. A diákok javaslatot tehettek saját problémájukra is, és nem csak programot írhattak a megoldására, hanem azonnal futtathatták is egy valódi roboton.

Tanítás


Az előadás során a tanárok előre elkészített prezentációk segítségével mutatták be az anyagot. Néhány órát videóra vettek, így a tanulók otthon is megnézhették őket. Az előadásokon a hallgatók számítógépükön használtak anyagokat, kérdéseket tettek fel, problémákat oldottak meg közösen és önállóan, esetenként a táblánál is. A munka eredménye alapján az egyes tanulók értékelését a különböző tantárgyakból külön-külön számítottuk ki.

STEM intenzív tanulási megközelítés

Tekintsük részletesebben az egyes tantárgyak tanóráinak lebonyolítását. Az első tárgy a lineáris algebra volt. A diákok egy napot vektorok és mátrixok, lineáris egyenletrendszerek stb. tanulmányozásával töltöttek. A gyakorlati feladatokat interaktívan strukturáltuk: a felvetett feladatokat egyénileg oldották meg, a tanár és a többi diák megjegyzéseket, tippeket adott.

STEM intenzív tanulási megközelítés

A második téma az elektromosság és az egyszerű áramkörök. A diákok megismerkedtek az elektrodinamika alapjaival: feszültség, áram, ellenállás, Ohm-törvény és Kirchhoff-törvény. A gyakorlati feladatokat részben a szimulátorban vagy a táblán végezték el, de több időt fordítottak valódi áramkörök, például logikai áramkörök, oszcilláló áramkörök, stb.

STEM intenzív tanulási megközelítés

A következő téma a Számítógép-architektúra – bizonyos értelemben a fizikát és a programozást összekötő híd. A hallgatók a fundamentális alapot tanulmányozták, melynek jelentősége inkább elméleti, mint gyakorlati. Gyakorlatként a tanulók önállóan terveztek aritmetikai és logikai áramköröket a szimulátorban, és az elvégzett feladatokért pontot kaptak.

A negyedik nap a programozás első napja. A Python 2-t választották programozási nyelvnek, mert ezt használják a ROS programozásban. Ez a nap a következőképpen épült fel: a tanárok bemutatták az anyagot, példákat hoztak fel a problémák megoldására, miközben a diákok a számítógépüknél ülve hallgatták őket, és ismételték, amit a tanár felírt a táblára vagy diára. Ezután a tanulók önállóan oldottak meg hasonló problémákat, majd a megoldásokat a tanárok értékelték.

Az ötödik nap a ROS-nak volt szentelve: a srácok robotprogramozást tanultak. Az egész tanítási napon a diákok a számítógépük előtt ültek, és azt a programkódot futtatták, amelyről a tanár beszélt. Az alapvető ROS egységeket önállóan is futtathatták, és megismerkedtek a Duckietown projekttel is. A nap végén a diákok készen álltak arra, hogy megkezdjék az iskola projekt részét - gyakorlati feladatok megoldását.

STEM intenzív tanulási megközelítés

A kiválasztott projektek leírása

A diákokat arra kérték, hogy alkossanak háromfős csapatokat, és válasszanak ki egy projekttémát. Ennek eredményeként a következő projekteket fogadták el:

1. Színkalibráció. A Duckiebotnak kalibrálnia kell a kamerát, ha a fényviszonyok megváltoznak, ezért van egy automatikus kalibrálási feladat. A probléma az, hogy a színtartományok nagyon érzékenyek a fényre. A résztvevők olyan segédprogramot vezettek be, amely kiemeli a szükséges színeket egy keretben (piros, fehér és sárga), és HSV formátumban tartományokat állított össze minden színhez.

2. Kacsa Taxi. Ennek a projektnek az az ötlete, hogy Duckiebot meg tudjon állni egy objektum közelében, felemelje azt és egy bizonyos útvonalat követhessen. Tárgyul egy élénksárga kacsát választottak.

STEM intenzív tanulási megközelítés

3. Útgráf készítése. Van egy feladat az utak és kereszteződések grafikonjának elkészítése. Ennek a projektnek az a célja, hogy útgrafikont készítsen anélkül, hogy előzetesen környezeti adatokat szolgáltatna a Duckiebotnak, csak a kameraadatokra támaszkodva.

4. Járőrautó. Ezt a projektet maguk a diákok találták ki. Azt javasolták, hogy tanítsanak meg egy Duckiebotot, egy „járőrt”, hogy üldözzen egy másikat, egy „sértőt”. Erre a célra az ArUco marker segítségével történő célfelismerési mechanizmust alkalmazták. Amint a felismerés befejeződött, jelzést küld a „behatolónak”, hogy fejezze be a munkát.

STEM intenzív tanulási megközelítés

Színkalibráció

A Color Calibration projekt célja az volt, hogy a felismerhető jelölőszínek tartományát az új fényviszonyokhoz igazítsa. Ilyen beállítások nélkül a stopvonalak, sávelválasztók és úthatárok felismerése hibássá vált. A résztvevők olyan megoldást javasoltak, amely a jelölési színminták (piros, sárga és fehér) előfeldolgozásán alapul.

Ezen színek mindegyike rendelkezik előre beállított HSV- vagy RGB-értékekkel. Ennek a tartománynak a használatával megkeresi a keret összes megfelelő színét tartalmazó területét, és kiválasztja a legnagyobbat. Ezt a területet olyan színnek tekintik, amelyre emlékezni kell. Az új színtartomány becsléséhez statisztikai képletek, például az átlag és a szórás kiszámítása szolgálnak.

Ez a tartomány a Duckiebot kamerakonfigurációs fájljaiban van rögzítve, és később felhasználható. A leírt megközelítést mindhárom színre alkalmazták, végül mindegyik jelölőszínhez tartományt képeztek.

A tesztek a jelölési vonalak szinte tökéletes felismerését mutatták, kivéve azokat az eseteket, amikor a jelölőanyagok fényes szalagot használtak, amely olyan erősen tükrözi vissza a fényforrásokat, hogy a kamera látószögéből a jelölések fehérnek tűntek, függetlenül az eredeti színtől.

STEM intenzív tanulási megközelítés

Kacsa Taxi

A Duck Taxi projekt egy algoritmus felépítését jelentette, amely egy kacsa utast keresett a városban, majd elszállította a kívánt helyre. A résztvevők ezt a problémát két részre osztották: észlelés és mozgás a grafikon mentén.

A tanulók kacsadetektálást végeztek úgy, hogy feltételezték, hogy a kacsa a keret bármely sárgának felismerhető területe, amelyen egy piros háromszög (csőr) látható. Amint egy ilyen területet észlel a következő képkockában, a robotnak meg kell közelítenie azt, majd néhány másodpercre meg kell állnia, szimulálva az utas leszállását.

Ezután a teljes duckietown úti grafikonja és a bot pozíciója előzetesen a memóriában tárolva, valamint bemenetként a célállomást is megkapva a résztvevők útvonalat építenek az indulási ponttól az érkezési pontig, Dijkstra algoritmusával megtalálják az útvonalakat a grafikonon. . A kimenet parancsok halmazaként jelenik meg – fordulatok a következő kereszteződések mindegyikében.

STEM intenzív tanulási megközelítés

Az utak grafikonja

A projekt célja egy grafikon felépítése volt – egy úthálózat Duckietownban. A kapott gráf csomópontjai metszéspontok, az ívek pedig utak. Ehhez Duckiebotnak fel kell fedeznie a várost és elemeznie kell annak útvonalát.

A projekten végzett munka során fontolóra vették egy súlyozott gráf létrehozásának ötletét, de aztán elvetették, amelyben egy él költségét a kereszteződések közötti távolság (az utazási idő) határozza meg. Ennek az ötletnek a megvalósítása túlságosan munkaigényesnek bizonyult, az iskolán belül nem volt rá elég idő.

Amikor a Duckiebot a következő kereszteződéshez ér, azt az utat választja, amely a kereszteződésből kivezető úton még nem járt. Amikor az összes kereszteződésben lévő összes út áthaladt, a kereszteződések szomszédságainak generált listája a bot memóriájában marad, amelyet a Graphviz könyvtár segítségével képpé alakítanak.

A résztvevők által javasolt algoritmus nem volt alkalmas egy véletlenszerű Duckietownra, de jól működött az iskolán belül használt négy kereszteződésből álló kisvárosban. Az ötlet az volt, hogy minden kereszteződéshez hozzáadjanak egy ArUco jelzőt, amely egy kereszteződésazonosítót tartalmaz, hogy nyomon kövesse a kereszteződések haladási sorrendjét.
A résztvevők által kidolgozott algoritmus diagramja az ábrán látható.

STEM intenzív tanulási megközelítés

Járőrkocsi

A projekt célja egy szabálysértő bot felkutatása, üldözése és őrizetbe vétele Duckietown városában. Egy járőrbotnak végig kell haladnia a városi út külső gyűrűjén, és egy ismert behatolóbotot kell keresnie. A behatoló észlelése után a járőrbotnak követnie kell a behatolót, és megállásra kényszerítenie kell.

A munka azzal kezdődött, hogy ötletet kerestek egy keretben lévő bot észlelésére és egy behatoló felismerésére. A csapat azt javasolta, hogy a városban minden botot egyedi markerrel szereljenek fel a hátulján – ahogy a valódi autóknak is van állami rendszáma. Erre a célra az ArUco markereket választottuk. Korábban használták őket Duckietownban, mivel könnyű velük dolgozni, és lehetővé teszik a jelölő térbeli tájolásának és távolságának meghatározását.

Ezt követően biztosítani kellett, hogy a járőrbot szigorúan a külső körben mozogjon anélkül, hogy a kereszteződéseknél megállna. Alapértelmezés szerint Duckiebot egy sávban mozog, és megáll a stop vonalnál. Ezután az útjelző táblák segítségével meghatározza a kereszteződés konfigurációját, és kiválasztja a kereszteződés áthaladásának irányát. A leírt szakaszok mindegyikéért a robot véges állapotú gépének valamelyik állapota a felelős. A kereszteződésben való megállások elkerülése érdekében a csapat úgy változtatta az állapotgépet, hogy a stopvonalhoz közeledve a bot azonnal átváltott a kereszteződésen átvezető állapotba.

A következő lépés a behatoló bot leállításának problémája volt. A csapat azt feltételezte, hogy a járőrbot SSH-hozzáféréssel rendelkezhet a városban található összes bothoz, azaz rendelkezhet némi információval arról, hogy milyen jogosultsági adatokkal és azonosítóval rendelkezik az egyes botok. Így a behatoló észlelése után a járőrbot SSH-n keresztül kezdett kapcsolódni a behatoló bothoz, és leállította a rendszerét.

A leállítási parancs végrehajtásának megerősítése után a járőrbot is leállt.
A járőrrobot működési algoritmusa a következő diagrammal ábrázolható:

STEM intenzív tanulási megközelítés

Projekteken dolgozik

A munka a Scrumhoz hasonló formában zajlott: minden reggel az aktuális napi feladatokat tervezték meg a diákok, este pedig beszámoltak az elvégzett munkáról.

Az első és az utolsó napon a tanulók prezentációkat készítettek a feladatról és annak megoldásáról. Hogy segítsék a diákokat a választott terveik követésében, Oroszországból és Amerikából érkezett tanárok folyamatosan jelen voltak a termekben, ahol a projekteken dolgoztak, és válaszoltak a kérdésekre. A kommunikáció főleg angolul zajlott.

Eredmények és azok bemutatása

A projekteken végzett munka egy hétig tartott, majd a hallgatók bemutatták eredményeiket. Mindenki prezentációkkal készült, amelyekben arról beszélt, hogy mit tanult ebben az iskolában, melyek voltak a legfontosabb tanulságok, amiket tanult, mi tetszett vagy nem. Ezt követően minden csapat bemutatta projektjét. Minden csapat teljesítette a feladatát.

A színkalibrációt végrehajtó csapat a többieknél gyorsabban végezte a projektet, így jutott idejük a programjuk dokumentációjának elkészítésére is. Az útgrafikonon dolgozó csapat pedig még a projektbemutató előtti utolsó napon is igyekezett finomítani, korrigálni az algoritmusait.

STEM intenzív tanulási megközelítés

Következtetés

Az iskola befejezése után arra kértük a tanulókat, hogy értékeljék korábbi tevékenységeiket, és válaszoljanak olyan kérdésekre, hogy az iskola mennyire felel meg az elvárásaiknak, milyen készségeket sajátítottak el stb. Minden diák megjegyezte, hogy megtanult csapatban dolgozni, elosztani a feladatokat és megtervezni az idejét.

Arra is kérték a diákokat, hogy értékeljék az általuk elvégzett kurzusok hasznosságát és nehézségét. És itt két értékelési csoport alakult ki: egyesek számára a tanfolyamok nem jelentettek különösebb nehézséget, mások rendkívül nehéznek minősítették őket.

Ez azt jelenti, hogy az iskola a megfelelő pozíciót foglalta el azzal, hogy elérhető maradt egy adott területen a kezdők számára, de a tapasztalt tanulók számára is biztosított ismétlési és megszilárdítási anyagokat. Megjegyzendő, hogy a programozási tanfolyamot (Python) szinte mindenki egyszerűnek, de hasznosnak tartotta. A hallgatók szerint a legnehezebb a „Számítógép-architektúra” volt.

Amikor a diákokat az iskola erősségeiről és gyengeségeiről kérdezték, sokan azt válaszolták, hogy tetszett nekik a választott tanítási stílus, amelyben a tanárok azonnali és személyes segítséget nyújtottak, és válaszoltak a kérdésekre.

A hallgatók azt is megjegyezték, hogy szívesen dolgoztak a napi feladattervezés és a saját határidők kitűzésének módjában. Hátrányként a hallgatók a bottal végzett munka során szükséges ismeretek hiányát jelölték meg: a csatlakoztatáskor, a működési alapok és elvek megértését.

Szinte minden diák megállapította, hogy az iskola felülmúlta az elvárásait, és ez jelzi az iskolaszervezés helyes irányát. A következő iskola megszervezésénél tehát az általános elveket be kell tartani, figyelembe véve és lehetőség szerint kiküszöbölve a tanulók, pedagógusok által észlelt hiányosságokat, esetleg módosítani kell a szakok listáját vagy tanításuk időpontját.

A cikk szerzői: csapat mobil robot algoritmusok laboratóriuma в JetBrains kutatás.

Ui Céges blogunk új nevet kapott. Most a JetBrains oktatási projektjeinek szentelik.

Forrás: will.com

Hozzászólás