STEM pristup intenzivnom učenju

Postoji mnogo izvrsnih kolegija u svijetu inženjerskog obrazovanja, ali često kurikulum izgrađen oko njih pati od jedne ozbiljne mane - nedostatka dobre koherentnosti između različitih tema. Moglo bi se prigovoriti: kako to može biti?

Kada se formira program obuke, za svaki tečaj su naznačeni preduvjeti i jasan redoslijed kojim se discipline moraju proučavati. Na primjer, kako biste izgradili i programirali primitivnog mobilnog robota, morate znati malo mehanike za stvaranje njegove fizičke strukture; osnove elektriciteta na razini Ohm/Kirchhoffovih zakona, prikaz digitalnih i analognih signala; operacije s vektorima i matricama za opisivanje koordinatnih sustava i kretanja robota u prostoru; osnove programiranja na razini prikaza podataka, jednostavni algoritmi i strukture prijenosa upravljanja itd. opisati ponašanje.

Je li sve to pokriveno na sveučilišnim tečajevima? Naravno da jesu. Međutim, s Ohm/Kirchhoffovim zakonima dobivamo termodinamiku i teoriju polja; osim operacija s matricama i vektorima, treba se baviti Jordanovim formama; u programiranju, proučavajte polimorfizam - teme koje nisu uvijek potrebne za rješavanje jednostavnog praktičnog problema.

Sveučilišno obrazovanje je ekstenzivno – student ide na široku frontu i često ne vidi smisao i praktični značaj znanja koje dobiva. Odlučili smo okrenuti paradigmu sveučilišnog obrazovanja u STEM (od riječi Science, Technology, Engineering, Math) i stvoriti program koji se temelji na koherentnosti znanja, omogućujući povećanje cjelovitosti u budućnosti, tj. podrazumijeva intenzivno savladavanje predmeta.

Učenje novog predmeta može se usporediti s istraživanjem lokalnog područja. I ovdje postoje dvije mogućnosti: ili imamo vrlo detaljnu kartu s ogromnom količinom detalja koje treba proučiti (a to oduzima puno vremena) kako bismo razumjeli gdje su glavni orijentiri i kako su povezani jedni s drugima ; ili možete koristiti primitivni plan, na kojem su naznačene samo glavne točke i njihovi relativni položaji - takva je karta dovoljna da se odmah počnete kretati u pravom smjeru, razjašnjavajući detalje u hodu.

Intenzivni STEM pristup učenju testirali smo na zimskoj školi koju smo održali zajedno sa studentima MIT-a uz podršku JetBrains istraživanje.

Priprema materijala


Prvi dio školskog programa bio je tjedan nastave u glavnim područjima, koja su uključivala algebru, električne sklopove, arhitekturu računala, programiranje u Pythonu i uvod u ROS (Robot Operating System).

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

Naravno, glavni cilj nije bio održati puno predavanja, već dati studentima priliku da novostečena znanja sami primijene u praksi.

U dijelu algebre učenici su mogli vježbati matrične operacije i rješavanje sustava jednadžbi, što im je bilo korisno u proučavanju električnih krugova. Upoznavši strukturu tranzistora i logičke elemente izgrađene na njegovoj osnovi, učenici su mogli vidjeti njihovu primjenu u procesorskom uređaju, te nakon upoznavanja s osnovama jezika Python, u njemu napisati program za pravog robota.

STEM pristup intenzivnom učenju

Duckietown


Jedan od ciljeva škole bio je minimizirati rad na simulatorima gdje je to moguće. Stoga je pripremljen veliki set elektroničkih sklopova koje su studenti trebali sastaviti na maketi od stvarnih komponenti i isprobati ih u praksi, a Duckietown je odabran kao baza za projekte.

Duckietown je projekt otvorenog koda koji uključuje male autonomne robote nazvane Duckiebots i mreže cesta kojima putuju. Duckiebot je platforma na kotačima opremljena Raspberry Pi mikroračunalom i jednom kamerom.

Na temelju njega smo pripremili skup mogućih zadataka, kao što su izrada karte puta, traženje objekata i zaustavljanje pored njih, i niz drugih. Učenici također mogu predložiti vlastiti problem i ne samo napisati program za njegovo rješavanje, već ga i odmah pokrenuti na pravom robotu.

Nastava


Tijekom predavanja nastavnici su prezentirali gradivo koristeći unaprijed pripremljene prezentacije. Neki su satovi snimljeni videom kako bi ih učenici mogli gledati kod kuće. Tijekom predavanja studenti su koristili materijale na svojim računalima, postavljali pitanja i rješavali zadatke zajedno i samostalno, ponekad i za pločom. Na temelju rezultata rada izračunat je rejting svakog učenika zasebno iz različitih predmeta.

STEM pristup intenzivnom učenju

Razmotrimo detaljnije izvođenje nastave u svakom predmetu. Prvi predmet je bila linearna algebra. Učenici su proveli jedan dan proučavajući vektore i matrice, sustave linearnih jednadžbi itd. Praktični zadaci bili su strukturirani interaktivno: predloženi problemi rješavani su individualno, a nastavnik i ostali učenici davali su komentare i savjete.

STEM pristup intenzivnom učenju

Drugi predmet je električna energija i jednostavni strujni krugovi. Učenici su upoznali osnove elektrodinamike: napon, struja, otpor, Ohmov zakon i Kirchhoffov zakon. Praktični zadaci su djelomično rađeni u simulatoru ili na ploči, ali je više vremena utrošeno na izradu stvarnih sklopova kao što su logički sklopovi, titrajni krugovi itd.

STEM pristup intenzivnom učenju

Sljedeća tema je Arhitektura računala - na neki način most koji povezuje fiziku i programiranje. Studenti su proučavali temeljne osnove, čiji je značaj više teorijski nego praktični. Tijekom vježbe studenti su samostalno projektirali aritmetičke i logičke sklopove u simulatoru i dobivali bodove za obavljene zadatke.

Četvrti dan je prvi dan programiranja. Python 2 odabran je kao programski jezik jer se upravo on koristi u ROS programiranju. Ovaj dan je bio strukturiran na sljedeći način: profesori su prezentirali gradivo, davali primjere rješavanja zadataka, dok su ih učenici slušali sjedeći za svojim računalom i ponavljali ono što je nastavnik napisao na ploči ili slajdu. Zatim su učenici sami rješavali slične zadatke, a rješenja su naknadno ocjenjivali nastavnici.

Peti dan je bio posvećen ROS-u: dečki su učili o programiranju robota. Cijeli školski dan učenici su sjedili za svojim računalima i pokretali programski kod o kojem je učitelj govorio. Mogli su sami pokrenuti osnovne ROS jedinice, a upoznali su se i s projektom Duckietown. Na kraju ovog dana učenici su bili spremni za početak projektnog dijela škole – rješavanje praktičnih zadataka.

STEM pristup intenzivnom učenju

Opis odabranih projekata

Studenti su trebali formirati timove od po troje i odabrati temu projekta. Kao rezultat toga, usvojeni su sljedeći projekti:

1. Kalibracija boja. Duckiebot mora kalibrirati kameru kada se promijene uvjeti osvjetljenja, tako da postoji zadatak automatske kalibracije. Problem je u tome što su rasponi boja vrlo osjetljivi na svjetlost. Sudionici su implementirali uslužni program koji bi istaknuo tražene boje u okviru (crvenu, bijelu i žutu) i izgradio raspone za svaku boju u HSV formatu.

2. Duck Taxi. Ideja ovog projekta je da Duckiebot može stati blizu nekog objekta, pokupiti ga i slijediti određenu rutu. Kao objekt odabrana je jarko žuta patka.

STEM pristup intenzivnom učenju

3. Konstrukcija grafa ceste. Postoji zadatak konstruiranja grafa cesta i raskrižja. Cilj ovog projekta je izgraditi grafikon puta bez pružanja apriornih podataka o okolišu Duckiebotu, oslanjajući se samo na podatke kamere.

4. Patrolna kola. Ovaj projekt osmislili su sami studenti. Predložili su podučavanje jednog Duckiebota, "patrole", da lovi drugog, "nasilnika". U tu svrhu korišten je mehanizam prepoznavanja ciljeva pomoću ArUco markera. Čim je prepoznavanje završeno, "uljezu" se šalje signal da dovrši posao.

STEM pristup intenzivnom učenju

Kalibracija boja

Cilj projekta Color Calibration bio je prilagoditi raspon prepoznatljivih boja označavanja novim svjetlosnim uvjetima. Bez takvih prilagodbi, prepoznavanje zaustavnih linija, razdjelnika traka i granica cesta postalo je netočno. Sudionici su predložili rješenje koje se temelji na predobradi uzoraka boja markupa: crvena, žuta i bijela.

Svaka od ovih boja ima unaprijed postavljen raspon HSV ili RGB vrijednosti. Pomoću ovog raspona pronalaze se sva područja okvira koja sadrže odgovarajuće boje, a odabire se ono najveće. Ovo područje se uzima kao boja koju treba zapamtiti. Statističke formule kao što je izračun srednje vrijednosti i standardne devijacije zatim se koriste za procjenu novog raspona boja.

Taj se raspon bilježi u konfiguracijskim datotekama kamere Duckiebota i može se koristiti kasnije. Opisani pristup primijenjen je na sve tri boje, u konačnici formirajući raspone za svaku od boja označavanja.

Testovi su pokazali gotovo savršeno prepoznavanje linija označavanja, osim u slučajevima kada su materijali za označavanje koristili sjajnu traku, koja reflektira izvore svjetlosti tako snažno da su iz kuta gledanja kamere oznake izgledale bijele, bez obzira na izvornu boju.

STEM pristup intenzivnom učenju

Duck Taxi

Projekt Duck Taxi uključivao je izradu algoritma za traženje patke putnika u gradu, a potom i transport do željene točke. Sudionici su ovaj problem podijelili na dva: detekciju i kretanje po grafu.

Učenici su proveli detekciju patke uz pretpostavku da je patka svako područje u kadru koje se može prepoznati kao žuto, s crvenim trokutom (kljunom) na njemu. Čim se takvo područje detektira u sljedećem kadru, robot bi mu se trebao približiti i zatim se zaustaviti na nekoliko sekundi, simulirajući slijetanje putnika.

Zatim, imajući grafikon puta cijelog duckietowna i poziciju bota unaprijed pohranjenu u memoriji, a također primajući odredište kao ulaz, sudionici grade put od točke polaska do točke dolaska, koristeći Dijkstrin algoritam za pronalaženje staza u grafikonu . Izlaz je predstavljen kao skup naredbi - skretanja na svakom od sljedećih raskrižja.

STEM pristup intenzivnom učenju

Grafikon cesta

Cilj ovog projekta bio je izgraditi grafikon – mrežu cesta u Duckietownu. Čvorovi dobivenog grafa su raskrižja, a lukovi su ceste. Da bi to učinio, Duckiebot mora istražiti grad i analizirati njegovu rutu.

Tijekom rada na projektu razmatrana je, ali potom odbačena ideja o izradi ponderiranog grafa, u kojem je cijena ruba određena udaljenošću (vrijeme putovanja) između raskrižja. Provedba ove ideje pokazala se previše napornom, a unutar škole nije bilo dovoljno vremena za to.

Kad Duckiebot dođe do sljedećeg raskrižja, odabire cestu koja vodi iz raskrižja kojom još nije prošao. Kada se prođu sve ceste na svim raskrižjima, generirani popis susjedstava raskrižja ostaje u memoriji bota, koji se pomoću biblioteke Graphviz pretvara u sliku.

Algoritam koji su predložili sudionici nije bio prikladan za slučajni Duckietown, ali je dobro funkcionirao za mali grad s četiri raskrižja koja se koriste unutar škole. Ideja je bila dodati ArUco marker svakom raskrižju koji sadrži identifikator raskrižja za praćenje redoslijeda kojim su raskrižja vožena.
Dijagram algoritma koji su razvili sudionici prikazan je na slici.

STEM pristup intenzivnom učenju

Patrolni automobil

Cilj ovog projekta je pretražiti, progoniti i uhapsiti bota koji krši pravila u gradu Duckietown. Patrolni bot mora se kretati duž vanjskog prstena gradske ceste, tražeći poznatog bota uljeza. Nakon što otkrije uljeza, patrolni robot mora slijediti uljeza i prisiliti ga da stane.

Rad je započeo traženjem ideje za detekciju 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 odabrani su ArUco markeri. Ranije su se koristili u duckietownu jer je s njima jednostavno raditi i omogućuju vam da odredite orijentaciju markera u prostoru i udaljenost do njega.

Zatim je bilo potrebno osigurati da se patrolni bot kreće strogo u vanjskom krugu bez zaustavljanja na raskrižjima. Prema zadanim postavkama Duckiebot se kreće trakom i zaustavlja se na zaustavnoj liniji. Zatim uz pomoć prometnih znakova određuje konfiguraciju raskrižja i odabire smjer prolaska raskrižja. Za svaku od opisanih faza odgovorno je jedno od stanja konačnog automata robota. Kako bi se riješili zaustavljanja na raskrižju, tim je promijenio stanje stroja tako da se bot pri približavanju stop liniji odmah prebacio u stanje vožnje ravno kroz raskrižje.

Sljedeći korak bio je riješiti problem zaustavljanja bota uljeza. Tim je napravio pretpostavku 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 svaki bot ima. Tako se patrolni bot nakon otkrivanja uljeza počeo povezivati ​​putem SSH-a s botom uljezom i gasiti njegov sustav.

Nakon potvrde da je naredba za gašenje izvršena, patrolni bot također se zaustavio.
Algoritam rada patrolnog robota može se prikazati kao sljedeći dijagram:

STEM pristup intenzivnom učenju

Rad na projektima

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

Prvi i završni dan učenici su pripremili prezentacije u kojima su opisivali zadatak i kako ga riješiti. Kako bi pomogli učenicima da slijede svoje odabrane planove, nastavnici iz Rusije i Amerike stalno su bili prisutni u prostorijama gdje se odvijao rad na projektima i odgovarali na pitanja. Komunikacija se uglavnom odvijala na engleskom jeziku.

Rezultati i njihova demonstracija

Rad na projektima trajao je tjedan dana, nakon čega su učenici prezentirali svoje rezultate. Svi su pripremili prezentacije u kojima su govorili o tome što su naučili u ovoj školi, koje su najvažnije lekcije koje su naučili, što im se svidjelo, a što ne. Nakon toga je svaki tim predstavio svoj projekt. Sve ekipe su izvršile svoje zadatke.

Tim koji provodi kalibraciju boja završio je projekt brže od ostalih, pa su imali vremena i pripremiti dokumentaciju za svoj program. A tim koji je radio na grafu ceste, čak i zadnji dan prije demonstracije projekta, pokušao je doraditi i ispraviti svoje algoritme.

STEM pristup intenzivnom učenju

Zaključak

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

Studenti su također zamoljeni da ocijene korisnost i težinu kolegija koje su pohađali. I tu su se formirale dvije skupine ocjena: nekima tečajevi nisu predstavljali velike poteškoće, drugi su ih ocijenili iznimno teškima.

To znači da je škola zauzela pravu poziciju ostajući pristupačna početnicima u određenom području, ali i pružajući materijale za ponavljanje i učvršćivanje iskusnim polaznicima. Treba napomenuti da su tečaj programiranja (Python) gotovo svi primijetili kao nekompliciran, ali koristan. Prema mišljenju studenata, najteži kolegij bio je “Arhitektura računala”.

Kada su učenici upitani o jakim i slabim stranama škole, mnogi su odgovorili da im se sviđa odabrani stil podučavanja, u kojem učitelji pružaju brzu i osobnu pomoć i odgovaraju na pitanja.

Učenici su također istaknuli da im se sviđa raditi u načinu dnevnog planiranja svojih zadataka i postavljanja vlastitih rokova. Kao nedostatke studenti su istaknuli nedostatak pruženih znanja, koja su bila potrebna pri radu s botom: prilikom povezivanja, razumijevanja osnova i principa njegovog rada.

Gotovo svi učenici ističu da je škola nadmašila njihova očekivanja, što ukazuje na pravi smjer organizacije škole. Dakle, pri organiziranju sljedeće škole treba se zadržati na općim načelima, uzimajući u obzir i, ako je moguće, otklanjajući nedostatke koje su uočili učenici i nastavnici, možda mijenjajući popis kolegija ili vrijeme njihove nastave.

Autori članka: tim laboratorij algoritama mobilnih robota в JetBrains istraživanje.

PS Naš korporativni blog ima novo ime. Sada će biti posvećen obrazovnim projektima JetBrainsa.

Izvor: www.habr.com

Dodajte komentar