תוכן הקורס ומטרתו
נושאים מתקדמים בתכנות
אמיר קירש
(kirsh@post.tau.ac.il)
דרישות קדם:
* סיום בהצלחה של הקורס "פרוייקט תוכנה"
* ידיעת שפת C
* היכרות טובה עם שפה OOP כלשהי (למשל Java): מחלקות, הורשה, פולימורפיזם, כתיבת קוד גנרי.
שימו לב: שמו של הקורס עלול להיות מטעה. במהלך הקורס בעיקר נצלול לתוך פרטי תחביר של C++ ונתעסק באופן סיזיפי במימוש של פרוייקט מורכב. השאלה האם מדובר ב"נושאים מתקדמים" נתונה לפרשנות. מי שפחות אוהב לתכנת עלול למצוא שהקורס מייגע ולא מועיל עבורו. לעומת זאת מי שאוהב אתגר תכנותי ועבודה קשה כנראה יימצא בקורס עניין.
נושאי הקורס:
- למידה והבנה של תחביר C++
- שיקולים בתכנות object oriented
- תכנות גנרי
- multi threading
- נגיעה קלה ב-design patterns (בין שיעור לחצי שיעור במהלך הקורס)
תרגילים:
במהלך הקורס יינתנו:
* 3 תרגילי תכנות קשים להגשה בזוגות (40% מהציון הסופי)
* תרגיל מסכם אחד להגשה ביחידים (60% מהציון הסופי)
הסילבוס המפורט מפורסם לתלמידי הקורס בלבד