גישת למידה אינטנסיבית STEM

יש הרבה קורסים מצוינים בעולם החינוך ההנדסי, אך לא פעם תכנית הלימודים הבנויה סביבם סובלת מפגם אחד חמור – חוסר קוהרנטיות טובה בין נושאים שונים. אפשר להתנגד: איך זה יכול להיות?

כאשר מתגבשת תכנית הכשרה, מצוינים תנאים מוקדמים וסדר ברור שבו יש ללמוד את המקצועות לכל קורס. לדוגמה, כדי לבנות ולתכנת רובוט נייד פרימיטיבי, אתה צריך לדעת מעט מכניקה כדי ליצור את המבנה הפיזי שלו; יסודות החשמל ברמת חוקי אוהם/קירכהוף, ייצוג של אותות דיגיטליים ואנלוגיים; פעולות עם וקטורים ומטריצות על מנת לתאר מערכות קואורדינטות ותנועות הרובוט במרחב; יסודות התכנות ברמת הצגת הנתונים, אלגוריתמים פשוטים ומבני העברת בקרה וכו'. לתאר התנהגות.

האם כל זה מכוסה בקורסים באוניברסיטה? כמובן שיש. עם זאת, עם חוקי אוהם/קירכהוף אנו מקבלים תרמודינמיקה ותורת שדות; בנוסף לפעולות עם מטריצות ווקטורים, צריך להתמודד עם צורות ירדן; בתכנות, למד פולימורפיזם - נושאים שלא תמיד נחוצים כדי לפתור בעיה מעשית פשוטה.

ההשכלה האוניברסיטאית היא ענפה – הסטודנט נוסע בחזית רחבה ולרוב אינו רואה את המשמעות והמשמעות המעשית של הידע שהוא מקבל. החלטנו להפוך את הפרדיגמה של ההשכלה האוניברסיטאית ב-STEM (מהמילים מדע, טכנולוגיה, הנדסה, מתמטיקה) וליצור תוכנית המבוססת על קוהרנטיות של הידע, המאפשרת להגדיל את השלמות בעתיד, כלומר, מרמז על שליטה אינטנסיבית בנושאים.

ניתן להשוות לימוד תחום נושא חדש לחקר אזור מקומי. וכאן יש שתי אפשרויות: או שיש לנו מפה מאוד מפורטת עם כמות עצומה של פרטים שצריך ללמוד (וזה לוקח הרבה זמן) כדי להבין איפה נקודות הציון העיקריות ואיך הן קשורות אחת לשניה ; או שאתה יכול להשתמש בתוכנית פרימיטיבית, שבה מצוינים רק הנקודות העיקריות ומיקומן היחסי - מספיקה מפה כזו כדי להתחיל מיד לנוע בכיוון הנכון, ולהבהיר את הפרטים תוך כדי תנועה.

בדקנו את גישת הלמידה האינטנסיבית של STEM בבית ספר חורף, שקיימנו יחד עם תלמידי MIT בתמיכתו מחקר JetBrains.

הכנת חומר


החלק הראשון של התכנית הבית ספרית היה שבוע של שיעורים בתחומים המרכזיים, שכלל אלגברה, מעגלים חשמליים, ארכיטקטורת מחשבים, תכנות פייתון והיכרות עם ROS (רובוט הפעלה).

הכיוונים לא נבחרו במקרה: כשהם משלימים זה את זה, הם היו אמורים לעזור לתלמידים לראות במבט ראשון את הקשר בין דברים שונים לכאורה - מתמטיקה, אלקטרוניקה ותכנות.

כמובן שהמטרה העיקרית לא הייתה לתת הרבה הרצאות, אלא לתת לסטודנטים את האפשרות ליישם את הידע החדש שנרכש בעצמם בפועל.

בקטע האלגברה, התלמידים יכלו לתרגל פעולות מטריצות ופתרון מערכות משוואות, שהיו שימושיות בחקר מעגלים חשמליים. לאחר שלמדו על מבנה הטרנזיסטור והאלמנטים הלוגיים שנבנו על בסיסו, יכלו התלמידים לראות את השימוש שלהם במכשיר מעבד, ולאחר שלמדו את היסודות של שפת Python, לכתוב בו תוכנית לרובוט אמיתי.

גישת למידה אינטנסיבית STEM

דאקיטאון


אחת ממטרות בית הספר הייתה למזער את העבודה עם סימולטורים במידת האפשר. לכן הוכן מערך גדול של מעגלים אלקטרוניים, שהתלמידים היו צריכים להרכיב על לוח לחם ממרכיבים אמיתיים ולבדוק אותם בפועל, ו-Duckietown נבחרה כבסיס לפרויקטים.

Duckietown הוא פרויקט בקוד פתוח הכולל רובוטים אוטונומיים קטנים הנקראים Duckiebots ורשתות הכבישים שבהם הם נוסעים. Duckiebot היא פלטפורמת גלגלים המצוידת במיקרו-מחשב Raspberry Pi ומצלמה אחת.

על פיה הכנו מכלול משימות אפשריות כמו בניית מפת דרכים, חיפוש חפצים ועצירה לידם ועוד מספר. תלמידים יכולים גם להציע בעיה משלהם ולא רק לכתוב תוכנית כדי לפתור אותה, אלא גם להריץ אותה מיד על רובוט אמיתי.

הוראה


במהלך ההרצאה הציגו המורים את החומר באמצעות מצגות מוכנות מראש. חלק מהשיעורים הוקלטו בוידאו כדי שהתלמידים יוכלו לצפות בהם בבית. במהלך ההרצאות, התלמידים השתמשו בחומרים במחשב שלהם, שאלו שאלות ופתרו בעיות ביחד ובאופן עצמאי, לפעמים ליד הלוח. על סמך תוצאות העבודה, דירוג כל תלמיד חושב בנפרד במקצועות שונים.

גישת למידה אינטנסיבית STEM

הבה נבחן את התנהלות השיעורים בכל נושא ביתר פירוט. הנושא הראשון היה אלגברה לינארית. התלמידים הקדישו יום אחד ללימוד וקטורים ומטריצות, מערכות משוואות ליניאריות וכו'. משימות מעשיות נבנו באופן אינטראקטיבי: הבעיות שהוצעו נפתרו בנפרד, והמורה ותלמידים אחרים סיפקו הערות וטיפים.

גישת למידה אינטנסיבית STEM

הנושא השני הוא חשמל ומעגלים פשוטים. התלמידים למדו את יסודות האלקטרודינמיקה: מתח, זרם, התנגדות, חוק אוהם וחוקי קירכהוף. משימות מעשיות נעשו בחלקן בסימולטור או הושלמו על הלוח, אבל יותר זמן הושקע בבניית מעגלים אמיתיים כמו מעגלים לוגיים, מעגלים מתנודדים וכו'.

גישת למידה אינטנסיבית STEM

הנושא הבא הוא ארכיטקטורת מחשבים - במובן מסוים, גשר המחבר בין פיזיקה לתכנות. התלמידים למדו את הבסיס הבסיסי, שמשמעותו יותר תיאורטית מאשר מעשית. כתרגול, התלמידים תכננו באופן עצמאי מעגלים אריתמטיים ולוגיים בסימולטור וקיבלו נקודות עבור משימות שהושלמו.

היום הרביעי הוא היום הראשון לתכנות. Python 2 נבחרה כשפת התכנות מכיוון שהיא זו המשמשת בתכנות ROS. היום הזה היה בנוי כך: המורים הציגו את החומר, נתנו דוגמאות לפתרון בעיות, בעוד התלמידים הקשיבו להם, ישבו ליד המחשב שלהם, וחזרו על מה שהמורה כתבה על הלוח או השקף. לאחר מכן התלמידים פתרו בעיות דומות בעצמם, והפתרונות הוערכו לאחר מכן על ידי המורים.

היום החמישי הוקדש ל-ROS: החבר'ה למדו על תכנות רובוטים. כל יום הלימודים התלמידים ישבו ליד מחשביהם והריצו את קוד התוכנית שעליו דיברה המורה. הם הצליחו להפעיל יחידות ROS בסיסיות בעצמם וגם הוצגו בפני פרויקט Duckietown. בסופו של יום זה, התלמידים היו מוכנים להתחיל את חלק הפרויקט של בית הספר - פתרון בעיות מעשיות.

גישת למידה אינטנסיבית STEM

תיאור פרויקטים נבחרים

התלמידים התבקשו להרכיב צוותים של שלושה ולבחור נושא לפרויקט. כתוצאה מכך, אומצו הפרויקטים הבאים:

1. כיול צבע. Duckiebot צריך לכייל את המצלמה כאשר תנאי התאורה משתנים, ולכן יש משימת כיול אוטומטית. הבעיה היא שטווחי הצבעים מאוד רגישים לאור. המשתתפים הטמיעו כלי עזר שידגיש את הצבעים הנדרשים במסגרת (אדום, לבן וצהוב) ויבנו טווחים לכל צבע בפורמט HSV.

2. מונית ברווז. הרעיון של הפרויקט הזה הוא ש-Duckiebot יכול לעצור ליד חפץ, להרים אותו וללכת במסלול מסוים. ברווז צהוב בוהק נבחר כאובייקט.

גישת למידה אינטנסיבית STEM

3. בניית גרף דרך. ישנה משימה של בניית גרף של כבישים וצמתים. המטרה של פרויקט זה היא לבנות גרף דרך מבלי לספק נתונים סביבתיים אפריוריים ל-Duckiebot, תוך הסתמכות רק על נתוני המצלמה.

4. ניידת סיור. הפרויקט הזה הומצא על ידי התלמידים עצמם. הם הציעו ללמד את דאקיבוט אחד, "פטרול", לרדוף אחרי אחר, "מפר". לצורך כך נעשה שימוש במנגנון זיהוי מטרות באמצעות סמן ArUco. מיד עם השלמת הזיהוי, נשלח אות ל"פולש" להשלמת העבודה.

גישת למידה אינטנסיבית STEM

כיול צבע

המטרה של פרויקט כיול הצבעים הייתה להתאים את טווח צבעי הסימון הניתנים לזיהוי לתנאי תאורה חדשים. ללא התאמות כאלה, זיהוי קווי עצירה, מפרידי נתיבים וגבולות כביש הפך לא נכון. המשתתפים הציעו פתרון המבוסס על דפוסי צבע סימון בעיבוד מוקדם: אדום, צהוב ולבן.

לכל אחד מהצבעים הללו יש טווח מוגדר מראש של ערכי HSV או RGB. באמצעות טווח זה, כל האזורים של המסגרת המכילים צבעים מתאימים נמצאים, והגדול ביותר נבחר. אזור זה נחשב לצבע שצריך לזכור. לאחר מכן נעשה שימוש בנוסחאות סטטיסטיות כגון חישוב הממוצע וסטיית התקן כדי להעריך את טווח הצבעים החדש.

טווח זה מתועד בקבצי תצורת המצלמה של Duckiebot וניתן להשתמש בו מאוחר יותר. הגישה המתוארת יושמה על כל שלושת הצבעים, ובסופו של דבר יצרה טווחים עבור כל אחד מצבעי הסימון.

בדיקות הראו זיהוי כמעט מושלם של קווי סימון, למעט מקרים בהם חומרי הסימון השתמשו בסרט מבריק, המחזיר מקורות אור בצורה כה חזקה שמזווית הצפייה של המצלמה הסימונים נראו לבנים, ללא קשר לצבע המקורי שלה.

גישת למידה אינטנסיבית STEM

מונית ברווז

פרויקט Duck Taxi כלל בניית אלגוריתם לחיפוש נוסע ברווז בעיר, ולאחר מכן הובלתו לנקודה הנדרשת. המשתתפים חילקו את הבעיה הזו לשניים: זיהוי ותנועה לאורך הגרף.

התלמידים ביצעו זיהוי ברווז על ידי הנחה שברווז הוא כל אזור בפריים שניתן לזהות אותו כצהוב, ועליו משולש אדום (מקור). ברגע שמזהה אזור כזה בפריים הבא, הרובוט צריך להתקרב אליו ואז לעצור לכמה שניות, המדמה נחיתה של נוסע.

לאחר מכן, לאחר שגרף הדרכים של כל ה-Duckietown ומיקום הבוט מאוחסנים בזיכרון מראש, וגם מקבלים את היעד כקלט, המשתתפים בונים נתיב מנקודת המוצא לנקודת ההגעה, תוך שימוש באלגוריתם של דיקסטרה כדי למצוא נתיבים בגרף . הפלט מוצג כסט של פקודות - סיבובים בכל אחד מהצומתים הבאים.

גישת למידה אינטנסיבית STEM

גרף כבישים

המטרה של הפרויקט הזה הייתה לבנות גרף - רשת של כבישים ב-Duckietown. הצמתים של הגרף המתקבל הם צמתים, והקשתות הן דרכים. לשם כך, על Duckiebot לחקור את העיר ולנתח את המסלול שלה.

במהלך העבודה על הפרויקט, נשקל הרעיון של יצירת גרף משוקלל, אך לאחר מכן נמחק, שבו עלות הקצה נקבעת לפי המרחק (זמן הנסיעה) בין צמתים. היישום של רעיון זה התברר כרוך מדי בעבודה, ולא היה מספיק זמן לכך בתוך בית הספר.

כאשר Duckiebot מגיע לצומת הבא, הוא בוחר את הכביש היוצא מהצומת שעדיין לא יצא בו. כאשר כל הכבישים בכל הצמתים עברו, הרשימה שנוצרה של סמיכות לצמתים נשארת בזיכרון הבוט, המומר לתמונה באמצעות ספריית Graphviz.

האלגוריתם שהוצע על ידי המשתתפים לא התאים לדאקיטאון אקראי, אבל פעל היטב עבור עיירה קטנה של ארבעה צמתים המשמשים בתוך בית הספר. הרעיון היה להוסיף סמן ArUco לכל צומת המכיל מזהה צומת כדי לעקוב אחר הסדר שבו נוסעו הצמתים.
תרשים האלגוריתם שפותח על ידי המשתתפים מוצג באיור.

גישת למידה אינטנסיבית STEM

ניידת

המטרה של הפרויקט הזה היא לחפש, לרדוף ולעצור בוט מפרה בעיר דאקטאון. בוט סיור חייב לנוע לאורך הטבעת החיצונית של כביש עירוני, לחפש בוט פולש ידוע. לאחר זיהוי פולש, בוט הסיור חייב לעקוב אחר הפורץ ולאלץ אותו לעצור.

העבודה החלה בחיפוש אחר רעיון לאיתור בוט בפריים וזיהוי פולש בתוכו. הצוות הציע לצייד כל בוט בעיר בטוש ייחודי מאחור - בדיוק כמו שלמכוניות אמיתיות יש מספרי רישום של המדינה. למטרה זו נבחרו סמני ArUco. הם שימשו בעבר ב- duckietown מכיוון שקל לעבוד איתם ומאפשרים לך לקבוע את כיוון הסמן במרחב ואת המרחק אליו.

לאחר מכן, היה צורך לוודא כי בוט הסיור נע בקפדנות במעגל החיצוני מבלי לעצור בצמתים. כברירת מחדל, Duckiebot נע בנתיב ועוצר בקו העצירה. לאחר מכן, בעזרת תמרורים, הוא קובע את תצורת הצומת ומבצע בחירה לגבי כיוון המעבר של הצומת. עבור כל אחד מהשלבים המתוארים, אחראי אחד המצבים של מכונת המצבים הסופיים של הרובוט. על מנת להיפטר מעצירות בצומת, הצוות שינה את מכונת המצב כך שבעת התקרבות לקו העצירה הבוט עבר מיד למצב של נסיעה ישר דרך הצומת.

השלב הבא היה לפתור את בעיית עצירת הבוט הפולש. הצוות עשה את ההנחה שלבוט הסיור יכולה להיות גישת SSH לכל אחד מהבוטים בעיר, כלומר, לקבל מידע על איזה נתוני הרשאה ואיזה מזהה יש לכל בוט. כך, לאחר זיהוי הפולש, בוט הסיור החל להתחבר באמצעות SSH לבוט הפולש ולכבות את המערכת שלו.

לאחר שאישר שפקודת הכיבוי הושלמה, גם בוט הסיור נעצר.
ניתן לייצג את אלגוריתם הפעולה של רובוט סיור בתרשים הבא:

גישת למידה אינטנסיבית STEM

עובדים על פרויקטים

העבודה אורגנה במתכונת דומה לסקרום: מדי בוקר תכננו התלמידים משימות ליום הנוכחי, ובערב דיווחו על העבודה שנעשתה.

בימים הראשונים והאחרונים הכינו התלמידים מצגות המתארות את המשימה וכיצד לפתור אותה. כדי לעזור לתלמידים לבצע את התוכניות שבחרו, מורים מרוסיה ומאמריקה נכחו כל הזמן בחדרים שבהם התקיימה העבודה על פרויקטים, ענו על שאלות. התקשורת התקיימה בעיקר באנגלית.

תוצאות והדגמתן

העבודה על הפרויקטים נמשכה שבוע, ולאחר מכן הציגו התלמידים את תוצאותיהם. כולם הכינו מצגות שבהן דיברו על מה שלמד בבית הספר הזה, מהם השיעורים הכי חשובים שלמדו, מה הם אהבו או לא אהבו. לאחר מכן, כל צוות הציג את הפרויקט שלו. כל הצוותים השלימו את המשימות שלהם.

הצוות שהטמיע כיול צבע השלים את הפרויקט מהר יותר מאחרים, כך שהיה להם גם זמן להכין תיעוד לתוכנית שלהם. והצוות שעבד על גרף הדרך, אפילו ביום האחרון לפני הדגמת הפרויקט, ניסה לחדד ולתקן את האלגוריתמים שלהם.

גישת למידה אינטנסיבית STEM

מסקנה

לאחר סיום בית הספר, ביקשנו מהתלמידים להעריך את פעילויות העבר ולענות על שאלות לגבי עד כמה בית הספר עמד בציפיותיהם, אילו מיומנויות הם רכשו וכו'. כל התלמידים ציינו שהם למדו לעבוד בצוות, לחלק משימות ולתכנן את זמנם.

התלמידים התבקשו גם לדרג את התועלת והקושי של הקורסים שלמדו. וכאן נוצרו שתי קבוצות של הערכות: עבור חלקם הקורסים לא הציגו קושי רב, אחרים דירגו אותם כקשים ביותר.

המשמעות היא שבית הספר נקט בעמדה הנכונה בכך שהוא נשאר נגיש לחדשים בתחום מסוים, אך גם מספק חומרים לתיקון וחיזוק לתלמידים מנוסים. יש לציין שקורס התכנות (Python) צוין על ידי כמעט כולם כבלתי מסובך אך שימושי. לדברי התלמידים, הקורס הקשה ביותר היה "ארכיטקטורת מחשבים".

כאשר נשאלו התלמידים על נקודות החוזק והחולשה של בית הספר, רבים השיבו כי הם אוהבים את סגנון ההוראה שנבחר, בו המורים העניקו סיוע מהיר ואישי וענו על שאלות.

התלמידים גם ציינו שהם אהבו לעבוד בצורה של תכנון יומיומי של המשימות שלהם וקביעת מועדים משלהם. כחסרונות, התלמידים ציינו את חוסר הידע שניתן, שנדרש בעבודה עם הבוט: בעת חיבור, הבנת היסודות והעקרונות של פעולתו.

כמעט כל התלמידים ציינו כי בית הספר עלה על הציפיות שלהם, וזה מצביע על הכיוון הנכון לארגון בית הספר. לפיכך, יש לשמור על העקרונות הכלליים בעת ארגון בית הספר הבא, תוך התחשבות ובמידת האפשר ביטול הליקויים שציינו התלמידים והמורים, אולי לשנות את רשימת הקורסים או את עיתוי הוראתם.

מחברי המאמר: צוות מעבדה של אלגוריתמים רובוטים ניידים в מחקר JetBrains.

נ.ב. לבלוג הארגוני שלנו יש שם חדש. כעת הוא יוקדש לפרויקטים חינוכיים של JetBrains.

מקור: www.habr.com

הוספת תגובה