20928 סמינר בתכנות מערכות דפנסיבי
20928 סמינר בתכנות מערכות דפנסיבי1
3 נקודות זכות ברמה מתקדמת סמינריונית
שיוך: מדעים / מדעי המחשב
תנאי קבלה: 36 נקודות זכות במדעי המחשב, וכן עמידה בדרישות האנגלית ובדרישות ההדרכה הביבליוגרפית בספרייה. ככלל, יתקבלו רק סטודנטים שכבר סיימו בהצלחה או עומדים לקראת סיום של קורס מתקדם אחד לפחות במדעי המחשב. ההרשמה לסמינר מותנית באישור בכתב מן האחראי לסמינרים. ידע קודם דרוש: תכנות מתקדם בשפת Java, מעבדה בתכנות מערכות.
מטרת הסמינר
מטרת הסמינר היא לאפשר לסטודנטים להתמודד עם מערכות גדולות, ובפרט מערכות הרצות על פלטפורמות שונות שרכיביהן כתובים בשפות שונות. יינתן דגש על תכנות דינמי בו הקוד משתנה במהלך הריצה. מטבע הדברים, מערכות אלה עלולות להיות חשופות לאיומי אבטחה מגוונים. הסטודנטים ילמדו על איומים אלה, דרכי התגוננות, ומנגנוני אבטחת מידע בתהליך פיתוח מערכות תוכנה גדולות. הקורס יכלול תירגול מעשי של פיתוח מערכות כאלה.
מתכונת הסמינר
הקורס הוא סמינר אישי. במהלך הקורס הסטודנטים ילמדו את נושאי הקורס מפרקים ומאמרים, יסכמו את הנושאים בעבודה סמינריונית שתכיל מרכיבים תאורטיים ומרכיבים יישומיים, ויעבירו הרצאה מסכמת.
נושאי הלימוד
-
שפת C++ ומודל הזיכרון שלה
-
שפת Python וקוד דינמי
-
מערכות מבוזרות עם מרכיבים הכתובים בשפות שונות
-
פרוטוקולי תקשורת
-
מחשוב ענן, טעינת קוד מרחוק
-
הגנה מפני קוד זדוני
-
גישת ארגז החול
-
קוד שמשכפל את עצמו
-
הגנה מפני וירוסים, תוכנות ריגול ונוזקות שונות
-
אבטחה פיזית, אבטחת מכשירים ניידים
-
מניעת זליגת מידע רגיש
1 להשלכות על צבירת נ"ז בשל חפיפה עם קורס(ים) אחר(ים), ראו פירוט החפיפה.