תפריט נגישות
מאפייני התוכנית
- תוכנית לימודי תואר שני במדעי המחשב היא גמישה, המבוססת על מבחר עשיר של קורסי בחירה.
- סגל מרצים בעלי מוניטין בינלאומיים בתחומי מחקר מגוונים.
- אפשרות לבחור במהלך הלימודים במסלול מחקרי עם תזה או במסלול לימודי ללא תזה.
- סטודנטים לוקחים חלק במחקרים המתנהלים בבית הספר.
- מבין התחומים הנחקרים בבית הספר: אבטחת מידע, קריפטוגרפיה, אלגוריתמים, תאוריה של מדעי המחשב, גרפיקה ממוחשבת, ראייה ממוחשבת, עיבוד תמונה, ביולוגיה חישובית, ניתוח מערכות נתונים מורכבות, מערכות מבוזרות ומדיה דיגיטלית.
יתרונות התוכנית
- שעות ההרצאה של הקורסים מותאמות גם לסטודנטים עובדים. הקורסים מרוכזים ברובם בשעות אחה"צ והערב או בימי שישי.
- אפשרות לפריסת תוכנית הלימודים על פני יותר משנתיים, בהתאם לאילוצי זמן ועבודה של הסטודנט.
- מלגות שכר לימוד למועמדים מצטיינים, ומלגות קיום לסטודנטים מצטיינים במסלול המחקרי.
- אפשרות להשתלב כעוזרי הוראה בתוכנית הלימודים בבית הספר.
- הרצאות סמינר שבועיות של חוקרים ומובילי פרויקטים מהאקדמיה והתעשייה.
- יחס אישי לכל סטודנט ומדיניות דלת פתוחה.
מה לומדים בתואר שני במדעי המחשב?
היצע הקורסים משתנה משנה לשנה
מרצה: מר גיא רונן
עולם התוכנה רחב ומגוון מאוד, עם זאת נושאים של תכנות יישומי ושימוש נכון ב- Design Patterns תמיד יהיו נחוצים. הקורס יסקור מספר בעיות תוכנה "קלאסיות" ואת הדרכים השונות לפתרונן, תוך שימת דגש על תכנון נכון, מונחה עצמים, ושימוש ב- Design Patterns. בקורס נעבור על הסוגים השונים של Design Patterns בכל שלושת הקטגוריות - Behavioral, Creational, Structural . בנוסף, נקנה את הידע והכלים לניתוח בעיות תוכנה כולל ניתוח דרישות ושפת UML. בקורס נכיר את הפיצ'רים שמציעה גרסה 3.5 של שפת C# ואת הפיצ'רים המתקדמים של טכנולוגיית .NET לפיתוח תוכנה ולמימוש התבניות התכנותיות שנסקור, תוך הדגשת היתרונות של C# 3.5 והטכנולוגיה, והקשר בינם לבין התבניות הנלמדות, כולל היבטים בפיתוח עם ריבוי תהליכים (Multi-Threading). הקורס הינו קורס מעשי והסטודנט ירכוש בו ידע ארכיטקטוני ותכנותי בפתרון של בעיות תוכנה "מהעולם האמיתי" כגון פיתוח אפליקציות מול פייסבוק /טוויטר והיכרות עם פיתוח ממשקי משתמש מודרניים בטכנולוגיית WPF לפיתוח אפליקציות ל- Windows Phone ול- Windows Tablet (Surface). מטרות הקורס: היכרות יסודית ומלאה עם תבניות העיצוב (Design Patterns) בתכנות מונחה עצמים, שליטה בעקרונות ובתחביר של הדיאגרמות הנפוצות ב- UML, היכרות עם הפיצ'רים החדשים של שפת C# 3.5 והפיצ'רים של טכנולוגיית דוט-נט לפיתוח תוכנה בעולם האמיתי, נסיון בעבודה מול רשתות חברתיות כגון Facebook, Twitter.
ד"ר שי מוזס
גרף מישורי הוא גרף שניתן לציירו על דף נייר כך שקשתות אינן מצטלבות. לגרפים מישוריים שימושים מגוונים כגון תכנון מסלולים (למשל Google maps), ראיה ממוחשבת, תכנון שבבי מחשב (VLSI) ועוד. בקורס תאורטי מתקדם זה נבחן תכונות מבניות של גרפים מישוריים כגון דואליות, אי-הצטלבות ותכונות מונג', וקיומם של מפרידים קטנים. ננצל תכונות אלו כדי לתכנן אלגוריתמים יעילים לפתרון בעיות אופטימיזציה שונות כמו מציאת מסלולים קצרים ביותר, זרימה מקסימלית, vertex cover, ובעיית הסוכן הנוסע. הקורס מיועד לתלמידי תואר שני ותלמידי מתקדמים לתואר ראשון שמתעניינים בעיצוב ובניתוח של אלגוריתמים ושל מבני נתונים. חלקים מהחומר הנלמד נחשבים לקלאסיים, ואחרים מייצגים את תוצאות המחקר העדכניות ביותר בתחום. בחינה
ד"ר אילן גרונאו
מחקר בביולוגיה עבר מהפכה בשני העשורים האחרונים, וכיום הוא מונע בעיקר מניסויים ענקיים המייצרים כמות עצומה של מידע. ביולוגיה חישובית היא תחום המתמחה בפיתוח של אלגוריתמים ושיטות סטטיסטיות לניתוח מידע זה, ולהפקה של תובנות משמעותיות ממנו. הקורס יכסה נושאים קלאסיים בביולוגיה חישובית, כגון התאמת מחרוזות DNA ובניית עצי אבולוציה, כמו גם שיטות כלליות יותר לעיבוד כמויות גדולות של מידע רועש, כמו מודלים הסתברותיים ומודלים מרקובים חבויים (HMMs). הקורס יתמקד בתיאוריה ובתכנון אלגוריתמי, אבל ידגיש גם את הצדדים היישומיים של האלגוריתמים הנלמדים, והתרומה שלהם למחקר ביולוגי. הקורס דורש ידע בסיסי באלגוריתמים והסתברות, ואינו מצריך כל ידע מוקדם בביולוגיה.
ד"ר דויד מובשוביץ
בקורס נלמד על מנגנוני אבטחת מידע השונים, המשמשים לשמירה על סודיות ושלמות המידע, להזדהות (Authentication) וניהול משתמשים, לניהול הרשאות ואכיפתם (Authorization), ולניטור ובקרה (Auditing). הקורס יתמקד בישום של מנגנוני אבטחת המידע בפיתוח ישומים מאובטחים. כמו כן נדון בקורס בapplication vulnerabilities, נבין ממה הם נגרמים, כיצד הם מנוצלים ע"י תוקפים לפרוץ לאפליקציות, ונלמד כיצד למנוע אותם ע"י פיתוח קוד מאובטח.
ד"ר אפרים פוגל
Transforming geometric algorithms into effective computer programs is a difficult task. The last two decades has witnessed significant progress in this area, some of which is reviewed in the course. After discussing various issues in algorithmic and numerical computational geometry and introducing basic concepts in computational geometry I'll introduce 3D printing (a.k.a. additive manufacturing) and show how to apply tools in computational geometry to solve algorithmic problems in additive manufacturing (as well as other manufacturing processes). exam
גב' רויטל הולנדר
מטרות הקורס: הכרות עם תחום הטכנולוגיה למוסיקה ומוסיקה ממוחשבת, הקניית ידע מוסיקלי בסיסי, מימוש אלגוריתמים להלחנת מוסיקה בעזרת מחשב או על ידי מחשב, פיתוח תוכנה המלחינה ומנגנת מוסיקה עם ממשק משתמש גרפי בעיצוב אישי ומקורי. נושאי הלימוד: מבוא ל-Music Technology ו - Computer Music, סקירה היסטורית קצרה של התפתחות הטכנולוגיה למוסיקה, טרנדים עכשויים וכיוונים עתידיים. יסודות תודת הצליל ויסודות התאוריה המוסיקלית: תדרים, צלילים עיליים, הפסנתר המשווה, מרווחים מוסיקליים, קונסוננס ודיסוננס, מושג האקורד. מהי מלודיה ודוגמאות למאפייני מלודיות בשירים או בסגנונות מסוימים, יסודות הרמוניה, מהלכים הרמוניים בסיסיים. סקירת מאמרים אקדמיים בתחום Algorithmic Composition. לימוד חלק מיסודות שפת התכנות המוסיקלית SuperCollider. כתיבת תוכנות מקוריות להלחנת מוסיקה, סקוונסרים או סינתיסייזרים המשלבים אלגוריתם דטרמיניסטי או אקראי עם ממשק משתמש גרפי, העובדות עצמאית או משלבות אינטראקיה של המשתמש בזמן ההלחנה (זמן אמת). סטודנטים בעלי ידע במוסיקה יוכלו לשלב בעבודתם הלחנה מתקדמת יותר, סינתיזה, עבודה עם קונטרולרי מידי, טלפונים ניידים וסנסורים.
מר נמרוד פלג
הקורס דן בקשת רחבה של שיטות לדחיסת תמונות, וידאו, דיבור וקול. דחיסת אותות מהסוגים הנזכרים נעשתה חשובה מאד בשנים האחרונות גם ל"צרכן הביתי" של מולטימדיה, בעקבות החיבור הנפוץ לאינטרנט ולאמצעי מולטימדיה ממוחשבים אחרים, כגון DVD, וידאו בטלפון סלולרי ועוד. למעשה, כל היישומים בהם מועבר מידע אודיו-וידאו מצריכים דחיסה ברמות שונות ובעקבות צורך זה נוצרה סדרה של תקנים בינלאומיים המותאמים לכל יישום. כמו כן, מיושמות טכניקות אלו ביישומים צבאיים, רפואיים ומסחריים אחרים בהם נדרש עיבוד אות בכלל (כולל דחיסה) ברמה גבוהה. תעשיית ההיי-טק בישראל היא מן המובילות בעולם בתחומים אלו, והדרישה בשוק למהנדסים ובוגרי מדעי המחשב המתמצאים בעיבוד אות היא גבוהה מאד. בקורס ישולבו לימוד תאורטי ומעשי, תוך שימוש בתכנת MATLAB וסביבות עבודה SPDemo ו – VCDemo שפותחו במעבדה לעיבוד אותות ותמונות (בטכניון http://sipl.eelabs.technion.ac.il ) בחינה
פייטון היא אחת משפות התכנות המובילות במחקר מדעי, data science, ולמידת מכונה. הקורס יכיר לסטודנטים את החבילות המדעיות המובילות, כוללNumPy, SciPy, Matplotlib, and Pandas , ואת אופן השימוש הנכון בהן לצורך חישוב מדעי. בכל שיעור תוצג בעיה מדעית, שיטה מקובלת לפתור אותה, ומימוש הפתרון בעזרת פייטון. למשל, יודגם כיצד למדל התפשטות של מחלות מדבקות, למצוא נקודת שבת של מערכת משוואות טורף-נטרף, לזהות אובייקט בתמונה, לחשב את סיכויי ההיכחדות של מוטציה נדירה, לנתח תוצאות של משחק טניס, ולהציג מפה של שכיחות סופות הוריקן. עבודה
ד"ר אודי בוקר
בקורס נעסוק במגוון נושאים ותוצאות מרכזיות בלוגיקה אשר נמצאים בבסיס של מדעי המחשב. הקו המנחה של הקורס יהיה יחסי הגומלין שבין כח ההבעה של הלוגיקה והיכולת לענות על שאלות לגביה. בין הנושאים מהם נטעם בקורס: - משפטי השלמות ואי-השלמות של גדל - תורת פיאנו ותורת פרסבורגר עבור המספרים הטבעיים - לוגיקה מסדר שני - לוגיקה מסדר גבוה - לוגיקה מונאדית - לוגיקה מודאלית - לוגיקה עתית (טמפורלית)
ד"ר זהר יכיני
מדע ופיתוח טכנולוגיה, מכלכלה ומדעי המחשב, דרך ביולוגיה מולקולרית ועד לפיתוח מערכות בריאות לומדות, סובבים סביב מידע ונתונים. סטטיסטיקה הוא הענף המדעי העוסק בניתוח יעיל ומבוקר של נתונים ובהסקת מסקנות מהם. בהרבה מקרים הנתונים המנותחים "רועשים" ולא מלאים. ארגון הנתונים, הצגתם והאינטראקציה איתם הם גם חלק מתהליך הניתוח. שיטות אלגוריתמיות יעילות הן הכרחיות כדי לטפל בנפחי נתונים גבוהים במיוחד. בקורס זה נלמד על כל האספקטים של סטטיסטיקה וניתוח נתונים שנמנו לעיל. נפתח הבנת הנושאים ונדגיש כלים ופתרונות מעשיים. הקורס מניח ידע בהסתברות, קומבינטוריקה, אלגברה ליניארית ויכולת תכנות מתקדמת בשפה יעילה אחת לפחות (C ווריאנטים, JAVA, Matlab וכד'). נתחיל בחזרה על יסודות תורת ההסתברות. משם נפנה לבדיקת השערות וקביעת רווחי סמך. נבנה על הבנת נושאים אלה ונתקדם לשיטות הסקה מנתונים ולכלים כמו רגרסיה ליניארית, PCA והשוואת התפלגויות. הקורס יכלול דוגמאות ותרגילים שבהם נפעיל שיטות לניתוח נתונים מדעיים ותעשייתיים.
פרופ' ענת ברמלר-בר
הקורס יסקור מחקרים אחרונים בתחומים הבאים: הטופולוגיה של האינטרנט ,ניתוב באינטרנט (BGP), אלגוריתמי queuing ו -scheduling, אלגוריתמי classification ו- IP-lookup, סוגי ההתקפות על תשתית האינטרנט (Worms, DDOS, BGP hijacking), כלים לתכנון אלגוריתמים יעילים לרכיבי תקשורת, (Software Defined Networking (SDN), Network Function Virtualization (NFV ו- Internet of Things. עבודה
פרופ' יעל מוזס
פיתוח של מערכת ראיה ממוחשבת נחוץ לישומים רבים כגון מכוניות אוטונומיות, משחקי מחשב, מציאות מדומה, אבטחה, רובוטיקה, וישומים רפואיים. בקורס זה נלמד כיצד לפתח מערכות ראיה ממוחשבת שמפענחות אינפורמציה. נתמקד בבעיות קלאסיות בתחום הכוללת זיהוי מאפייני תמונה, חישוב עומק מזוג תמונות סטיראו, חישוב עומק מהצללות וצבע, וחישוב עומק מתנועה. אנחנו נלמד כיצד ניתן לזהות עצמים מתמונות וכיצד ניתן להבין תנועה. הקורס כולל יסודות תיאורטיים ומעשיים. ניגע קלות בקשר בין מערכות ראיה ממוחשבות ומערכות ראיה טבעיות. כחלק ממטלות הקורס הסטודנטים יישמו אלגוריתמים בשפת Matlab. בנוסף למאמרים המכילים את החומר, הספרים הבאים מכסים את רוב החומר שילמד: Computer Vision: A Modern Approach, by Forsyth D.A. and Ponce, J. Multiple View Geometry in Computer Vision, by Zisserman, A. and Hartley R. Computer Vision: Algorithms and Applications, by Richard Szeliski
ד"ר אילת בויל
תורת הקודים עוסקת בתקשורת על פני ערוץ לא מהימן, שעלולה לגרום לטעויות בהעברת המידע. מעבר לשימושים מעשיים מרובים, לתורת הקודים גם שימושים מגוונים בתיאוריה של מדעי המחשב. בקורס נכסה נושאים מרכזיים בתורת הקודים. הנושאים כוללים קודים מתקני שגיאות לינאריים, בניות של קודים וחסמים על איכותם, הרכבה של קודים, קודי ריד-סולומון והכללותיהם, קודים טובים אסימפטוטית, פענוח על ידי רשימה, פענוח מקומי, LDPCs, בעיות קשות בתורת הקודים ועוד.
ד"ר דויד מובשוביץ
מערכות ואפליקציות רשת נדרשות להתמודד עם איומים יחודיים בתחום אבטחת המידע. בקורס נלמד על האספקטים השונים של אבטחת מידע, ברמת רשת התקשורת, ברמת מערכת ההפעלה, וברמת אפליקציית הרשת. נלמד כיצד לאבטח את הגישה לרשת האירגונית באמצעות ה firewall, להגן על סודיות ושלמות ברשת האינטרנט באמצעות פרוטוקול ה SSL, כיצד לאבטח את תשתית המחשוב עליה "רצה" אפליקציית הרשת, וכיצד ליישם באופן נכון מנגנוני Authentication, Session management and Authorization באפליקציות רשת. כמו כן נעסוק ב vulnerabilities אופיניים לאפליקציות רשת ונתמקד בעיקר בהתקפות מבוססות דפדפן כמו XSS ו CSRF. הסטודנט יכיר את ה Vulnerabilities השונים, יבין ממה הם נגרמים, מה הם איומי אבטחת המידע שהם יוצרים, וכיצד למנוע אותם ולבנות אפליקציות רשת מאובטחות.
ד"ר אודי בוקר
הקורס יעסוק בהיבטים תיאורתיים ומעשיים של אימות מערכות חומרה ותוכנה. נדון בשאלה האם ואיך ניתן להוכיח באופן אוטומטי שמערכת מקיימת את התכונות הנדרשות ממנה. בין הנושאים שילמדו בקורס: בדיקת מודל (model checking), אבסטרקציה, לוגיקה עיתית (טמפורלית), מבני קריפקה, אוטומטים סופיים מעל מילים אינסופיות, בדיקת מודל סימבולית, בדיקת מודל מוגבלת (bounded model checking), אימות דדוקטיבי. כמו כן, נכיר כלי קוד פתוח המשמשים לאימות. בחינה
פרופ' יעקב הל-אור
הזמינות הרבה של תמונות וסרטים יחד עם הפיתוחים הטכנולוגיים של רכיבי עיבוד מקבילי (GPU) הביאו לפריצה מרשימה בתוצאות של יישומי הבנת תמונה וראיה ממוחשבת תוך שימוש בלמידה עמוקה. הקורס יקנה בסיס תאורטי ויישומי ללמידה עמוקה (deep learning) עבור יישומים בהבנת מידע ויזואלי. אנו נלמד על הארכיטקטורות השונות של רשתות לימוד עמוקות והשיטות הנהוגות לשערוך הפרמטרים שלהן תוך שימוש בדוגמאות אימון. בהמשך הקורס נתמקד בארכיטקטורות של רשתות קונבולוציה שמתאימות ליישומי עיבוד תמונה ונלמד על השיטות השונות לפתרון בעיות קלאסיות, כגון: איתור ומיקום עצמים, סגמנטציה של תמונות, זיהוי פרצופים, ייצוגים דחוסים תוך שימוש ב auto-encoder ויצירת תמונות חדשות על-ידי רשתות ומודלים גנרטיביים. הקורס יכלול תרגילי תכנות בפייטון שבהם הסטודנטים יממשו רשתות לימוד עמוקות ויאמנו רשתות קיימות עבור בעיות שונות. בחינה (מי שבוחר קורס זה אינו יכול ללמוד את קורס "למידה עם רשתות נוירונים" של ד"ר כפיר בר)
ד"ר שי פיין
למידה היא תהליך שבאמצעותו מערכת משפרת ביצועים על בסיס הניסיון, ולמידה חישובית הוא התחום במדעי המחשב שחוקר תהליכי למידה. מבחינה מעשית, למידה חישובית (או כריית מידע) היא הטכנולוגיה המובילה לחציבת מידע מנתונים גולמיים והפיכתו לידע שממנו ניתן להפיק ערך (עסקי) ממשי. בשנים האחרונות השימוש בטכנולוגיה זו צובר תנופה בתחומים רבים, תוך שימוש בכמויות נתונים גדולות. בקורס הנוכחי נסקור את המרכיבים הבסיסיים של למידה חישובית – מושגים, טכניקות, ואלגוריתמים. הנושאים בקורס כוללים הכנת נתונים ובחירת משתנים, למידה מונחית ולא-מונחית (סיווג, רגרסיה, אישכול, הורדת מימד), וכן שיטות מתקדמות כדוגמת למידה משולבת ולמידה מעמיקה. בקורס נעשה שימוש בשילוב מתודות של הסקה סטטיסטית, תורת האינפורמציה ומדעי המחשב, על מנת לספק את האינטואיציה התיאורטית והידע הפרקטי בבסיס שיטות למידה חישובית מודרניות. הקורס יכלול כשמונה תרגילים, הכוללים כתיבת קוד, ובחינה בסיום הקורס. בחינה
ד"ר דני זיידנר
בקורס זה הסטודנטים ממש בונים מחשב. ליתר דיוק הם בונים את המעבד, ה-CPU, על גבי לוח חומרה מיוחד. הקורס מתחיל בהצגת הבסיס של מחשב צנרת (Pipelined). אחר כך לומדים VHDL, שהיא שפת תיאור חומרה, ומשתמשים בה כדי לממש מעבד MIPS בסיסי. המוצר הסופי הוא מחשב צנרת הממומש על גבי לוח שמבוסס רכיבי חומרה מיתכנתים. המחשב הזה מאפשר הרצת תכניות מחשב כאוות נפשנו. לא מדובר בסימולציית תכנה של מחשב אלא במימוש מחשב בחומרה. מלבד רכישת ידע והבנה של מחשבי צנרת והבנת חלוקת העבודה של החומרה והתוכנה, הסטודנט לומד שליטה בסיסית ב-VHDL, הכרה של תהליך תכנון חומרה והבנת תכנונים מבוססי FPGA) Field Programmable Gate Array- רכיב שניתן לתכנות) שכיום נמצאים כמעט בכל מערכת. הידע הנרכש בקורס זה שימושי לכל תחום המשיק לחומרה כמו תכנות Embedded ו- Real-Time, מערכות הפעלה, קומפיילרים ודיבגרים, האצת אלגוריתמים ועוד.
פרופ' שמעון שוקן
הקורס עוסק בבניית מחשב פשוט אך מתוחכם, מא` עד ת`. בתחילת הקורס נחזור על מושגים אלמנטריים באלגברה ולוגיקה בוליאנית, ונבנה שערים לוגיים שונים. עבודה זאת תוביל לבניית ALU ומעבד בעל שפת מכונה ואסמבלר טיפוסיים. בשלב זה נגדיר שפה עילית דמויית Java ונכתוב מהדר (Compiler) לשפה. המהדר יתרגם תכניות למכונה וירטואלית (stack machine) שתגשר בין השפה העילית לשפת המכונה. כמו כן נבנה מערכת הפעלה פשוטה ויישום כלשהו כגון משחק מחשב. כל עבודות פיתוח החומרה והתוכנה תתבצענה על סימולטורים שונים, כמקובל בתעשייה. תבנית הקורס היא פרויקטנטית, ומבוססת על עבודה עצמית: בכל שבוע נסקור את הארכיטקטורה שבנינו עד כה, ונסביר את המטלות לשבוע הבא.
ד"ר רמי מראלי
קורס זה מציג את ההיבטים השונים של הנדסת המערכת ואת האופן בו משתלבת הנדסת המערכת במהלך מחזור חיי הפרויקט. בקורס נכיר מודלים, שפות ויזואליות, טכניקות, כלים ומתודולוגיות, המהווים בסיס לביצוע הנדסת מערכת מוצלחת, וברקע, נלמד מושגים ותהליכים בתחום ניהול הפרויקטים. הקורס מתמקד בהנדסת מערכת למערכות מבוססות תכנה, אך לטובת השלמות נוגע גם בהיבטים משלימים של הנדסת מערכת למוצר השלם. הקורס מלווה בדוגמאות ממערכות גדולות "מהעולם האמיתי" ובעזרתן עובר את שלבי הפרויקט, משלב היזום וניתוח הדרישות, דרך התכן, הבדיקות, ניהול הסיכונים וביצוע ה- Trade –offs ההנדסיים לאורך הדרך. הקורס פתוח לסטודנטים משנה ג' ומיועד בעיקר לסטודנטים בתואר שני, כאשר הוא נע על הציר בין פרקטיקה של הנדסת מערכת וניהול פרויקטים, ברמה המתאימה לבוגרים הרוצים להשתלב בעולם הפיתוח, לבין נושאים הנמצאים עדיין בשלבי מחקר אקדמי.
ד"ר טל מורן
מידע דיגיטלי הינו חלק בלתי נפרד מחיינו. איך ניתן לשמור על פרטיות המידע שלנו, ובכל זאת לעשות בו שימוש? הכלים של הקריפטוגרפיה המודרנית מספקים פתרון לשאלה זו ולשאלות דומות. הסדנה תכיל מספר הרצאות ופרויקט. נלמד על המשימות שתורת הקריפטוגרפיה עשויה לעזור בהן, ונכיר חלק מהכלים הקיימים לכך. לאחר מכן, קבוצות של שניים עד שלושה סטודנטים ישתפו פעולה לפתח יישום קריפטוגרפי אמיתי. כל קבוצת סטודנטים תבחר פרויקט אחד. קבוצות שונות יעבדו על פרויקטים שונים, אך יכולה להיות חפיפה כלשהי בין הפרויקטים. הצעות לפרויקטים יינתנו בשיעור, וסטודנטים יוכלו להציע פרויקטים אחרים בתחום הסדנה. ניתן יהיה להשתמש בתוכנות מקור פתוח (open source code) הנמצאות על האינטרנט. במשך הסמסטר הסטודנטים יעבדו במעבדה על הפרויקט. הסדנה מיועדת לסטודנטים שמרגישים בנוח לתכנת ב-Java. (לא נניח ידע מוקדם בקריפטוגרפיה). קיימת חובת נוכחות בשעורים. מטלות הקורס כוללות מיני פרויקט בתחילת הקורס, פיתוח הפרויקט, בניית גרסת הדגמה (demo) של הפרויקט, הצגתו לפני הכיתה, וכתיבת מסמך מסיים.
פרופ' גדי טאובנפלד
במהלך הסמינר יציגו הסטודנטים מאמרים ועבודות העוסקות בתכנון וניתוח של אלגוריתמים ובפיתרון בעיות שונות בתחום החישוב המקבילי והמבוזר. בין הנושאים שיוצגו: מבני נתונים מקביליים עבור מחשבים מרובי-ליבות; בעיות של סנכרון ותאום; הקצאת משאבים ;שימוש במנעולים; אלגוריתמים ללא המתנה; התמודדות עם תקלות; אמינות; התייצבות-עצמית ;בעיות החלטה והסכמה; בעיות מעקב כגון זיהוי קיפאון; אלגוריתמים מבוזרים לרשתות ;הכוח היחסי של אובייקטים ומודלים שונים. נושאים נוספים ייבחרו על-ידי הסטודנטים .מרבית חומר הקורס יתבסס על מאמרי מחקר וספרים שפורסמו לאחרונה. מכל סטודנט יידרש ללמוד את אחד הנושאים, להכין ולהעביר מצגת בנושא. עבודה
ד"ר אמיר כהן
מטרה: האם מחשבים יכולים להבין שפה אנושית? האם ניתן בעזרתם לחלץ באופן אוטומטי היסקים בעלי משמעות מהמוני המסמכים הזמינים לנו באינטרנט? כיצד פועל Translate Google ? התשובות לשאלות אלו נידונות בתחום מחקר הנקרא "בלשנות חישובית / עיבוד שפה טבעית" ) / CL NLP )המשלב שיטות חישוביות, בלשניות, סטטיסטיות, קוגניטיביות ואף פילוסופיות על מנת לחקור כיצד שפה טבעית מובנת על ידי בני אדם, ולבנות יישומים טכנולוגיים היכולים לעבד שפה אנושית באופן דומה. קורס זה מלמד טכניקות ואלגוריתמים לעיבוד שפה טבעית ומדגים את יישומם - 20 - בטכנולוגיות עכשוויות )ע"ע "גוגל"(. הקורס בנוי מארבעה חלקים שווים, כשכל חלק מעמיק את רמת עיבוד המוצגת בקודמו. חלק א' "מילים" מתמקד במכונות מצבים סופיות, עיבוד מורפולוגי, הפגת עמימות, ויישומים פשוטים כגון בדיקת איות. חלק ב' "משפטים" מגדיר דקדוקים פורמליים והסתברותיים, ומלמד את יסודות הניתוח התחבירי הסטטיסטי לשפות שונות. חלק ג' "משמעות" מטפל בייצוג לוגי ופרשנות של משפטים מורכבים )כלומר, ההבנה "מי עשה מה למי"(, ביחסי דמיון והוראה בין ביטויים במסמך, ובשימוש במילונים ולקסיקונים מקוונים. חלק ד' "יישומים" מציג ארכיטקטורות לאחזור מידע, כרייה, חישוביות פסיכו-בלשנית, ותרגום מכונה. קורס זה מיועד לסטודנטים למדעי המחשב המתעניינים בשפה טבעית, בינה מלאכותית, תקשורת אדם-מחשב ובמודלים חישוביים קוגניטיביים. עבודה
פרופ' אלון רוזן
קריפטוגרפיה היא המדע העוסק באבטחת מידע. באבטחת מידע הכוונה אינה רק הצפנה ופענוח אלא גם אותנטיקציה, זיהוי, שלמות המידע, שיתוף סודות, הסתרת מידע ועוד נושאים רבים הקשורים לאבטחת ההעברה והעיבוד של מידע. הקורס מכסה את הנושאים הבסיסיים בקריפטוגרפיה ומומלץ בחום למי שמעוניין להבין מושגים כמו מפתח הצפנה, שיטות סימטריות, שיטות מפתח פומבי, חתימות דיגיטליות, גורם מאשר ועוד. בקורס נדבר על שיטות קריפטוגרפיות קלאסיות, תורת שנון של סודיות, אופני הפעלה שונים של שיטות סימטריות (הצפנת בלוק והצפנה זורמת), שיטות מפתח פומבי, פונקציות ערבול ופרוטוקולים. הקורס יהיה בעל אופי תיאורטי אך יכלול גם דיון ביישומים.
מר דן אמיגה
מחשוב ענן הינו תחום חדש יחסית אך הפך לעובדה קיימת בכל תחומי התוכנה. פיתוח על גבי מחשוב ענן מאפשר למתכנת הבודד כוח עיבוד, איחסון ושליפה אדירים ומאפשר לצוותים קטנים לפתח מערכות ענק. דוגמאות הינן - אתרי רשתות חברתיות, טכנולוגיות לקרנות גידור ובנקים, מנועי חיפוש, מחקר רפואי וגנטי. בקורס זה נתעמק בפיתוח על גבי תשתיות מחשוב ענן שונות תוך שימוש בטכנולוגיות מבוססותAzure Windows ו Services Web Amazon .בנוסף נעבוד עם אלגוריתמים ממשיים לפתרון בעיות על חומרה מבוזרת דוגמת Precolator, MapReduce, BigTable. עבודה
ד"ר כפיר בר
בקורס זה נלמד פרקים נבחרים מעולם הלמידה העמוקה (deep learning) בעזרת רשתות נוירונים. בין השאר נעסוק בכלים המתמטיים והסטטיסטיים הרלוונטיים ללמידה עמוקה, תוך הצגת פתרונות לבעיות הלקוחות מהעולם האמיתי. דגש מיוחד יינתן ליישומים מעולם עיבוד וניתוח שפות טבעיות. למידה עמוקה הינה תת נושא בתחום הלמידה החישובית, ענף שלם בכל מה שקרוי בינה מלאכותית, או בקיצור AI. במהלך הקורס נציג את כל היסודות הדרושים להבנת דרך הפעולה של רשתות נוירונים, ונספק את הכלים המתאימים לבנייה ואימון של רשתות כאלה על בעיות שונות. נחקור אלגוריתמים מסוימים, ונבחן כיצד מפעילים אותם על יישומים נבחרים, כגון זיהוי אובייקטים בתמונה, יצירת טקסט, ותרגום אוטומטי. תרגילי הבית המעשיים יכללו כתיבת תוכניות בפייתון, תוך שימוש בספריית PyTorch. עבודה (מי שבוחר קורס זה אינו יכול ללמוד את קורס "הבנת תמונה ע"י למידה עמוקה" של פרופ' יעקב הל-אור)
ד"ר אודי בוקר
האם המשפטים המתמטיים הינם אמת מוחלטת? האם המספרים באמת קיימים? כאשר בוחנים את יסודות המתמטיקה ומחפשים להם צידוק, מתערבבים המתמטיקה, הלוגיקה והפילוסופיה. זה יהיה נושא הסמינר, אשר בו נתעמק בנושאים כגון: - האם המתמטיקה הינה אמת מוחלטת? - באיזה מובן ישויות מתמטיות, כמו מספרים, קיימים? - האם האינסוף קיים? היש סוגים שונים של אינסוף? - מה ההצדקה לאקסיומות אשר בבסיס תורת הקבוצות, עליה מושתתים יסודות המתמטיקה? - מה ההצדקה לכללי ההיסק הלוגיים מהם בונים הוכחות מתמטיות? - האם יש טענות מתמטיות שלא ניתן יהיה אף פעם להוכיח? - איך זה שהמתמטיקה כל כך שימושית בתיאור התופעות הפיזיקליות בעולם? עבודה
פרופ' גיל קלעי
מבנים קומבינטוריים: קבוצות, תמורות, עצים, גרפים. קומבינטוריקה קיצונית: משפטי Sperner, Kruskal-Katona, Turan, Sauer-Shelah ואחרים. גאומטריה קומבינטורית וחישובית. קבוצות סדורות חלקית משפט Dilworth ובעיית Dedekind . קשר לאלגוריתמים למיון. בעיות מנייה: פונקציות יוצרות, מספרי קטלן, מניית עצים, תורת פוליה, מניית "חיות" קמורות בשורות. תורת רמזי. צפנים מתקני שגיאות. עבודה
ד"ר אילן גרונאו
ניתוח מערכות נתונים גדולות הוא תחום שהתפתח בעשור האחרון כשיטה מובילה לחקר תופעות מורכבות בדיסציפלינות מדעיות רבות כגון ביולוגיה, כלכלה, ומדעי החברה. העלייה הדרמטית בכמות ובנגישות של מידע הובילה לשינוי פרדיגמה בתחומי מדע אלה, ולצורך הולך וגובר בכלים המשלבים סטטיסטיקה, תורת ההסתברות, ואלגוריתמים. הקורס יציג מושגי יסוד בתחום הזה, כגון רשתות בייסיאניות, היסק מדויק ומקורב, ודגימה בשיטת מונטה קרלו. הקורס יעסוק הן ביסודות התיאורטיים מאחורי השיטות החישוביות הנ"ל ויבנה על מושגים מתורת ההסתברות, תורת הגרפים, ואפילו סיבוכיות. הקורס יכסה גם סוגיות מעשיות באפליקציה של מודלים הסתברותיים על נתונים, ויעסוק במימושם בעולם האמיתי.
ד"ר בן לי וולק
כמה מהבעיות החישוביות החשובות ביותר הן בעלות אופי אלגברי, למשל, פתרון מערכת משוואות לינאריות או כפל מטריצות. אלגוריתמים לבעיות אלו משמשים מדי יום בעולם האמיתי כחלק חשוב בכל מערכת תוכנה מודרנית. בקורס נציג את המודל החישובי האלגברי ונציג אלגוריתם לפתרון בעיות אלגבריות חשובות כגון פתרון מערכות משוואות לינאריות ופולינומיות, כפל מטריצות, חישוב של טרנספורם פורייה הדיסקרטי, בדיקת זהויות פולינומיות, פירוק לגורמים של פולינומים, וכן בעיות מתורת המספרים כמו בדיקת ראשוניות ופירוק לגורמים של מספרים שלמים. כמו כן נדון במגבלות המודל ונציג שימושים של האלגוריתמים האלגבריים בבעיות נוספות במדעי המחשב.
פרופ' גיל קלעי
הקורס יעסוק במושגי יסוד, תוצאות מרכזיות, ודוגמאות חשובות בתורת המשחקים הלא שיתופיים ובתורת המשחקים השיתופיים, ובקשרים של תורת המשחקים לכלכלה ולמדעי המחשב. נושאי הלימוד: 1. משחקי סכום אפס עם ידיעה מלאה. מושג הפתרון. משחקים קומבינטוריים. האם יש פתרון למשחק "שח"? האם יש פתרון למשחק "שש-בש"? 2. משחקי סכום אפס ללא ידיעה מלאה. מושג האיסטרטגיה המעורבת. משפט המינימקס והערך של משחק. מה הפתרון ל"אבן נייר ומספריים"? 3. משחקים לא שיתופיים. "דילמת האסיר". שיווי המשקל של נש. משפט נש על קיום נקודות שווי משקל וההוכחה שלו. האם יש שווי משקל למשחק "פוקר"? 4. משחקים שיתופיים: הליבה, הערך של שפלי, בעיית המיקוח של נאש. שיטות בחירות ובחירה חברתית.
ד"ר יריב ארידור
כיום, כל פלטפורמות החישוב (ממכשירי קצה עד שרתים) מכילים רכיבי חומרה התומכים בביצוע מקבילי של תוכניות מחשב.תכנות מקבילי המנצל רכיבים אלו להשגת ביצועים מהירים על גבי פלטפורמות חישוב אלו הפך כבר למיינסטרים. הקורס עוסק ברעיונות הבסיסים של האצת תוכניות במערכות מרובות ליבה (ווקטוריזציה ומיקבול בשפת C), מאיצים גרפיים (שפת התכנות CUDA), ופלטפורמות חישוב מתקדמות שמפותחות בשנים האחרונות ומיועדות להאצה של חישובי AI ולימוד עמוק (Deep Leaning). הנושאים שילמדו ויתורגלו בקורס כוללים: שפות תכנות מקבילי טכניקות ותבניות תכנות לאופטימיזציה של תכנות מקבילי השוואות כמותיות של ביצועי חומרה/תוכנה. טכניקות לניצול יחידות חומרה (למשל זיכרונות מטמון) להאצה של תוכניות. מגמות חדשות בארכיטקטורות של מחשבים לטובת האצה מקבילית האצה של חישובי AI ולימוד עמוק (Deep Leaning) - אין צורך ידע מוקדם בלימוד עמוק.
פרופ' טל מורן
שיטות תשלום מסורתיות נשענות על מדינה, בנק או מוסד אחר שישלוט ויבטיח את ערכם. ביטקוין הוא מטבע ראשון מסוג חדש: "מטבעות קריפטו". באמצעות ה"קסם" של הקריפטוגרפיה, מטבעות הקריפטו יכולים להיות מבוזרים לחלוטין — הם עובדים למרות שאינם נשלטים ע"י אף רשות מרכזית. הטכנולוגיה העומדת בבסיס מטבעות הקריפטו — "הבלוקצ'יין" — מהווה תחום מחקר המתפתח במהירות, הן בתיאוריה והן בפועל. נושא קורס זה יהיה המדע שמאחורי הבלוקצ'יין ומטבעות קריפטו, תוך התמקדות בכמה מהטכנולוגיות הקריפטוגרפיות עליהן הם מבוססים. לקורס לא דרוש ידע קריפטוגרפי קודם (אם כי זה יעזור), אך על התלמידים להכיר את יסודות ההסתברות והאלגברה הליניארית, ויכולת תכנות באיזושהי שפה עילית (רוב התרגילים המעשיים יהיו ב-Python).
ד"ר משה בוטמן
תחום ה"למידה באמצעות חיזוקים" הינו תחום בינה מלאכותית העוסק ביכולת מערכת ללמוד ולקבל החלטות עצמאיות על סמך היסטוריה של "תגמולים" אותם המערכת קיבלה בעבר. תחום זה מתפתח בצורה מואצת בשנים האחרונות, הן בהיבט האקדמי והן בהיבט התעשייתי ובפרט עם התקדמות הידע והמחקר בתחום ה"למידה העמוקה". הישגים רבים נרשמים בתחום בשנים האחרונות כדוגמת תחומי המשחקים, כגון שח ו-GO, מסחר במניות, רובוטים אוטונומיים, ועוד. מטרת הקורס לסקור בפני הסטודנט את עקרונות הלמידה מבוססת החיזוקים ובפרט לעסוק בלמידה מבוססת חיזוקים באמצעות למידה עמוקה. האלגוריתמים השונים ילוו גם ע"י מחברות פייתון המדגימות מימושים של חלק מהאלגוריתמים.
פרופ' שי מוזס
זהו קורס מבוא תיאורטי בחישוב קוונטי. לא דרוש ידע קודם בפיסיקה או במכניקת הקוונטים. חישוב קוונטי הוא מודל חישובי שאבני הבניין שלו הם ביטים קוונטיים (קיוביטיםֿ) במקום ביטים קלאסיים. אנו ננסח את החוקים של מכניקת הקוונטים בהקשר של קיוביטים ונסקור נושאים שמדגימים את הכח והמגבלות של חישוב קוונטי. נושאי הקורס כוללים: שימוש באלגברה לינארית לתיאור מערכות של קיוביט בודד, שני קיוביטים וקיוביטים רבים, שזירה קוונטית, טלפורטציה, קידוד סופר-צפוף, חלוקת מפתח קוונטית (הצפנה קוונטית), אלגוריתמים קוונטיים בסיסיים והפרדה ביחס לאורקל של חישוב קלאסי וקוונטי, אלגוריתם החיפוש של גרובר, טרנספורם פורייה קוונטי, אלגוריתם הפירוק לגורמים של שור, תיקון שגיאות קוונטי וחישוב קוונטי עמיד לשגיאות.
מר יוני בירמן
הבינה המלאכותית משמשת כיום כלי משמעותי במגוון רחב של תחומים בהם הבינה האנושית איננה מספקת. דוגמת ניווט, זיהוי פנים, עיבוד שפה, אלגוריתמים לחיפוש והמלצות, משחקים, מדיה חברתית, רכבים, תהליכים פיננסים ועוד. בשנים האחרונות אנו עדים לאופן בו הבינה המלאכותית השתלבה בתחום הגנת הסייבר והובילה להתקדמות והישגים משמעותיים בהיבטים רבים. ומכאן הדרישה לאנשי מקצוע המשלבים את הידע של בינה מלאכותית והגנת סייבר הולכת וגוברת. הקורס מציג אתגרים שונים בנושא הגנת סייבר כגון: התקפות כופרה, התקפות כריית מטבעות קריפטוגרפים, הגנה על נתונים, תיאוריית הסתרת מידע, דליפת נתונים ופרטיות. כמו גם, הקורס מציג כיצד ניתן להשתמש בשיטות בינה מלאכותית כגון: למידה מפוקחת, למידה ללא פיקוח, למידת חיזוק, עיבוד שפה טבעית וראיית מחשב על מנת להתמודד עם האתגרים. ובנוסף, הקורס מציג שיטות הגנה על מערכות מבוססות בינה מלאכותית. מטרת הקורס היא להבין כיצד בינה מלאכותית משמשת ומעצימה את יכולות הגנת הסייבר על ידי הצגה תאורטית ומעשית של מקרי בוחן של שימוש בבינה מלאכותית לטובת הגנת סייבר. הקורס יספק לסטודנטים לתארים מתקדמים את הכלים להבין כיצד ניתן להשתמש בבינה מלאכותית לטובת הגנת סייבר. יסודות אלה מהווים את הידע והניסיון הנדרשים למחקר מתקדם בתחום. כל קטע קורס יעסוק באופן מעמיק באתגר ספציפי בתחום הגנת הסייבר ויציג את הטכניקות הסטטיסטיות והטכנולוגיות מבוססות הבינה המלאכותית המשמשות להתמודדות עם אותו אתגר. דרישות הקורס כוללות תרגילי בית ופרויקט גמר. תנאי הקדם לסטודנטים הנרשמים לקורס כוללים: 1. מבוא ללמידת מכונה (או קורס מקביל) - Introduction to Machine Learning Course 2. כישורי תכנות: ספריות Python ו- Python ML.
ד"ר אלון קיפניס
הקורס עוסק בנושאי ליבה של סטטיסטיקה מודרנית בחזית המחקר עם יישומים במדעי הנתונים; הדגש הוא על מתן רקע תיאורטי מוצק תוך שילוב של ניתוח נתונים אמתיים. במהלך הקרוס נתון בפרוט במודלי שיערוך, בדיקת השערות מרובות, ובחירת משתנים. רשימת הנושאים הפרטנית כוללת: מודל רגרסיה לינארי, בחירת מודל, הסקה בייסיאנית, בדיקת השערות במדגם אחד או יותר, אנליזה של שונות (ANOVA), רגאסיה דלילה, בדיקת השערות גלובלית, FDR והרחבות, bootstrapping, לימוד לא מפוקח.
ד"ר ליאון ענבי
הקורס יכסה שיטות מתקדמות בלמידה חישובית, בדגש על מימוש ויישום על בעיות מהעולם האמיתי. הקורס ירחיב בנושאי םאשר נלמדו בקורס מבוא ללמידצ מכונה ויוצגו בו שיטות וגישות ללמידה מפוקחת ובלתי מפוקחת. כחלק מהנושאים שנלמד בקורס ניתן למנות שיטות matrix factorization ויישומיהן, עצי רגרסיה וrandom forests.
ד"ר אביב יחזקאל
בעיות נתוני עתק (big data) כוללות לעתים קרובות כמויות עצומות של נתונים שלא ניתן אפילו לאחסן בזיכרון המחשב. קורס זה עוסק בכמה טכניקות אלגוריתמיות שפותחו לטיפול בבעיות נתוני-עתק כאלה. כפי שנראה, טיפול בבעיות אלה דורש לסכם את כמויות הנתונים הגדולות ל״סקיצות״ קומפקטיות (sketches) השומרות על האינפורמציה החשובה. הטכניקות שנלמד יושמו בהצלחה במגוון רחב של אפליקציות, כולל בבסיסי נתונים, רשתות מחשבים, פלטפורמות המלצה וכו'. הקורס יתמקד הן בהיבטים התיאורטיים של התכנון והניתוח של אלגוריתמים כאלה כמו גם ביישומים.
ד"ר אסנת מסיקה
Recommender systems are widely used by online companies worldwide to provide the most relevant content to their users. They changed the way users find relevant items in various areas such as e-commerce, content websites, social media and more. The goal of this course is to provide the students with both theoretical and practical aspects of recommender systems. We will study machine learning algorithms for personalized recommendations, including recent algorithms, advanced evaluation, research topics, and implementation tools.
פרופ' יניב ארליך
DNA is one of the most ubiquitous forms of information in nature. In the last 20 years, DNA sequencing technologies have evolved at a breathtaking pace, much faster than Moore’s law, evolutionizing multiple domains ranging from personalized medicine to forensics. This course will cover the interface between computer science and the DNA sequencing revolution. Specifically, it will focus on the newest phase of the DNA sequencing revolution: the advent of low-cost mobile devices that can form the basis of ‘the Internet of living things’. Students will have hands-on experience with these devices (hackathons), including data gathering and analysis. The first hackathon is “Who is this person” where the students will try to figure out the identity of a person for his/her DNA sequencing data. The second hackathon is “What did I eat” and the students will have to identify an organism from by sequencing its DNA on a mobile sequencer
*תוכנית הלימודים כפופה לשינויים