כלים ושיטות בהוראת מדעי המחשב:

מינימליזם

 

צוות הפיתוח: שרה פולק וד"ר צביקה פירסט

מט"ח – המרכז לטכנולוגיה חינוכית

 

3.1 מבוא – מהו מינימליזם

מינימליזם היא תיאוריה שצמחה בתחילת שנות ה- 1980 כמודל לתיעוד תוכנות ופיתוח מדריכים למשתמש (tutorials). באותן השנים פותחו מחשבים ביתיים (מחשבי ה- PC) והם הוכנסו לשימוש בעסקים קטנים ובבתים פרטיים. יותר ויותר אנשים ללא רקע במחשבים ובעלי ידע בתחומים שונים והשכלה מגוונת החלו להשתמש במחשב (ולא רק מתכנתים ומדענים שהיו עד כה המשתמשים העיקריים עד כה). כמו כן פותחו יישומים לשימוש כללי כמו מעבדי תמלילים וגיליונות אלקטרוניים שלוו במדריכים למשתמש. אולם, המדריכים למשתמש שפותחו ליישומים אלו לא כל כך התאימו לצרכים של המשתמש הפשוט והשימוש ביישומים אלו (ובמחשב עצמו) גרם לתסכול רב בין המשתמשים. חברת IBM הקימה צוות חוקרים שתפקידו היה לחקור את אופן השימוש ביישומים שונים. צוות החוקרים ובראשם John M. Carroll, ערך מחקר אמפירי שעקב ותעד את הפעולות שבצעו משתמשי מחשב בעבודתם עם יישומים, את המטרות שלהם ואת הרציונל שעליו בססו המשתמשים את הפעולות שלהם. החוקרים  תיארו את המאבק של המשתמשים המנסים להפעיל את היישום כמיטב יכולתם ונכשלים פעם אחר פעם במשימתם. מחקרם שפך אור על תהליך למידה של משתמשי מחשב.

המסקנות העיקריות ממחקרם:

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

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

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

 

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

* למידה תוך כדי עשייה ולא למידה על ידי קריאה (למידה מכוונת פעילויות).

* העסקת לומד בביצוע משימה אמיתית מוקדם ככל האפשר מעודד מוטיבציה ללמידה.

* מתן תמיכה ללומד לזיהוי ואבחון תקלות נפוצות והתאוששות מהירה.

 

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

 

בהתאם לתיאוריה זו ניתן לסכם  עקרונות לתכנון חומרי למידה בגישה המינימליסטית:

* אמן את התלמיד על משימות אמיתיות.

* ספק ללומדים סביבה המאפשרת להם תרגול של משימות אוטנטיות מהר ככל האפשר.

* הנחה פעילות המשלבת חקירה וגילוי. 

* הסתמך על היכולת של לומד לחשוב ולבצע היסק ואימפרוביזציה.

* עצב ופתח חומרי תרגול כך שהם כוללים רק חומר רלוונטי לביצוע המשימה.

* ספק למשתמש ידע לא שלם ואפשר לו ללמוד ולהשלים ידע וביצוע עצמי של המשימות.

* תכנן חומר לימוד כך שיהיה ניתן לקרוא אותו באופנים שונים.

* ספק תמיכה בזיהוי ואבחון תקלות ושיטות להתאוששות.

* נצל ידע קודם של לומד, את המוטיבציה שלו ואת מטרותיו להכנת חומרי למידה מתאימים להם.

 

פיתוח חומרי למידה בגישה המינימלסיטת אינה פשוטה כלל ועיקר, במיוחד בתחומים בהם המשימות הן גדולות. קרול ורוסון (1987) פרסמו מאמר על הפרדוקס של פעילות משתמש   (Paradox of the active use). הם טוענים שלמרות שאנשים צריכים ללמוד כדי לעסוק ביעילות בפעילויות, האורנטצייה שלהם לא לבזבז זמן ומאמצים סתם ללמידה, לעיתים מובילה לקשיים בהשלמת המשימה ומפחיתה את המוטיביציה. לטענתם, אנשים רוצים ללמוד תוך כדי עשייה, אבל גישה זו מטה אותם לקפוץ מסביב בגישה סתגלנית ברצף הלמידה. הם רוצים להבין דברים ולבנות את הבנתם לבד, אבל הם לא סבלנים ולעיתים הם מסיקים מסקנות שגויות. הם מנסים להשתמש ולהרחיב את הידע והכישורים הקודמים שלהם, אבל זה יכול להוביל להפרעות והכללות יתר. הם מנסים ללמוד תוך כדי אבחון תקלות והתאוששות, אבל שגיאות יכולות להיות מכשול ולהבנה וקשיים יכולים לגרוע מהמוטיבציה. בהתאם, ניסחו החוקרים חמישה כללי אצבע המתארים את ה- trade-off בין המאפיינים של המינימליזם לבין הקושי בתהליך למידה אותם מפתחי חומרי למידה צריכים לקחת בחשבון:

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

* עבודה על משימה מוכרת מנחה ומניע לומדים להשתמש בידע קודם, אבל אינו מעודדת למידה של המשימה הנוכחית, ויכולה לגרום לשימוש לא מתאים בידע קודם.

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

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

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

 

3.2 יישום מינימליזם במדעי המחשב

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

 

עיצוב מערכת ממוחשבת:  בנוסף למחקר שערך קרול על משתמשי מחשב, הוא חקר ואפיין דרכים וגישות לפיתוח מערכת תכנה. למרות שהגישה הרווחת שנלמדה בשנות ה- 1980 היתה הגישה המובנית top down לפיתוח מערכת, ראה קרול שבמציאות מפתחים עובדים אחרת. בעוד שבאופן מעשי, מפתחים אינם מתכננים מערכת מתחילתה אלא תוך כדי תהליך פיתוח הם בונים פתרונות ביניים ופתרונות חלקיים שמשמשים לבניה של האיטרציה הבאה של המערכת. כמו כן, בגישה המובנית היה קושי שנבע מכך שהגדרת המערכת כולה נעשתה בשלב הראשון, השלב היחיד בו המשתמש מעורב, ובסיום מקבל המשתמש מוצר מוגמר שקשה להכניס בו שינויים. תובנות אלו הובילו את קרול להגדיר את מה שקרוי פיתוח איטראטיבי או פיתוח בגישת אב טיפוס. בפיתוח בגישה איטראטיבית, המערכת אינה מוגדרת בשלב הראשון כסופית, אלא מפותחת בתהליך איטראטיבי תוך כדי מפגש עם המשתמש ומתן ביטוי לדרישות ולהערות שלו שיורחבו למערכת מעוצבת שפוגשת את הצרכים של המשתמש.

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

 

3.3 מינימליזם ותכנות מונחה עצמים

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

תיאור הפעילויות ומבנה הקורס:

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

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

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

* שיוך תחום אחריות של אובייקט (Assigning Object Responsibility): תלמידים לומדים "להאניש" ((anthropomorphize את האובייקט שבתרחיש, כאשר התלמידים משחקים את התפקיד של האוביקט הנתון ותוך כדי כך מגדירים את האחריות והתפקידים שלו. ההאנשה של האוביקט משמשת כמקור מידע על הידע שאוביקט צריך להכיל (מצב פנימי), על הקשרים שלו עם אוביקטים אחרים ועל התנהגויות שהוא צריך לתמוך בקשרים אלו.

* בנית תסריט לתרחיש: התרומה של תרחיש ל- OOD היא בכך שהיא מספקת תוכן והקשר שאותו יכול המתכנן לחקור ולנתח. זה מספק את המבט הפרוצדוראלי.

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

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

* פיתוח אובייקט מופשט: התרחישים מנותחים בשני תנאים: פירוק מחדש של אובייקטים שיש בהם חוסר עקביות וסילוק של אובייקטים שקיבלו הרבה תפקידים מכדי שיהיה ניתן לכמס אותם באובייקט מופשט אחד.

* תמיכה בשימוש חוזר ושימוש חוזר על ידי הורשה: שימוש במשימות הכוללות ממשק למשתמש המאפשר שימוש באובייקטים מובנים בסביבה.

 

3.4 קארל הרובוט כסביבה ליישום מינימיליזם בתכנות מונחה עצמים בקורס מבוא

בחרנו להביא דוגמה שמתאימה להוראת תכנות מונחה עצמים בקורסי המבוא, כלומר יסודות 1 ויסודות 2. כדי ליישם את העקרונות של הגישה המינימליסטית בחרנו סביבת למידה שהשימוש בה יאפשר לתלמיד לרכוש את המושגים הבסיסיים בתכנות מונחה עצמים (OOP) כמו אובייקט, מחלקה, שיטות וכדומה. הלמידה מבוססת על התנסויות ולא דורשת ידע מוקדם. סביבת הלמידה (המוכרת לחלק מהמורים הותיקים) היא סביבת קארל הרובוט ששודרגה לתכנות מונחה עצמים ונקראיתkarel++ .  סביבה זו קלה מאוד להפעלה ולכן מאפשרת לתלמיד ללמוד להשתמש בה בקלות מיד בתחילת הקורס. יחד עם זאת, הפשטות שלה מאפשרת להציג לתלמידים את העקרונות של תכנות מונחה עצמים בשפת Java או C++.

 

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

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

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

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

 

הצעה לתכנון חלק מקורס CS1 המשתמש בסביבת קארל הרובוט:

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

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

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

import cs1Lib.karel.Robot;

public class RightRobot extends Robot

{          public void turnRight()

           {           this.turnLeft();

                       this.turnLeft();

                       this.turnLeft();

           }

}

רעיון זה ניתן להרחבה לבניית מחלקה חדשה שיהיה בה שימוש כדי לפתור בעיות מורכבות יותר.

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

* שבוע רביעי: שיטות והעברת פרמטרים: בשבוע זה מרחיבים את המבט על שיטות והעברת פרמטרים ומאפשרים לפתור בעיות מהסוג: אסוף מספר (המועבר כפרמטר) של זמזמים. בשבוע זה ילמדו התלמידים העברת פרמטר על פי כתובת לעומת העברת פרמטר על פי ערך.

* שבוע חמישי: משתני מופע: בשבוע זה מורחב המושג משתנה של מופע. לדוגמה, ברצוננו שרובוט ישמור את מספר הזמזמים שאסף.

 

כפי שניתן לראות, שימוש בסביבת קארל הרובוט מאפשר:

* הצגה של המושגים הבסיסיים בתכנות מונחה עצמים מיד עם תחילת הקורס.

* הקורס מאפשר לתלמיד לבצע משימות מורכבות יחסית בתחילת הקורס.

* הקורס בנוי כך שהוא בונה כל נושא על בסיס המשימות והידע הקודם.

* סביבת הלמידה היא קלה ומאפשרת התנסות מהירה.

* בכל נושא מוצג המידע המינימלי הדרוש להשלמת המשימות.

* השימוש בתכנה הוא מהנה ומגביר את המוטיבציה ללמידה.  

 

3.5 יישום הגישה המינימליסטית ביחידת הלימוד 'מבוא למערכות מידע'

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

תחילה נתאר המלצות כלליות להוראת המקצוע ואחר כך נתאר דוגמה לפעילות.

 

סדר ההוראה:

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

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

* תרגול המאפשר תפעול של מסד נתונים טבלאי קיים (הוכן מראש עבור התלמידים). התרגול מתייחס למסד נתונים טבלאי הכולל שתי טבלאות והוא כולל פעולות עדכון (הוספה, שינוי וביטול) של רשומות בודדות ושל קבוצה של רשומות. הוא כולל הפקת מידע מהמסד באמצעות שאילתות לאחזור רשומה בודדת וקבוצה של רשומות ודוחות מסכמים. כמו כן, הוא כולל שליפת מידע משולב משתי הטבלאות. תרגול זה מתייחס לנושאי הלימוד הבאים: מושג הטבלה, תפעול (עדכון והפקת מידע) מטבלה וממסד נתונים וקשר בין טבלאות במסד (פרק 2: מאגרי מידע I – הטבלה ופרק 3: מאגרי נתונים II - מאגר נתונים טבלאי בתוכנית הלימודים).

* לאחר ההתנסות בתפעול של מסד נתונים טבלאי והכרות עם המושגים הבסיסיים, נסכם את התפקידים והשירותים של מערכת לניהול מסדי נתונים (פרק 4) ונתאר את אופן בניית מסד נתונים שאפיונו נתון על ידי המורה שמשמש הן כמנתח מערכות והן כמשתמש. (בניית מסד נתונים טבלאי מתייחס לנושאים בפרקים 2 ו- 3 ולפרק 8 – ממשק ).

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

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

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

 

ידע קודם של התלמיד:

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

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

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

 

התייחסות לאבחון והתאוששות מתקלות

ב- Tutorial  המלווה את מסד הנתונים המוכן אותו מתרגלים התלמידים רצוי להתייחס לשני היבטים של תקלות:

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

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

 

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

 

פעילות לדוגמה של תכנון ובניית טבלה המכילה מידע על תקליטי מוזיקה:

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

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

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

ג. פעילות בכיתה: דיון בדרישות שהגדירו התלמידים, בניית מאגר שאילתות שאותן יממש בהמשך התלמיד.

ד. משימה 2: על התלמיד לאסוף נתונים שיאפשרו לבצע את השאילתות שבמאגר ובנוסף ישמשו לבניית הטבלה. (מקורות הידע בהם יוכל להשתמש עם המקורות שצוינו במשימה 1).

ה. פעילות בכיתה: דיון בנתונים ומידת התאמתם למסד נתונים שיאפשר ביצוע השאילתות. הגדרת תכונות הטבלה והערכים.

ו. משימה 3: בניית טבלה והכנסת הנתונים שנאספו במשימה 2.

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

ח. משימה 4: בניית השאילתות.

ט. משימה 5: הערכה של הטבלאות. תלמידים יבצעו הערכת עמיתים וכל קבוצה תבדוק את המסד של קבוצה אחרת.

 

פעילות זו תוכננה בהתאם לגישה המינימליסטית והיא מאפשרת לתלמיד להיות פעיל ואקטיבי מתחילת הקורס, להשתמש בידע ובניסיון הקודמים שלו, ולהשתמש בכל שלב במידע הרלוונטי לאותו שלב (ומה שלא נחוץ נדחה לשלב מאוחר יותר). דוגמה נוספת לפעילות שמתוכננת בגישה המינימליסטית ניתן למצוא באתר מחשבה, בכתובת http://cse.proj.ac.il/db/projects.zip  

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

 

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