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

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

נ. יה, ג. סלבנדי

Ye, N., Salvendy, G. (1996). Expert-novice knowledge of computer programming at different levels of abstraction. Egronomics, 39(3), 461-481.

 

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

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

 

תקציר

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

 

תיאור ההירארכיה

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

 

הרמה הפיסית (physical level):

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

 

הרמה הלוגית (logical level):

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

 

הרמה הפונקציונלית (functional level):

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

 

הרמה הקונספטואלית (conceptual level):

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

 

הרמה המטרתית (objective level):

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

תהליך פיתוח תכנית מחשב הפותרת בעיה נתונה, כרוך למעשה בניצול ידע תכנותי בכל חמשת הרמות.

 

הניסוי

החוקרים ערכו ניסוי בו השתתפו 10 מומחים ו-10 מתחילים. כל נבחן התבקש לענות על 20 שאלות רב-ברירתיות שהתייחסו לידע תכנותי בחמשת רמות ההפשטה המתוארות לעיל (4 שאלות לכל רמה). לנבחנים לא ניתן רמז לגבי ההשתייכות של שאלה לרמת הפשטה. השאלות התייחסו לספציפיקציה נתונה של תכנית.

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

 

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