| |||||||||||||||||||||||||
נושאים מתקדמים בתכנות
Advanced Topics in Programing |
0368-3058-01 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
מדעים מדויקים | |||||||||||||||||||||||||
|
סילבוס נושאים מתקדמים בתכנות
סמ' ב' תשע"ט
מרצה : אמיר קירש
(kirsh@post.tau.ac.il)
דרישות קדם
סיום בהצלחה של הקורס "פרוייקט תוכנה"
ידיעת שפת C
היכרות טובה עם שפה OOP כלשהי (למשל Java): מחלקות, הורשה, פולימורפיזם, כתיבת קוד גנרי.
שימו לב: שמו של הקורס עלול להיות מטעה. במהלך הקורס בעיקר נצלול לתוך פרטי תחביר של C++ ונתעסק באופן סיזיפי במימוש של פרוייקט מורכב. השאלה האם מדובר בנושאים מתקדמים נתונה לפרשנות. מי שפחות אוהב לתכנת עלול למצוא שהקורס מייגע ולא מועיל עבורו. לעומת זאת מי שאוהב אתגר תכנותי ועבודה קשה כנראה יימצא בקורס עניין.
נושאי הקורס
למידה והבנה של תחביר C++
שיקולים בתכנות object oriented
תכנות גנרי
multi threading
נגיעה קלה ב-design patterns (בין שיעור לחצי שיעור במהלך הקורס)
תרגילים
במהלך הקורס יינתנו 4 תרגילי תכנות קשים
יש להגיש את התרגילים בזוגות.
ציון סופי
40% תרגילים
60% מבחן
על מנת לעבור את הקורס יש לקבל ציון עובר במבחן.
רשימת קריאה
ספרים מאת מייסד השפה
A Tour of C++ , Bjarne Stroustrup, AddisonWesley, 2013
The C++ Programming Language , Bjarne Stroustrup, Addison Wesley, 4th edition, 2013
Programming Principles and Practice Using C++ , Bjarne Stroustrup, AddisonWesley, 2014
סידרת ספרי ה-More Effective מהאורים והתומים של השפה Scott Meyers:
Effective C++, Scott Meyers, AddisonWesley, 3rd edition, 2005
More Effective C++ , Scott Meyers, AddisonWesley, 1996
Effective STL , Scott Meyers, AddisonWesley, 2001
Effective Modern C++ , Scott Meyers, AddisonWesley, 2014
הספר הידוע והמפורסם של design pattterns מחבורת הארבעה (The Gang of Four):
Design Patterns: Elements of Reusable ObjectOriented Software, Erich Gamma, John Vlissides, Ralph Johnson, and Richard Helm, AddisonWesley, 1994
מקורות ברשת (רשימה חלקית של מקורות רלבנטיים)
אתר הבית של תקן השפה:
https://isocpp.org , https://isocpp.org/faq , https://isocpp.org/wiki/faq/cpp11
האתר של Bjarne Stroustrup:
http://www.stroustrup.com , http://www.stroustrup.com/C++11FAQ.html
אתר הרפרנס של השפה - כולל את הפירוט המלא של השפה, כלי עזר חשוב:
http://en.cppreference.com , http://en.cppreference.com/w/cpp/language
מקורות נוספים:
http://www.cplusplus.com/doc/tutorial/
http://www.cplusplus.com/articles/
StackOverflow:
http://stackoverflow.com/tags/c++
http://stackoverflow.com/tags/c++/info
http://stackoverflow.com/tags/c++faq
אתר מצויין שמרכז C++ Idioms:
http://en.wikibooks.org/wiki/More_C++_Idioms