דילוג לתוכן ראשי

קורסים

  • תכנות מונחה עצמים (10128)
  • תקציר הקורס:

    תקציר:

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

    פולימורפיזם וממשקים. כמו כן ילמדו על מנגנון ה- generics ועל שימוש ב- collections ב- JAVA.

    הסטודנטים ילמדו לתכנן מערכת והצגת באמצעות diagram class.
  • הנדסת תוכנה אינטגרטיבית (10143)
  • תקציר הקורס:

    תקציר:

    מימוש תשתית מרובת תהליכים; תכנות ריאקטיבי Reactive Programming; שימוש ב-Logger; ארכיטקטורת MVC;

    בדיקות יחידה, Mocking, בדיקות אינטגרציה; חיבור לבסיסי נתונים טבלאיים (Relational Databases) ובסיסי נתונים של NoSQL;

    פיתוח Client-Server; פיתוח Web-Services; יישום IoC תוך שימוש בתשתיות תוכנה מקובלות בתעשיה.

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

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

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

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

    תכנות מונחה עצמים ושיטות בהנדסת תוכנה.

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

    תקציר:

    מערכות מבוזרות מאפשרות גמישות גדולה וביזור יחידות פיתוח בצורה מודולארית.

    ארכיטקטורות מחשוב ענן מקנות לתוכנה שפועלת עליהן היבטים דינאמיים שמשפיעים על ויסות העומסים על מערכות אלה (Scalability);

    פירוק והרכבה של רכיבי התוכנה באופן שיתאים את התוכנה לדרישות עסקיות וטכניות דינמיות; ביזור טוב של משימות, נתונים ופעילויות בקרה;

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

     

    בקורס זה נדון בהיבטי הפיתוח הקשורים לארכיטקטורות ענן, הכוללים שימוש בתבניות נפוצות לפיתוח יעיל בענן (Cloud Architecture Design Patterns),

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

    אוטומציה של תהליכי פיתוח ושימוש במתודולוגיות וכלים שיאפשרו עדכון זריז ויעיל של התוכנה (Agile Cloud Development).

     

    הקורס דורש ידע מוקדם בפיתוח מתקדם בשפת Java ובפיתוח בסביבה עתירת תקשורת ובסיסי נתונים. ידע זה מוקנה על ידי קורסי הקדם לקורס זה.

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