הפשטה כמושג מרכזי בהוראת מדעי המחשב: סקר ספרות

יישום רעיונות ממדעי המחשב בהצגת הוכחות מתימטיות - הפשטה

ד"ר אורית חזן

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

 

כל החומרים עומדים לרשותכם וניתן להשתמש בהם להוראה ללא תשלום.

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

 

רעיון ההפשטה במתימטיקה ובמדעי המחשב

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

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

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

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

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

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

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

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

 

הפשטה בעזרת בניית מחסומי הפשטה

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

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

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

המחברת מדגימה במאמר ארבע דרכים בהן רעיון ההפשטה בא לידי ביטוי. (1) עצמים מתוארים ע"י תכונותיהם ולא על-פי הדרך בה הם נבנים או על-פי דרך פעולתם; (2) זיהוי המשותף למספר עצמים והתעלמות מפרטים המבדילים ביניהם; (3) בניית מחסומי הפשטה העוזרים לחשוב ברמה הפשטה המתאימה לחשיבה שלנו בלי לרדת לפרטים שכופה עלינו שפת התכנות או השפה המתמטית הפורמלית; (4) רעיון הסימטרייה מנחה אותנו לא להבחין בין עצמים שיש להם מבנה ותפקיד דומים בבעיה אותה אנו פותרים.

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

 

סוגיות דידקטיות העוסקות ברעיון ההפשטה

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

לחינוך המכוון לתיאור רעיונות ברמת הפשטה מתאימה מספר יתרונות:

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

·         התלמידים לומדים להתייחס להבנתו של השומע או הקורא את המסר המוצג על-ידיהם;

·         התלמידים רוכשים ביוריסטיקה נוספת לפתירת בעיות.  

הסתייגויות:

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

חזרה לעמוד הראשי