STEM-intensiv læringstilgang

Der er mange fremragende kurser inden for ingeniøruddannelsesverdenen, men ofte lider det pensum, der er bygget op omkring dem, af én alvorlig fejl - mangel på god sammenhæng mellem forskellige emner. Man kan indvende: hvordan kan det være?

Når et uddannelsesprogram tilrettelægges, angives forudsætninger og en klar rækkefølge, hvori disciplinerne skal studeres, for hvert kursus. For eksempel, for at bygge og programmere en primitiv mobil robot, skal du kende lidt mekanik for at skabe dens fysiske struktur; grundlæggende om elektricitet på niveau med Ohm/Kirchhoffs love, repræsentation af digitale og analoge signaler; operationer med vektorer og matricer for at beskrive koordinatsystemer og robottens bevægelser i rummet; grundlæggende programmering på niveau med datapræsentation, simple algoritmer og kontroloverførselsstrukturer mv. at beskrive adfærd.

Er alt dette dækket af universitetskurser? Selvfølgelig har. Men med Ohm/Kirchhoffs love får vi termodynamik og feltteori; udover operationer med matricer og vektorer skal man beskæftige sig med Jordan-former; i programmering, studere polymorfi - emner, der ikke altid er nødvendige for at løse et simpelt praktisk problem.

Universitetsuddannelsen er omfattende - den studerende går på bred front og ser ofte ikke meningen og den praktiske betydning af den viden, han modtager. Vi besluttede at vende paradigmet for universitetsuddannelse i STEM (fra ordene Science, Technology, Engineering, Math) og skabe et program, der er baseret på sammenhængen i viden, hvilket giver mulighed for en stigning i fuldstændigheden i fremtiden, dvs. indebærer intensiv beherskelse af fag.

At lære et nyt fagområde kan sammenlignes med at udforske et lokalområde. Og her er der to muligheder: enten har vi et meget detaljeret kort med en enorm mængde detaljer, der skal studeres (og det tager meget tid) for at forstå, hvor de vigtigste vartegn er, og hvordan de relaterer til hinanden ; eller du kan bruge en primitiv plan, hvor kun hovedpunkterne og deres relative positioner er angivet - et sådant kort er nok til straks at begynde at bevæge sig i den rigtige retning og tydeliggøre detaljerne, mens du går.

Vi testede den intensive STEM-læringstilgang på en vinterskole, som vi holdt sammen med MIT-studerende med støtte fra JetBrains Research.

Materiale forberedelse


Første del af skoleprogrammet var en uge med undervisning i hovedområderne, som omfattede algebra, elektriske kredsløb, computerarkitektur, Python-programmering og en introduktion til ROS (Robot Operating System).

Retningslinjerne blev ikke valgt tilfældigt: De skulle supplere hinanden og hjælpe eleverne med at se sammenhængen mellem tilsyneladende forskellige ting ved første øjekast - matematik, elektronik og programmering.

Hovedmålet var naturligvis ikke at holde en masse forelæsninger, men at give de studerende mulighed for selv at anvende den nyerhvervede viden i praksis.

I algebraafsnittet kunne eleverne øve sig i matrixoperationer og løsning af ligningssystemer, som var nyttige til at studere elektriske kredsløb. Efter at have lært om strukturen af ​​en transistor og de logiske elementer bygget på dens basis, kunne eleverne se deres brug i en processorenhed, og efter at have lært det grundlæggende i Python-sproget, skrive et program til en rigtig robot i den.

STEM-intensiv læringstilgang

Duckietown


Et af skolens mål var at minimere arbejdet med simulatorer, hvor det var muligt. Derfor blev der udarbejdet et stort sæt elektroniske kredsløb, som eleverne skulle samle på et brødbræt af rigtige komponenter og teste dem i praksis, og Duckietown blev valgt som base for projekterne.

Duckietown er et open source-projekt, der involverer små autonome robotter kaldet Duckiebots og de netværk af veje, de rejser langs. Duckiebot er en platform med hjul udstyret med en Raspberry Pi mikrocomputer og et enkelt kamera.

Ud fra det har vi udarbejdet et sæt mulige opgaver, såsom at bygge et køreplan, søge efter genstande og stoppe ved siden af ​​dem og en række andre. Eleverne kunne også foreslå deres eget problem og ikke kun skrive et program for at løse det, men også straks køre det på en rigtig robot.

undervisning


Under foredraget præsenterede lærerne materialet ved hjælp af forhåndsforberedte oplæg. Nogle klasser blev optaget på video, så eleverne kunne se dem derhjemme. Under forelæsningerne brugte eleverne materialer på deres computere, stillede spørgsmål og løste problemer sammen og selvstændigt, nogle gange ved tavlen. Baseret på resultaterne af arbejdet blev vurderingen af ​​hver elev beregnet separat i forskellige fag.

STEM-intensiv læringstilgang

Lad os overveje afviklingen af ​​klasser i hvert emne mere detaljeret. Det første emne var lineær algebra. Eleverne brugte en dag på at studere vektorer og matricer, systemer af lineære ligninger osv. Praktiske opgaver blev struktureret interaktivt: de foreslåede problemer blev løst individuelt, og læreren og andre elever kom med kommentarer og tips.

STEM-intensiv læringstilgang

Det andet emne er elektricitet og simple kredsløb. Eleverne lærte det grundlæggende i elektrodynamik: spænding, strøm, modstand, Ohms lov og Kirchhoffs love. Praktiske opgaver blev dels udført i simulatoren eller udført på tavlen, men der blev brugt mere tid på at bygge rigtige kredsløb som logiske kredsløb, oscillerende kredsløb mv.

STEM-intensiv læringstilgang

Det næste emne er computerarkitektur - på en måde en bro, der forbinder fysik og programmering. Studerende studerede det grundlæggende grundlag, hvis betydning er mere teoretisk end praktisk. Som praksis designede eleverne selvstændigt aritmetiske og logiske kredsløb i simulatoren og modtog point for udførte opgaver.

Den fjerde dag er den første dag med programmering. Python 2 blev valgt som programmeringssprog, fordi det er det, der bruges i ROS-programmering. Denne dag var struktureret som følger: Lærerne præsenterede materialet, gav eksempler på løsning af problemer, mens eleverne lyttede til dem, sad ved deres computere og gentog, hvad læreren skrev på tavlen eller sliden. Derefter løste eleverne lignende problemer på egen hånd, og løsningerne blev efterfølgende evalueret af lærerne.

Den femte dag var dedikeret til ROS: fyrene lærte om robotprogrammering. Hele skoledagen sad eleverne ved deres computere og kørte programkoden, som læreren talte om. De var i stand til at køre grundlæggende ROS-enheder på egen hånd og blev også introduceret til Duckietown-projektet. I slutningen af ​​denne dag var eleverne klar til at begynde på skolens projektdel - løsning af praktiske problemer.

STEM-intensiv læringstilgang

Beskrivelse af udvalgte projekter

Eleverne blev bedt om at danne hold på tre og vælge et projektemne. Som følge heraf blev følgende projekter vedtaget:

1. Farvekalibrering. Duckiebot skal kalibrere kameraet, når lysforholdene ændrer sig, så der er en automatisk kalibreringsopgave. Problemet er, at farveområder er meget lysfølsomme. Deltagerne implementerede et værktøj, der ville fremhæve de nødvendige farver i en ramme (rød, hvid og gul) og bygge intervaller for hver farve i HSV-format.

2. Andetaxa. Ideen med dette projekt er, at Duckiebot kunne stoppe i nærheden af ​​en genstand, samle den op og følge en bestemt rute. En lys gul and blev valgt som objekt.

STEM-intensiv læringstilgang

3. Konstruktion af en vejgraf. Der er en opgave med at konstruere en graf over veje og kryds. Målet med dette projekt er at bygge en vejgraf uden at levere miljødata på forhånd til Duckiebot, kun baseret på kameradata.

4. Patruljevogn. Dette projekt er opfundet af eleverne selv. De foreslog at lære en Duckiebot, en "patrulje", at jage en anden, en "overtræder." Til dette formål blev mekanismen for målgenkendelse ved hjælp af ArUco-markøren brugt. Så snart genkendelsen er afsluttet, sendes et signal til den "ubudne gæst" om at fuldføre arbejdet.

STEM-intensiv læringstilgang

Farvekalibrering

Målet med Color Calibration-projektet var at tilpasse rækken af ​​genkendelige markeringsfarver til nye lysforhold. Uden sådanne justeringer blev genkendelse af stoplinjer, vognbaneadskillere og vejafgrænsninger forkert. Deltagerne foreslog en løsning baseret på forbehandling af markeringsfarvemønstre: rød, gul og hvid.

Hver af disse farver har et forudindstillet område af HSV- eller RGB-værdier. Ved hjælp af dette interval findes alle områder af rammen, der indeholder passende farver, og den største vælges. Dette område tages som den farve, der skal huskes. Statistiske formler såsom beregning af middelværdi og standardafvigelse bruges derefter til at estimere det nye farveområde.

Dette område er optaget i Duckiebots kamerakonfigurationsfiler og kan bruges senere. Den beskrevne tilgang blev anvendt på alle tre farver og dannede i sidste ende intervaller for hver af markup-farverne.

Tests viste næsten perfekt genkendelse af markeringslinjer, undtagen i tilfælde hvor markeringsmaterialerne brugte blank tape, som reflekterer lyskilder så kraftigt, at markeringerne fra kameraets synsvinkel fremstod hvide, uanset dets oprindelige farve.

STEM-intensiv læringstilgang

Andetaxa

Duck Taxi-projektet involverede at bygge en algoritme til at søge efter en andepassager i byen og derefter transportere den til det krævede sted. Deltagerne delte dette problem i to: Detektion og bevægelse langs grafen.

Eleverne udførte andedetektion ved at antage, at en and er et hvilket som helst område i rammen, der kan genkendes som gult, med en rød trekant (næb) på. Så snart et sådant område detekteres i det næste billede, bør robotten nærme sig det og derefter stoppe i et par sekunder for at simulere en passagers landing.

Derefter, med at have vejgrafen for hele duckietown og botens position gemt i hukommelsen på forhånd, og også modtage destinationen som input, bygger deltagerne en sti fra afgangspunktet til ankomstpunktet ved at bruge Dijkstras algoritme til at finde stier i grafen . Outputtet præsenteres som et sæt kommandoer - vendinger ved hvert af følgende skæringspunkter.

STEM-intensiv læringstilgang

Graf over veje

Målet med dette projekt var at bygge en graf - et netværk af veje i Duckietown. Knudepunkterne i den resulterende graf er skæringspunkter, og buerne er veje. For at gøre dette skal Duckiebot udforske byen og analysere dens rute.

Under arbejdet med projektet blev ideen om at skabe en vægtet graf overvejet, men derefter kasseret, hvor prisen på en kant bestemmes af afstanden (tid til at rejse) mellem vejkryds. Implementeringen af ​​denne idé viste sig at være for arbejdskrævende, og der var ikke tid nok til det i skolen.

Når Duckiebot kommer til næste vejkryds, vælger den den vej, der fører ud af krydset, som den endnu ikke har taget. Når alle veje ved alle vejkryds er passeret, forbliver den genererede liste over tilstødende vejkryds i botens hukommelse, som konverteres til et billede ved hjælp af Graphviz-biblioteket.

Algoritmen foreslået af deltagerne var ikke egnet til en tilfældig Duckietown, men fungerede godt for en lille by med fire vejkryds, der blev brugt inden for skolen. Ideen var at tilføje en ArUco-markør til hvert vejkryds indeholdende et vejkryds-id for at spore den rækkefølge, som krydsene blev kørt i.
Diagrammet over algoritmen udviklet af deltagerne er vist på figuren.

STEM-intensiv læringstilgang

Patruljebil

Målet med dette projekt er at eftersøge, forfølge og tilbageholde en krænkende bot i byen Duckietown. En patruljebot skal bevæge sig langs den ydre ring af en byvej på udkig efter en kendt ubuden bot. Efter at have opdaget en ubuden gæst, skal patruljerobotten følge den ubudne gæst og tvinge ham til at stoppe.

Arbejdet begyndte med søgen efter en idé til at opdage en bot i en ramme og genkende en ubuden gæst i den. Holdet foreslog at udstyre hver bot i byen med en unik markør på bagsiden - ligesom rigtige biler har statslige registreringsnumre. ArUco-markører blev valgt til dette formål. De er tidligere blevet brugt i duckietown, da de er nemme at arbejde med og giver dig mulighed for at bestemme orienteringen af ​​markøren i rummet og afstanden til den.

Dernæst var det nødvendigt at sikre, at patruljerobotten bevægede sig strengt i den yderste cirkel uden at stoppe i kryds. Som standard bevæger Duckiebot sig i en bane og stopper ved stoplinjen. Derefter bestemmer han ved hjælp af vejskilte konfigurationen af ​​krydset og træffer et valg om krydsets passageretning. For hvert af de beskrevne stadier er en af ​​tilstandene for robottens endelige tilstandsmaskine ansvarlig. For at slippe af med stop i krydset ændrede holdet tilstandsmaskinen, så boten, når den nærmede sig stoplinjen, straks skiftede til tilstanden at køre lige gennem krydset.

Det næste trin var at løse problemet med at stoppe indtrængende bot. Holdet antog, at patruljebotten kunne have SSH-adgang til hver af botterne i byen, det vil sige have nogle oplysninger om, hvilke autorisationsdata og hvilket id hver bot har. Efter at have opdaget den ubudne gæst begyndte patruljerobotten således at oprette forbindelse via SSH til ubudsmanden og lukke dens system ned.

Efter at have bekræftet, at nedlukningskommandoen var fuldført, stoppede patruljerobotten også.
Driftsalgoritmen for en patruljerobot kan repræsenteres som følgende diagram:

STEM-intensiv læringstilgang

Arbejder på projekter

Arbejdet var organiseret i et format, der ligner Scrum: Hver morgen planlagde eleverne opgaver for den aktuelle dag, og om aftenen rapporterede de om det udførte arbejde.

På den første og sidste dag forberedte eleverne oplæg, der beskrev opgaven, og hvordan den løses. For at hjælpe eleverne med at følge deres valgte planer var lærere fra Rusland og Amerika konstant til stede i de lokaler, hvor arbejdet med projekter fandt sted, og besvarede spørgsmål. Kommunikationen foregik primært på engelsk.

Resultater og deres demonstration

Arbejdet med projekterne varede en uge, hvorefter eleverne præsenterede deres resultater. Alle forberedte oplæg, hvor de talte om, hvad de lærte på denne skole, hvad var de vigtigste lektioner, de lærte, hvad de kunne lide eller ikke kunne lide. Derefter præsenterede hvert hold sit projekt. Alle teams udførte deres opgaver.

Holdet, der implementerede farvekalibrering, gennemførte projektet hurtigere end andre, så de havde også tid til at forberede dokumentation til deres program. Og teamet, der arbejdede på vejgrafen, forsøgte selv på den sidste dag før projektdemonstrationen at forfine og korrigere deres algoritmer.

STEM-intensiv læringstilgang

Konklusion

Efter at have afsluttet skolen bad vi eleverne om at evaluere tidligere aktiviteter og besvare spørgsmål om, hvor godt skolen levede op til deres forventninger, hvilke færdigheder de tilegnede sig osv. Alle elever bemærkede, at de lærte at arbejde i et team, fordele opgaver og planlægge deres tid.

Eleverne blev også bedt om at vurdere anvendeligheden og sværhedsgraden af ​​de kurser, de tog. Og her blev der dannet to grupper af vurderinger: For nogle var kurserne ikke store vanskeligheder, andre vurderede dem som ekstremt vanskelige.

Det betyder, at skolen har taget den rigtige position ved at forblive tilgængelig for begyndere inden for et bestemt område, men også levere materialer til gentagelse og konsolidering af erfarne elever. Det skal bemærkes, at programmeringskurset (Python) blev noteret af næsten alle som ukompliceret, men nyttigt. Ifølge studerende var det sværeste kursus "Computerarkitektur".

Når eleverne blev spurgt om skolens styrker og svagheder, svarede mange, at de kunne lide den valgte undervisningsstil, hvor lærerne ydede hurtig og personlig assistance og besvarede spørgsmål.

Studerende bemærkede også, at de kunne lide at arbejde i den daglige planlægning af deres opgaver og sætte deres egne deadlines. Som ulemper bemærkede eleverne den manglende viden, som var påkrævet, når man arbejdede med botten: når man forbinder, forstår de grundlæggende og principper for dens drift.

Næsten alle elever bemærkede, at skolen oversteg deres forventninger, og det indikerer den rigtige retning for at organisere skolen. De generelle principper bør således fastholdes ved tilrettelæggelsen af ​​den næste skole, idet der tages højde for og om muligt fjernes de mangler, elever og lærere har bemærket, måske ved at ændre på listen over kurser eller tidspunktet for deres undervisning.

Artiklens forfattere: team laboratorium for mobile robotalgoritmer в JetBrains Research.

PS Vores virksomhedsblog har fået nyt navn. Nu vil det være dedikeret til uddannelsesprojekter af JetBrains.

Kilde: www.habr.com

Tilføj en kommentar