סיכום שיעור (19.2.26)
השיעור נבנה בארבעה חלקים: פתיח קצר, מעבר ללייב־קודינג OOP, דיבוג הגשה של תלמיד, וסיום עם פתרון בגרויות בכתב־יד על הלוח.
1) חימום קצר: current ו־static
פתחנו בחזרה זריזה על current מתוך השיעור הקודם: איפה זה הופיע כבר, איך הוא מצביע לתא הפנוי הבא, ואיך שומרים על מערך רציף בלי חורים. משם עברנו מיד ל־static: מה זה אומר עקרונית, הדגש על שדה סטטי, והדוגמאות הקלאסיות של מספור מזהים. על הדרך חודדה גם המשמעות של חתימה נכונה (static/לא static), ההבנה ששדה סטטי קיים פעם אחת לכל המחלקה, והפרקטיקה של פנייה סטטית דרך שם מחלקה (ולא דרך עצם).
2) Don’t Ask Tell בלייב־קודינג (Sprite)
אחרי החימום עברנו ללב השיעור: הצגת העיקרון Don’t Ask Tell עם הניסוח “לא לשלוף מידע ואז לעשות עבודה במקום אחר, אלא לבקש מהעצם שמחזיק את המידע לבצע את העבודה”. הודגש הרעיון של קירוב פעולות ל־data והאזהרה ממעבר־יתר של פרמטרים בין פונקציות.
בלייב־קוד בנינו דמו בסגנון Sprite (כמו במסמך Objects_03bSpriteDemo): בחירת x/y כ־double לתנועה חלקה, הגדרת גבולות maxX/maxY, ואז מעבר לתנועה מבוססת dx/dy עם חישוב הצעד בכל איטרציה (x += dx, y += dy). בהמשך חיברנו את זה למתודה שמבצעת Move+Draw, בדקנו מה קורה כש־dx גדול מדי, וסגרנו שוב את העיקרון שהלוגיקה צריכה לשבת אצל העצם (בהלימה למסמך Objects_03_DontAskTell).
3) דיבוג קוד תלמיד מהגשות
בחלק הדיבוג עברנו על קוד תלמיד מהגשות (מטלת 11y4 שאלה 2 ב־הגשות.שלי.com): פתיחת קוד ההגשה, זיהוי בעיית naming/טיפוס (type כמילה בעייתית), קריאת כשל הטסטים (expected true but was false), ואז הנפילה המרכזית: חסרה חתימת static. משם מצאנו שנשארה גרסת תבנית כפולה, חודד שהפונקציות המבוקשות הן במחלקה הראשית ולא בתוך Bicycle, ולכן נכון להוסיף static לפעולות החיצוניות.
4) “המורה פותר על הלוח” + 3 שאלות בגרות
פה היה המסר הפדגוגי החזק של השיעור: תלמידים רגילים לסביבה דיגיטלית, אבל חייבים לראות גם איך פתרון נראה בכתב־יד על לוח, כולל דיוק מה כן/לא כותבים בבגרות. בהמשך חיזקנו את זה שוב בדיון על תרגול כתב־יד מול דיגיטלי ועל החשיבות של בדיקה בכתב יד/Notepad.
השאלות שנפתרו:
- בגרות 2017, שאלון 381, שאלה 2017.6.381/q2.pdf: בחירה של השאלה, הסבר איך לגשת אליה “טיפין טיפין”, עבודה על הכותרות/בנאים על הלוח, וסיכום למה ההדגמה הזו קריטית לתלמידים.
- בגרות 2023, שאלון 371, שאלה 4 (2023.6.371/q4.pdf): בחירת השאלה, מיקום נכון במחלקה פנימית, חישוב ההפרשים והלולאה (עם גבול נכון), והדגש למה חייבים
else ifולא ערבוב תנאים. - בגרות 2023, שאלון 371, שאלה 5 (2023.6.371/q5.pdf): מעבר לשאלה, כותרת פעולה חיצונית עם
static, דפוסbestעל מערך למציאת הראשון שנכנס, פירוק הקריאה המורכבת עלMyTime.Before(...)(כאן היה העומס המחשבתי העיקרי), וסיום עם הדפסת התוצאה וזיהוי שזה אכן שאלה 5 של 2023/371.
בשורה התחתונה: דיברנו על:
- (Don’t Ask Tell),
- תרגול קוד אמיתי עם תקלות אמיתיות (דיבוג הגשות),
- ודיוק בחשיבה לבגרות דרך פתרון מונחה־מורה על לוח (“לא רק דיגיטלי”).