STEM intensiv o'rganish yondashuvi

Muhandislik ta'limi olamida juda ko'p ajoyib kurslar mavjud, ammo ko'pincha ular atrofida tuzilgan o'quv dasturlari bitta jiddiy kamchilikdan aziyat chekadi - turli mavzular o'rtasida yaxshi muvofiqlikning yo'qligi. Kimdir e'tiroz bildirishi mumkin: bu qanday bo'lishi mumkin?

O'quv dasturi shakllantirilayotganda, har bir kurs uchun zarur shartlar va fanlarni o'rganish kerak bo'lgan aniq tartib ko'rsatilgan. Masalan, ibtidoiy mobil robotni qurish va dasturlash uchun uning jismoniy tuzilishini yaratish uchun ozgina mexanikani bilish kerak; Ohm/Kirxxof qonunlari darajasida elektr energiyasi asoslari, raqamli va analog signallarni ifodalash; robotning koordinata tizimlari va harakatlarini tasvirlash uchun vektorlar va matritsalar bilan operatsiyalar; ma'lumotlarni taqdim etish darajasida dasturlash asoslari, oddiy algoritmlar va boshqaruvni uzatish tuzilmalari va boshqalar. xatti-harakatni tasvirlash uchun.

Bularning barchasi universitet kurslarida yoritilganmi? Albatta bor. Biroq, Ohm / Kirchhoff qonunlari bilan biz termodinamika va maydon nazariyasini olamiz; matritsalar va vektorlar bilan operatsiyalardan tashqari, Iordaniya shakllari bilan shug'ullanish kerak; dasturlashda polimorfizmni o'rganing - oddiy amaliy masalani hal qilish uchun har doim ham kerak bo'lmagan mavzular.

Universitet ta'limi keng qamrovli - talaba keng jabhada boradi va ko'pincha olgan bilimlarining mazmuni va amaliy ahamiyatini ko'rmaydi. Biz universitet ta'limi paradigmasini STEM (Science, Technology, Engineering, Math so'zlaridan) o'zgartirishga qaror qildik va kelajakda bilimlarning to'liqligini oshirishga imkon beruvchi, ya'ni bilimlar uyg'unligiga asoslangan dastur yaratishga qaror qildik. fanlarni intensiv o'zlashtirishni nazarda tutadi.

Yangi mavzuni o'rganishni mahalliy hududni o'rganish bilan taqqoslash mumkin. Va bu erda ikkita variant bor: yoki bizda asosiy diqqatga sazovor joylar qayerda ekanligini va ularning bir-biri bilan qanday bog'liqligini tushunish uchun o'rganilishi kerak bo'lgan juda ko'p tafsilotlarga ega bo'lgan juda batafsil xarita bor (va bu ko'p vaqt talab etadi). ; yoki siz faqat asosiy fikrlar va ularning nisbiy pozitsiyalari ko'rsatilgan ibtidoiy rejadan foydalanishingiz mumkin - bunday xarita siz borganingizda tafsilotlarni aniqlab, darhol to'g'ri yo'nalishda harakat qilishni boshlash uchun etarli.

Biz MIT talabalari bilan hamkorlikda o'tkazgan qishki maktabda intensiv STEM o'rganish usulini sinab ko'rdik JetBrains tadqiqoti.

Materialni tayyorlash


Maktab dasturining birinchi qismi algebra, elektr sxemalari, kompyuter arxitekturasi, Python dasturlash va ROS (Robot Operating System) ga kirishni o‘z ichiga olgan asosiy yo‘nalishlar bo‘yicha haftalik darslar bo‘ldi.

Yo'nalishlar tasodifan tanlanmagan: bir-birini to'ldirib, ular o'quvchilarga birinchi qarashda turli xil ko'rinadigan narsalar - matematika, elektronika va dasturlash o'rtasidagi bog'liqlikni ko'rishga yordam berishi kerak edi.

Albatta, asosiy maqsad ko‘p ma’ruza o‘qish emas, balki talabalarga yangi olingan bilimlarni o‘zlari amaliyotda qo‘llash imkoniyatini berish edi.

Algebra bo'limida talabalar elektr zanjirlarini o'rganishda foydali bo'lgan matritsa amallari va tenglamalar tizimini echishda mashq qilishlari mumkin edi. Talabalar tranzistorning tuzilishi va uning asosida qurilgan mantiqiy elementlar bilan tanishib, ulardan protsessor qurilmasida foydalanishni ko'rishlari va Python tili asoslarini o'rgangach, unda haqiqiy robot uchun dastur yozishlari mumkin edi.

STEM intensiv o'rganish yondashuvi

Dakitaun


Maktabning maqsadlaridan biri iloji boricha simulyatorlar bilan ishlashni minimallashtirish edi. Shuning uchun, talabalar haqiqiy komponentlardan non doskasida yig'ishlari va ularni amalda sinab ko'rishlari kerak bo'lgan katta elektron sxemalar to'plami tayyorlandi va loyihalar uchun asos sifatida Dakitaun tanlandi.

Duckietown - bu Duckiebots deb nomlangan kichik avtonom robotlar va ular bo'ylab sayohat qiladigan yo'llar tarmoqlarini o'z ichiga olgan ochiq manbali loyiha. Duckiebot - Raspberry Pi mikrokompyuteri va bitta kamera bilan jihozlangan g'ildirakli platforma.

Unga asoslanib, biz yo'l xaritasini tuzish, ob'ektlarni qidirish va ularning yonida to'xtash va boshqa bir qator mumkin bo'lgan vazifalarni tayyorladik. Talabalar o'zlarining muammolarini taklif qilishlari va uni hal qilish uchun dastur yozishlari mumkin emas, balki uni darhol haqiqiy robotda ishga tushirishlari mumkin.

O'qitish


Ma’ruza davomida o‘qituvchilar oldindan tayyorlangan taqdimotlardan foydalangan holda materialni taqdim etdilar. Ba'zi darslar o'quvchilar uyda tomosha qilishlari uchun videoga yozib olingan. Ma’ruza davomida talabalar o‘z kompyuterlarida materiallardan foydalanganlar, savollar berishgan, masalalarni birgalikda va mustaqil ravishda, ba’zan esa doskada yechganlar. Ish natijalariga ko'ra har bir talabaning reytingi turli fanlar bo'yicha alohida hisoblab chiqildi.

STEM intensiv o'rganish yondashuvi

Keling, har bir fan bo'yicha darslarning o'tkazilishini batafsil ko'rib chiqaylik. Birinchi mavzu chiziqli algebra edi. Talabalar bir kun vektor va matritsalarni, chiziqli tenglamalar tizimini va hokazolarni o'rganishdi. Amaliy topshiriqlar interaktiv tarzda tuzildi: taklif qilingan muammolar yakka tartibda echildi, o‘qituvchi va boshqa talabalar izoh va maslahatlar berdilar.

STEM intensiv o'rganish yondashuvi

Ikkinchi mavzu - elektr va oddiy sxemalar. Talabalar elektrodinamika asoslari: kuchlanish, tok, qarshilik, Om qonuni va Kirxgof qonunlarini o‘rgandilar. Amaliy topshiriqlar qisman simulyatorda bajarildi yoki doskada bajarildi, lekin mantiqiy sxemalar, tebranish sxemalari va boshqalar kabi haqiqiy sxemalarni qurish uchun ko'proq vaqt sarflandi.

STEM intensiv o'rganish yondashuvi

Keyingi mavzu Kompyuter arxitekturasi - qaysidir ma'noda fizika va dasturlashni bog'lovchi ko'prik. Talabalar fundamental asoslarni o'rganishdi, uning ahamiyati amaliy emas, balki nazariy jihatdan ko'proq. Amaliyot sifatida talabalar mustaqil ravishda simulyatorda arifmetik va mantiqiy sxemalarni loyihalashtirdilar va bajarilgan topshiriqlar uchun ball oldilar.

To'rtinchi kun - dasturlashning birinchi kuni. Python 2 dasturlash tili sifatida tanlangan, chunki u ROS dasturlashda qo'llaniladi. Bu kun quyidagicha tuzilgan edi: o'qituvchilar materialni taqdim etdilar, muammolarni echishga misollar keltirdilar, talabalar esa ularni tingladilar, kompyuterlarida o'tirib, o'qituvchi doska yoki slaydda yozganlarini takrorladilar. Keyin talabalar shu kabi masalalarni mustaqil ravishda hal qilishdi va ularning echimlari o'qituvchilar tomonidan baholandi.

Beshinchi kun ROSga bag'ishlandi: yigitlar robot dasturlash haqida bilib oldilar. Butun maktab kuni talabalar o'z kompyuterlarida o'tirib, o'qituvchi gapirgan dastur kodini ishga tushirishdi. Ular asosiy ROS birliklarini mustaqil ravishda boshqarishga muvaffaq bo'lishdi va Duckietown loyihasi bilan ham tanishdilar. Ushbu kunning oxirida talabalar maktabning loyiha qismini - amaliy muammolarni hal qilishni boshlashga tayyor edilar.

STEM intensiv o'rganish yondashuvi

Tanlangan loyihalar tavsifi

Talabalardan uch kishidan iborat jamoalar tuzish va loyiha mavzusini tanlash taklif qilindi. Natijada quyidagi loyihalar qabul qilindi:

1. Rangni kalibrlash. Yoritish sharoitlari o'zgarganda Duckiebot kamerani kalibrlashi kerak, shuning uchun avtomatik kalibrlash vazifasi mavjud. Muammo shundaki, rang diapazonlari yorug'likka juda sezgir. Ishtirokchilar ramkadagi kerakli ranglarni (qizil, oq va sariq) ajratib ko'rsatadigan va HSV formatidagi har bir rang uchun diapazonlarni yaratadigan yordamchi dasturni amalga oshirdilar.

2. O'rdak taksi. Ushbu loyihaning g'oyasi shundaki, Duckiebot ob'ekt yonida to'xtab, uni olib, ma'lum bir marshrut bo'ylab harakatlanishi mumkin. Ob'ekt sifatida yorqin sariq o'rdak tanlangan.

STEM intensiv o'rganish yondashuvi

3. Yo'l grafigini qurish. Yo'llar va chorrahalarning grafigini qurish vazifasi mavjud. Ushbu loyihaning maqsadi Duckiebot-ga atrof-muhitga oid aprior ma'lumotlarni taqdim qilmasdan, faqat kamera ma'lumotlariga tayangan holda yo'l grafigini yaratishdir.

4. Patrul mashinasi. Ushbu loyihani talabalarning o'zlari o'ylab topdilar. Ular bir Dakibotni, "patrul"ni boshqasini, "qonunbuzarni" ta'qib qilishni o'rgatishni taklif qilishdi. Buning uchun ArUco markeri yordamida maqsadni aniqlash mexanizmi qo'llanildi. Tanib olish tugallangandan so'ng, ishni yakunlash uchun "buzg'unchi" ga signal yuboriladi.

STEM intensiv o'rganish yondashuvi

Ranglarni kalibrlash

Rangni kalibrlash loyihasining maqsadi taniqli belgilar ranglari diapazonini yangi yorug'lik sharoitlariga moslashtirish edi. Bunday tuzatishlarsiz to'xtash chiziqlarini, bo'laklarni ajratuvchi va yo'l chegaralarini tan olish noto'g'ri bo'ldi. Ishtirokchilar rang naqshlarini oldindan qayta ishlashga asoslangan yechimni taklif qilishdi: qizil, sariq va oq.

Ushbu ranglarning har biri HSV yoki RGB qiymatlarining oldindan o'rnatilgan diapazoniga ega. Ushbu diapazondan foydalanib, mos ranglarni o'z ichiga olgan ramkaning barcha joylari topiladi va eng kattasi tanlanadi. Bu maydon eslab qolish kerak bo'lgan rang sifatida qabul qilinadi. O'rtacha va standart og'ishlarni hisoblash kabi statistik formulalar yangi rang oralig'ini baholash uchun ishlatiladi.

Bu diapazon Duckiebotning kamera konfiguratsiya fayllarida qayd etilgan va undan keyinroq foydalanish mumkin. Ta'riflangan yondashuv uchta rangga nisbatan qo'llanildi va natijada har bir belgilash ranglari uchun diapazonlar yaratildi.

Sinovlar markalash chiziqlarining deyarli mukammal tan olinishini ko'rsatdi, faqat markalash materiallarida yorug'lik manbalarini shunchalik kuchli aks ettiruvchi yaltiroq lenta ishlatilgan holatlar bundan mustasno, kameraning ko'rish burchagidan asl rangidan qat'i nazar, belgilar oq bo'lib ko'rinardi.

STEM intensiv o'rganish yondashuvi

O'rdak taksi

Duck Taxi loyihasi shaharda o'rdak yo'lovchisini qidirish algoritmini yaratish va keyin uni kerakli nuqtaga tashishni o'z ichiga olgan. Ishtirokchilar bu muammoni ikkiga bo'lishdi: aniqlash va grafik bo'ylab harakatlanish.

Talabalar o'rdakni aniqlashni o'rdak - bu sariq rang bilan tanilishi mumkin bo'lgan, qizil uchburchak (tumshug'i) bo'lgan ramkadagi har qanday joy degan taxminni amalga oshirdilar. Keyingi kadrda bunday hudud aniqlanishi bilanoq robot unga yaqinlashib, keyin yo‘lovchining qo‘nishini taqlid qilib, bir necha soniya to‘xtashi kerak.

Keyin, butun duckietownning yo'l grafigi va botning joylashuvi oldindan xotirada saqlangan va shuningdek, kirish joyi sifatida kirish joyini olgan holda, ishtirokchilar Dijkstra algoritmidan foydalanib, grafikdagi yo'llarni topish uchun jo'nash nuqtasidan yetib kelish nuqtasiga yo'l quradilar. . Chiqish buyruqlar to'plami sifatida taqdim etiladi - quyidagi chorrahalarning har birida burilishlar.

STEM intensiv o'rganish yondashuvi

Yo'llar grafigi

Ushbu loyihaning maqsadi grafikni - Dakitaundagi yo'llar tarmog'ini qurish edi. Olingan grafikning tugunlari kesishmalar, yoylar esa yo'llardir. Buning uchun Duckiebot shaharni o'rganishi va uning yo'nalishini tahlil qilishi kerak.

Loyiha ustida ishlash jarayonida og'irlikli grafik yaratish g'oyasi ko'rib chiqildi, ammo keyin bekor qilindi, bunda chekka narxi kesishmalar orasidagi masofa (sayohat qilish vaqti) bilan belgilanadi. Ushbu g'oyani amalga oshirish juda ko'p mehnat talab qildi va maktabda bunga vaqt yo'q edi.

Duckiebot keyingi chorrahaga yetib kelgach, u hali bormagan chorrahadan chiqadigan yo'lni tanlaydi. Barcha chorrahalardagi barcha yo'llar o'tgandan so'ng, chorraha qo'shnilarining yaratilgan ro'yxati bot xotirasida qoladi, u Graphviz kutubxonasi yordamida tasvirga aylanadi.

Ishtirokchilar tomonidan taklif qilingan algoritm tasodifiy Duckietown uchun mos emas edi, lekin maktab ichida ishlatiladigan to'rtta chorrahadan iborat kichik shaharcha uchun yaxshi ishladi. Har bir chorrahaga ArUco markerini qo‘shish g‘oyasi chorrahalarning harakatlanish tartibini kuzatish uchun chorraha identifikatoridan iborat edi.
Ishtirokchilar tomonidan ishlab chiqilgan algoritm diagrammasi rasmda ko'rsatilgan.

STEM intensiv o'rganish yondashuvi

Patrul avtomobili

Ushbu loyihaning maqsadi Dakitaun shahrida buzuvchi botni qidirish, ta'qib qilish va hibsga olishdir. Patrul boti shahar yo'lining tashqi halqasi bo'ylab harakatlanib, ma'lum bo'lgan buzg'unchi botni izlashi kerak. Buzg'unchini aniqlagandan so'ng, patrul boti bosqinchiga ergashishi va uni to'xtatishga majbur qilishi kerak.

Ish ramkadagi botni aniqlash va undagi buzg'unchini tanib olish g'oyasini izlashdan boshlandi. Jamoa shahardagi har bir botni orqa tomonidagi noyob marker bilan jihozlashni taklif qildi - xuddi haqiqiy mashinalar davlat ro‘yxatidan o‘tganidek. Buning uchun ArUco markerlari tanlangan. Ular ilgari Duckietownda ishlatilgan, chunki ular bilan ishlash oson va markerning kosmosdagi yo'nalishini va unga bo'lgan masofani aniqlashga imkon beradi.

Keyinchalik, patrul boti chorrahalarda to'xtamasdan tashqi aylana bo'ylab qat'iy harakatlanishini ta'minlash kerak edi. Odatiy bo'lib, Duckiebot chiziq bo'ylab harakatlanadi va to'xtash chizig'ida to'xtaydi. Keyin, yo'l belgilari yordamida u chorrahaning konfiguratsiyasini aniqlaydi va chorrahaning o'tish yo'nalishi bo'yicha tanlov qiladi. Ta'riflangan bosqichlarning har biri uchun robotning cheklangan holat mashinasining holatlaridan biri javobgardir. Chorrahada to'xtashlardan xalos bo'lish uchun jamoa davlat mashinasini shunday o'zgartirdiki, to'xtash chizig'iga yaqinlashganda, bot darhol chorrahada to'g'ri harakatlanish holatiga o'tdi.

Keyingi qadam buzg'unchi botni to'xtatish muammosini hal qilish edi. Jamoa patrul boti shahardagi har bir botga SSH ruxsatiga ega bo‘lishi mumkin, ya’ni qanday avtorizatsiya ma’lumotlari va har bir bot qanday identifikatorga ega ekanligi haqida ma’lumotga ega bo‘lishi mumkin degan taxminni ilgari surdi. Shunday qilib, buzg'unchini aniqlagandan so'ng, patrul boti SSH orqali bosqinchi botga ulanishni boshladi va uning tizimini o'chirib qo'ydi.

O'chirish buyrug'i bajarilganligini tasdiqlaganidan so'ng, patrul boti ham to'xtadi.
Patrul robotining ishlash algoritmini quyidagi diagramma shaklida ko'rsatish mumkin:

STEM intensiv o'rganish yondashuvi

Loyihalar ustida ishlash

Ish Scrumga o'xshash formatda tashkil etildi: har kuni ertalab talabalar joriy kun uchun vazifalarni rejalashtirdilar va kechqurun ular bajarilgan ishlar haqida hisobot berishdi.

Birinchi va oxirgi kunlarda talabalar topshiriq va uni hal qilish usullarini tavsiflovchi taqdimotlar tayyorladilar. Talabalarga tanlagan rejalarini bajarishga yordam berish uchun Rossiya va Amerikadan kelgan o'qituvchilar doimiy ravishda loyihalar ustida ish olib boriladigan xonalarda bo'lib, savollarga javob berishdi. Muloqot asosan ingliz tilida olib borildi.

Natijalar va ularning namoyishi

Loyihalar ustida ishlash bir hafta davom etdi, shundan so'ng talabalar o'z natijalarini taqdim etdilar. Har bir inson ushbu maktabda nimani o'rganganligi, o'rgangan eng muhim saboqlari, nimani yoqtirgan yoki yoqtirmaganligi haqida gapiradigan taqdimotlar tayyorladi. Shundan so‘ng har bir jamoa o‘z loyihasini taqdim etdi. Barcha jamoalar o'z vazifalarini bajardilar.

Rangni kalibrlashni amalga oshiruvchi jamoa loyihani boshqalarga qaraganda tezroq yakunladi, shuning uchun ular o'z dasturi uchun hujjatlarni tayyorlashga ham vaqt topdilar. Va yo'l grafigi ustida ishlayotgan jamoa, hatto loyiha namoyishidan bir kun oldin ham, algoritmlarini takomillashtirish va tuzatishga harakat qildi.

STEM intensiv o'rganish yondashuvi

xulosa

Maktabni tugatgandan so'ng, biz o'quvchilardan oldingi faoliyatlarini baholashni va maktab ularning kutganlarini qanchalik oqlagani, qanday ko'nikmalarga ega bo'lganligi va hokazolar haqidagi savollarga javob berishlarini so'radik. Barcha talabalar jamoada ishlashni, vazifalarni taqsimlashni va vaqtni rejalashtirishni o'rganganliklarini ta'kidladilar.

Shuningdek, talabalardan o'qigan kurslarining foydaliligi va qiyinligini baholash so'ralgan. Va bu erda ikkita baholash guruhi tuzildi: ba'zilari uchun kurslar unchalik qiyin emas, boshqalari ularni juda qiyin deb baholadilar.

Bu shuni anglatadiki, maktab ma'lum bir sohada yangi boshlanuvchilar uchun ochiq bo'lib, to'g'ri pozitsiyani egalladi, ammo tajribali talabalar tomonidan takrorlash va mustahkamlash uchun materiallar taqdim etadi. Shuni ta'kidlash kerakki, dasturlash kursi (Python) deyarli hamma tomonidan murakkab bo'lmagan, ammo foydali deb ta'kidlangan. Talabalarning fikricha, eng qiyin kurs “Kompyuter arxitekturasi” edi.

O‘quvchilar maktabning kuchli va zaif tomonlari haqida so‘ralganda, ko‘pchilik o‘qituvchilarning tezkor va shaxsiy yordam ko‘rsatgan hamda savollarga javob bergan o‘qitish uslubi tanlanganini ma’qul ko‘rishini aytdi.

Talabalar, shuningdek, o'z vazifalarini kundalik rejalashtirish va o'z muddatlarini belgilash rejimida ishlashni yoqtirishlarini ta'kidladilar. Kamchiliklar sifatida talabalar bot bilan ishlashda talab qilinadigan bilimlarning etishmasligini qayd etdilar: ulanishda, uning ishlash asoslari va tamoyillarini tushunishda.

Deyarli barcha talabalar maktab o'z kutganlaridan oshib ketganini ta'kidladilar va bu maktabni tashkil etishning to'g'ri yo'nalishini ko'rsatadi. Shunday qilib, keyingi maktabni tashkil qilishda umumiy tamoyillar saqlanishi kerak, agar iloji bo'lsa, talabalar va o'qituvchilar tomonidan qayd etilgan kamchiliklarni hisobga olgan holda va ularni bartaraf etish, ehtimol kurslar ro'yxatini yoki ularni o'qitish vaqtini o'zgartirish.

Maqola mualliflari: jamoa mobil robot algoritmlari laboratoriyasi в JetBrains tadqiqoti.

PS Korporativ blogimiz yangi nomga ega. Endi u JetBrains kompaniyasining ta'lim loyihalariga bag'ishlanadi.

Manba: www.habr.com

a Izoh qo'shish