גיורא אלכסנדרון דוקטורט 2014

*זכה בפרס הצטיינות ממדרשת פיינברג על עבודת הדוקטורט

מדעי המחשב בהנחיית: 'פרופ מיכל ארמוני

עבודת מחקר זו עוסקת בהוראת מדעי המחשב, ובוחנת היבטים בלמידת שפת ה- live sequence charts (LSC) [20] ותכנות מונחה-תרחישים [38]. המחקר מתמקד בתהליכים הקוגניטיביים המעורבים בתהליך הלמידה,...

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

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

מאחר שמחקר זה הוא הראשון לבחון את למידת שפת ה-LSC ותכנות מונחה-תרחישים בהקשר של הוראת מדעי המחשב, גישת המחקר שנבחרה מבוססת על המסגרת הרעיונית של תיאוריה מעוגנת בשדה על ניתוח שהוא ברובו איכותני, ועל שימוש באוכלוסיית מחקר מגוונת. גישה (grounded theory [30]), זו מאפשרת לזהות ולאפיין שאלות מרכזיות, להציע הסברים ולהעלות השערות שינחו מחקרי המשך ממוקדים יותר.

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

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

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

בהקשר של השפעת ידע קודם, הממצאים מאירים מספר דרכים בהן ניסיון שהוא בעיקרו פרוצדורלי ומונחה-עצמים מטה את הלמידה של שפות תכנות עיליות. ניתוח הממצאים, שהתבסס בעיקר על המסגרת הקונספטואלית של תיאוריית הסכמות (schema theory of learning) [4], מאפיין כמה טעויות תפיסתיות שמתכנתים עלולים לפתח, מציע דרכי הוראה שעשויות לצמצמן, ומצביע על מספר מגבלות של תיאוריית הסכמות להסביר את הדרכים בהן ידע תכנותי קודם משפיע על הלמידה והשימוש במושגים תכנותיים חדשים.