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

קורסים

  • מבני נתונים (10117)
  • תקציר הקורס:

    תקציר:

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

    משפט האב לרקוסיות.

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

    טיפוסי נתונים, ייצוגם ושימושיהם. רשימה כטיפוס נתון מופשט ,ורשימות דו-כיווניות, מחסנית, תור.

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

    מיון מנייה, מיון בסיס, מיון דלי, ניתוח סיבוכיות זמני הריצה שלהם. טבלאות גיבוב - Hashing.
  • בסיסי נתונים (10127)
  • הנדסת תוכנה אינטגרטיבית (10143)
  • תקציר הקורס:

    תקציר:

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

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

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

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

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

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

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

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

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

    תקציר:

    ניתוח לקסיקלי, יצור אוטומטי של מנתחים לקסיקליים

    ניתוח תחבירי מלמעלה למטה: predictive parsing ו- recursive descent

    ניתוח תחבירי מלמטה למעלה: shift reduce parsing

    תרגומים מונחי תחביר (syntax directed definitions)

    bison: כלי ליצור אוטומטי של מנתחים תחביריים

    סביבת זמן ריצה, יצור קוד ביניים עבור משפטי השמה, ביטויים ומבני בקרה בסיסיים

    linker, אופטימיזציות בסיסיות, נושאים נוספים ככל שיותיר הזמן
  • מתודולוגיות תכנות Agile (10346)
  • תקציר הקורס:

    תקציר:

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

    בקורס תתקיימנה מספר הרצאות אורח של מומחים מחברות מובילות מתעשיית ההי-טק, אשר יביאו דוגמאות לשימוש במתודולוגיות הפיתוח שתילמדנה בקורס, את הסיבות לבחירתן, היתרונות והחסרונות שלהן ואת האופן בו משתמשים בהן בארגונים בהם הם עובדים.
  • פרויקט גמר חלק ב' (10422)
  • פרויקט גמר חלק ג' (10423)