ישומיים מעשיים במדעי המחשב
Electiveבקורס זה נפגוש מגוון אלגוריתמים וגישות מעולם מדעי המחשב כפי שהם באים לידי ביטוי ביישומים בעולם האמיתי. נבחן יישומים הדורשים ניתוח חישובי מסיבי, כגון סימולציות של מערכות מורכבות, או הפעלת אלגוריתמים על מבני נתונים ענקיים. נדון בשיטות לשמירת גרסאות תוכנה (git) והקשר של אלה עם אתגרים בעדכוני תוכנה של טלפונים סלולריים. נבין איך וייז (Waze) מבצע חיפוש מסלול אופטימלי מבחינת זמן החישוב ודיוק התוצאה הסופית. נלמד כיצד שאזאם (Shazam) שומר מבנה נתונים חכם ויעיל המאפשר לו לזהות שירים, גם כהוא מקבל קטע שיר קצר עם הרבה רעשי רקע. נבין איך עובדים אלגוריתמי המלצה אישית כמו האלגוריתם של נטפליקס (Netflix) שיודעים לזהות את הטעם האישי של כל משתמש ולספק המלצה מותאמת אישית לסרט, שיר או פוסט שמתאים לו. ועוד דוגמאות נוספות. נקפיד על בחינת בעיות מוכרות, בחירה ויישום הפתרונות המתאימים להן מהזווית הפרקטית, ונחבר בין עקרונות תאורטיים במדעי המחשב לבין האילוצים הקיימים בעולם האמיתי. נלמד איפה האלגוריתמיקה התאורטית עוזרת, מה מגבלותיה, כמו גם מה נדרש ממנה באמת בבואנו לפתור בעיות מעשיות. ההיכרות עם היישומים שנלמד בקורס, שלבי ניתוח הבעיות והפתרונות המקוריים שנמצאו ביישומים לבעיות תחת האילוצים השונים, יקנו לכם כלים וניסיון חשובים להתמודדות עם בעיות יישומיות בעתיד, גם כשאין פתרון מושלם שניתן לחישוב מדויק בזמן סביר, או כאשר הניתוח התיאורטי מורכב ומסובך ביותר. תרגילי הבית יוגשו בשפת פייטון, אך לא נדרשת הכרות קודמת עם פייתון. הקורס מתאים לסטודנטים משנה ב' ואילך.
תנאי קדם
ביקורות
היו הראשונים לכתוב ביקורת על הקורס הזה!
התחברו כדי לשתף את החוויה שלכם ולעזור לסטודנטים אחרים.
התחברות