20964 הרצאות אורח-סדנה בנושא מיוחד במדעי המחשב (אנגלית)

3 נקודות זכות ברמה מתקדמת סמינריונית

שיוך: תואר ראשון / מדעים / מדעי המחשב

שיוך נוסף: תואר ראשון / הנדסה / הנדסת תוכנה

מחלקה: מתמטיקה ומדעי המחשב

דרישות קדם

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

ההרשמה לקורס מותנית באישור מרכז ההוראה - יש להגיש בקשה דרך מערכת הפניות - "פניה לאישור הרשמה לקורס ללא עמידה בתנאי קבלה".

שפת ההוראה

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

תיאור הקורס ומטרותיו

סדנה בנושא מיוחד - תכנות תחרותי.

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

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

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

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

בישראל מתקיימים קורסי תכנות תחרותי בטכניון ובאוניברסיטת תל אביב ובמוסדות נוספים.

ידע כישורים ומיומנויות שירכשו בקורס (תוצרי הלמידה)

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

שיטת ההוראה

מפגשי הסדנה דורשים שימוש במחשבים אישיים (נייחים, ניידים או טבלטים).

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

יש חובה להשתתף בחמישה מפגשים לפחות, ביניהם הראשון והאחרון.

ספר הלימוד עליו יתבסס הקורס יהיה:  Competitive Programmer's Handbook / Antti Laaksonen

הספר זמין באופן חופשי בכתובת:

https://cses.fi/book/index.php 

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

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

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

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

 

מטלות בית וציון בסדנה:

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

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

מטלות הבית הן השלמת השאלות מהסימולציה לפתרונות מלאים.
בסיום שבוע יש למלא טופס הערכה קצר שישמש למטרת הערכת ההשתתפות.

לאחר הסדנה יתאפשר לצוותים שסיימו במקומות הראשונים להשתתף בתחרות הבינלאומית - SWERC .

נושאי הלימוד

נושאים עיקריים:

  • C++ מבני נתונים וספריות בשפת
  • תכנות דינאמי
  • בעיות גרפים
  • בעיות מתמטיות
  • גיאומטריה חישובית
  • בעיות זרימה
  • בעיות מיוחדות (אד-הוק)

_____________________________________________________________________________

להשלכות על צבירת נ"ז בשל חפיפה עם קורס(ים) אחר(ים) ראו פירוט החפיפה

קורס

קורס

0