אתר המרצה ד"ר ערמון דגנית

קורסים

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

    תקציר:

    מערכות ניהול בסיסי נתונים (DBMS = Database Management System) הם טכנולוגיית ליבה ביישומים עסקיים.

     

    הקורס נועד לתת לסטודנטים הבנה של התיאוריה והפרקטיקה של DBMS.

     

    נושאים מרכזיים כוללים: היכרות עם מערכות ניהול בסיסי נתונים, המודל הרלציוני, מודל ישויות/יחסים (Entity-Relationship Model),SQL, תכנון בסיס הנתונים, כתיבת טרנסאקציות, הרשאות, ושילוב בסיסי נתונים בתוך מערכות תוכנה.

     

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

    תקציר:

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

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

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

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

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

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

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

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

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

    תקציר:

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

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

    תקציר:

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

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

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

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

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

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

    linker, אופטימיזציות בסיסיות

    LLVM ונושאים נוספים ככל שיותיר הזמן
  • פרויקט גמר חלק ב' (10422)
  • תקציר הקורס:

    תקציר:

    לימוד והגדרת מסמך דו״ח הנדסי
  • פרויקט גמר חלק ג' (10423)
  • תקציר הקורס:

    תקציר:

    לימוד והגדרת ספר הפרויקט