Transcript ההרצאה
וליד ח'ליפה
טיפוס-נתונים-מופשט אוסף של ערכים ופעולות המוגדרות עליהם.
(טנ"מ)
דוגמאות :רשימה ,מחסנית ועץ.
)Abstract Data Type (ADT
רשימה
טיפוס נתונים מופשט שערכיו הם סדרות סופיות של
איברים מסוג מסוים ,ועליהם מוגדר יחס סודר.
פסאודו-קוד מלל המתאר אלגוריתם בשפה חופשית .המלל נראה
בחלקו כתכנית מחשב ,אך הוא אינו צמוד ממש לשפת
תכנות כלשהי.
המחקר התמקד בתפיסות שמפתחים תלמידי תיכון במהלך לימוד
טיפוסי נתונים מופשטים .הכוונה היא לבחון את התפיסות
ואסטרטגיות של פתרון בעיות המתפתחות במהלך פתרון בעיות
בטיפוסי נתונים מופשטים ולנסות לזהות גורמים אפשריים להן.
לאתר את המאפיינים של פתרון בעיות בטיפוסי נתונים מופשטים
ואת התפיסות שהם מפתחים במהלך לימודם את יחידת הלימוד
"עיצוב תוכנה".
לזהות ולאפיין דרכי התמודדות התלמידים עם
טיפוסי נתונים מופשטים.
לאתר ולאפיין גורמי קושי במעבר מרעיון
לפתרון לכתיבתו הפורמלית.
שאלה ראשונה :אילו תפיסות בנוגע לטנ"מים מפתחים
תלמידי תיכון בעת לימודם את יחידת הלימוד עיצוב תוכנה?
.1באיזה דרכים מפשטים התלמידים את הפעולות על טנ"מים?
.2באילו ייצוגים של טיפוס הנתונים המופשט הם משתמשים?
שאלה שנייה :כיצד התלמידים מתמודדים עם המעבר משפה
טבעית (או חשיבה אינטואיטיבית) לכתיבה פורמאלית של
אלגוריתם בפתרון בעיה טנ"מים?
אילו גורמים משפיעים על האלגוריתמים שהם מיישמים?
כהנמן וטברסקי חשבו כי הדיעות האינטואיטיביות תופסות מקום בין הפעולות האוטומטיות של
התפישה והפעולות המכוונות של החשיבה או הדעת ( .)reasoningמחקרם התמקד בטעויות
של האינטואיציה שחזרו בצורה סיסטמטית ,שנלמדו מבחינת עניינם הפנימי ומבחינת ערכם כמ
חוונים דיאגנוסטים למיכניזמים קוגניטיביים .ההתמקדות היתה ,איפה היוריסטיקות או אינטואיצ
יות מובילות את בני האדם לטעויות שיטתיות.
ניקח את הדוגמה הקלסית הבאה הממחישה התנהגות "לא רציונלית" (מבחינה מתמטית) עקב
ית של בני אדם Shane Frederick ,דיווח כי 50%מהסטודנטים בפרינסטון ו 56% -מהסטודנ
טים במישיגן טעו בשאלה הקלה הבאה – מחבט בייסבול וכדור עולים ביחד $1.10והמחבט עו
לה $1יותר מהכדור ,כמה עולה הכדור?
כמעט לכל אחד הייתה הנטייה לענות כי הכדור עולה " 10סנט" כי הסכום $1.10מתפרק בצור
ה טבעית ל $1-ול 10 -סנט ,ולכן 10סנטים הוא הגודל הנכון .שאלה זו היא ללא ספק מאוד קל
ה יחסית לסטודנטים באוניברסיטה והם יודעים לבצע חשבון כזה .אחד ההסברים לתופעה זו הו
א ,בני האדם לא רגילים לחשוב לעומק והם בדרך כלל מסתפקים בלתת אימון בתשובה הקופצ
ת מהר למחשבה .למה תשובה זו קופצת מהר לראש? איך הראש מתמודד עם מחשבות כאלה
? האם ניתן להתגבר על סוגים כאלה של מחשבות כשהן נותנות תשובות לא נכונות? תחת איז
ה תנאים קופצות מחשבות מסוג זה?
על מנת לענות על שאלות אלה ורבות אחרות נחקרו המחשבות האינ
טואיטיביות וההעדפות המגיעות למחשבה מהר ובלי רפלקציה.
שני רעיונות שהפכו להיות מרכזיים בפסיכולוגיה הקוגניטיבית-סוציאלי
ת:
.1המחשבות שונות במימד הנגישות – חלק מגיע למוח יותר בקלות
מאחרים.
.2ההבדל בין תהליכי חשיבה איטיים לאינטואיטיביים.
רעיונות אלה הן הבסיס של אחת התיאוריות שהפכה להיות מקובלת
כיום והיא תיאורית המערכת הכפולה ( ,)dual-systemהטוענת כי ב
חשיבתנו מעורבות שתי מערכות חשיבה הפועלות במקביל.
לירון וחזן ( )Leron & Hazzan, 2009כותבים כי "כהנמן מתאר
את הפעולות של מערכת 1כמהירות ,אוטומטיות ,בלי מאמץ ,קש
ה לבקר או לשנות אותן ואסוציאטיבות .הן מגיעות מהר למוח ומש
תמשות בהיוריסטיקות פשוטות וקלות לחישוב .מערכת 1עולה הן
בבעיות קלות לחישוב (ובדרך כלל נותנת תשובות נכונות ומהירות
) ובבעיות מורכבות (מנסה לתת פתרון ראשוני מהיר על פי הנגיש
ות של תכונות הבעיה הנידונה והשלכתה לניסיון האישי שנצבר מ
העבר) פעולות אלה יכולות לגרום לקבלת החלטות לא נורמטיביו
ת ,שלא תואמות את הלוגיקה הפורמלית או את חוקי המתמטיקה
(כמו בדוגמה של המחבט והכדור) וההסתברות ,מתוך הערכה של
מצב מורכב כמצב פשוט יותר או שונה מכפי שהוא.
הפעולות של מערכת 2איטיות ,סדרתיות ,צריכות מאמץ יתר ,ומבוקרות; הן ג
ם גמישות יחסית .תפקידה של מערכת 2הוא לבקר את הפעולות של מערכת
1ובמידת הצורך לתקן או לשלול את ההחלטה של מערכת ( 1אם זו הפעילה
היוריסטיקה לא נכונה או השתמשה במידע לא מתאים) .פעולה חשובה של מ
ערכת 2היא הפעלת אלגוריתמים מתוחכמים וסדרתיים לפתרון הבעיה תוך ח
שיבה אנליטית ,מעקב ושימוש בניסיון האישי שנצבר.
האם מערכת 2יכולה תמיד להתערב ולתקן את מערכת ?1התשובה היא כמו
בן לא ,קיימים מצבים בהם מערכת 2כלל לא באה לידי ביטוי ,האנשים כל כך
בטוחים בתשובה שנתנו שמערכת 2כלל אינה ערה לקיום בעיה.
חלק ממצבים אלה מתרחש כי מערכת 1הייתה מהירה וזיהתה באופן שגוי פ
רמטרים שכיוונו אותה לסיטואציה מוכרת ,ואימצה פתרון לבעיה מוכרת הקשו
ר עם ניסיון העבר של האדם הספציפי .בנוסף ,לא תמיד קיים הידע המספיק ל
פתרון הבעיה (במצבים בהם הידע עדיין מתהווה או מתגבש)
האנשים מנסים להתמודד עם הבעיה לפי הידע הקיים אצלם.
מטפורה היא מלה יוונית ,שתרגומה הוא משהו שנע ממקום
למקום )1986( Minsky .מספק הגדרה פונקציונאלית המתמ
קדת בתהליך של החשיבה :מטפורה מאפשרת לנו להחליף
סוג מסוים של מחשבה באחר (שם עמ' .)299
המטפורה מקשרת בדרך-כלל בין שתי מערכות מושגים .שתי
מערכות אלה מכונות בשמות שונים – מערכת ראשונית ומער
כת משנית ( ,)Black, 1962לוי ( )1991כנתה את המציאות
המנטאלית ממנה מועברות מסגרות החשיבה התחום המסב
יר של המטפורה ,ואת המציאות המנטאלית אליה הן מועברו
ת התחום המוסבר של המטפורה.
הקישור בין שני התחומים נקרא מיפוי (Carbonell & Minto
.)n, 1985הבסיס למטפורה מכיל את המאפיינים הדומים בי
ן התחום המוסבר והתחום המסביר (similarities, true ana
,)logiesוהמתח נוצר בשל המאפיינים שאינם דומים (dissi
.)milarities, false analogies
"תוכנית מחשב אינטלגנטית" זו מטפורה ,המיפוי המטפורי ב
דרך-כלל מצוין במפורש ,ובכך מופחת המתח האופייני למטפ
ורה .המטפורה נתפסת כקשורה לתהליך חשיבה מסוים ,תה
ליך המגשר בין שני עולמות-תוכן שונים לחלוטין .בתהליך ח
שיבתי כזה ,תכונות ,יחסים ,השערות ורעיונות מועברים מעו
לם אחד ,בדרך כלל מוכר יותר ,לעולם אחר בלתי מוכר.
התלמידים שהשתתפו במחקר היו משני בתי ספר בצפון ה
ארץ .במחקר השתתפו סך הכל 20תלמידים ,מהם 8תלמ
ידים שעבדו בזוגות ( 4זוגות סך הכל) ו 12 -תלמידים שע
בדו לבד.
גישת המחקר האתנוגרפית על כל עקרונותיה מתאימה להת
חקות אחרי תפיסות כפי שהן באות לידי ביטוי בכר הפעולה
הטבעי של הלומדים .מאחר והמחקר החינוכי במדעי המחשב
הנו בתחילתו ,עדיין לא קיימת מסגרת תיאורטית מסודרת שנ
יתן להסתמך עליה ,המחקר התחיל בפתיחות .מערך המחקר
הוא מסוג "חקר מרובה מקרים" ) ,(Stake, 1988כאשר כ"מ
קרה" יחשבו שני תלמידים או תלמיד העובדים על פתרון בעי
ה ללא מחשב.
•
•
•
•
•
•
•
ראיונות פתוחים עם התלמידים.
תצפיות פתוחות במהלך פתרון בעיה תכנותית.
רישומים של התלמידים במהלך עבודתם.
תצפיות פתוחות בדיונים כיתתיים.
שיחות עם המורים שמלמדים את היחידה.
עבודות שהתלמידים הגישו במהלך לימוד היחידה.
יומן חוקר.
ניתוח הנתונים נעשה בשיטה האינדוקטיבית .אותרו תכונות ו
מאפיינים משותפים בתוך הנתונים שנאספו .בשלב השני נתנ
ו שמות לקטגוריות המושגיות שנוצרו בשלב הראשון .תהליך
זה עבר עידון הדרגתי ואינטראקציה עם תיאוריות קיימות ,עד
ליצירת מערכת קטגוריות הנחשבת כ"תיאוריה המעוגנת בש
דה"
תהליך הניתוח ובניית מערכת הקטגוריות ,לווה בניסיון לפ
רש את הנתונים לאור תיאוריות רלבנטיות.
קטגוריה ראשונה הייתה התפיסות שהתלמידים פיתחו לתיאור סכימת
חשיבה על העולם במונחי אובייקטים ופעולות עליהם הן:
תפיסת "הכנת מקום לאובייקטים" -פעולת האתחול של טיפוס נתונים
,מכינה ,מראש את הטיפוס לעבודה ומקצה מספיק מקום לאובייקטים
שיוכנסו לתוכו;
תפיסת "חוסר היכולת להעתיק אובייקט" -פעולה על טיפוס הנתונים
משנה אותו ,למרות שהיא פעולת קריאה ,הפעולה לוקחת את הערך ,ו
לכן הוא יצא מטיפוס הנתונים ומקומו יהפוך להיות ריק (יכיל את הערך
אפס).
בדומה למשתנים ,מטפורת הקופסה ,גם כאן תופסת והצבת או קריאת
הערך תגרום להוצאתו מהקופסה ,כאילו הוא אובייקט פיזי.
הקטגוריה השנייה מתייחסת להתנהגויות ולקשיים ה
קיימים במעבר מאינטואיציה/שפה טבעית לשפת תכנ
ות (פסואדו קוד) .המעבר הזה מאוד קשה ,ובו מסת
תרים רוב הקשיים היכולים להיות מוסברים על-ידי נגי
שות המידע המשלה את הפותר בביצוע אוטומטי של
פעולות כשהן מבוצעות מנטלית ואין צורך לכתוב אותן
כמו פעולת הקריאה של ערך או הבלבול בין איבר למ
קומו בטיפוס הנתונים.
גורמים אחרים אפשריים לקשיים הם:
המספר הרב של משמעויות הוראות בשפה הטבעית.
ידע קודם הנחלץ לעזרת ידע חדש ולא מגובש והשפעות של התנסויות
קודמות.
אמונות של תלמידים בנוגע לפתרון שאמור להיות קצר ומשלב את החו
מר האחרון שנלמד.
סלידה משימוש בדברים מוכנים (פעולות נתונות על טיפוסי נתונים).
כניסה למימוש של הטיפוס בתכנות (אי הסתרת מידע וחסר הפשטה).
עקרון המאמץ המינימלי בחיפוש אחר הפתרון.
שימוש במטפורות והעברה של מאפיינים לא מתאימים מהתחום המסבי
ר לתחום המוסבר וקשיים הנובעים מייצוגים חזותיים של טיפוסי נתונים
אסטרטגיות פתרון בעיות מוצלחות ,למרות שהן פחות יעילות
מפתרונות אחרים ,הן מציעות פתרון מיידי במינימום מאמץ ק
וגניטיבי ,למשל ,האלגוריתם יהיה תרגום ישיר לפעולות מנט
ליות שמבוצעות תוך כדי הניסיון למצוא פתרון לבעיה או שימו
ש באסטרטגית השוואה פיזית על מנת להשוות בין התוכן של
שני טיפוסי נתונים.
חלק לא מבוטל מהתלמידים מתייחסים למחסנית
כמורכבת ממקומות פיזיים המכילים אובייקטים ,מקום
המכיל אפס משמע שאין בו אובייקט.
אנו נראה כי מתן המשמעות היומיומית של אפס כמשהו
ריק או פנוי נותנת פתרון שנראה לכאורה מאוד יפה.
כלומר ,ההיתפסות במשמעות של אפס מחיי יומיום
(משמעות שכבר קיימת במערכת – )1והעדות לחוזקה
של מערכת – 1הוא שבכל זאת במצבים כאלה עדיין
מערכת " 1מבצעת את ההצגה" ""run the show
ומובילה לתגובות לא נורמטיביות.
הממצא המעניין – והעדות לחוזקה של – S1הוא שבכל זאת במצבים
כאלה עדיין " S1מבצעת את ההצגה" " "run the showומובילה לתגובות
לא נורמטיביות".
אני חושב כי המקרה הזה מעיד על חוזקה של מערכת ,1ועל אי יכולתה
של מערכת 2לבקר אותה במקרים מסוימים ,למרות ששם המשחק הוא
חשיבה מופשטת.
ניתן להגיד כי קיימת השפעה של ייצוג קודם ובו התייחסו לתאי המערך
כשהמחסנית ריקה כלא מכילים איברים השייכים למחסנית ולכן היה שימוש
במונה countשציין כמה איברים כבר הוכנסו למחסנית .
מהו מספר-התת-סדרות ברשימה.
דוגמא :עבור הרשימה :
3,5,6,7,8,9,45,87,90,91,92,93,7,5,23,24,87,
567,77,78,79,90,91
האלגוריתם יחזיר .5
אחד ההסברים שנראה לי סביר לתופעה זו ,הוא
הביצוע האוטומטי של מספר פעולות הקשורות
במידה מסוימת בתנועה ובמיקום .בני האדם
רגילים לבצע את המעבר על רשימה של אובייקטים
אוטומטית ,כאילו בלי להשתמש בפעולה ספציפית.
זו פעולה ששייכת למערכת 1והיא מבוצעת ללא כל
מאמץ .התלמידים מסבירים כי הנה הערך,
מצביעים על הערך ולכן הוא בהישג יד (נגיש).
מערכת 1שואלת מאסטרטגיות בפתרון בעיות את
העיקרון של דברים קיימים או נגישים ואז בשביל
מה צריך לבצע פעולות? הרי התוצאה כבר קיימת.
כבר ראינו דוגמאות לכך כי בני האדם לא רגילים לחשוב לעומק
והם בדרך כלל נותנים אימון בפתרון מקובל הקופץ מהר למוח.
כאן ,ראינו את השימוש בתרגום הישיר של הפעולות אותן מבצע
אליאס על הדוגמה הספציפית ,כאשר הוא מתעלם מחלק
מהפעולות האחרות ,כנראה בגלל זמינותן .בקשתי מהתלמיד 3
פעמים לבדוק את האלגוריתם ,והדוגמה הספציפית שניתנה היתה
ארוכה במיוחד .למרות זאת ,הוא מצא כי האלגוריתם עובד .כנראה
שהביטחון והסיפוק מפתרון השאלה בשלב מסוים גם הם עוזרים
להתעלם מטעויות קיימות ולכן הן לא מאפשרות למערכת 2
להתערב ולתקן את הטעות .אולי אימון וחיזוק של מערכת 2
שהתערבותה תהיה הכרחית כתוצאה מהרגל לחשוב לעומק יסייע
לתלמידים להתגבר על סוגים כאלה של מחשבות כשהן נותנות
תשובות לא נכונות.
מה שמעניין בדוגמה זו ובכמה מקרים דומים שהיו במחקר ,הוא
חוסר היכולת של התלמידים לתקן את הטעות ,למרות שהם
בודקים את עצמם .אני חושב שאולי זהו הדבר היחידי שעלה להם
למוח והוא נראה להם נכון ,לכן הם בטוחים בו .ממצא זה דומה
לממצא המרכזי במחקרים על מקבלי החלטות הפועלים תחת לחץ
( ,)Klein, 1998לפיו הצורך לבחור בין אופציות הוא נדיר ,כי ברוב
המקרים מגיעה לראשם רק אופציה אחת ,כי האופציות שנפסלו
בכלל לא מיוצגות.
המאפיין הזה מציג סוג של תפיסות ,בו אין צורך לבצע פעולות
(כאילו הן מתבצעות אוטומטית) כתוצאה מנגישות המידע
הויזואלית .לדוגמה ,אם אנו נמצאים על איבר ברשימה או בצומת
של עץ ,הערך של האיבר או הצומת זמין (ויזואלית) וזה נכון גם
במקרה של ראש התור וראש המחסנית .
למה התלמידים נקטו באסטרטגיה זו? הרי קיימת
אסטרטגיה חלופית לפתרון ,בה ניתן קודם לקחת את
האובייקט הראשון ולשים אותו במקום כלשהו בסידור
החדש ,אחר כך ניקח את האובייקט שהיה שני בסידור
הראשון ונעביר למקום אחד לפני האובייקט ששמנו
בסידור החדש וכן הלאה .אסטרטגיה זו הינה
בעייתית ,יכול להיות שלא יהיה מספיק מקום לכל
האובייקטים מהסידור הראשון (לא הערכנו נכון את
השטח המספיק) ואז נאלץ להזיז את כל האובייקטים,
דבר הכרוך בהרבה מאמץ (לכן הדרך שתוארה קודם
יותר יעילה) .ניתן לשער כי לתלמידים יש מספיק ניסיון
יומי מוצלח עם האסטרטגיה הראשונה ויכול להיות
שהיא כבר קיימת במערכת 1ומשתמשים בה בבעיות
בהן קיימת דרישה לשימוש בסידור מסוג זה.
בפתרון זה אנו עוברים על הרשימה Lפעם אחת ,וכל
פעם לוקחים עותק מאיבר של Lומכניסים אותו אחרי
העוגן של ( L1או אחרי חולית הדמה) .הלולאה
מתבצעת Nפעמים ,כאשר בכל פעם הפעולות שבתוך
הלולאה לוקחות מספר קבוע של יחידות זמן שלא
תלוי ב ,N -לכן סיבוכיות הזמן של הפתרון היא ).O(n
משמעות
יומיומית
נגישות המידע
אסטרטגיות
לפתרון בעיות
ידע קודם
תרגום משפה
טבעית
"הכנת טיפוס לעבודה" ,אובייקט הינו יחיד ולא ניתן
להעתקה ,המשמעות של אפס היא כלום.
ביצוע פעולות באופן אוטומטי,
בלבול בין האיבר בטיפוס למקומו
סידור אובייקטים ,השוואת גודל
קידום המצביע ברשימה כמו במערך:
P ←P+1
סוף-רשימה ,מחק ,הוצא מרשימה
תרומתו העיקרית של המחקר הנוכחי היא בזיהוי קשיי הבנה
של תלמידי תיכון בטיפוסי נתונים מופשטים ובהצעת מקורות
אפשריים לקשיים אלו.
הממצאים וההסברים התיאורטיים המוצגים במחקר זה
עוסקים בתחום החשיבה על טיפוסי נתונים מופשטים .כך
שעבודה זו מוסיפה על הידע הקיים כיום על טיפוסי נתונים.
המסגרת התיאורטית של המחקר הינה שילוב בין תיאוריית
המערכת הכפולה ומטפורות ,אשר תרמה לניתוח הקשיים
שזוהו ולמציאת מקורותיהם .זוהו קשיים כנובעים מחשיבה
במערכת 1והעשויה להוביל לתוצאות לא נורמטיביות בניגוד
לידע הקיים במערכת .2בנוסף ,אובחן קושי אחר הנובע
מהבנה חלקית במערכת 2של טיפוסי נתונים מופשטים .ניתן
לשאוף לשיפור במקרים בהם מערכת 2מעורבת בהחלטה
ולגרום להפעלה תכופה יותר שלה לבקרה בעת קבלת
החלטות.
.1זהירות בשימוש במטפורות להוראת טנ"מים
לעזור לתלמידיהם לזהות את שני התחומים – התחום
המסביר והתחום המוסבר – ביניהם מקשרת המטפורה,
וליצור את הקשרים ביניהם.
לדון במאפיינים שאינם באים לידי ביטוי במטפורה .בנוסף,
צריך לדון בתחום השימושיות של המטפורה.
.2אמונות של תלמידים
•
•
•
•
תלמידים מאמינים כי או שהבעיה נפתרת תוך 10
דקות או שהבעיה לא ניתנת לפתרון .כמו כן הם
מאמינים כי הפתרון של הבעיה חייב להסתמך על
החומר האחרון שנלמד.
סלידה משימוש בדברים מוכנים (פעולות נתונות על
טיפוסי נתונים בלי לדעת איך הן ממומשות).
פתרון ארוך אינו יעיל
חשוב לבחון את הפתרון מכמה אספקטים ולהציע
כמה פתרונות חלופיים ולדון בהבדלים בין הפתרונות
השונים .הצגת מספר פתרונות לבעיה יכולה לחדד
נקודות לא מובנות אצל התלמידים ועשויה לעודד
אותם לחפש עוד דרכים לפתרון ולא לתת אימון ברעיון
הראשון שקופץ להם.
.3ייצוג חזותי
• כמעט בכל מקרה שמדברים על
טיפוס נתונים נוהגים לציירו
ולעקוב אחר העבודה איתו
בעזרת ציור .הייצוג החזותי
משפיע על תפיסות שמפתחים
תלמידים לגבי טיפוס הנתונים.
על המורים להיות זהירים
ולבחון מלכתחילה את אפשרות
השפעת כל פרט קטן בציור
ולהסביר את תחום השימושיות
של הייצוג החזותי.
.4שינוי השם של הפעולות על טיפוסי הנתונים
מומלץ לבחון שמות חדשים לממשק רשימה.
הבא:
בשם
להשתמש
שכדאי
חושב
אני
get_address_of_next_elementבמקום ,list_next
במקום
delete_element_from_list_at
ובשם
list_deleteועוד.
.5טיפוס הנתונים רשימה
• כדאי להכין פעילויות המחייבות שימוש בפעולות של
הממשק של רשימה בהן יכולות לעלות התפיסות
המוטעות לגבי הטיפוס והפעולות עליו ולדון בהן עם
התלמידים ,כאשר מטרת הפעילות היא להפנים את
הפעולות ומשמעותן.
• כדאי להשתמש מההתחלה בדוגמאות המכילות רשומה
ובה מספר שדות -רשומה של כתה או של תלמיד או
של קורס באוניברסיטה.
• על המורים לשים לב לדוגמאות ,לייצוג החזותי,
.6בניית סביבה ממוחשבת לתכנות אלגוריתמי