20905 שפות תכנות
4 נקודות זכות ברמה מתקדמת ללא אפשרות לכתיבת עבודה סמינריונית
שיוך: מדעים / מדעי המחשב
שיוך נוסף: הנדסה / הנדסת תוכנה
תנאי קבלה: עמידה בדרישות האנגלית ובדרישות ההדרכה הביבליוגרפית בספרייה. ידע קודם דרוש: נדרשת בשלות במדעי המחשב הנקנת ע"י 36 נ"ז במדעי המחשב בתכנית הלימודים במדעים. הקורסים מבני נתונים ומבוא לאלגוריתמים, אוטומטים ושפות פורמליות (או הקורס מודלים חישוביים 20604 שבפיתוח), מעבדה בתכנות מערכות, אלגוריתמים. ידע קודם מומלץ: הקורסים תכנות מונחה עצמים, קומפילציה.
פיתוח הקורס: פרופ' דוד לורנץ
מטרות הקורס
הקורס עוסק בהבנה תפעולית של מושגי יסוד במימושן של שפות תכנות מודרניות: ערכים, מבני נתונים מופשטים, זיכרון, מבני בקרה, כְּרִיכַת משתנים, מערכות טיפוסים, מודולים ועצמים. מבוא להבנת המשמעות של שפות תכנות באמצעות מימוש מְפַרְשִים בשפה פונקציונלית.
חומר הלימוד
הקורס אינו מניח ידע קודם בתכנות פונקציונלי, אולם נדרשת יכולת למידה מהירה של סביבת תכנות חדשה. רצויה גם הכרה של לפחות שתי שפות תכנות.
הקורס מבוסס על הספר (באנגלית):
D. Friedman & M. Wand, Essentials of Programming Languages, 3rd ed. (The MIT Press, 2008)
ועל מדריך למידה.