נוע רגוניס דוקטורט 2004
*זכתה במילגה לזכרה של אורלי קפלן
בהנחיית: 'פרופ מרדכי בן-ארי
עבודת מחקר זו עוסקת בהיבטים שונים של הוראת תכנות מונחה עצמים )תמ"ע( כפרדיגמה ראשונה למתחילים. מטרת העבודה לשפוך אור על מימדים שונים ולהוות בסיס משמעותי לקבלת תשובות...
לשאלות: )1 )אילו מושגי מפתח של תכנות מונחה עצמים חשוב וניתן לכלול בקורס מבוא כדי לאפשר בניית מודל ידע מתאים של הפרדיגמה על ידי תלמידי תיכון מתחילים?; )2 )מה הן התפיסות שתלמידים מתחילים בונים תוך לימוד מושגי היסוד בתכנות מונחה עצמים?; )3 )מה הוא רצף הוראה מתאים לרכישת מושגי מפתח בתכנות מונחה עצמים למתחילים? המחקר הוא איכותני קונסטרוקטיביסטי המיישם את שיטות המחקר בפרדיגמה זו במחקר העוסק בתפיסת מושגי תמ"ע במדעי המחשב. ממצאי המחקר נאספו לאורך כל יחידת הלימוד וכוללים חומרים מכלי מחקר אותנטיים ומגוונים כמו: תצפיות, שעורי בית, עבודות כיתה, עבודות מעבדה, מבחנים, משובים ועוד. איסוף החומר נעשה במשך שנתיים. המחקר מציג יישום ייחודי של עקרונות גישת המחקר האיכותי קונסטרוקטיביסטי בתחומי ניתוח הממצאים, הצגת הממצאים וניתוחם. גישת ההוראה שיושמה היא גישת "עצמים תחילה" )first objects ,)תוך מימושה בשפת התכנות Java ,ושימוש בסביבת הפיתוח הויזואלית BlueJ .בהתאם לכך נבחר אוסף מושגי הבסיס אותם יש לדעתנו ללמד ביחידת לימוד ראשונה בתמ"ע: טיפוס, עצם, תכונות, פעולות, יצירת עצמים, פעולה יוצרת, טיפוס המשתמש בטיפוסים אחרים )שיכונה במחקר זה טיפוס מורכב(, הפעלת פעולות על עצמים, מצב של עצם והדרכים לשינויו, פעולות קובעות, ופעולות מאחזרות. כמו כן חשוב להקנות מיומנויות לשימוש בטיפוסים מוכנים על פי ממשק נתון. ההחלטות המנחות לגבי סדר הוראת המושגים הן: להציג מן ההתחלה טיפוס פשוט וטיפוס מורכב במימוש קשר של הכלה, להמנע מלהציג תכנית ראשית למשך זמן ממושך, לתת דגש בהוראה על מבנה ותפיסה המתאימים לתמ"ע ופחות על פיתוח של אלגוריתמים. אוכלוסיית המחקר המרכזית היא תלמידי תיכון מתחילים, ובנוסף נבדקה אוכלוסייה של סטודנטים להוראה ומעט מורים משתלמים. לאחר איסוף הנתונים וניתוחם עלו באופן בולט תפיסות וקשיים בארבעה מוקדי מושגים מרכזיים. הממצאים מוצגים בשתי דרכים: תיאור נרטיבי המוצג כסיפור מחקרי וניתוח עומק של ארבעת מוקדי המושגים העיקריים. ייחודיותו של המחקר היא באפיון מפורט של תפיסות התלמידים ובניסיון להצביע על מקורות אפשריים לקשיי התלמידים ולהיווצרות התפיסות השגויות. ארבעת מוקדי המושגים הם: עצם מול טיפוס, פעולה יוצרת, טיפוס פשוט-טיפוס מורכב, זרימה של תכנית. בכל מוקד זוהו תת-קטגוריות של קשיים ותפיסות. סה"כ זוהו 58 מאפיינים שונים בהקשר של ארבעת מוקדי המושגים. הקשיים והתפיסות שעלו בחלוקה למוקדי המושגים הם: עצם מול טיפוס – הבנת הקשר הבסיסי בין טיפוס לעצמים הנוצרים מן הטיפוס, מהותו והשלכותיו, היא הנדבך הראשון בהבנת תמ"ע. תת-הקטגוריות שעלו במוקד זה הן: מהות הטיפוס כתבנית )6 מאפיינים(, קשרים בין עצם לטיפוס )5 מאפיינים(, יצירת עצמים )מאפיין אחד(, זיהוי עצמים )5 מאפיינים(. הקשיים והתפיסות שהופיעו בשכיחות גבוהה אצל תלמידים בשלבים הראשונים של ההוראה הם: "ניתן להגדיר פעולה שלא מתייחסת לאף תכונה", "קשה לתלמידים להבין את המשמעות והסיווג של פעולות שונות", "מה זה יצירה של עצם?", "מי הוא העצם?". ככל שהתקדם התרגול במעבדה בעזרת סביבת הפיתוח BlueJ המושגים קיבלו עוגן משמעותי, ועיקר הקשיים נעלמו. תלמידים העוסקים בטיפוסים השגורים בחיי היום-יום ובייצוג מילולי שלהם בעזרת דיאגראמות "שוכחים" שהם עוסקים בייצוג של מערכת ממוחשבת. הם מתייחסים אל גורמים ושיקולים מחיי היום-יום ו "שמים בצד" את הכללים הפורמאליים. תפיסת המושג זיהוי של עצמים ובעיקר הקושי ב "זיהוי לא חד-משמעי של הישות עקב ריבוי תצוגות" היא משמעותית ביותר בהבנה ובלתי נפרדת מן הבעיה של "מה זה יצירה של עצם?" הגורמים נובעים כפי הנראה מן ההתמודדות עם מושגים מופשטים מצד אחד, ומתרגול בסביבת הפיתוח BlueJ בה העצם מקבל נופח ממשי יותר, אך יש לו הרבה מופעים, מצד שני. תפיסה נוספת שהופיע בהקשר זה רואה בטיפוס "אוסף של עצמים". תפיסה זו שבה ועלתה בהתייחס לטיפוס המורכב. למרות הקשיים ניכר כי ההוראה התיאורטית בעזרת הדיאגראמות ותמיכה על ידי הויזואליזציה של סביבת הפיתוח BlueJ מבססת באופן טוב למדי את גרעין המושגים של תמ"ע. התלמידים מבינים כבר בחודש הראשון את הקשר הבסיסי בין הטיפוס כתבנית אל העצם שהוא ישות "בדמותו" עליה מפעילים פעולות. הם מבינים את ההכללה – טיפוס מייצג את המכנה המשותף של ישויות. הם מבינים את המשמעות והתוצאה של הפעלת פעולות על עצמים. התלמידים נתקלים מאוחר יותר בקשיים חדשים כאשר עליהם לאמת את הבנת המושגים יחד עם מימוש בשפת התכנות. פעולה יוצרת – הבנת הפעולה היוצרת המממשת את הקשר בין הטיפוס לעצם היא מהותית ומושפעת גם מדרך הגדרתה בשפת התכנות. תת-הקטגוריות שעלו במוקד זה הן: הבנה כללית של הפעולה היוצרת )4 מאפיינים(, הבנת הפעולה היוצרת בטיפוס מורכב )3 מאפיינים(, הבנת הפעולה היוצרת בהשפעת גרסת הגדרתה בשפת התכנות )5 מאפיינים(. ניכר כי לתלמידים לא ברור מה קורה בתהליך הממוחשב של יצירת עצמים פשוטים ומורכבים. הקשיים התעוררו למרות ההדרגתיות בהוראה והשימוש בסביבת ויזואליזציה תומכת, ומקורם לדעתי בשלושה גורמים: )1 )הדואליות בהתייחסות לטיפוס הסטאטי מול ההרצה הדינאמית; )2 )קשיים בהבנת ייצוג העצם בתוך המערכת הממוחשבת על ידי שטחי זיכרון מתאימים להגדרתו; )3 )בעיות בהבנת ביצוע פעולות וזרימה של תכנית. המחקר מתאר בפירוט את ההשפעה של גרסאות הגדרה שונות של הפעולה היוצרת בשפת התכנות על הבנת התלמידים. בהתאם לתוצאות המחקר של השנה הראשונה, בשנת המחקר השנייה דבקנו רק בגרסת ההגדרה עם פרמטרים המעבירים ערכים לאתחול התכונות, דבר שמנע חלק ניכר מן הקשיים. במשימות האחרונות בשנה הפגינו התלמידים ידע מבוסס באשר לתהליך היצירה המורכב מהקצאת זיכרון וביצוע גוף הפעולה היוצרת, זאת בטיפוס הפשוט וגם בטיפוס המורכב. טיפוס פשוט – טיפוס מורכב – תלמידים מראים קשיים בהבנת הלב של תכנות מונחה עצמים – מימוש הקשר בין טיפוסים שונים. במחקר זה המונח "טיפוס פשוט" מתייחס לטיפוס שתכונותיו הן מטיפוסים בנויים בשפה, והמונח "טיפוס מורכב" מתייחס לטיפוס שיש בו תכונות מטיפוס אחר של המשתמש. תת-הקטגוריות שעלו במוקד זה הן: הבנת ההכמסה )7 מאפיינים(, הבנת המודולאריות )3 מאפיינים(, טיפוס הוא אוסף עצמים )3 מאפיינים(, הבנת "קופסה שחורה" )מאפיין אחד(, האנשה )מאפיין אחד(, הבנת פעולה עצמית )מאפיין אחד(. הקושי המרכזי העולה הוא בהבנת עקרון ההכמסה. יחד עם זאת, שבע התפיסות בתת קטגוריה זו הופיעו עד למחצית שנת הלימודים ונעלמו עם התקדמות הלמידה. התפיסות מעידות על הקושי בהבנה היסודית, שעצם מהווה ישות אחת הכוללת את כל תכונותיה ומאחר והוא משויך לטיפוס מסוים ניתן להפעיל עליו את הפעולות המוגדרות בטיפוס. התפיסה המשמעותית שלא נעלמה היא התפיסה ש "אין צורך בפעולות קובעות או מאחזרות לערכי תכונות מן הטיפוס הפשוט". ראיה זו מעלה לדיון את השאלה האם לכוון את התלמידים לכלול בכל מקרה פעולות קובעות ומאחזרות לכל תכונה או רק לפי הצורך, ומתי לשלב פעולות אלו בתהליך ההוראה. התפיסות השגויות בנושא מודולאריות מופיעות בעיקר בהתייחס להפעלת פעולות במסגרת אלגוריתם ביצוע מסוים, ולא מצביעות על קושי מהותי בחלוקה של תחום הבעיה לישויות. שיוך שגוי של פעולות בין הטיפוס הפשוט לטיפוס המורכב הופיע רק בתחילת הלמידה, לאחר מכן בלטה דווקא ההבחנה ביניהן. הבעיה שהיא לב המודולאריות "אי שימוש בפעולות שהוגדרו בטיפוס הפשוט להשגת מטרה בטיפוס המורכב" לא הייתה שכיחה. התפיסה הנוספת שהטרידה חלק מן התלמידים בהקשר של מימוש הפעולות היא: "כיצד מתבצעת ההבחנה בין פעולות בעלות שם זהה". להערכתי גישת הוראה שונה, אשר תקדים את הוראת הטיפוס הראשי תאפשר לתלמידים לראות הפעלת פעולה על עצם פשוט ועל עצם מורכב, ותראה תשובה כללית לשאלה: הפעולה המבוצעת היא זו המוגדרת בטיפוס המתאים. התפיסות המעידות על ראיה של הטיפוס המורכב כאוסף של עצמים מן הטיפוס הפשוט הופיעו רק בחצי הראשון של השנה ונעלמו לחלוטין לאחר מכן. שימוש בטיפוסים מורכבים בהם פרט מן התכונות מן הטיפוס הפשוט יופיעו גם תכונות מטיפוסים אלמנטאריים יכולה למנוע היווצרות תפיסות אלו. קשיים בהבנת "פעולה עצמית" הופיעו רק לאחר שהוגדר הטיפוס המורכב, בו נחשפו לאופן הפעלת פעולה על עצם שממנה עשו הכללה שגויה שתמיד חייב להיות עצם. גם כאן יתכן שחשיפה מוקדמת לפרויקט הכולל טיפוס ראשי היו רואים היכן נוצר העצם המורכב ומבינים ביתר קלות את המקום והמבנה המתאימים להפעלת פעולה על העצם המורכב. זרימה של תכנית – תלמידים מתקשים בבניית תמונת ביצוע כללית של תכנית לצורך פתרון בעיה. תת-הקטגוריות שעלו הן בנושאים: הבנת הפעלה של פעולות )5 מאפיינים(, הבנת זרימה של נתונים )2 מאפיינים(, תלמידים חושבים ש"הדברים קורים לבד" )3 מאפיינים(, תלמידים תוהים "איך הוא יודע?" )2 מאפיינים(, ובעיקר לא מבינים את הפיקוח הכללי על הביצוע – "מה קורה מתי?". הקשיים והתפיסות בנושא הפעלת פעולות חוזרים ומעלים את הקושי שיש לחלק מן התלמידים להבין את ההבדל בין הגדרת טיפוס לבין ביצוע פעולות מתוך הגדרת הטיפוס - המימד הסטאטי/דינאמי. בעיה זו מתחדדת בהבנת זרימה של תכנית כפי שמראות התפיסות: "פעולות מתבצעות על פי סדר הופעתן בטיפוס", "ניתן להפעיל פעולה רק פעם אחת". הבנה טובה יותר של הטיפוס כתבנית ליצירת עצמים, ואת הפעולות המוגדרות בו כאוסף הניתן לשימוש לפי צורך, הייתה מונעת את המפגש הלא ברור עם המושגים בהקשר של זרימת תכנית. מסקנות המחקר מציגות אינטגרציה כוללת של כל פרקי המחקר. פרק המסקנות כולל את המרכיבים הבאים: ריכוז התפיסות והקשיים של התלמידים אשר הוצגו במוקדים השונים, ריכוז ועיבוד כולל של ההמלצות להוראה, הצגת מתווה לסילבוס להוראת תכנות מונחה עצמים למתחילים המיישם את ההמלצות להוראה, תיאור תרומתו הייחודית של המחקר, והמלצות להמשך מחקר. מבדיקה של הבנות התלמידים בסוף תהליך ההוראה ניתן לראות כי מושגי הבסיס הובנו וכמוהם עקרונות תמ"ע עליהם הושם דגש: הכמסה, מודולאריות והסתרת מידע. בשאלון המסכם כל התלמידים הסבירו כראוי את מטרת הפעולה היוצרת, הסבירו את התהליך הכרוך בהפעלתה, וגם יישמו יצירת עצם מורכב חדש בכתיבת משפט ב- Java .כמו כן הראו הבנה כמעט מושלמת בשיוך של פעולות חדשות לטיפוס בו מתאים להגדיר אותן, ובנימוק השתמשו במונחים המתאימים. התלמידים גם הראו הבנה של זרימת תכנית תוך תיאור, ניתוח והרחבה של הפעולה הראשית שהוגדרה בפרויקט, כולל תיאור מפורט של התהליך הנפרש כתוצאה מביצוע הפעולה main .בשאלון העמדות אותו מלאו לפני ביצוע פרויקט מסכם ניכר כי רוב המושגים נתפסים כלא קשים. שלושה מושגים נתפסים כקשים יותר באופן מובהק: טיפוס מורכב, תכנית ראשית, ופעולות אחרות. הצלחת התלמידים בפיתוח הפרויקטים האישיים במדדים של עקרונות תמ"ע הייתה גבוהה מאד. ממחקר זה מעיד על כך שניתן ללמד תכנות מונחה עצמים למתחילים בתיכון בשפת התכנות Java .הצלחת התלמידים בתכנון ומימוש פרויקט סיום, כמו גם ממצאים אחרים, מעידה על כך. מן המחקר ניכר כי יש חשיבות רבה לסדר הצגת המושגים כדי לבנות מודל ידע מתאים של מושגי היסוד בתחום. אין להסיק מריבוי התפיסות והקשיים המועלים מסקנה, שהוראת תמ"ע לא מתאימה למתחילים. רוב התפיסות עלו בשכיחות נמוכה מאד, גם תפיסה שתועדה פעם אחת מופיעה כאן. כמו כן חלק ניכר מן התפיסות מאפיינות תקופת לימוד מסוימת, ועם ההתקדמות בלמידה הן נעלמו. מודעות מפתחי תכניות לימודים ומורים למגוון הרחב של תפיסות וקשיי התלמידים שנמצאו כאן יכול להביא לבניית תכניות לימודים שיאפשרו תהליך הוראה ולמידה פורה.