מס` הקורס ופיתוח משחקים תכנות מונחה עצמים : שם הקורס 10204042/01
Transcription
מס` הקורס ופיתוח משחקים תכנות מונחה עצמים : שם הקורס 10204042/01
שם הקורס :תכנות מונחה עצמים ופיתוח משחקים שנה אקדמית :ב' היקף נקודות זכות5 : סמסטר :ב' מס' הקורס10204042/01 : תואר :ראשון שעות 4 :שעות הרצאה 2 +שעות תרגול 2 +שעות סדנה אפיון הקורס :קורס תכנותי מתקדם דרישות קדם :תכנות מונחה עצמים והנדסת תוכנה ,מבני נתונים מרצה :ד"ר מיכל אלחנתי דואר אלקטרוני[email protected] : טלפון02-629-19-23 : שעת קבלה : :יום שלישי 10:45-11:45או בתאום מראש מתרגל :יחזקאל ברנט דואר אלקטרוני[email protected] : אתר קורסhttp://cs.hadassah.ac.il/staff/michal/OOP2/main.html : שעות הקורס: הרצאה :יום שלישי ( 9:00-11:00אולם ,)1517יום חמישי ( 12:00-14:00אולם .)1517 תרגיל :יום ראשון ( 15:00-17:00אולם .)2101 סדנא :יום ראשון ( 17:00-19:00מעבדה .)4116 מטרות הקורס: משחק "פאק-מן"" ,חופר"" ,גנבים בעיר הגדולה"" ,למינגס" ועוד משחקי מחשב רבים אחרים הם דוגמאות לעולמות עם עצמים ,פעולות ,ויחסי גומלין ביניהם .יישומים מסוג זה מדגימים היטב את הרעיונות ,העקרונות והאתגרים ,הקיימים בתכנות מונחה עצמים .הקורס יעסוק בנושאים מתקדמים של תכנות מונחה עצמים כגון :תבניות ,איטרטורים ,שימוש בספריות קיימות ,טיפול בחריגות ותבניות עיצוב .ההתנסות התכנותית תכלול יישומים מעולם משחקי המחשב המבוססים על מבני נתונים ואלגוריתמים הנלמדים בקורסים התיאורטיים. תפוקות הלמידה: הסטודנט יהיה מסוגל להתמודד עם תהליך פיתוח שלם כדוגמת משחק מחשב .הסטודנט יבחר משחק מחשב על פי העדפתו האישית ויהיה אחראי על תהליך הפיתוח המלא :הגדרת חוקי המשחק ,דרישות ,התמודדות עם הצדדים התאורטיים ,עיצוב הקוד ,בחירת כלים תכנותיים וספריות ,שימוש בכלי תכנות מתקדמים ,קידוד ובדיקות איכות .הסטודנט יהיה מסוגל לנתח את הקוד שהתקבל במונחים של ביצועים ,כלליות ובהירות. תוכן הקורס לפי שבועות: .1תיאור הקורס והדגמות ,סיכום הפרויקטים תוך התייחסות לנושאי תכנות מונחה עצמים. .2תבניות. .3איטרטורים. 1 . מבני נתונים ואלגוריתמים גנריים.4 .inline מרחבי שמות ופונקציות, מחלקות מקוננות.5 . עיצוב מונחה עצמים של משחק,command תבנית העיצוב.6 .Move semantics .7 . טיפול בחריגות.8 . הספרייה הסטנדרטית.9 .Boost הספרייה הסטנדרטית וספריית.10 . מצביעים חכמים.11 . ירושה מרובה.12 .factory, double dispatch, serialization : תבניות העיצוב.13 . חזרה, העשרה בנושאים הקשורים בפרויקט.14 :ספרות 1. Deitel, H.M. and Deitel, P.J. C++ How to Program, 9th Edition, Prentice Hall, 2013. 2. Deitel, H.M. and Deitel, P.J. C++ 11 for programmers, 2th Edition, Prentice Hall, 2013. 3. Gamma, E., Helm, R., Johnson, R. and Vlissides, J. Design Patterns, AddisonWesley, 1995. 4. Lippman, S.B., Lajoie, J. and Moo, B.E. C++ Primer, 5th edition, AddisonWesley, 2012. 5. Meyers, S. Effective C++, 3rd edition, Addison-Wesley, 2005. 6. Meyers, S. More Effective C++, Addison-Wesley, 1996. 7. Meyers, S. Effective STL, Addison-Wesley, 2001. 8. Meyers, S. Effective Modern C++, O'Reilly Media, 2014 9. Stroustrup, B. The C++ Programming Language. 4rd Edition, Addison-Wesley, 2013. :אופן ההוראה דיונים ומפגשי, קטעי קוד וכתיבה על הלוח,שיעורים פרונטליים המועברים על ידי מצגות .מעבדה :מטלות הקורס יינתן פרויקט. בתדירות של אחת לשבועיים, תרגילים תכנותיים4 יינתנו במהלך הקורס תינתן.תכנותי לקראת סיום הקורס (כחודש לפני סיום הקורס) בהיקף של כשני תרגילים .בחינה בסיום הקורס :אופן הערכת הסטודנטים 2 משקל התרגילים והפרויקט 40%מהציון הסופי ,ומשקל הבחינה 60%מהציון הסופי. התרגילים במשקלים שווים והפרויקט במשקל כפול מתרגיל אחד .הסטודנטים יידרשו להציג שלבים שונים של הפרויקט בפני המרצה והמתרגל. זכאי לגשת לבחינה סטודנט שקיבל ציון 65לפחות בשקלול התרגילים והפרויקט .כדי לעבור את הקורס יש לקבל ציון ( 55לפחות) בבחינה הסופית. הנחיות נוספות: o מי שאינו יכול להגיש תרגיל בזמן בגלל מחלה/מילואים מתבקש לפנות בהקדם האפשרי למרצה או למתרגל ולהציג אישור מתאים. o איחור בהגשת תרגיל (ללא אישור המרצה או המתרגל) יפחית 5נקודות על כל יום איחור, ומעבר לשלושה ימי איחור התרגיל לא יתקבל. o ערעור על תרגיל יש להגיש תוך עשרה ימים מיום החזרת התרגיל. o אופן ההגשה ודרכי ההתקשרות יוסברו בתרגיל. תכנות: C++11/14באמצעות Microsoft Visual Studio 2013 3