Intensiv STEM-uddannelsesmetode

I den verden af ingeniøruddannelse findes der mange fremragende kurser, men ofte har læringsprogrammet, der er bygget omkring dem, en alvorlig ulempe — der mangler god sammenhæng mellem de forskellige emner. Man kunne indvende: hvordan kan det være?

Når et læringsprogram dannes, angives der for hvert kursus forudsætninger og en klar rækkefølge, hvori disciplinerne skal studeres. For eksempel, for at samle og programmere en simpel mobilrobot, skal man have lidt kendskab til mekanik for at skabe dens fysiske konstruktion; grundlæggende elektricitet på niveau med Ohms/Kirchhoffs love, repræsentation af digitale og analoge signaler; operationer med vektorer og matricer for at beskrive koordinatsystemer og robotens bevægelser i rummet; grundlæggende programmering på niveau med datrepræsentation, enkle algoritmer og kontrolstrukturer osv. til at beskrive adfærd.

Findes alt dette i universitetskurserne? Det gør det bestemt. Men til Ohms/Kirchhoffs love får vi termodynamik og feltteori; ud over operationer med matricer og vektorer skal vi forholde os til Jordan-former; i programmering lærer vi om polymorfi — emner, som ikke altid er nødvendige for at løse en simpel praktisk opgave.

Universitetsuddannelse er ekstensiv — den studerende bevæger sig bredt og ser ofte ikke meningen eller den praktiske betydning af de viden, de får. Vi har besluttet at ændre paradigmet for universitetsuddannelsen inden for STEM (fra Science, Technology, Engineering, Math) og skabe et program, der bygger på sammenhængende viden, hvilket tillader en senere udvidelse af dybden, det vil sige, at det indebærer intensivt at mestre emner.

At opnå viden om et nyt emne kan sammenlignes med at udforske et terræn. Her er der to muligheder: enten står vi med et meget detaljeret kort, der kræver meget tid at studere for at forstå, hvor de vigtigste orienteringspunkter er, og hvordan de forholder sig til hinanden; eller vi kan benytte et simpelt kort, der kun viser de vigtigste punkter og deres indbyrdes placering — sådan et kort er tilstrækkeligt til straks at kunne begynde at bevæge sig i den rigtige retning og få afklaret detaljerne undervejs.

Vi testede den intensive STEM-læringsmetode på et vinterkursus, som vi gennemførte i samarbejde med studerende fra MIT med støtte fra JetBrains Research.

Forberedelse af materialet


Den første del af skolens program var en uge med lektioner i hovedområder, som omfattede algebra, elektriske kredsløb, computerarkitektur, programmering i Python og introduktion til ROS (Robot Operating System).

Områderne blev ikke valgt tilfældigt: ved at supplere hinanden skulle de hjælpe de studerende med at se forbindelsen mellem tilsyneladende forskellige ting — matematik, elektronik og programmering.

Selvfølgelig var hovedmålet ikke blot at præsentere mange forelæsninger, men at give de studerende mulighed for selv at anvende den viden, de lige havde fået, i praksis.

I algebraafsnittet kunne de studerende øve sig i operationer med matricer og løsning af ligningssystemer, som var nyttige ved studiet af elektriske kredsløb. Ved at lære om transistorens opbygning og de logiske elementer, der er bygget på dens basis, kunne de se deres anvendelse i processorens struktur, og efter at have lært grundlæggende Python, skrive et program til en rigtig robot.

Intensiv STEM-uddannelsesmetode

Duckietown


En af skolens opgaver var at minimere arbejdet med simulatorer, hvor det var muligt. Derfor blev der forberedt et stort sæt elektroniske kredsløb, som de studerende skulle samle på en prototypeplade med rigtige komponenter og afprøve dem i praksis, og Duckietown blev valgt som basis for projekterne.

Duckietown er et åbent projekt, der inkluderer små autonome robotter kaldet Duckiebots og de veje, de bevæger sig på. Duckiebot er en hjulplatform udstyret med en Raspberry Pi mikrocomputer og et kamera.

På baggrund heraf har vi forberedt et sæt mulige opgaver, såsom at opbygge kort over veje, finde objekter og stoppe ved dem samt en række andre. Studerende kunne også foreslå deres eget problem og ikke kun skrive et program til at løse det, men også straks implementere det på en rigtig robot.

Undervisning


Under forelæsningen præsenterede underviserne materialet ved hjælp af forberedt præsentationsmateriale. Nogle lektioner blev optaget på video, så studentene havde mulighed for at se dem derhjemme. Under forelæsningerne brugte studerende materialer på deres computere, stillede spørgsmål, løste opgaver sammen og individuelt, nogle gange ved tavlen. Resultaterne blev brugt til at beregne en rating for hver studerende på forskellige fag.

Intensiv STEM-uddannelsesmetode

Lad os se nærmere på undervisningen i hvert fag. Det første fag var lineær algebra. I løbet af en dag studerede studerende vektorer og matricer, systemer af lineære ligninger osv. De praktiske opgaver blev udført i et interaktivt format: foreslåede opgaver blev løst individuelt, og underviseren og de andre studerende gav kommentarer og tips.

Intensiv STEM-uddannelsesmetode

Det andet fag var elektricitet og enkle kredsløb. Studerende lærte det grundlæggende inden for elektrodynamik: spænding, strøm, modstand, Ohms lov og Kirchhoffs love. De praktiske opgaver blev delvist løst i en simulator eller udført ved tavlen, men mere tid blev brugt på at bygge reelle kredsløb, såsom logiske kredsløb, svingkonturer osv.

Intensiv STEM-uddannelsesmetode

Næste emne - Computerarkitektur - er i visse henseender en bro mellem fysik og programmering. Studerende studerede det fundamentale grundlag, hvis betydning er mere teoretisk end praktisk. Som praksis designede studerende selv aritmetisk-logiske kredsløb i simulatoren og modtog point for de udførte opgaver.

Fjerde dag — den første dag med programmering. Python 2 blev valgt som programmeringssprog, da det er det, der bruges i programmering under ROS. Denne dag var bygget op på følgende måde: underviserne præsenterede materialet, gav eksempler på løsning af opgaver, mens studerende lyttede og gentog det, underviseren havde skrevet på tavlen eller dias. Derefter løste de lignende opgaver selvstændigt, og løsningerne blev vurderet af underviserne.

Femte dag var dedikeret til ROS: drengene blev introduceret til robotprogrammering. Hele undervisningsdagen sad studerende ved computerskærmene og kørte kode, som underviseren havde præsenteret. De formåede selv at starte de grundlæggende enheder i ROS og blev også bekendt med projektet Duckietown. Efter denne dag var studenterne klar til at påbegynde projektdelen af skolen — løsning af praktiske opgaver.

Intensiv STEM-uddannelsesmetode

Beskrivelse af de valgte projekter

Studerende blev opfordret til at danne teams af tre personer og vælge et emne til deres projekt. I sidste ende blev følgende projekter accepteret:

1. Farvekalibrering. Duckiebot har brug for kalibrering af kameraet ved skiftende lysforhold, derfor er der behov for automatisk kalibrering. Problemet er, at farveområderne er meget følsomme over for belysning. Deltagerne implementerede et værktøj, der kunne fremhæve de ønskede farver (rød, hvid og gul) i et billede og opbygge farveområder for hver af farverne i HSV-format.

2. Duck Taxi. Idéen bag dette projekt er, at Duckiebot kan stoppe ved et bestemt objekt, samle det op og følge en given rute. Som objekt blev en lys gul and valgt.

Intensiv STEM-uddannelsesmetode

3. Bygning af vejnet. Der er en opgave med at bygge et vejnet og kryds. Målet med dette projekt er at konstruere vejnettet uden at give a priori data om omgivelserne for Duckiebot, kun baseret på data fra kameraet.

4. Patruljevogn. Dette projekt blev opfundet af selve studerende. De foreslog at træne en Duckiebot, 'patruljevognen', til at forfølge en anden — 'overtræderen'. Her blev der anvendt et målgenkendelsesm Mechanisme baseret på ArUco-markører. Så snart genkendelsen var gennemført, blev 'overtræderen' sendt et signal om afslutning.

Intensiv STEM-uddannelsesmetode

Farvekalibrering

Målet med projektet Color Calibration var at justere farveskalaen for vejmarkeringer til nye lysforhold. Uden sådanne justeringer blev genkendelsen af stoplinjer, vejskel og vejgrænser unøjagtig. Deltagerne foreslog en løsning baseret på forbehandling af farveskabelonerne: rød, gul og hvid.

For hver af disse farver blev et forudbestemt interval af HSV eller RGB-værdier angivet. Med hjælp fra dette interval identificeres alle områder på billedet, der indeholder de passende farver, og den største vælges. Dette område betragtes som den farve, der skal huskes. Derefter anvendes statistiske formler som beregning af gennemsnit og standardafvigelse til at evaluere det nye farveinterval.

Dette interval gemmes i konfigurationsfilerne for Duckiebot-kameraet og kan anvendes senere. Den beskrevne tilgang blev anvendt på alle tre farver, og i sidste ende blev der dannet intervaller for hver af vejfarverne.

Tests viste næsten perfekt genkendelse af vejlinjer, bortset fra i de tilfælde, hvor der blev brugt skinnende tape som materialer til markering, der reflekterede lyskilderne så stærkt, at vejmarkeringen så hvid ud i kameravinklen uanset dens oprindelige farve.

Intensiv STEM-uddannelsesmetode

Duck Taxi

Projektet Duck Taxi involverede opbygning af en algoritme til at finde en passager-and i byen og derefter transportere den til det ønskede sted. Deltagerne delte denne opgave op i to: detektion og bevægelse i grafen.

Studerende udførte detektionen af anden ved at antage, at en and var et hvilket som helst område på billedet, der kunne genkendes som gult med en rød trekant (næb) på. Så snart et sådant område blev opdaget på det næste billede, skulle robotten nærme sig det og derefter stoppe i et par sekunder, hvilket simulerede, at passageren lander.

Derefter, med den forudindlagte vejnetværksgraf for hele duckietown og robotten position, samt ved at få input om destinationen, bygger deltagerne en rute fra startpunkt til destination ved hjælp af Dijkstra-algoritmen til at finde stier i grafen. Udgange præsenteres som et sæt kommandoer — drejninger ved hver af de næste kryds.

Intensiv STEM-uddannelsesmetode

Graf over veje

Målet med dette projekt var at opbygge en graf — et netværk af veje i Duckietown. Noderne i den resulterende graf er krydsene, og kantene er vejene. For dette skal Duckiebot udforske byen og analysere sin rute.

Under arbejdet med projektet blev idéen om at lave en vægtet graf, hvor omkostningerne ved en kant bestemmes af afstanden (tiden til at passere) mellem krydsene, overvejet, men derefter droppet. Implementeringen af denne idé viste sig at være for arbejdskrævende, og der ville ikke være tid til det i skolens rammer.

Når Duckiebot når frem til et kryds, vælger den den vej, der forlader krydset, og som den ikke tidligere har taget. Når alle veje ved alle kryds er blevet passeret, gemmer botten den dannede naboskabs-liste over kryds, som derefter konverteres til et billede ved hjælp af Graphviz-biblioteket.

Det foreslåede algoritme af deltagerne er ikke egnet til vilkårligt Duckietown, men fungerede godt i en lille by med fire kryds, der blev brugt i skolens rammer. Ideen var at supplere hvert kryds med en ArUco-marker, der indeholder identifikatoren for krydset, for at holde styr på rækkefølgen af krydsene.
Skemaet for det udviklede algoritme af deltagerne er vist på billedet.

Intensiv STEM-uddannelsesmetode

Patruljebil

Målet med dette projekt er at finde, forfølge og anholde botten, der overtræder reglerne i byen Duckietown. Patruljerobotten skal bevæge sig langs den ydre ring vej i byen for at lede efter den på forhånd kendte overtræder. Efter at have opdaget overtræderen skal patruljerobotten følge overtræderen og få den til at stoppe.

Arbejdet begyndte med at finde en idé om detektion af botten på billedet og genkendelse af overtræderen. Teamet foreslog at udstyre hver robot i byen med en unik marker bagpå — ligesom rigtige biler har nummerplader. Til dette blev ArUco-markører valgt. De havde tidligere været brugt i Duckietown, da de er lette at arbejde med, og de gør det muligt at bestemme markørens orientering i rummet og afstanden til den.

Næste skridt var at få patruljebotten til at bevæge sig strengt rundt om den ydre cirkel uden at stoppe ved kryds. Som standard bevæger Duckiebot sig i en bane og stopper ved stoplinjen. Derefter bestemmer den krydsets konfiguration ved hjælp af trafikskilt og vælger hvilken retning den skal tage ved krydset. Hver af de beskrevne faser styres af en af robotens tilstande i den endelige automat. For at undgå stoppene ved krydset ændrede holdet tilstandsmaskinen, så når den nærmede sig stoplinjen, gik botten straks over i tilstanden for at køre lige frem i krydset.

Næste skridt var at løse problemet med at standse overtrædelsesbotten. Holdet antog, at patruljebotten kunne få adgang via SSH til hver af bottene i byen, hvilket betyder, at den havde nogle oplysninger om, hvilke data der skulle bruges til godkendelse, og hvilken id hver bot havde. Dermed, efter at have opdaget overtræderen, begyndte patruljebotten at oprette forbindelse via SSH til overtrædelsesbotten og slukket dens system.

Efter at det blev bekræftet, at slukningskommandoen var udført, stoppede patruljebotten også.
Algoritmen for patruljerobotens arbejde kan præsenteres som følgende diagram:

Intensiv STEM-uddannelsesmetode

Arbejder med projekter

Arbejdet blev organiseret i et format, der minder om Scrum: Hver morgen planlagde studerende opgaverne for den pågældende dag, og om aftenen rapporterede de om det udførte arbejde.

I de første og afsluttende dage forberedte studerende præsentationer, der beskrev den opgave, der var stillet, og måderne til at løse den. For at hjælpe de studerende med at følge de valgte planer var der altid undervisere fra Rusland og Amerika til stede i rum, hvor arbejdet med projekterne fandt sted, som kunne besvare spørgsmål. Kommunikationen foregik hovedsageligt på engelsk.

Resultater og deres demonstration

Arbejdet med projekterne varede en uge, hvorefter de studerende præsenterede deres resultater. Alle forberedte præsentationer, hvor de fortalte, hvad de havde lært i denne skole, hvilke de vigtigste lektioner de havde taget med sig, og hvad de kunne lide eller ikke lide. Herefter præsenterede hvert team deres projekt. Alle teams klarede de stillede opgaver.

Holdet, der udførte farvekallibrering, afsluttede projektet hurtigere end andre, så de nåede at forberede dokumentationen til deres program. Og holdet, der arbejdede med vejgrafikken, gjorde endda en indsats for at forbedre og rette deres algoritmer på den sidste dag før projektpræsentationen.

Intensiv STEM-uddannelsesmetode

Konklusion

Efter skoleafslutningen bad vi studerende om at vurdere de aktiviteter, der havde fundet sted, og besvare spørgsmål om, hvor godt skolen levede op til deres forventninger, hvilke færdigheder de havde erhvervet sig osv. Alle studerende bemærkede, at de havde lært at arbejde i team, fordele opgaver og planlægge deres tid.

Studerende blev også bedt om at vurdere nytte og sværhedsgrad af de gennemførte kurser. Her dannede der sig to grupper af vurderinger: for nogle var kurserne ikke særlig udfordrende, mens andre vurderede dem som meget vanskelige.

Det betyder, at skolen har indtaget den rigtige position ved at forblive tilgængelig for nybegyndere inden for forskellige områder, men også ved at tilbyde materialer til repetition og forstærkning for erfarne studerende. Det skal bemærkes, at programmeringskurset (Python) næsten alle havde vurderet som let, men nyttigt. Det mest udfordrende var, efter studerendes mening, kurset 'Computerarchitektur'.

Da studerende blev spurgt om skolens svagheder og styrker, svarede mange, at de kunne lide den valgte undervisningsstil, hvor lærerne hurtigt og individuelt gav hjælp og besvarede opståede spørgsmål.

Studerende fremhævede også, at de kunne lide at arbejde med daglig planlægning af deres opgaver og selv sætte deadlines. Som svagheder nævnte studerende manglen på den viden, der var nødvendig for at arbejde med botten: ved tilslutning, forståelse af grundlæggende og principper for dens funktion.

Næsten alle studerende bemærkede, at skolen overgik deres forventninger, og det tyder på, at den rigtige retning for organisatoriske forhold blev valgt. Derfor bør de overordnede betingelser for organiseringen af den næste skole bevares, idet man tager hensyn til og efter bedste evne afhjælper svaghederne, som studerende og lærere har bemærket, eventuelt ændre listen over kurser eller tidspunkterne for deres undervisning.

Forfatterne til artiklen: teamet af laboratoriet for algoritmer til mobile robotter i JetBrains Research.

P.S. Vores virksomhed blog har fået et nyt navn. Nu vil den være dedikeret til virksomhedens uddannelsesprojekter hos JetBrains.

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster