האינטרנט כעזר להוראת רקורסיה

מלכה סולומונוביץ

רכזת מגמת הנדסת תכנה, גמנסיה גן נחום, ראשון לציון

Malca@solomonovich.net

 

 

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

איך מתחילים את הוראת הרקורסיה?

איך משכנעים את התלמידים שמנגנון הלולאה המוכר והנוח אינו תמיד הפתרון האפשרי לבעיה?

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

 

 

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

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

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

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

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

http://www.lhs.berkeley.edu/Java/Tower/Tower.html

http://thinks.com/java/hanoi/hanoi.htm

http://ipos.p.lodz.pl/zylla/games/hanoi5e.html

 

קל מאד לדון עמם על ה"בעיה בממדים קטנים" –בסיס הרקורסיה (n=1) , שבה כל תלמיד יודע את הפתרון בודאות.

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

 

לאתר המרכז

לכנס תשס"ד

חזרה