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

קורסים

  • מבוא להנדסת תוכנה (10014)
  • תקציר הקורס:

    תקציר:

    המחשב הדיגיטלי הראשון נבנה עבור צבא ארה"ב בשנת 1946. שפות תכנות מחשבים עיליות החלו להיווצר בסוף שנות החמישים של המאה הקודמת.

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

    אלא בגלל הבעיות הקשורות לאופן שבו התוכנה פותחה והביקוש הגובר לתוכנות גדולות ומורכבות. משבר התוכנה מאופיין בבעיות רבות:

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

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

    תקציר:

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

    גבולות וטורים, נוסחאות נסיגה, שיטת ההצבה, שיטת האיטרציה, שיטת הרקורסיה.

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

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

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

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

    תקציר:

    תקציר נושאי הקורס: מבוא לתכנון לינארי. סימפלכס , בעיה פרימלית ודואלית. בעיית התובלה ובעיית ההשמה.

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

    אלגוריתמים למציאת סגור טרנזיטיבי: באמצעות כפל מטריצות ולפי האלגוריתם של וורשל.

    מסלולי אוילר והמילטון. חיפוש לרוחב - BFS, חיפוש לעומק - DFS. רכיבים קשירים היטב(רק"חים) וגרף על .

    מיון טופולוגי , מסלולים קריטיים, מסלולים קצרים בגרף – DAG.

    מסלולים קצרים ביותר ממקור יחיד – מסלולים קצרים ביותר.

    האלגוריתמים של דייקסטרה ושל בלמן-פורד. מסלולים קצרים ביותר בין כל הזוגות. האלגוריתם: פלויד-וורשאל.

    אלגוריתמים חמדניים קידוד ועצי הופמן. עץ פורש מינימלי – "הצמחת" עץ פורש מינימלי, האלגוריתמים של קרוסקל ושל פרים. מסלולי אוילר והמילטון.
  • אלגוריתם מתקדם (10121)
  • תקציר הקורס:

    תקציר:

    חומר הקורס כולל: זרימה ברשתות ושימושים בה; התאמת מחרוזות;

     

    אלגוריתמי קירוב; מחלקות סיבוכיות וסיווג בעיות לפי השתייכות למחלקות האלו.