מטרות למידה 3.1.A: ייצוג עיצוב תוכנית באמצעות שפה טבעית או ליצירת דיאגרמות המציינות את הכיתות בתוכנית ואת השתקות הנתונים והשלכות המצויות בכל כיתה על ידיכלול כל האטריביוטים וההתנהגויות.
- 3.1.A.1 השתקה היא תהליך של הפחתת מורכבות על ידי התמקדות ברעיון המרכזי. על ידי הסתרת פרטים שאינם רלוונטיים לשאלה הקיימת וקיבוצי פרטים קשורים ומفيدים, השתקה מפחיתה מורכבות ומאפשרת להתמקד ברעיון.
- 3.1.A.2 השתקת נתונים מספקת הפרדה בין התכונות המופשטות של סוג נתונים לבין הפרטים הממשיים של ההצגה שלה. השתקת נתונים מנהלת מורכבות על ידי מתן שם לנתונים ללא הייחוס לפרטים הספציפיים של ההצגה. הנתונים יכולים לקבל צורה של משתנה בודד או אוסף נתונים, כגון בכיתה או בערכת נתונים.
- 3.1.A.3 אטריביוט הוא סוג של השתקת נתונים המוגדרת בכיתה מחוץ לכל שיטה או בונה. משתנה אובייקט הוא אטריביוט שערכו ייחודי לכל אובייקט של הכיתה. משתנה כיתה הוא אטריביוט המשותף לכל האובייקטים של הכיתה.
- 3.1.A.4 השתקה של שלבים מספקת שם לתהליך ומאפשרת לשיטה להיות מופעלת רק כאשר יודעים מה היא עושה, לא כיצד היא עושה זאת. באמצעות פירוק שיטות, מתכנת מפרק התנהגויות גדולות יותר של הכיתה להתנהגויות קטנות יותר על ידי יצירת שיטות המייצגות כל התנהגות קטנה בודדת. השתקת שלבים עשויה לחלץ מאפיינים משותפים כדי לגנרלize פונקציונליות במקום להכפיל קוד. זה מאפשר שימוש חוזר בקוד, שמסייע בניהול מורכבות.
- 3.1.A.5 השימוש בפארמטרים מאפשר גנרלזציה של הליכים, ומאפשר לשימוש חוזר בהם עם מגוון ערכי כניסה או ארגומנטים.
- 3.1.A.6 השימוש בהשתקת שלבים בתוכנית מאפשר למתכנתים לשנות את הפנים של שיטה (כדי להפכה מהירה יותר, יעילה יותר, לצרוך פחות אחסון, וכו') ללא הצורך בהודעת משתמשי השיטה על השינוי כל עוד חתימת השיטה ומה שהשיטה עושה נשמרים.
- 3.1.A.7 לפני מימוש כיתה, מומלץ לקחת זמן לעצב כל כיתה כולל את האטריביוטים וההתנהגויות שלה. עיצוב זה ניתן לייצוג באמצעות שפה טבעית או דיאגרמות.

