דלג לתוכן

IA · פתרון חישובי

IB Diploma Programme · IB Diploma · Computer Science · SL · נושא 9

אימון
9.1

היקף ותנאי מקדימים

גיליון זה מלמד את העבודה מאחורי ההערכה הפנימית, ה-פתרון החישובי, לקורס שנבחר לראשונה ב2027. כל זה הוא תוכן SL ו-HL.

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

תנאי קדם: נושא B, במיוחד B2 תכנות. פרויקט הדוגמה נוצר למטרות תרגול בלבד.

מילון מונחים אימון
English עברית
computational solution/ˌkɒmpjuːˈteɪʃənl səˈluːʃn/ פתרון חישובי
end user משתמש סופי
success criteria/səkˈses kraɪˈtɪərɪə/ קריטריוני הצלחה
test plan/test plæn/ תוכנית בדיקה
normal data/ˈnɔːml ˈdeɪtə/ נתונים תקינים
boundary data/ˈbaʊndəri ˈdeɪtə/ נתוני גבול
invalid data נתונים לא תקינים
AI tool כלי בינה מלאכותית
academic integrity/ˌækəˈdemɪk ɪnˈteɡrɪti/ הגינות אקדמית
acknowledged הודיה
evaluation/ɪˌvæljuːˈeɪʃn/ הערכה
9.2

בחירת בעיה

בעיה אמיתית למשתמש אמיתי

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

בדוק שלושה דברים לפני שהתחייבת:

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

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

קריטריונים להצלחה

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

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

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

9.3

תכנון ועיצוב

פצל לפני שתכתוב קוד

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

ארבעה קופסאות בשורה: בעיה מנוסחת, גישה, עדות נבדקת, תיעוד
פתרון חישובי פועל מבעיה מנוסחת דרך גישה ובדיקות חלופה עד לתיעוד

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

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

תוכנית בדיקה

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

  • נתונים תקניים: ערכים טיפוסיים שמצוינים להתקבל;
  • נתוני גבול: ערכים בקצה מה שמותר;
  • נתונים לא תקיים: ערכים שמצוינים להידחות.
בדיקה קריטריון נתונים סוג תוצאה צפויה
1 הקלטת תוצאה ניצחון לשחקן A תקין דירוג A עולה; דירוג B יורד
2 אחסון שכבת לימודים שכבת לימודים 7 (המינמום המותר) גבול מתקבלת
3 אחסון שכבת לימודים שכבת לימודים 14 לא תקיים נדחת עם הודעה
4 זיווג 9 שחקנים גבול (מספר אי-זוגי) שחקן אחד מקבל פסקה; אין זוג חוזר
5 אבטחה סיסמה שגויה לא תקיים לא ניתן לשנות תוצאות

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

9.4

פיתוח

הסבר הטכניקות שלך

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

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

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

def make_pairings(players):
    """Pair (name, rating) tuples; return the pairs and the bye."""
    ranked = sorted(players, key=lambda p: p[1], reverse=True)
    bye = None
    if len(ranked) % 2 == 1:
        bye = ranked.pop()      # lowest rating sits out
    pairs = []
    for i in range(0, len(ranked), 2):
        pairs.append((ranked[i][0], ranked[i + 1][0]))
    return pairs, bye

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

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

שימוש בעבודת אנשים אחרים

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

9.5

בדיקה והערכה

בדיקה מול הקריטריונים

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

מבחן מצופה בפועל מתקיים?
3 רמת ג' 14 נדחתה נדחת: "יש לציין רמת ג' בין 7 ל-13" כן
4 9 שחקנים: פסיחה אחת, ללא ציוד חוזר פסיחה הוענק; ציוד אחד חוזר משבוע שעבר לא: תוקן על ידי בדיקת ציוד שבוע שעבר, ואז נבדק מחדש

הערכה

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

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

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

9.6

תרגול

  1. עבדו מחדש על קריטריון הצלחה זה כדי שניתן יהיה לבדוק אותו: "התוכנה צריכה להיות מהירה."
  2. עבור קריטריון "התוכנה מקבלת גיל של שחקן מ11 עד 18", הניבו ערך בדיקה רגיל, ערך גבול ואי-חוקי אחד.
  3. הסבירו מדוע מתכנן הבדיקות נכתב לפני הכתיבה.
  4. פרויקט כתוב על ידי תלמיד מפרט "משתנים, לולאות, הנחיות if, פונקציות". הסבירו מדוע זאת מייצר דירוג נמוך מאוד, ומה שיש לכתוב במקום זאת.
  5. הפונקציה make_pairings לעיל מקבלת 6 שחקנים עם דירוגים 1500, 1420, 1610, 1380, 1550, 1490. רשמו את הזוגות שהיא מחזירה.
  6. תלמיד השתמש בכלי AI בכתיבת פונקציית אימות. ציין מה התלמיד חייב לעשות.

תשובות.

  1. לדוגמה: "הזוגות עבור עד 40 שחקנים מופיעים בתוך 2 שניות מרגע לחיצת Pair על ידי המאמן."
  2. רגיל: 15. גבול: 11 או 18. אי-חוקי: 10, 19, או ערך כמו "twelve".
  3. הוא תקבע, מתוך קריטריוני ההצלחה, מה חייב להוכיח את עצמו, ולכן הבדיקה מתוכננת ולא נבחרת לאחר מכן כדי להתאים למוצר; הוא יכול גם לעצב את העיצוב.
  4. הוא מנה תכונות מבלי להראות מדוע הן שימשו או איך הן פותרות את בעיית המשתמש. במקום זאת: בחרו מספר טכניקות חשובות, הראו תקעת קוד קצרה מכל אחת, והסבירו מה היא עושה במוצר הזה ולמה נבחרה.
  5. מסודרים מהגבוהה ביותר: 1610, 1550, 1500, 1490, 1420, 1380. זוגות: (1610, 1550), (1500, 1490), (1420, 1380); אין bye, שכן 6 הוא זוגי.
  6. הכירו בכלי ובמה שהוא יצר, הראו מה ששונה, והסבירו במילים משלהם כיצד הפונקציה עובדת.
9.7

טיפים לבחינות

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

נושאים נוספים בIB Diploma Programme · IB Diploma · Computer Science · SL

היכנס או צור חשבון

IGCSE, A-Level & AP