מבוא מורחב למדעי המחשב
מספר קורס: 0368-1105
מרצים: פרופ' בני שור וד"ר דניאל דויטש
מתרגל: אדם ונשטוקעל הקורס:
הצגה ראשונים עם מדעי המחשב - כיסוי של מגוון רחב של נושאים באופן מאוד שטחי (לא יותר משלוש הרצאות לנושא) והיכרות עם שפת התכנות python, הקורס אינו קורס תכנות, אבל שיעורי הבית דורשים תכנות, עם זאת לא נדרש ידע מוקדם והקורס ידידותי למתכנתים מתחילים.
נושאים שמכוסים בקורס:
python - תכנות בסיסי, משתנים - הגדרה והשמה,רשימות (מערכים), פונקציות, מילים שמורות, ובאופן כללי: איך לתכנת.
(הנושא הזה מכוסה בצורה נרחבת יותר כי צריך אותו בשביל שיעורי הבית, לכן הוא מכסה בערך את שלושת השבועות הראשונים של הקורס)
סיבוכיות זמן ומקום, ניתוח ויעול.
"מודל הבלונים"- שמירת הזיכרון במחשב.
מציאת ראשוניים (אלגוריתמים דטרמיניסטיים והסתברותיים)
הצפנה: Diffie–Hellman.
מציאת gcd (מכנה משותף גדול ביותר): צורה נאיבית, ושיטת אוקלידס.
תכנות מונחה עצמים: מחלקות (class) ב python.
רקורסיה.
מיון מערכים: quicksort, mergesort.
dictionary ו set (מבני נתונים מובנים של python)
סימון לאמבדא (מימוש מובנה של python לפונקציה חסרת שם)
hash - מימוש ושימושים.
דחיסת מידע: קוד האפמן וקוד Lempel-Ziv.
קודים לתיקון שגיאות.
תיקון "רעש" בתמונות
threading - מִקבול.אתר הקורס:
מצגות של המרצים באתר הקורס
באתר, תחת home assignments-ressorces תמצאו את המטלות להגשה.
באתר גם יש פורום שהמתרגלים והמרצים עונים לשאלות, הפורום מאוד פעיל.
חובת הגשה: כל התרגילים למעט 1. (כאשר העלו תרגיל בשבוע האחרון ללימודים נתנו אותו כבונוס, והוא לא נכלל בחובת ההגשה)
אם אתם מחפשים את העמוד של הגרסה הקודמת של הקורס בשפת Scheme, ראו כאן.