Падыход інтэнсіўнага навучання STEM

У свеце інжынернай адукацыі існуе шмат выдатных курсаў, але часцяком праграма навучання, пабудаваная на іх, валодае адным сур'ёзным недахопам - адсутнасцю добрай складнасці паміж рознымі тэмамі. Можна запярэчыць: як жа так?

Калі фарміруецца праграма навучання, для кожнага курса ўказваюцца прэрэквізіты і дакладны парадак, у якім трэба вывучаць дысцыпліны. Да прыкладу, для таго каб сабраць і запраграмаваць прымітыўнага мабільнага робата, трэба ведаць крыху механікі для стварэння яго фізічнай канструкцыі; асновы электрычнасці на ўзроўні законаў Ома/Кірхгофа, прадстаўлення лічбавых і аналагавых сігналаў; аперацыі з вектарамі і матрыцамі для таго, каб апісаць сістэмы каардынат і перасоўванні робата ў прасторы; асновы праграмавання на ўзроўні падання дадзеных, найпростых алгарытмаў і канструкцый перадачы кіравання і да т.п. для апісання паводзін.

Ці ёсць усё гэта ва ўніверсітэцкіх курсах? Канешне ёсць. Аднак да законаў Ома/Кірхгофа мы атрымліваем тэрмадынаміку і тэорыю поля; апроч аперацый з матрыцамі і вектарамі даводзіцца разбірацца з Жарданавымі формамі; у праграмаванні вывучаць палімарфізм - тэмы, якія не заўсёды патрэбныя для рашэння простай практычнай задачы.

Універсітэцкае навучанне экстэнсіўнае - навучэнец ідзе шырокім фронтам і часта не бачыць сэнсу і практычнай значнасці ведаў, якія атрымлівае. Мы вырашылі перавярнуць парадыгму ўніверсітэцкага навучання STEM (ад слоў Science, Technology, Engineering, Math) і зрабіць такую ​​праграму, якая абапіраецца на складнасць ведаў, дапушчаючы нарошчванне паўнаты ў будучыні, гэта значыць мае на ўвазе інтэнсіўнае засваенне прадметаў.

Вывучэнне новай прадметнай вобласці можна параўнаць з вывучэннем некаторай мясцовасці. І тут ёсць два варыянты: альбо перад намі вельмі падрабязная карта з велізарнай колькасцю дэталяў, якія патрабуецца вывучыць (а гэта займае шмат часу), для таго каб зразумець, дзе знаходзяцца асноўныя арыенціры і як яны сябар з сябрам суадносяцца; ці ж можна скарыстацца прымітыўным планам, на якім пазначаны толькі галоўныя кропкі і іх узаемнае размяшчэнне - такой карты дастаткова, для таго каб адразу пачаць рухацца ў патрэбным кірунку, удакладняючы дэталі па ходзе руху.

Падыход інтэнсіўнага навучання STEM мы абкаталі на зімовай школе, якую правялі сумесна са студэнтамі MIT пры падтрымцы JetBrains Research.

Падрыхтоўка матэрыялу


Першай часткай праграмы школы быў тыдзень заняткаў па асноўных кірунках, якія складаліся з алгебру, электрычныя ланцугі, архітэктуру кампутара, праграмаванне на Python і знаёмства з ROS (Robot Operating System).

Напрамкі былі выбраны не выпадкова: дапаўняючы адзін аднаго, яны павінны былі дапамагчы студэнтам убачыць сувязь паміж, здавалася б, рознымі, на першы погляд, рэчамі - матэматыкай, электронікай і праграмаваннем.

Вядома, асноўнай мэтай было не прачытаць шмат лекцый, а даць магчымасць студэнтам самім прымяніць толькі што атрыманыя веды на практыцы.

У раздзеле алгебры студэнты маглі патрэніравацца ў аперацыях з матрыцамі і вырашэнні сістэм раўнанняў, якія спатрэбіліся пры вывучэнні электрычных ланцугоў. Даведаўшыся аб прыладзе транзістара і лагічных элементах, пабудаваных на яго базе, навучэнцы маглі ўбачыць іх ужыванне ў прыладзе працэсара, а пасля вывучэння асноў мовы Python, напісаць на ім праграму для рэальнага робата.

Падыход інтэнсіўнага навучання STEM

Duckietown


Адной з задач школы была мінімізацыя працы з сімулятарамі там, дзе гэта магчыма. Таму быў падрыхтаваны вялікі набор электронных схем, якія студэнтам трэба было сабраць на макетнай плаце з рэальных кампанентаў і праверыць іх на практыцы, а ў якасці базы для праектаў быў абраны Duckietown.

Duckietown – гэта адкрыты праект, які ўключае ў сябе невялікіх аўтаномных робатаў, званых Duckiebot, і сеткі дарог, па якіх яны перасоўваюцца. Duckiebot уяўляе сабой колавую платформу, абсталяваную мікракампутарам Raspberry Pi і адной камерай.

На яго аснове мы падрыхтавалі набор магчымых задач, такіх як пабудова карты дарог, пошук аб'ектаў і прыпынак побач з імі і шэраг іншых. Таксама студэнты маглі прапанаваць уласную праблему і не толькі напісаць праграму для яе вырашэння, але і неадкладна запусціць яе на рэальным робаце.

выкладанне


Падчас лекцыі выкладчыкі расказвалі матэрыял, выкарыстоўваючы загадзя падрыхтаваныя прэзентацыі. Некаторыя заняткі запісваліся на відэа, такім чынам у студэнтаў была магчымасць паглядзець іх дамы. Падчас лекцый студэнты выкарыстоўвалі матэрыялы на сваіх камп'ютарах, задавалі пытанні, вырашалі задачы сумесна і самастойна, часам ля дошкі. Па выніках працы быў падлічаны рэйтынг кожнага студэнта асобна па розных прадметах.

Падыход інтэнсіўнага навучання STEM

Разгледзім правядзенне заняткаў па кожным прадмеце больш падрабязна. Першым прадметам была лінейная алгебра. Студэнты на працягу аднаго дня вывучалі вектары і матрыцы, сістэмы лінейных ураўненняў і г.д. Практычныя заданні былі пабудаваны ў інтэрактыўным рэжыме: прапанаваныя задачы вырашаліся індывідуальна, а выкладчык і іншыя студэнты давалі каментары і падказкі.

Падыход інтэнсіўнага навучання STEM

Другі прадмет - электрычнасць і простыя схемы. Студэнты вывучылі асновы электрадынамікі: напружанне, ток, супраціў, закон Ома і законы Кірхгофа. Практычныя заданні часткова рабіліся ў сімулятары або выконваліся на дошцы, але больш часу надавалася пабудове рэальных схем, такіх як лагічныя схемы, вагальныя контуры і г.д.

Падыход інтэнсіўнага навучання STEM

Наступная тэма - Архітэктура ЭВМ - у некаторым сэнсе мост, які злучае фізіку і праграмаванне. Студэнты вывучалі фундаментальную базу, значэнне якой хутчэй за тэарэтычнае, чым практычнае. У якасці практыкі студэнты самастойна праектавалі арыфметыка-лагічныя схемы ў сімулятары, за выкананыя заданні атрымалі балы.

Чацвёрты дзень - першы дзень праграмавання. У якасці мовы праграмавання быў абраны Python 2, паколькі менавіта ён выкарыстоўваецца ў праграмаванні пад ROS. Гэты дзень быў пабудаваны наступным чынам: выкладчыкі расказвалі матэрыял, прыводзілі прыклады рашэння задач, у той час як студэнты слухалі іх, седзячы за кампутарамі, і паўтаралі напісанае выкладчыкам на дошцы ці слайдзе. Затым навучэнцы вырашалі падобныя задачы самастойна, пасля рашэнні былі ацэнены выкладчыкамі.

Пяты дзень быў прысвечаны ROS: хлопцы знаёміліся з праграмаваннем робатаў. Увесь навучальны дзень студэнты сядзелі за кампутарамі, запускаючы праграмны код, пра які расказваў выкладчык. Яны здолелі самастойна запусціць асноўныя адзінкі ROS, а таксама пазнаёміліся з праектам Duckietown. Пасля заканчэння гэтага дня студэнты былі гатовы пачаць праектную частку школы — вырашэнне практычных задач.

Падыход інтэнсіўнага навучання STEM

Апісанне выбраных праектаў

Студэнтам прапанавалі аб'яднацца ў каманды па тры чалавекі і выбраць сабе тэму праекта. У выніку былі прыняты наступныя праекты:

1. Каліброўка кветак. Duckiebot мае патрэбу ў каліброўцы камеры пры змене ўмоў асвятлення, таму існуе задача аўтаматычнай каліброўкі. Праблема ў тым, што дыяпазоны кветак вельмі адчувальныя да асветленасці. Удзельнікі рэалізавалі ўтыліту, якая вылучала б на кадры патрабаваныя колеры (чырвоны, белы і жоўты) і будавала дыяпазоны для кожнага з кветак у фармаце HSV.

2. Duck Taxi. Ідэя гэтага праекта ў тым, каб Duckiebot мог спыніцца каля некаторага аб'екта, падабраць яго і прайсці па некаторым маршруце. У якасці аб'екта была выбрана яркая жоўтая качачка.

Падыход інтэнсіўнага навучання STEM

3. Пабудова графа дарог. Існуе задача пабудовы графа дарог і скрыжаванняў. Мэта гэтага праекта - пабудаваць граф дарог без прадастаўлення апрыёрных дадзеных аб асяроддзі для Duckiebot, абапіраючыся толькі на дадзеныя з камеры.

4. Патрульная машына. Гэты праект быў прыдуманы самімі студэнтамі. Яны прапанавалі навучыць аднаго Duckiebot, "патрульнага", пераследваць іншага - "парушальніка". Для гэтага быў выкарыстаны механізм распазнання мэты па ArUco-маркеры. Як толькі распазнанне завершыцца, "парушальніку" пасылаецца сігнал аб завяршэнні працы.

Падыход інтэнсіўнага навучання STEM

Каліброўка колеру

Мэтай праекта Color Calibration была карэкціроўка дыяпазону распазнавальных кветак разметкі пад новыя ўмовы асвятлення. Без такіх карэкціровак распазнанне стоп-ліній, падзельнікаў палос і меж дарогі станавілася некарэктным. Удзельнікі прапанавалі рашэнне, заснаванае на перадапрацоўцы шаблонаў колераў разметкі: чырвонага, жоўтага і белага.

Для кожнага з гэтых колераў зададзены папярэдні дыяпазон HSV ці RGB-значэнняў. З выкарыстаннем гэтага дыяпазону на кадры знаходзяцца ўсе вобласці, якія змяшчаюць прыдатныя колеры, і з іх выбіраецца найбольшая. Гэтая вобласць прымаецца за колер, які трэба запомніць. Затым выкарыстоўваюцца статыстычныя формулы, такія як вылічэнне сярэдняга значэння і сярэднеквадратычнага адхіленні для таго, каб ацаніць новы дыяпазон колеру.

Гэты дыяпазон запісваецца ў файлы канфігурацыі камеры Duckiebot і можа быць скарыстаны ў далейшым. Апісаны падыход ужываўся да ўсіх трох колераў, у выніку фармуючы дыяпазоны для кожнага з колераў разметкі.

Тэсты паказалі амаль ідэальнае распазнанне ліній разметкі, акрамя тых выпадкаў, калі ў якасці матэрыялаў разметкі выкарыстоўвалася глянцавая стужка, настолькі моцна якая адлюстроўвае крыніцы асвятлення, што пад кутом агляду камеры разметка здавалася белай незалежна ад яе першапачатковага колеру.

Падыход інтэнсіўнага навучання STEM

Duck Taxi

Праект Duck Taxi меў на ўвазе пабудову алгарытму пошуку ў горадзе качачкі-пасажыра, а затым яе перавозку ў неабходную кропку. Удзельнікі разбілі гэтую задачу на дзве: дэтэкцыя і рух па графе.

Студэнты ажыццявілі дэтэкцыю качачкі, зрабіўшы дапушчэнне, што качачкай называецца любая вобласць на кадры, якую можна распазнаць як жоўтую, з чырвоным трыкутнікам (дзюбай) на ёй. Як толькі такая вобласць выяўляецца на чарговым кадры, робату варта наблізіцца да яе, а затым спыніцца на некалькі секунд, імітуючы пасадку пасажыра.

Затым, маючы закладзены загадзя ў памяці граф дарог за ўсё duckietown і становішча бота, а таксама, атрымаўшы ў якасці ўваходных дадзеных пункт прызначэння, удзельнікі будуюць шлях з кропкі адпраўлення ў кропку прыбыцця, выкарыстоўваючы алгарытм Дэйкстры для пошуку шляхоў у графе. Выходныя дадзеныя прадстаўляюцца ў выглядзе набору каманд - паваротаў на кожным з наступных скрыжаванняў.

Падыход інтэнсіўнага навучання STEM

Graph of Roads

Мэтай гэтага праекта была пабудова графа – сеткі дарог у Duckietown. Вузламі выніковага графа з'яўляюцца скрыжаванні, і дугамі - дарогі. Дзеля гэтага Duckiebot павінен даследаваць горад і аналізаваць свой маршрут.

У ходзе работы над праектам была разгледжана, але затым адкінута ідэя рабіць узважаны граф, у якім кошт рабра вызначаецца адлегласцю (часам на пераадоленне) паміж скрыжаваннямі. Рэалізацыя гэтай ідэі аказалася занадта працаёмкай, і на яе не хапіла б часу ў рамках школы.

Калі Duckiebot дабіраецца да чарговага скрыжавання, ён выбірае дарогу, якая выходзіць са скрыжавання, па якой ён яшчэ не рухаўся. Калі ўсе дарогі на ўсіх скрыжаваннях пройдзены, у памяці робата застаецца сфармаваны спіс сумежнасці скрыжаванняў, які пераўтворыцца ў малюнак пры дапамозе бібліятэкі Graphviz.

Прапанаваны ўдзельнікамі алгарытм не падыходзіць для адвольнага Duckietown, але добра працаваў на невялікім горадзе, які складаецца з чатырох скрыжаванняў, які выкарыстоўваецца ў рамках школы. Ідэя была ў тым, каб дапоўніць кожнае скрыжаванне ArUco-маркерам, утрымоўвальным ідэнтыфікатар скрыжавання, каб адсочваць парадак праезду скрыжаванняў.
Схема працы распрацаванага ўдзельнікамі алгарытму паказана на малюнку.

Падыход інтэнсіўнага навучання STEM

Патрульны аўтамабіль

Мэта дадзенага праекта – пошук, пераслед і затрыманне робата-парушальніка ў горадзе Duckietown. Бот-патрульны павінен рухацца па вонкавым кольцы дарогі ў горадзе ў пошуках загадзя вядомага бота-парушальніка. Пасля выяўлення парушальніка патрульны бот павінен ісці за парушальнікам і прымусіць яго спыніцца.

Праца пачалася з пошуку ідэі дэтэкцыі робата на кадры і распазнання ў ім парушальніка. Каманда прапанавала абсталяваць кожнага робата ў горадзе ззаду ўнікальным маркерам – гэтак жа як рэальныя аўтамабілі маюць нумары дзяржаўнай рэгістрацыі. Для гэтага былі абраныя ArUco-маркеры. Яны і раней выкарыстоўваліся ў duckietown, бо з імі проста працаваць і яны дазваляюць вызначыць арыентацыю маркера ў прасторы і адлегласць да яго.

Далей запатрабавалася зрабіць так, каб патрульны бот рухаўся строга па вонкавым коле без прыпынкаў на скрыжаваннях. Па змаўчанні Duckiebot рухаецца ў паласе і спыняецца на стоп-лініі. Затым з дапамогай дарожных знакаў вызначае канфігурацыю скрыжавання і робіць выбар аб накіраванні праезду скрыжавання. За кожны з апісаных этапаў адказвае адно са станаў канчатковага аўтамата робата. Для таго каб пазбавіцца ад прыпынкаў на скрыжаванні, каманда змяніла аўтамат станаў так, каб пры пад'ездзе да стоп-лініі бот адразу пераходзіў у стан праезду скрыжавання прама.

Наступным крокам было рашэнне задачы прыпынку робата-парушальніка. Камандай было зроблена здагадка, што патрульны бот можа мець доступ па SSH да кожнага з робатаў у горадзе, гэта значыць мець некаторую інфармацыю аб тым, якія дадзеныя для аўтарызацыі і які id мае кожны бот. Такім чынам, пасля выяўлення парушальніка, патрульны бот стаў падлучацца па SSH да робата-парушальніку і выключаць яго сістэму.

Пасля пацверджання таго, што каманда выключэння была выканана, патрульны бот таксама спыняўся.
Алгарытм працы патрульнага робата можна прадставіць у выглядзе наступнай схемы:

Падыход інтэнсіўнага навучання STEM

Праца над праектамі

Праца была арганізавана ў фармаце падобным на Scrum: кожную раніцу студэнты планавалі задачы на ​​бягучы дзень, а ўвечары давалі справаздачу аб праведзенай працы.

У першы і завяршальны дні студэнты падрыхтавалі прэзентацыі, якія апісваюць пастаўленую задачу і спосабы яе вырашэння. Каб дапамагчы студэнтам прытрымлівацца выбраных планаў, у пакоях, дзе адбывалася работа над праектамі, пастаянна знаходзіліся выкладчыкі з Расіі і Амерыкі, якія адказвалі на пытанні. Зносіны адбываліся пераважна на англійскай мове.

Вынікі і іх дэманстрацыя

Праца над праектамі доўжылася адзін тыдзень, пасля заканчэння якога студэнты прадставілі свае вынікі. Усе падрыхтавалі прэзентацыі, у якіх распавялі, чаму яны навучыліся ў гэтай школе, якія найважнейшыя ўрокі вынеслі, што ім спадабалася ці не спадабалася. Пасля гэтага кожная каманда прэзентавала свой праект. Усе каманды справіліся з пастаўленымі задачамі.

Каманда, якая рэалізуе каліброўку кветак, завяршыла працу над праектам хутчэй за іншых, таму яны паспелі падрыхтаваць і дакументацыю да сваёй праграмы. А каманда, якая займалася графам дарог, нават у апошні дзень перад дэманстрацыяй праекту імкнулася дапрацаваць і выправіць свае алгарытмы.

Падыход інтэнсіўнага навучання STEM

Заключэнне

Пасля завяршэння школы мы папрасілі студэнтаў ацаніць мінулыя актыўнасці і адказаць на пытанні аб тым, наколькі школа адпавядала іх чаканням, якія навыкі яны набылі і г.д. Усе студэнты адзначылі, што яны навучыліся працаваць у камандзе, размяркоўваць задачы і планаваць свой час.

Студэнтам таксама прапанавалі ацаніць карыснасць і складанасць пройдзеных курсаў. І тут сфармаваліся дзве групы адзнак: для адных курсы не ўяўлялі вялікай цяжкасці, іншыя ацанілі іх як максімальна складаныя.

Гэта значыць, што школа заняла правільную пазіцыю, застаючыся даступнай для пачаткоўцаў у той ці іншай вобласці, але таксама даючы матэрыялы для паўтарэння і замацавання вопытным студэнтам. Варта адзначыць, што курс па праграмаванні (Python) практычна ўсімі быў адзначаны як нескладаны, але карысны. Самым складаным, на думку студэнтаў, аказаўся курс «Архітэктура ЭВМ».

Калі студэнтаў спыталі пра недахопы і добрыя якасці школы, многія адказалі, што ім спадабаўся выбраны стыль выкладання, у рамках якога выкладчыкі аператыўна і індывідуальна давалі дапамогу і адказвалі на пытанні, якія ўзніклі.

Яшчэ навучэнцы адзначылі, што ім спадабалася працаваць у рэжыме штодзённага планавання сваіх задач і самастойна ўстанаўліваць дэдлайны. У якасці недахопаў студэнты адзначылі недахоп прадстаўленых ведаў, якія запатрабаваліся пры працы з ботам: пры падлучэнні, разуменні асноў і прынцыпаў яго працы.

Практычна ўсе студэнты адзначылі, што школа перасягнула іх чаканні, і гэта сведчыць аб правільна выбраным напрамку арганізацыі школы. Такім чынам, варта захаваць агульныя палажэнні пры арганізацыі наступнай школы, прыняўшы да ўвагі і па магчымасці ўстараніўшы недахопы, якія адзначылі студэнты і выкладчыкі, магчыма, змяніўшы пералік курсаў або час іх выкладання.

Аўтары артыкула: каманда лабараторыі алгарытмаў мабільных робатаў в JetBrains Research.

PS У нашага карпаратыўнага блога новае імя. Цяпер ён будзе прысвечаны адукацыйным праектам кампаніі JetBrains.

Крыніца: habr.com

Дадаць каментар