Pristup intenzivnog učenja STEM

U svijetu inženjerskog obrazovanja postoji mnogo odličnih tečajeva, no često program učenja temeljen na njima ima jedan ozbiljan nedostatak — nedostatak dobre povezanosti između različitih tema. Može se prigovoriti: kako to?

Kada se formira program učenja, za svaki tečaj se navode preduvjeti i jasan redoslijed kojim je potrebno učiti discipline. Na primjer, da bi se sastavio i programirao primitivni mobilni robot, potrebno je malo poznavanja mehanike za izradu njegove fizičke konstrukcije; temeljnog elektriciteta na razini Ohmovih/Kirchhoffovih zakona, reprezentacije digitalnih i analognih signala; operacija s vektorima i matricama za opisivanje koordinatnih sustava i kretanja robota u prostoru; osnova programiranja na razini reprezentacije podataka, najjednostavnijih algoritama i struktura prijenosa kontrole itd. za opisivanje ponašanja.

Ima li toga svega u sveučilišnim tečajevima? Naravno da ima. Međutim, uz Ohmove/Kirchhoffove zakone dolaze i termodinamika i teorija polja; osim operacija s matricama i vektorima dolazi se do Jordanskih oblika; u programiranju se proučava polimorfizam — teme koje nisu uvijek potrebne za rješavanje jednostavnog praktičnog zadatka.

Sveučilišno obrazovanje je ekstenzivno — učenik ide širokim frontom i često ne vidi smisao i praktičnu važnost znanja koja stječe. Odlučili smo preokrenuti paradigmu sveučilišnog obrazovanja STEM (od riječi znanost, tehnologija, inženjerstvo, matematika) i izraditi program koji se oslanja na povezanost znanja, dopuštajući buduće proširenje, što implicira intenzivno ovladavanje predmetima.

Istraživanje nove tematske oblasti može se uporediti s istraživanjem određenog područja. I ovde postoje dve opcije: ili imamo vrlo detaljnu mapu s ogromnim brojem detalja koje treba proučiti (a to zahteva puno vremena), kako bismo razumeli gde se nalaze glavni orijentiri i kako su međusobno povezani; ili možemo iskoristiti primitivnu mapu, na kojoj su označene samo glavne tačke i njihovo međusobno postavljanje — takva mapa je dovoljna da odmah krenemo u pravom smeru, pojašnjavajući detalje tokom kretanja.

Pristup intenzivnom učenju STEM testirali smo na zimskoj školi koju smo organizovali zajedno sa studentima MIT uz podršku JetBrains Research.

Priprema materijala


Prvi deo programa škole bio je nedelja časa posvećenih glavnim pravcima, koji su uključivali algebru, električne krugove, arhitekturu računara, programiranje na Pythonu i upoznavanje sa ROS (Robot Operating System).

Pravci nisu izabrani slučajno: dopunjujući se, trebali su pomoći studentima da vide povezanost između, na prvi pogled, različitih stvari — matematike, elektronike i programiranja.

Naravno, osnovni cilj nije bio održati mnoštvo predavanja, već dati studentima mogućnost da sami primene upravo stečeno znanje u praksi.

U okviru algebre, studenti su mogli vežbati operacije s matricama i rešavanje sistema jednačina, što je bilo korisno pri proučavanju električnih krugova. Učeći o strukturi tranzistora i logičkim elementima koji su na osnovu njega građeni, učenici su mogli videti njihovu primenu u dizajnu procesora, a nakon što su savladali osnove jezika Python, napisali su program za pravi robot.

Pristup intenzivnog učenja STEM

Duckietown


Jedan od zadataka škole bio je minimizacija rada sa simulatorima gde god je to bilo moguće. Stoga je pripremljen veliki set električnih sklopova koje su studenti trebali sastaviti na maketnoj ploči od stvarnih komponenti i testirati ih u praksi, a kao osnova za projekte izabran je Duckietown.

Duckietown je otvoreni projekt koji uključuje male autonomne robote nazvane Duckiebot i mrežu cesta po kojima se kreću. Duckiebot predstavlja kotačnu platformu opremljenu mikrokompjuterom Raspberry Pi i jednom kamerom.

Na toj osnovi pripremili smo skup mogućih zadataka, poput izrade karte cesta, pretraživanja objekata i zaustavljanja pored njih, kao i niz drugih. Također, studenti su mogli predložiti vlastiti problem, ne samo napisati program za njegovo rješavanje, već ga i odmah pokrenuti na pravom robotu.

Podučavanje


Tijekom predavanja nastavnici su iznosili materijal koristeći unaprijed pripremljene prezentacije. Neka predavanja su snimana, tako da su studenti imali priliku pogledati ih kod kuće. Tijekom predavanja, studenti su koristili materijale na svojim računalima, postavljali pitanja, rješavali zadatke zajednički i samostalno, ponekad uz ploču. Na temelju rada, izračunat je ranking svakog studenta posebno po različitim predmetima.

Pristup intenzivnog učenja STEM

Pogledajmo izvođenje nastave iz svakog predmeta detaljnije. Prvi predmet bila je linearna algebra. Studenti su tijekom jednog dana proučavali vektore i matrice, sustave linearnih jednadžbi itd. Praktični zadaci bili su osmišljeni u interaktivnom režimu: predloženi problemi rješavali su se individualno, a nastavnik i drugi studenti davali su komentare i savjete.

Pristup intenzivnog učenja STEM

Drugi predmet - elektrostatičnost i jednostavne sheme. Studenti su proučili osnove elektrodinamike: napona, struja, otpora, Ohmov zakon i Kirchhoffova pravila. Praktični zadaci djelomično su se radili u simulatoru ili izvođenja na ploči, ali veći dio vremena bio je posvećen izradi stvarnih shema, poput logičkih shema, oscilatorskih krugova itd.

Pristup intenzivnog učenja STEM

Sljedeća tema - Arhitektura računalnih sustava - u nekom smislu je most koji povezuje fiziku i programiranje. Studenti su proučavali temeljnu osnovu, čije je značenje više teorijsko nego praktično. Kao praksu, studenti su samostalno dizajnirali aritmetsko-logičke sheme u simulatoru i za izvršene zadatke dobili bodove.

Četvrti dan - prvi dan programiranja. Kao programski jezik odabran je Python 2, budući da se on koristi u programiranju za ROS. Ovaj dan bio je organiziran na sljedeći način: predavači su objašnjavali materijal, davali primjere rješavanja zadataka, dok su studenti slušali, sjedeći za računalima, i ponavljali ono što je predavač napisao na ploči ili slajdu. Zatim su učenici samostalno rješavali slične zadatke, a konačna rješenja su ocijenili predavači.

Peti dan bio je posvećen ROS-u: studenti su se upoznavali s programiranjem robota. Tijekom cijelog dana, studenti su sjedili za računalima, pokretali programski kod o kojem je predavač govorio. Oni su uspostavili osnovne jedinice ROS-a, a također su se upoznali s projektom Duckietown. Na kraju ovog dana studenti su bili spremni započeti projektni dio škole - rješavanje praktičnih zadataka.

Pristup intenzivnog učenja STEM

Opis odabranih projekata

Studenti su pozvani da se udruže u timove od tri osobe i odaberu temu projekta. Na kraju su prihvaćeni sljedeći projekti:

1. Kalibracija boja. Duckiebot treba kalibrirati kameru kada se promijene uvjeti osvjetljenja, stoga postoji zadatak automatske kalibracije. Problem je u tome što su rasponi boja vrlo osjetljivi na osvjetljenje. Sudionici su razvili alat koji bi na slici isticao potrebne boje (crvena, bijela i žuta) i gradio raspon za svaku od boja u HSV formatu.

2. Duck Taxi. Ideja ovog projekta je da Duckiebot može stajati pored određenog objekta, pokupiti ga i slijediti određenu rutu. Kao objekt odabrana je svijetla žuta patka.

Pristup intenzivnog učenja STEM

3. Izrada grafova cesta. Postoji zadatak izrade grafova cesta i raskrižja. Cilj ovog projekta je izraditi graf cesta bez pružanja apriornih podataka o okruženju za Duckiebot, oslanjajući se samo na podatke s kamere.

4. Patrolni automobil. Ovaj projekt osmislili su sami studenti. Predložili su da se jedan Duckiebot 'patrolni' nauči progoniti drugog - 'prekršitelja'. Za to je korišten mehanizam prepoznavanja cilja pomoću ArUco markera. Čim se prepoznavanje završi, 'prekršitelju' se šalje signal o završetku rada.

Pristup intenzivnog učenja STEM

Kalibracija Boja

Cilj projekta Color Calibration bio je prilagoditi raspon prepoznatih boja oznaka novim uvjetima osvjetljenja. Bez takvih prilagodbi, prepoznavanje rubova traka, razdjelnih linija i granica cesta postajalo bi netočno. Sudionici su predložili rješenje temeljeno na prethodnoj obradi uzoraka boja oznaka: crvene, žute i bijele.

Za svaku od ovih boja postavljen je prethodni raspon HSV ili RGB vrijednosti. Koristeći ovaj raspon, na slici se nalaze sve oblasti koje sadrže odgovarajuće boje i od njih se bira najveća. Ova oblast se prihvaća kao boja koju je potrebno zapamtiti. Zatim se koriste statističke formule, poput izračunavanja srednje vrijednosti i standardne devijacije, kako bi se procijenio novi raspon boje.

Ovaj raspon se zapisuje u konfiguracijske datoteke kamere Duckiebot i može se koristiti u budućnosti. Opisani pristup primijenjen je na svih tri boje, oblikujući na kraju raspon za svaku od boja oznaka.

Testovi su pokazali gotovo savršeno prepoznavanje linija oznaka, osim u slučajevima kada su materijali oznaka bili sjajna traka koja je toliko odražavala izvore svjetlosti da se pod kutom snimanja činilo da je oznaka bijela, bez obzira na njezinu izvoricu boju.

Pristup intenzivnog učenja STEM

Duck Taxi

Projekt Duck Taxi podrazumijevao je razvoj algoritma za pronalaženje patke-putnika u gradu i njezino prevoženje na potrebno mjesto. Sudionici su tu zadaću podijelili na dva dijela: detekciju i kretanje po grafu.

Studenti su izvršili detekciju patke, pretpostavljajući da se patkom smatra bilo koja oblast na slici koju je moguće prepoznati kao žutu, s crvenim trokutom (kljunom) na njoj. Kada se takva oblast otkrije na sljedećem okviru, robot bi trebao prići toj oblasti i zatim se zaustaviti na nekoliko sekundi, imitujući dolazak putnika.

Zatim, s prethodno pohranjenim grafom cesta cijelog duckietown-a i pozicijom robota, kao i nakon uvrštavanja odredišne točke, sudionici grade put od polazne do odredišne točke koristeći Dijkstraov algoritam za pretraživanje putova u grafu. Izlazni rezultati predstavljaju se kao skup komandi — skretanja na svakom od sljedećih raskrižja.

Pristup intenzivnog učenja STEM

Graf cesta

Cilj ovog projekta bio je izgradnja grafa - mreže cesta u Duckietownu. Čvorovi rezultantnog grafa su raskrižja, a bridovi - ceste. Za to Duckiebot mora istražiti grad i analizirati svoju rutu.

Tijekom rada na projektu razmatrana je, ali potom odbačena ideja o izradi težinskog grafa, u kojem bi cijena brida bila određena udaljenošću (vremenom potrebno za prolaz) između raskrižja. Implementacija te ideje pokazala se previše zahtjevnom i vremena za nju ne bi bilo tijekom škole.

Kada Duckiebot dođe do sljedećeg raskrižja, bira cestu koja izlazi iz raskrižja, a kojom još nije prošao. Kada su sve ceste na svim raskrižjima prošle, u memoriji bota ostaje oblikovan popis susjednosti raskrižja, koji se pretvara u sliku pomoću biblioteke Graphviz.

Predloženi algoritam sudionika nije prikladan za proizvoljni Duckietown, ali je dobro funkcionirao u malom gradu sastavljenom od četiri raskrižja, korištenom u okviru škole. Ideja je bila dopuniti svako raskrižje ArUco-markerom koji sadrži identifikator raskrižja, kako bi se pratila svrha prolaska raskrižja.
Shema rada razvijenog algoritma prikazana je na slici.

Pristup intenzivnog učenja STEM

Patrolni automobil

Cilj ovog projekta je pronalaženje, praćenje i zaustavljanje bot-kršitelja u gradu Duckietown. Patrolni bot treba se kretati po vanjskom prstenu ceste u gradu u potrazi za prethodno poznatim bot-kršiteljem. Nakon što otkrije kršitelja, patrolni bot treba pratiti kršitelja i natjerati ga da se zaustavi.

Rad je započeo pronalaženjem ideje o detekciji bota na slici i prepoznavanju kršitelja. Tim je predložio opremanje svakog bota u gradu jedinstvenim markerom straga - slično kao što stvarni automobili imaju registarske brojeve. Odabrani su ArUco-markeri. Oni su već ranije korišteni u duckietownu, jer su jednostavni za rad i omogućavaju određivanje orijentacije markera u prostoru i udaljenosti do njega.

Nakon toga je bilo potrebno omogućiti patrolnom botu da se kreće strogo po vanjskom krugu bez stajanja na raskrižjima. Prema zadanim postavkama, Duckiebot se kreće u traci i staje na liniji stop. Zatim uz pomoć prometnih znakova određuje konfiguraciju raskrižja i donosi odluku o smjeru prolaska kroz raskrižje. Za svaki od opisanih koraka odgovara jedna od stanja konačnog automata robota. Kako bi se izbjegla stajanja na raskrižju, tim je promijenio automat stanja tako da prilikom pristupanja liniji stop bot odmah prelazi u stanje prolaska kroz raskrižje ravno.

Sljedeći korak bio je rješavanje zadatka zaustavljanja bota-prekršitelja. Tim je pretpostavio da patrolni bot može imati SSH pristup svakom od botova u gradu, tj. imati neku informaciju o tome koje su korisničke podatke za autorizaciju i koji id ima svaki bot. Tako je, nakon otkrivanja prekršitelja, patrolni bot počeo povezivati se putem SSH s botom-prekršiteljem i isključivati njegov sustav.

Nakon potvrde da je naredba za isključenje izvršena, patrolni bot se također zaustavljao.
Algoritam rada patrolnog robota može se predstaviti u obliku sljedeće sheme:

Pristup intenzivnog učenja STEM

Rad na projektima

Rad je bio organiziran u formatu sličnom Scrumu: svako jutro su studenti planirali zadatke za taj dan, a navečer su se izvještavali o obavljenom radu.

Na prve i završne dane studenti su pripremili prezentacije koje opisuju postavljeni zadatak i načine njegovog rješavanja. Kako bi pomogli studentima da se drže odabranih planova, u prostorijama u kojima se radilo na projektima neprekidno su bili prisutni profesori iz Rusije i Amerike, koji su odgovarali na pitanja. Komunikacija se uglavnom odvijala na engleskom jeziku.

Rezultati i njihova demonstracija

Rad na projektima trajao je jedan tjedan, nakon kojeg su studenti predstavili svoje rezultate. Svi su pripremili prezentacije u kojima su govorili o tome što su naučili u ovoj školi, koje su najvažnije lekcije izvukli, što im se svidjelo ili nije svidjelo. Nakon toga, svaki tim je predstavio svoj projekt. Svi timovi su se suočili s postavljenim zadatcima.

Tim zadužen za kalibraciju boja završio je projekt brže od drugih, stoga su uspjeli pripremiti i dokumentaciju za svoj program. Tim koji se bavio grafom puteva trudio se na posljednji dan prije prezentacije projekta doraditi i ispraviti svoje algoritme.

Pristup intenzivnog učenja STEM

Zaključak

Nakon završetka škole zamolili smo studente da ocjene provedene aktivnosti i odgovore na pitanja koliko je škola ispunila njihova očekivanja, koje su vještine stekli i sl. Svi studenti su istaknuli da su naučili raditi u timu, raspodijeliti zadatke i planirati svoje vrijeme.

Studentima je također ponuđeno da ocjene korisnost i složenost prošlih tečajeva. Ovdje su se formirale dvije grupe ocjena: za jedne tečajevi nisu predstavljali veliki izazov, dok su drugi ocijenili iste kao iznimno teške.

To znači da je škola zauzela ispravnu poziciju, ostajući dostupna novacima u određenom području, ali također nudi materijale za ponavljanje i učvršćivanje znanja iskusnim studentima. Treba napomenuti da je tečaj programiranja (Python) gotovo svi ocijenili kao lak, ali koristan. Najsloženijim, prema mišljenju studenata, pokazao se tečaj 'Arhitektura računala'.

Kada su studente pitali o nedostacima i prednostima škole, mnogi su odgovorili da im se svidio odabrani stil poučavanja, unutar kojeg su predavači brzo i individualno pružali pomoć i odgovarali na postavljena pitanja.

Također su učenici istaknuli da im se svidjela svakodnevna planiranje zadataka i samostalno postavljanje rokova. Kao nedostatke studenti su istaknuli manjak pruženog znanja koje je bilo potrebno pri radu s botom: prilikom povezivanja, razumijevanja osnovnih principa i rada.

Gotovo svi studenti su istaknuli da je škola nadmašila njihova očekivanja, što ukazuje na ispravno odabranu organizacijsku stručnu liniju škole. Stoga bi trebalo sačuvati opća pravila pri organizaciji sljedeće škole, uzimajući u obzir i omogućavajući otklanjanje nedostataka koje su primijetili studenti i predavači, moguće mijenjajući popis tečajeva ili vrijeme njihova poučavanja.

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

P.S. Naš korporativni blog ima novo ime. Sada će biti posvećen obrazovnim projektima tvrtke JetBrains.

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster