קורס זה עוסק בתכן של מערכות תוכנה. הוא מציג את הדרכים לבניית תוכנות אמינות שהן קלות לתחזוקה, לשינוי ולהרחבה. להשגת מטרות אלה נעשה שימוש במתודולוגיות מודרניות להנדסת תוכנה - תכן מונחה עצמים (Object Oriented Design) ודפוסי תכן (Design Patterns), ונלמד עקרונות לתכן נכון. ככלים ללימוד מתודולוגיות אלה, נשתמש בשפת Java ובשפת UML.
- מורה: אמיר אביבי
- מורה: נעמי אבקסיס
- מורה: דוד ווינשטיין
- מורה: יאיר משה
- מורה: עודד נאור