Transcript מצגת

‫ד”ר דן אהרוני‬
‫המרכז הארצי למורי מדעי‪-‬המחשב‬
‫המחלקה להוראת הטכנולוגיה והמדעים‬
‫בטכניון‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪1‬‬
‫סעיפי ההרצאה‪:‬‬
‫‪ ‬הקדמה‬
‫‪ ‬הוראת מבני‪-‬נתונים — הרהור ראשון‬
‫‪ ‬קורס מזורז במבני‪-‬נתונים‬
‫‪ ‬תהליכים קוגניטיביים הקשורים בעיסוק במבני‪-‬‬
‫נתונים‬
‫‪ ‬הוראת מבני‪-‬נתונים — הרהור שני‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪2‬‬
‫אתה נמצא כאן‪:‬‬
‫‪ ‬הקדמה‬
‫‪ ‬הוראת מבני‪-‬נתונים — הרהור ראשון‬
‫‪ ‬קורס מזורז במבני‪-‬נתונים‬
‫‪ ‬תהליכים קוגניטיביים הקשורים בעיסוק במבני‪-‬‬
‫נתונים‬
‫‪ ‬הוראת מבני‪-‬נתונים — הרהור שני‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪3‬‬
‫אתה נמצא כאן‪:‬‬
‫‪ ‬הקדמה‬
‫‪ ‬הוראת מבני‪-‬נתונים — הרהור ראשון‬
‫‪ ‬קורס מזורז במבני‪-‬נתונים‬
‫‪ ‬תהליכים קוגניטיביים הקשורים בעיסוק במבני‪-‬‬
‫נתונים‬
‫‪ ‬הוראת מבני‪-‬נתונים — הרהור שני‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪4‬‬
‫איך להתחיל?‬
‫מה זה "מבנה‪-‬נתונים" בכלל?‬
‫ומה זה "מערך"?‬
‫המורה הביתה!‬
‫‪I‬‬
‫‪Make love‬‬
‫‪not‬‬
‫!‪school‬‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫!‪Alice‬‬
‫שיקופית ‪5‬‬
‫איך להתחיל?‬
‫מה זה "חתול"?‬
‫אה! זה ממש פשוט‪:‬‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪6‬‬
‫איך להתחיל?‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫הגדרה‪" :‬חתול" ‪ C‬הוא רביעייה‪:‬‬
‫}‪C={b, h, L, t‬‬
‫כאשר —‬
‫• ‪ bB‬הוא איבר מקבוצת הגופים ‪B‬‬
‫• ‪ h H‬הוא איבר מקבוצת הראשים ‪H‬‬
‫• ‪ L‬הוא קבוצה סדורה סופית של רגליים‬
‫(‪)|L|=4‬‬
‫• ‪ t‬הוא הסיפא של החתול (המכונה לעיתים‬
‫"זנב")‬
‫עכשיו‪ ,‬כשאנחנו מבינים מה זה "חתול"‪ ,‬הבה‬
‫נתרגל‪:‬‬
‫נכתוב תכנית המממשת חתול……‪.‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪7‬‬
‫איך להתחיל?‬
‫אתה נמצא כאן‪:‬‬
‫‪ ‬הקדמה‬
‫‪ ‬הוראת מבני‪-‬נתונים — הרהור ראשון‬
‫‪ ‬קורס מזורז במבני‪-‬נתונים‬
‫‪ ‬תהליכים קוגניטיביים הקשורים בעיסוק במבני‪-‬‬
‫נתונים‬
‫‪ ‬הוראת מבני‪-‬נתונים — הרהור שני‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪9‬‬
‫אתה נמצא כאן‪:‬‬
‫‪ ‬הקדמה‬
‫‪ ‬הוראת מבני‪-‬נתונים — הרהור ראשון‬
‫‪ ‬קורס מזורז במבני‪-‬נתונים‬
‫‪ ‬תהליכים קוגניטיביים הקשורים בעיסוק במבני‪-‬‬
‫נתונים‬
‫‪ ‬הוראת מבני‪-‬נתונים — הרהור שני‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪10‬‬
‫קורס מזורז‪ ,‬כאילו‪ ,‬במבני‪-‬נתונים‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪11‬‬
‫קורס מזורז‪CEILU,‬‬
‫כאילו‪ ,‬במבני‪-‬נתונים‬
‫‪CEILU:‬‬
‫— ‪Computer-science Education‬‬
‫‪Instant Learning and Understanding‬‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪12‬‬
‫מבני‪-‬נתונים (‪)Data Structures‬‬
‫מדעי‪-‬המחשב‬
‫מבני‪-‬‬
‫נתונים‬
‫מוישה‪ ,‬תסגור את הדלת!‬
‫•‬
‫•‬
‫• פעולות על הנתונים‬
‫נתונים‬
‫צורות ארגונם‬
‫המאורגנים‬
‫מערך (‪)Array‬‬
‫קבוצת זוגות‪:‬‬
‫(סדרת‪-‬אינדקסים‪ ,‬ערך)‬
‫‪...‬‬
‫(יום‪ ,‬נושא)‬
‫((יום‪-‬ראשון‪ ,‬טמפרטורה)‪,‬‬
‫‪)43‬‬
‫((יום‪-‬ראשון‪ ,‬ציטוט)‪" ,‬בלי‬
‫פאניקה!")‬
‫((יום‪-‬שני‪ ,‬צעצוע)‪,‬‬
‫((יום‪-‬שני‪ ,‬אוכל)‪,‬‬
‫)‬
‫)‬
‫מערך (‪)Array‬‬
‫קבוצת זוגות‪:‬‬
‫(סדרת‪-‬אינדקסים‪ ,‬ערך)‬
‫נושא‬
‫יום‬
‫יום ראשון‬
‫יום שני‬
‫ציטוט‬
‫טמפרטו‬
‫רה‬
‫"בלי פאניקה"‬
‫‪43‬‬
‫”!‪“Hello world‬‬
‫‪7‬‬
‫צעצוע מאכל‬
‫מערך (‪)Array‬‬
‫קבוצת זוגות‪:‬‬
‫(סדרת‪-‬אינדקסים‪ ,‬ערך)‬
‫פעולות על מערכים‪:‬‬
‫‪ ‬הכנס(ערך‪,‬‬
‫אינדקסים)‬
‫‪ ‬מיהו‪-‬‬
‫הערך(אינדקסים)‬
‫מיהו‪-‬הערך((יום ראשון‪,‬‬
‫ציטוט))‬
‫הכנס("בלי פאניקה!"‪( ,‬יום ראשון‪,‬‬
‫ציטוט))‬
‫מחסנית (‪)Stack‬‬
‫מבנה נתונים בתצורת ‪LIFO‬‬
‫•‬
‫•‬
‫‪LIFO: Last In — First Out‬‬
‫גישה רק לפריט שבראש‬
‫המחסנית‬
‫מחסנית (‪)Stack‬‬
‫מבנה נתונים בתצורת ‪LIFO‬‬
‫פעולה‪ :‬הכנסת פריט —‬
‫)‬
‫(‪PUSH(item‬‬
‫(‪PUSH‬‬
‫"בלי פאניקה"‬
‫"בלי פאניקה"‬
‫‪23‬‬
‫‪23‬‬
‫מחסנית (‪)Stack‬‬
‫מבנה נתונים בתצורת ‪LIFO‬‬
‫פעולה‪ :‬הוצאת ראש המחסנית —‬
‫‪POP‬‬
‫‪POP‬‬
‫"בלי פאניקה"‬
‫"בלי פאניקה"‬
‫‪23‬‬
‫‪23‬‬
‫מחסנית (‪)Stack‬‬
‫מבנה נתונים בתצורת ‪LIFO‬‬
‫פעולה‪ :‬מיהו הפריט שבראש המחסנית? — ‪)Top Of Stack( TOS‬‬
‫= ‪TOS‬‬
‫"בלי פאניקה"‬
‫‪23‬‬
‫מחסנית (‪)Stack‬‬
‫מבנה נתונים בתצורת ‪LIFO‬‬
‫פעולה‪ :‬האם המחסנית ריקה? —‬
‫?‪IS_EMPTY‬‬
‫לא = ?‪IS_EMPTY‬‬
‫"בלי פאניקה"‬
‫‪23‬‬
‫כן = ?‪IS_EMPTY‬‬
‫התחלה‬
‫רשימה מקושרת (‪)Linked list‬‬
‫כל פריט מפנה לפריט הבא‬
‫אחרון‬
‫ודי!‬
‫‪43‬‬
‫"בלי פאניקה"‬
‫רשימה מקושרתעם מעגל‬
‫כל פריט מפנה לפריט הבא‬
‫לך‬
‫לפינקלשטיי‬
‫ן‬
‫לך לעציוני‬
‫לך לג’באר‬
‫המשרד‬
‫לליטוף‬
‫האזרח‬
‫לך לאלבז‬
‫לך לעציוני‬
‫מודיעי‬
‫ן‬
‫מבני נתונים מופשטים‬
‫”בלי פאניקה“‬
‫‪23‬‬
‫התחלה‬
‫די כבר !‬
‫((יום‪-‬ראשון‪ ,‬טמפרטורה)‪)43 ,‬‬
‫((יום‪-‬ראשון‪ ,‬ציטוט)‪" ,‬בלי פאניקה")‬
‫‪...‬‬
‫‪4‬‬
‫‪3‬‬
‫((יום‪-‬שני‪ ,‬צעצוע)‪,‬‬
‫((יום‪-‬שני‪ ,‬אוכל)‪,‬‬
‫)‬
‫)‬
‫“בלי פאניקה”‬
‫המופשט והמוחשי‪:‬‬
‫מתמטיקה לעומת מבני‪-‬נתונים‬
‫מוחשי‬
‫‪2.1+3‬‬
‫‪p‬‬
‫מופש‬
‫ט‬
‫‪R,,‬‬
‫מתן דוגמא‬
‫ָׂש ֶדה‬
‫יצירת‬
‫מבנה מתמטי‬
‫חדש‬
‫המופשט והמוחשי‪:‬‬
‫מתמטיקה לעומת מבני‪-‬נתונים‬
‫מוחשי‬
‫;‪Procedure stack‬‬
‫‪Variables:‬‬
‫;‪P: pointer‬‬
‫‪Leron, 1987‬‬
‫;‪S: array‬‬
‫;‪I: counter‬‬
‫‪‬‬
‫‪‬‬
‫‪10010110101011‬‬
‫‪‬‬
‫מימוש‬
‫מופש‬
‫ט‬
‫“בלי‬
‫‪23‬‬
‫פאניקה”‬
‫מימוש‬
‫אתה נמצא כאן‪:‬‬
‫‪ ‬הקדמה‬
‫‪ ‬הוראת מבני‪-‬נתונים — הרהור ראשון‬
‫‪ ‬קורס מזורז במבני‪-‬נתונים‬
‫‪ ‬תהליכים קוגניטיביים הקשורים בעיסוק במבני‪-‬‬
‫נתונים‬
‫‪ ‬הוראת מבני‪-‬נתונים — הרהור שני‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪27‬‬
‫אתה נמצא כאן‪:‬‬
‫‪ ‬הקדמה‬
‫‪ ‬הוראת מבני‪-‬נתונים — הרהור ראשון‬
‫‪ ‬קורס מזורז במבני‪-‬נתונים‬
‫‪ ‬תהליכים קוגניטיביים הקשורים בעיסוק במבני‪-‬‬
‫נתונים‬
‫‪ ‬הוראת מבני‪-‬נתונים — הרהור שני‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪28‬‬
‫דן אהרוני‬
‫בהנחיית פרופ’ אורי לירון‬
‫מחקר במסגרת עבודת דוקטורט‬
‫במחלקה להוראת הטכנולוגיה והמדעים‬
‫הטכניון — מכון טכנולוגי לישראל‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪29‬‬
‫ח‪ :‬מה זה "מערך"?‬
‫ירין‪ :‬מערך הוא מקום רציף בזיכרון [של‬
‫המחשב]‬
‫שמכיל איברים מאותו טיפוס ‪.‬‬
‫חשיבה מוכוונת תכנות‬
‫&‬
‫חשיבה מוכוונת שפת‪-‬תכנות‬
‫ח‪ :‬מה זה "מערך"?‬
‫ירין‪ :‬מערך הוא מקום רציף בזיכרון [של‬
‫המחשב]‬
‫שמכיל איברים מאותו טיפוס ‪.‬‬
‫חשיבה מוכוונת שפת‪-‬תכנות‬
‫משימה‪ :‬לפתור בעיה נתונה על‪-‬ידי הצגת אלגוריתם כללי‪.‬‬
‫אורטל השתמשה במחסניות‪.‬‬
‫אורטל‪:‬אני אבצע ‪ POP‬עד שאגיע לתחתית המחסנית‪.‬‬
‫ח‪:‬‬
‫איך תדעי‪ ,‬שהגעת לתחתית המחסנית?‬
‫אורטל‪ :‬אני יודעת את כתובת ההתחלה של המחסנית‪ ,‬נכון?‬
‫מוחשי‬
‫מופש‬
‫ט‬
‫מופש‬
‫ט‬
‫מוחשי‬
‫;‪Procedure stack‬‬
‫‪Variables:‬‬
‫;‪P: pointer‬‬
‫;‪S: array‬‬
‫הבחנה בין גירסא מופשטת של מושג‬
‫חוסר ‪I:‬‬
‫;‪counter‬‬
‫לבין‪ ‬גירסא מוחשית שלו‪:‬‬
‫‪‬‬
‫‪‬‬
‫;‪Skemp, 1971 ;Olsen, 1993‬‬
‫‪ ;Leonard, 1991‬ועוד‪.‬‬
‫=‬
‫מתמטיק‬
‫‪X‬‬
‫“בלי‬
‫‪23‬‬
‫פאניקה”‬
‫‪Y‬‬
‫=‬
‫פונקציה‬
‫מופש‬
‫ט‬
‫“בלי‬
23
”‫פאניקה‬
‫עצם‬
‫מוחשי‬
Procedure stack;
Variables:
P: pointer;
S: array;
I: counter;
:‫מודל זה ודומיו‬

 Nichols, 1992;
Breidenbach, Dubinsky, Hawks &

. Sfard, 1991 ;Sfard & Linchevski, 1994
‫תהליך‬
‫משימה‪ :‬מחשוב מסעדה‪ ,‬תוך שימוש במחסניות בלבד‪.‬‬
‫אסטרטגיות‪:‬‬
‫נפעל עם המחסניות בצורות‬
‫שונות‪ ,‬עד שתתקבל‬
‫תשובה לבעיה‪.‬‬
‫‪ .1‬אנו זקוקים לתור‪ .‬עם‬
‫התור אנחנו‪...‬‬
‫‪ .2‬כעת עלינו לממש תור‬
‫בעזרת מחסניות בלבד‪.‬‬
‫בעיה‬
‫אילוצים‬
‫דרישות‬
‫נתונים‬
‫אסטרטגיות לפתרון בעיות‬
‫מוכוונת‬
‫אילוצים‬
‫עבד את הנתונים בהתאם‬
‫לאילוצים‪ ,‬כדי לקבל פתרון‬
‫כולל העונה על הדרישות‪.‬‬
‫מוכוונת‬
‫דרישות‬
‫• עבד את הנתונים בהתאם לדרישות‪ ,‬כדי‬
‫לקבל פתרון ביניים‪.‬‬
‫• שנה את פתרון הביניים כך שיענה גם על‬
‫האילוצים‪ ,‬וקבל את הפתרון הכולל‪.‬‬
‫מידע רב מדי‬
‫לעיבוד‬
‫מוחשי‬
‫מוכוונת‬
‫אילוצים‬
‫עבד את הנתונים בהתאם‬
‫לאילוצים‪ ,‬כדי לקבל פתרון‬
‫כולל העונה על הדרישות‪.‬‬
‫מחסומי הפשטה‪:‬‬
‫מחסומי‬
‫‪ Abelson & Sussman, 1985‬הפשטה‬
‫‪Leron, 1987‬‬
‫מופש‬
‫ט‬
‫מוכוונת‬
‫דרישות‬
‫• עבד את הנתונים בהתאם לדרישות‪ ,‬כדי‬
‫לקבל פתרון ביניים‪.‬‬
‫• שנה את פתרון הביניים כך שיענה גם על‬
‫האילוצים‪ ,‬וקבל את הפתרון הכולל‪.‬‬
‫משימה‪ :‬מחשוב מסעדה‪ ,‬תוך שימוש במחסניות בלבד‪.‬‬
‫מוכוונת‬
‫אילוצים‬
‫נפעל עם המחסניות בצורות‬
‫שונות‪ ,‬עד שתתקבל‬
‫תשובה לבעיה‪.‬‬
‫מוכוונת‬
‫דרישות‬
‫‪ .1‬אנו זקוקים לתור‪ .‬עם‬
‫התור אנחנו‪...‬‬
‫‪ .2‬כעת עלינו לממש תור‬
‫בעזרת מחסניות בלבד‪.‬‬
‫חשיבה מוכוונת אילוצים‬
‫מוכוונת‬
‫אילוצים‬
‫נפעל עם המחסניות בצורות‬
‫שונות‪ ,‬עד שתתקבל‬
‫תשובה לבעיה‪.‬‬
‫מוכוונת‬
‫דרישות‬
‫‪ .1‬אנו זקוקים לתור‪ .‬עם‬
‫התור אנחנו‪...‬‬
‫‪ .2‬כעת עלינו לממש תור‬
‫בעזרת מחסניות בלבד‪.‬‬
‫חשיבה מוכוונת אילוצים‬
‫נפעל עם המחסניות בצורות‬
‫שונות‪ ,‬עד שתתקבל‬
‫תשובה לבעיה‪.‬‬
‫‪‬‬
‫מוכוונת‬
‫אילוצים‬
‫חשיבה מוכוונת אילוצים‬
‫הסברים‪:‬‬
‫רמת הפשטה נמוכה‬
‫אי‪-‬שימוש במחסומי הפשטה‬
‫מבנים מנטליים סותרים לאותו מושג‬
‫מה זה "מערך"?‬
‫ח‪:‬‬
‫צפריר‪ :‬מערך זה מקום רציף בזיכרון […]‬
‫נניח שבזיכרון המחשב קיימים מספר קטעים קטנים‬
‫ח‪:‬‬
‫נפרדים […] האם ניתן ליישם מערך אחד גדול בעזרתם?‬
‫צפריר‪ :‬כמובן; זה פשוט‪[ :‬מתאר מנגנון לפתרון הבעיה]‬
‫‪ +‬מנגנון‬
‫מבנים מנטליים סותרים לאותו מושג‬
‫מוחשי‬
‫מופש‬
‫ט‬
‫מנגנון ‪+‬‬
‫מבנים מנטליים סותרים לאותו מושג‬
‫ידע בחלקים‪:‬‬
‫אבל שתי התשובות סותרות זו את זו!‬
‫‪diSessa, 1988‬‬
‫ח‪:‬‬
‫צפריר‪ :‬הממ… זאת בעיה…‬
‫הסבר‪ :‬ידע בחלקים (‪)Knowledge in pieces‬‬
‫מנגנון ‪+‬‬
‫התעלמות מאלגוריתמים בעלי סיבוכיות‬
‫גבוההבעיה; הוא מתלבט ו"נתקע"]‬
‫[שגיא התחיל לחבר אלגוריתם לפתרון‬
‫מה אתה מנסה לחפש? זאת אומרת איך אתה…‬
‫ח‪:‬‬
‫שגיא‪ :‬תראה‪ ,‬בדרך כלל אתה אמור לראות אם זה בכלל כדאי‬
‫להתחיל להתעמק בכוון הזה‪.‬‬
‫זה הכוון‪ ,‬זאת אומרת זה בהחלט…‬
‫ח‪:‬‬
‫שגיא‪ :‬זה הכוון? או שיש משהו יותר יעיל‪ ,‬שאני אעזוב ואתחיל‬
‫לחשוב על משהו אחר‪[… .‬שותק זמן מה]‬
‫לא איכפת לי שננסה אחר כך פתרון נוסף‪ ,‬זאת אומרת אה…‬
‫ח‪:‬‬
‫אבל זה בהחלט כוון סביר‪.‬‬
‫שגיא‪[ … … … :‬שותק זמן ממושך] זה לא כוון סביר‪.‬‬
‫למה?‬
‫ח‪:‬‬
‫שגיא‪ :‬כי [הסיבוכיות גבוהה]‬
‫[אינו מוכן להמשיך את הפתרון בכוון בו החל]‬
‫התעלמות מאלגוריתמים בעלי סיבוכיות‬
‫גבוהה‬
‫הסבר‪ :‬מתן חשיבות ללא פשרות לסיבוכיות‬
‫[שיבולת מתקשה בפתרון בעיה‪ ,‬והחוקר מבקש ממנה להתעלם לזמן מה‬
‫מהסיבוכיות; היא אינה מצליחה לעשות זאת]‬
‫מעניין שקשה לך להתייחס לדברים כשאני זורק את הסיבוכיות‪.‬‬
‫ח‪:‬‬
‫שיבולת‪:‬כן! כי זה דבר שכל הזמן מתרכזים עליו‪ .‬כמעט כל דבר שאתה‬
‫עושה אתה עושה‪ :‬טוב‪ ,‬נעשה את זה בגלל שהסיבוכיות היא‬
‫ככה וככה‪ .‬אתה רואה כל מיני אלגוריתמים מסוימים ואומר‪ :‬טוב‪,‬‬
‫נשפר את זה כדי שהסיבוכיות תהייה ככה וככה‪.‬‬
‫——‬
‫התעלמות מאלגוריתמים בעלי סיבוכיות‬
‫גבוהה‬
‫הסבר‪ :‬מתן חשיבות ללא פשרות לסיבוכיות‬
‫[מקרה דומה עם סביון]‬
‫או קיי‪ .‬בוא נניח שאנחנו זורקים את הדרישה של הסיבוכיות‪ .‬זאת‬
‫ח‪:‬‬
‫אומרת מבחינתי אני עכשיו מגדיר מערך מבלי להתחשב בסיבוכיות‬
‫שלו‪.‬‬
‫סביון‪ :‬קשה לאחד שלומד עכשיו מבנה‪.‬‬
‫למה?‬
‫ח‪:‬‬
‫סביון‪ :‬כל הדברים זה רק לעשות סיבוכיות‪ .‬אפילו לא מעניין אותם איך‬
‫אתה פותר תרגילים‪ ,‬אבל לא משנה‪.‬‬
‫התעלמות מאלגוריתמים בעלי סיבוכיות‬
‫גבוהה‬
‫הסבר‪ :‬מתן חשיבות ללא פשרות לסיבוכיות‬
‫ח‪:‬‬
‫[צוחק]‪ .‬זאת אומרת העיקר שהסיבוכיות בסדר‪.‬‬
‫סביון‪ :‬כן! זאת אומרת אה‪ ,‬העבודות שמה שעכשיו בודקים לנו‪ ,‬העבודות‬
‫שאנחנו צריכים להגיש תרגיל רטוב‪ ,‬לא מעניין אותם אפילו איך‬
‫תכנית נכתבה‪ .‬דבר מדהים‪ .‬מה שחשוב להם זה שהתיעוד יהיה‬
‫טוב ושתראה שהסיבוכיות שהגעת אליה היא נכונה‪.‬‬
‫——‬
‫התעלמות מאלגוריתמים בעלי סיבוכיות‬
‫גבוהה‬
‫אז מה היה לנו?‬
‫‪ ‬חשיבה מוכוונת תכנות‪ ,‬חשיבה מוכוונת שפת‬
‫תכנות‬
‫‪ ‬חשיבה מוכוונת אילוצים‬
‫‪ ‬מבנים מנטליים סותרים לאותו מושג‬
‫אז מה היה לנו?‬
‫גורמים קוגניטיביים‪:‬‬
‫‪ ‬חשיבה מוכוונת תכנות‪ ,‬חשיבה מוכוונת שפת‬
‫תכנות‬
‫‪ ‬חשיבה מוכוונת אילוצים‬
‫‪ ‬מבנים מנטליים סותרים לאותו מושג‬
‫גורמים אפקטיביים‪:‬‬
‫‪ ‬התעלמות מאלגוריתמים בעלי סיבוכיות גבוהה‬
‫אז מה עוד יש לנו?‬
‫גורמים קוגניטיביים‪:‬‬
‫‪ ‬חשיבה מוכוונת תכנות‪ ,‬חשיבה מוכוונת שפת‬
‫תכנות‬
‫‪ ‬חשיבה מוכוונת אילוצים‬
‫סותריםשללאותו מושג‬
‫‪ ‬מבנים‬
‫אבטיפוסים לקטיגוריות‬
‫מנטליים קיומם‬
‫השערות בדבר‬
‫‪‬‬
‫של מבני‪-‬נתונים‬
‫‪ ‬שימוש בייצוגים חזותיים מקובלים למבני‪-‬נתונים‬
‫‪ ‬ועוד‬
‫גורמים אפקטיביים‪:‬‬
‫‪ ‬התעלמות מאלגוריתמים בעלי סיבוכיות גבוהה‬
‫‪ ‬סלידה מכתיבה מפורטת של אלגוריתמים‬
‫נמוכה‬
‫חוסר שימוש‬
‫במחסומי‬
‫הפשטה‬
‫רמת הפשטה‬
‫חשיבה משוחררת‬
‫מתכנות‬
‫חשיבה בעלת הקשר תכנותי‬
‫חשיבה מוכוונת שפת תכנות חשיבה מוכוונת תכנות‬
‫הסיבוכיות‬
‫מעל לכל‬
‫חשיבה מוכוונת‬
‫אילוצים‬
‫שימוש בתחביר של‬
‫שפת תכנות‬
‫מסוימת בתוך‬
‫פסאודו‪-‬קוד‬
‫תפיסת הסטטיות‬
‫והדינאמיות של‬
‫מבני‪-‬נתונים‬
‫גבוהה‬
‫תפיסת מבנה‪-‬נתונים‬
‫כפי שמבנה‪-‬הנתונים‬
‫המוחשי (טיפוס‪-‬‬
‫הנתונים הפרימיטיבי)‬
‫מוגדר בשפה‬
‫"גישה לאיבר‬
‫במערך היא‬
‫תמיד ב‪"O)1(-‬‬
‫"כל האיברים‬
‫במערך הם‬
‫בעלי אותו‬
‫טיפוס"‬
‫ייצוג חזותי של‬
‫מבני‪-‬נתונים‬
‫פרגמטיזם‬
‫תפיסת‬
‫יכולת‬
‫הריקון של‬
‫מבני‪-‬‬
‫נתונים ידע‬
‫בחלקים‬
‫מבנים תודעתיים‬
‫סותרים לאותו מושג‬
‫מבט מלבר‬
‫על מבנה‪-‬‬
‫נתונים‬
‫ממצא‬
‫נצפה‬
‫הסבר תיאורטי‬
‫אתה נמצא כאן‪:‬‬
‫‪ ‬הקדמה‬
‫‪ ‬הוראת מבני‪-‬נתונים — הרהור ראשון‬
‫‪ ‬קורס מזורז במבני‪-‬נתונים‬
‫‪ ‬תהליכים קוגניטיביים הקשורים בעיסוק במבני‪-‬‬
‫נתונים‬
‫‪ ‬הוראת מבני‪-‬נתונים — הרהור שני‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪55‬‬
‫אתה נמצא כאן‪:‬‬
‫‪ ‬הקדמה‬
‫‪ ‬הוראת מבני‪-‬נתונים — הרהור ראשון‬
‫‪ ‬קורס מזורז במבני‪-‬נתונים‬
‫‪ ‬תהליכים קוגניטיביים הקשורים בעיסוק במבני‪-‬‬
‫נתונים‬
‫‪ ‬הוראת מבני‪-‬נתונים — הרהור שני‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪56‬‬
‫השלכות להוראה‬
‫מה 'כפת 'ך?‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪57‬‬
‫השלכות להוראה‬
‫סיוע לתהליכי ההפשטה‬
‫‪ ‬הפרדת הלימוד —‬
‫‪ .1‬מבנים מופשטים בלבד‬
‫‪ .2‬לימוד המימוש‬
‫‪TOS‬‬
‫”בלי פאניקה“‬
‫‪23‬‬
‫‪PUSH‬‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪58‬‬
‫השלכות להוראה‬
‫סיוע לתהליכי ההפשטה‬
‫‪ ‬הפרדת הלימוד —‬
‫‪ .1‬מבנים מופשטים בלבד‬
‫‪ .2‬לימוד המימוש‬
‫‪4‬‬
‫‪3‬‬
‫‪ ‬עולמון המכיל מבני נתונים —‬
‫• מופשטים‬
‫• מוכללים‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪59‬‬
‫השלכות להוראה‬
‫סיוע לפתרון בעיות‬
‫‪ ‬הדרכה ותרגול בחשיבה מוכוונת דרישות‬
‫• בתחילה‪ :‬בעיות המוצגות ללא אילוצים; האילוצים נוספים לאחר‬
‫הפתרון הראשוני‪.‬‬
‫• בהמשך‪ :‬תרגול פתרון בעיות לפי שלבים‪.‬‬
‫‪ ‬תרגול האפשרות להתעלם מסיבוכיות‬
‫יום עיון "עיצוב תכנה"‪ 31 ,‬בינואר ‪2002‬‬
‫מדוע יחייך החתול? מבני נתונים — תהליכים קוגניטיביים והשלכותיהם על הוראה‬
‫ד“ר דן אהרוני‪ ,‬מרכז מורים ארצי למדעי‪-‬המחשב‬
‫שיקופית ‪60‬‬
‫רשימה מקושרת‬
‫כל פריט מפנה לפריט הבא‬
‫די‬
‫כבר !‬
‫‪4‬‬
‫‪3‬‬
‫“בלי פאניקה”‬
‫)‬
‫“בלי‬
‫‪23‬‬
‫פאניקה”‬
‫‪((Monday, toy),‬‬
‫התח‬
‫לה‬
e-mail:
[email protected]