Students who attended the Moed GIMEL | |
Students who attended the Moed GIMEL and are taking the Course again this semester, Please contact Tomer ( uTomer.Golanyatgmail.com) in order to get an exemption for the HW assignments that they have missed. |
פורסם ב-5/12/2016, 08:44:18 Created on 5/12/2016, 08:44:18 Создано5/12/2016, 08:44:18 تم النشر ب-5/12/2016, 08:44:18 |
ציוני מועד מיוחד הועלו ברשת (FinalC) | |
שלום, לאחר תקלות רבות, שהשרפה היתה הקלה שבהן, פורסמו הציונים. מועד מיוחד אינו מועבר אוטומטית לאולמן, לכן הציונים נמצאים, כרגע, רק ב GR (Webcourse). בהצלחה לכולם יחיאל |
פורסם ב-1/12/2016, 13:46:24 Created on 1/12/2016, 13:46:24 Создано1/12/2016, 13:46:24 تم النشر ب-1/12/2016, 13:46:24 |
פתרון מועד ב' הועלה אל "חומר הקורס" | |
בהצלחה וחג סוכות שמח יחיאל |
פורסם ב-12/10/2016, 23:36:59 Created on 12/10/2016, 23:36:59 Создано12/10/2016, 23:36:59 تم النشر ب-12/10/2016, 23:36:59 |
Appeals Moed B | |
If you want to appeal, please send a mail to umtmappealatgmail.com The title should be MTM_APPEAL The format of the mail should be as follows: ID: your ID , Your semester (Spring/Summer) Question x section y: reason for appeal Question x section y: reason for appeal ... There should be no other text in the mail. Any other kind of non formal appeal which doesn't conform to this format will not be answered. You may write your mail in Hebrew (but the title should still be MTM_APPEAL). You don't need to attach your exam, but you may (not must) attach a specific scanned page with your own comments, If you believe it helps you explain where the checker was wrong. You cannot appeal for the number of points reduced for a mistake, but only for points that were reduced for a correct answer. Please note that if you decide to appeal, the entire exam will be rechecked and your grade may also decrease. All appeals should be submitted until Thursday 1.11. |
עדכון אחרון ב-12/10/2016, 23:35:39 Last updated on 12/10/2016, 23:35:39 Последняя модификация12/10/2016, 23:35:39 تمت الحتلنة الأخيرة ب-12/10/2016, 23:35:39 |
חסכון כתיבה ביד שמאל | |
שלום לכולם, חדי העין ביניכם שמו לב שידי הימנית מגובסת. כדי לחסוך כתיבה חוזרת, כשאפשר, השתמשתי בסמלים לציון שגיאות וחוסרים אפיניים. להלן המפתח, באנגלית, כי אותיות לע"ז מבלבלות את הסדר: 1A: A - MACRO provides "genericity" B - MACRO allows arguments that are non-expressions. 1B: A - counter is class-static (1 or 2 pts) B - counter is private, and served by a public function (1pt each) C - Ctor ++ D - Dtor -- 1C: A - Def. of op-overloading requires specific number of parameters (3pts) B - Any semantic restriction, as described in the solution (2pts) 4A: A - Missing template (4pts), int coordinates (2pts more to deduct) B - Missing member function print() (1pt) C - Additional two services (up to 3pts) 4B: A - Wrong return type B - No return statement C - No space printed C - endl is printed (1pt for each of 4B) בהצלחה יחיאל |
פורסם ב-11/10/2016, 16:46:28 Created on 11/10/2016, 16:46:28 Создано11/10/2016, 16:46:28 تم النشر ب-11/10/2016, 16:46:28 |
תוצאות מועד ב' | |
שלום ושנה טובה לכולם, גמרנו לבדוק את הבחינות ביום ששי אחה"צ, והציונים הסופיים הועלו לאתר במוצ"ש, לפני כמה שעות. מחר יעברו הציונים לאולמן, והמחברות תועברנה לסריקה. תקציר התוצאות (ציונים סופיים): ממוצע 69.7, חציון 71, נכשלים 6.8% (לא היה צורך בפקטור). 113 נבחנו פעם שנייה - השיפור הממוצע הוא 7.6 נק'. בשילוב עם מועד א': ממוצע הקורס 74, נכשלים 4.8% בהצלחה לכולם יחיאל |
עדכון אחרון ב-8/10/2016, 23:51:11 Last updated on 8/10/2016, 23:51:11 Последняя модификация8/10/2016, 23:51:11 تمت الحتلنة الأخيرة ب-8/10/2016, 23:51:11 |
שו"ת חדשות לגבי מבחן | |
Q. נניח כי מוגדר הטיפוס הבא: typedef struct user_s *User; נניח שלכל משתמש יש רשימה השומרת את תחביביו - List hobbies. כעת, נגדיר מפה השומרת User עם מספר ת"ז שלו (מספר שלם). למיטב ידיעתי, ה-ADT של MAP מחזיק עותק (מוקצה דינמית) של המשתמש. לכן, הגיוני כי הפונקציה mapGet תחזיר עותק חדש של המשתמש, ולא מצביע לעותק אותו היא מחזיקה. אם הדבר נכון, הרי שכדי להוסיף תחביב חדש למשתמש צריך להשתמש ב- mapGet על מנת לקבל את המשתמש, להוסיף לרשימת התחביבים תחביב חדש, ואז לעדכן את הערך של המשתמש שנבחר בעזרת המזהה שלו, כלומר להשתמש בפונקציית mapPut (המעדכנת במידה והמזהה כבר קיים, כמו במקרה שלנו). אולם, בפתרון של מבחן (*), ראיתי שפשוט שלפו מתוך המפה את המשתמש בעזרת פונקציית mapGet ועידכנו את רשימת תחביביו, מבלי להכניס אותו חזרה מפה. מכאן משתמע שהוחזר המצביע לאובייקט הנשמר במפה, ולא עותק שלו. האם זה אכן המצב? האם זה לא יוצר בעייתיות ופוגע בחוסר התלות של המפה? הרי אני יכול לשחרר לה אלמנטים, או שאני יכול לקבל את המשתמש מתוך המפה, למחוק את המפה ולהישאר עם מצביע לשום-מקום. (*) סמסטר קיץ 2015, מועד א' - שאלה מספר 1, סעיף ג'. הנה לינק: https://webcourse.cs.technion.ac.il/234122/Summer2016/ho/WCFiles/MoedB-Spr-Sol.pdf A. הערתך נכונה באופן עקרוני, אבל יש לה פתרון פשוט באופן מעשי: 0. שים לב שלא נדרשתם לממש הכל ולכן יש יותר מדרך אחת לממש את החלקים חסרים. 1. הפונקציה mailCreate שבפתרון רומזת שלמשתמש אין שליטה על User, כל שהוא מכיר הוא userID, ולכן אין שליטה על העתקת User ובפרט User יכול להיות עצם בבעלות אקסקלוסיבית של Mail ! ולכן לא צריך העתקה. (ההעתקה תחזיר את הכתובת ולא עצם חדש) בפרט, המשתמש אינו יודע שיש Map מאחורי הקלעים. 2. מכאן יוצא שהפונקציה mapGet יכולה להחזיר מצביע לעצם הפנימי, ולכן mailSend מעדכנת את User באופן ישיר => הבעיה שהעלית אינה קיימת. מקווה שעזרתי בהצלחה יחיאל |
פורסם ב-25/9/2016, 00:04:03 Created on 25/9/2016, 00:04:03 Создано25/9/2016, 00:04:03 تم النشر ب-25/9/2016, 00:04:03 |
תשובות לשאלות סטודנטים | |
============ 1. in moed A , we were asked the following question: "because of C++, in the C99 standard, the user is able to declare variables in the middle of the block. why does C++ needs the freedom to declare variables in the middle of the block, and C doesn't?" the formal answer to this question have claimed that Objects in C++ needs more information before being created, as opposed to variables C. also, Object's creation requires more affort then in C, so the creation of unused Objects will be more wasteful in C++. now, lets say I've created in C an ADT which needs information from the user, and allocates a lot of memory (for example: an ADT type named "Hotel" that represents hotel, and "contains" a list of 500 hotel-guests and 100-staff members). why can't it be paralleled to the creation of an C++ object which also, needs more information before created, and needs a lot of system resources to be created? ------------ Answer: The short answer is: " In theory, theory and practice are the same, in practice they are not." The explanation is (as I wrote to students who wrongly claimed that only in C++ we don't know the type of an object at compile-time) that although the situation in C is similar, C doesn't care too much about objects that are not in a useful state - it just transfers the responsibility to the programmer. -------- Q. so when we say its alot more "expensive" to create an object in C++ then an ADT in C , it regards mostly the affort of the C++ compiler "behind the scenes" (as opposed to the code of the ADT maker hinself)? A. Not at all: In both C and C++, creating a useful object requires similar efforts. The differences are that a). In C the client of an ADT decides when/where to make the efforts - it's easy to define a variable of type Set, but calling SetCreate() much later. b). In C++, the client of the class is less likely to be aware of when/where efforts are made - is it in a default Ctor? Is the call by value (copy) or by-reference (no copy)? and so on. ================================== 2. במהלך ההתכוננות למועד ב' הקרוב, נתקלתי בבעיה. כתבתי script של bash על הדף, והעלתי אותו למחשב (לאתר cloud9) על מנת לבדוק שהוא מבצע את העבודה. לצערי, נתקלתי בבעיה לא צפויה - השימוש בפקודת let בתוך לולאת while לא עבד. מחיפוש באינטרנט נתקלתי בתשובה הבאה: http://stackoverflow.com/questions/16854280/modifying-variable-inside-while-loop-is-not-remembered בקצרה, מוסבר שם כי: "The while is loop executed in a subshell. So any changes you do for the variable will not be available once the subshell exits." איני יודע איך להתייחס לבעיה זו. האם ניתן לבצע פקודה כמו זו שניסית במבחן? ----------- Answer: ליתר ביטחון התיעצתי גם עם המתרגלים. הבעיה שברשת קשורה לעובדה שמדובר ב PIPELINE, אשר פותח SHELL חדש. האם גם אתה ניסית לעשות זאת? במבחן לא היה צריך, וללא PIPELINE המשתנה מתעדכן כנדרש. ----------- אכן ניסיתי את זה בתוך pipeline. במקרה שלי פיצלתי את הפעולה שגרמה לבעיה לפונקציה נפרדת, והבעיה נפתרה, עכשיו אני מבין שזה היה בגלל ה pipeline. תודה על ההסבר. אם במבחן אראה צורך לבצע פעולה כמו שתיארתי - האם תשובה זו תתקבל, למרות הבעייתיות. כמובן, אנסה להימנע מלהגיע למצבים כאלה, אבל לפעמים בזמן מבחן לא חושבים על כל המקרים. ------------- Answer: אנחנו מצפים שהפתרון יעבוד, אבל גם אם אינו עובד זה לא אומר שמפסידים את כל הנקודות. תלוי כמה שגיאות נוספות יש, וכמה חרגת מניסוח הבעיה. ===================== 3. question about operators overloading. Are operators such as +,-,+=,-=,* always return a temporary object which its life end after the semicolon? ------------- Answer: No, not all of them (not all that you mentioned are the same). Read the slides or (better, more explanations) a good book. ================= 4. בשאלת C מאביב 2014 מועד ב' (+קיץ) (אין קישור באתר - מהחוברת). בתמונות אלה מתוארים שני האזכורים היחידים של Functions בקובץ H: המשתמש לא יודע מה זה functions , אז איך הוא שולח את זה? A. יכולה להיות פונקציית אתחול עבור Functions שבה שולחים את אוסף הפונקציות שתוכנסנה למבנה. זה המבנה שמוחזר מפונקציית היצירה: אתה מסביר גם שמאוד חשוב לשלוח את Functions ב ExprCreate (שורה אחרונה): זה functions והמבנה נתון רק בקובץ ה C, למרות שלדעתי הוא צריך להיות ב H: A. אם Functions ברשות האפליקציה, אפשר להוסיף למבנה דברים נוספים הקשורים למימוש. ואם נניח שהמשתמש שולח NULL , אז למה הוא צריך לשלוח בכלל? בנוסף איך A. ואם שולחים NULL לפונקציה SetCreate? זו שגיאה! אפשר לממש את הפונקציות האלה ב C? הרי איננו יודעים אפילו את הטיפוס של Number (כמה ביטים זה תופס..). A. המשתמש קובע מה זה Number, בדיוק כמו שקובע מה זה Element ב Set, ולכן צריך לממש אותן ולהעביר ל Functions בעזרת פונקציה מתאימה. אם הוא לא שולח נול - כמו שרשמתי, הוא צריך להכיר את המבנה Functions ולכן יש להעבירו לקובץ h. A. לא, מספיק שיקבל כערך מוחזר ממי שמכיר. אני פתאום חשבתי על זה ( כשפתרתי שאלה אחרת וניסיתי מימוש דומה): המשתמש לא יודע מה זה functions , אז איך הוא שולח את זה? A. יכולה להיות פונקציית אתחול עבור Functions שבה שולחים את אוסף הפונקציות שתוכנסנה למבנה. לא היינו צריכים לראות את הפונקציה הזו (פונקציית האתחול) בקובץ H? A. השאלה לא עסקה בזה ============================= Q. לפי מה שהבנתי - ההבדל בין סט למאפ זה שבסט כל הנתונים הם key, ובמפה יש key ויש value. אבל נניח שאני רוצה סט, אבל מספיק לי להשוות נתון אחד או חלק מהנתונים כדי לדעת אם זה אותו איבר. (למשל סט של אזרחים, אם יש להם אותה ת.ז. הם אותו בנאדם, אבל אם אני ארצה להעתיק מישהו אני אעתיק את כל הנתונים שלו ולא רק את שמו\את פרטיו שאינם שמו). A. Without looking into the code, it seems map is more appropriate: 1. Less to compare. 2. No duplication (cannot have two items with different names but same ID) =============================== Q. בשאלת C - בממשק ADT , יש צורך לפרט את התוצאות האפשריות (במקום ה . . . ) או שמספיק לרשום typedef enum{. . .}AdtResult ? A. תלוי בניסוח השאלה (ואם לא ברור, לשאול אחד מהסגל) ============================= Q. הורדה נקודה אחת על הקצאת באפר בגודל maxLineSize+1 אבל שימוש רק ב maxLineSize בפונקציה fgets (כלומר ללא ה1+) A. השקף בתרגול נכון (הפונקציה fgets() קולטת לכה"י תו 1 פחות מהגודל שקבלה) לכן בקוד שכתבת במבחן לא ייקלט במלואו הקלט המקסימאלי (1 פחות מ MAX_LEN). אכן, השורות שכתבת (הגדרת המערך והקריאה לפונקציה) זהות למופיע בפתרון המבחן מלפני ארבע שנים, אבל הבודק צודק שאיננו מתחייבים לכך שהפתרונות נכונים ב 100% - זה בלתי אפשרי להתחייב לכך. אילו היתה שגיאה בשקפי התרגול, זה היה מצדיק את הערעור. ההבדל בין שקפי התרגול לבין פתרון מבחן הוא עקרוני: הפתרון עובר בדיקה לכה"י פעם אחת והשקפים עוברים בדיקה כל סמסטר. בנוסף, אין ממש אפשרות מעשית לתקן מבחנים מסמסטרים קודמים. בפתרון מועד א' בסמסטר שלנו, סטודנט העיר לי על שגיאה, ותקנתי אותה מייד (עם צל"ש), אבל בסמסטר הבא אי אפשר יהיה לתקן שגיאה נוספת, אם תתגלה. Q. לא הייתה לי טעות הבנה ולא קראתי ברפרוף, ואם יש צורך בהסבר כמו המייל האחרון- האם זה לא אומר שגם בי יש טיפה קטנה של צדק? A. אינני מכיר דרך למנוע טעויות לחלוטין (שכחה, אי-הבנה קטנה, חוסר תשומת לב) ולכן אני אומר שמבחינתי מי שמקבל 90 יודע את החומר ואני מוסיף "גם אני עלול לטעות פה ושם". אני גם מוסיף "מבחינתי, אין הבדל בין ציון 96 לבין ציון 94 - העובדה שזה יכול להשפיע על 'מצטיין דיקן' היא עניין ביורוקרטי שאין לי השפעה עליו." אחרי שאמרתי זאת בפעם הראשונה בקורס בטכניון יצאה שמועה "קמחי נותן מבחנים כאלה קשים שגם הוא לא יודע לפתור אותם!" (מאז אני מספר על השמועה). אז איבדת נקודה אחת, כי לא הפעלת gets() עם ארגומנט MAXֹLENּ+1 (כנדרש, לפי השקפים) - זו תקלה, אבל זה לא אסון. בדיוק בגלל זה אני לא מכשיל על נקודה או שתיים (חוץ ממקרה שהבחינה היתה קלה מדי ולדעתי גם מי שקיבל 60 היה ראוי שייכשל). ====================== בהצלחה יחיאל |
עדכון אחרון ב-22/9/2016, 13:46:20 Last updated on 22/9/2016, 13:46:20 Последняя модификация22/9/2016, 13:46:20 تمت الحتلنة الأخيرة ب-22/9/2016, 13:46:20 |
Reception Hours - room changes | |
Michael's reception hour (now) is moved to 229. Danny's reception hour (tomorrow) is moved to 307. |
פורסם ב-21/9/2016, 11:43:27 Created on 21/9/2016, 11:43:27 Создано21/9/2016, 11:43:27 تم النشر ب-21/9/2016, 11:43:27 |
Reception Hours for the Exam Moed B (Updated) | |
21.9 (Wed) 10:30-11:30, Taub 518 - Amir 21.9 (Wed) 11:30-12:30, Taub 307 - Michael Maltsev 22.9 (Thursday) 10:00 - 11:00, Taub 220 - Danny 22.9 (Thursday) 15:30 - 16:30, Taub 218 - Tomer |
פורסם ב-20/9/2016, 12:01:41 Created on 20/9/2016, 12:01:41 Создано20/9/2016, 12:01:41 تم النشر ب-20/9/2016, 12:01:41 |
Reception Hours for the Exam Moed B | |
TODAY 12:30 - 13:30 ,Taub 321 - Izik 21.9 (Wed) 10:30-11:30, Taub 518 - Amir 22.9(Thursday) 10:00 - 11:00 Taub 220 - Danny 22.9 (Thursday) 15:30 - 16:30, Taub 218 - Tomer |
פורסם ב-19/9/2016, 11:28:24 Created on 19/9/2016, 11:28:24 Создано19/9/2016, 11:28:24 تم النشر ب-19/9/2016, 11:28:24 |
הבחינה במועד ב' באותו מבנה כמועד א' | |
בתשובה לשאלות בהצלחה יחיאל |
פורסם ב-19/9/2016, 01:18:02 Created on 19/9/2016, 01:18:02 Создано19/9/2016, 01:18:02 تم النشر ب-19/9/2016, 01:18:02 |
תוצאות הערעורים | |
הערעורים נבדקו (למעט כ-5, שהוחמצו בהם סעיפים בערעור, והטיפול בם קרוב לסיום) וציון מעודכן העבר למזכירות. אפשר לגשת למזכירות לקחתם (ייתכן שהציונים כבר עודכנו). ראשית, אני מתנצל שתשובותי בערעור קשות לקריאה - עקב שבר ביד ימין, כתבתי ביד שמאל. יהיה לכם קל לזהות את תשובותי :-) הטיפול בערעורים חשף תופעה מצערת (המספרים נכונים לגבי הערעורים שהוחזרו למזכירות אתמול): בניכוי הערעורים הטכניים - סעיף ריק בשאלה 1, או טעות בסיכום הנקודות, 11 במספר - הוגשו 23 ערעורים שמתוכם נדחו במלואם 17, ורק אחד (1) התקבל במלואו. ב 5 שהתקבלו חלקית היו סעיפים רבים שנדחו. סקירת הסעיפים שנדחו חשפה תופעה מצערת: נראה שיש רבים שלא התעמקו שוב בשאלה ולא השוו לעומק את תשובתם (והקטעים שהורדו בם נקודות) עם הפתרון שפורסם. שלא יהיה ספק: אין שום דרישה להגיש רק ערעורים מוצדקים - כולנו עלולים לטעות - ואנו בודקים בתשומת לב כל ערעור ומסבירים את הדחיה (למעט מקרה שהפתרון המפורסם מסביר) אבל קצת יותר תשומת לב היתה חוסכת חלק ממאמצי הערעורים המיותרים. אני מרשה לעצמי לתת דוגמה קיצונית: בערעור על שאלה 4א' נכתב: "לא היתה שום דרישה שתהיה מחלקה שתירש ממנה" תשובתי היתה, לצערי, גם אחרי המבחן אינך מצליח לקרוא נכון את השאלה. אח"כ סטודנטים אומרים שאני מגזים כשאני אומר "הבנת הנקרא". בהצלחה לכולכם יחיאל |
עדכון אחרון ב-15/9/2016, 15:18:39 Last updated on 15/9/2016, 15:18:39 Последняя модификация15/9/2016, 15:18:39 تمت الحتلنة الأخيرة ب-15/9/2016, 15:18:39 |
בחינות שלא נסרקו | |
שלום לכולם, עקב תקלה בתקשורת בנוגע למיקום מעטפות, היו שתי מעטפות שלא נשלחו לסריקה. הבחינות שלא נסרקו אמורות לעלות לאתר מחר, וכדי לאפשר זמן סביר לערעור הסטודנטים המעורבים יוכלו להגיש ערעור בתאריך מאוחר יותר. בניגוד למה שעלול להשתמע מהמכתב הקודם, ההארכה תקֵפה רק לסטודנטים שסריקתם עלתה מאוחר. בהצלחה יחיאל |
פורסם ב-14/8/2016, 21:15:13 Created on 14/8/2016, 21:15:13 Создано14/8/2016, 21:15:13 تم النشر ب-14/8/2016, 21:15:13 |
Extension for exam A appeals | |
Appeals deadline is extended until 25.8 All exam scans should be available by tommorow. |
פורסם ב-14/8/2016, 14:03:11 Created on 14/8/2016, 14:03:11 Создано14/8/2016, 14:03:11 تم النشر ب-14/8/2016, 14:03:11 |
Exam Moed-A Solution | |
The solution was uploaded at "course-material" We wish you success in all courses Yechiel |
פורסם ב-9/8/2016, 07:19:22 Created on 9/8/2016, 07:19:22 Создано9/8/2016, 07:19:22 تم النشر ب-9/8/2016, 07:19:22 |
הזמנת ערעור מיוחד על שאלה 1 במבחן (מועד א') | |
שלום לכולם, הציונים פורסמו וסריקת הבחינות אמורה להתבצע בשבוע הבא. במהלך הבדיקה החלטתי על שינוי קטן, לטובת הסטודנטים, בבדיקת שאלה 1. השינוי הוא: כל סעיף (מבין השלושה) אשר התשובה לו נשארה ריקה או נכתב בה רק משפט שמשמעותו "אינני יודע/ת" יקבל נקודה אחת (מתוך 5). אבל לא היה טעם לעבור על כל הבחינות מחדש (מדובר בכ-10 אחוז מהבחינות) ולכן אני מזמין את כל הסטודנטים שהמצב קיים אצלם; (כלומר, השאירו לפחות סעיף אחד ריק אבל קבלו עבורו 0 - אשר מצויין בבחינה כ 5- באדום) לערער. כיוון שזה מקרה של "תיקון הבדיקה" לא נדון בזה כערעור רגיל שבו מותר לבדוק את כל הבחינה מחדש. מי שמערער רק על שאלה 1 ורק עקב הסיבה המתוארת לעיל, ציונו יתוקן בהתאם למתואר ותו לא. לתוהים מדוע החלטתי על הוספת הבונוס הזה במפתח הבדיקה, ההסבר פשוט מאד: אחרי שראיתי שיש יותר מדי מקרים בהם התשובה הארוכה והמסובכת בסך-הכל מסתירה את חוסר הידיעה של הכותב/ת, הגעתי להחלטה שאני רוצה לבטא את הערכתי לאלה שלא חששו להגיד בפשטות שאינם יודעים (בין אם במילים מפורשות ובין אם בהשארת מקום התשובה ריק) זה הכל בהצלחה בכל הקורסים ושבת שלום יחיאל. |
עדכון אחרון ב-16/8/2016, 15:36:50 Last updated on 16/8/2016, 15:36:50 Последняя модификация16/8/2016, 15:36:50 تمت الحتلنة الأخيرة ب-16/8/2016, 15:36:50 |
Moed A Grades | |
Moed A grades are now online. The grades were factored by adding 4 points to your exam score. if your final grade is 54, it was changed to 55. Final average grade is 71.6 Final Median grade is 73 90.6% of the students have a passing grade. Appeals should be submitted to Tomer's cell until 19.8 with a formal appeal form. We wish you good luck in your future courses! Matam staff. |
פורסם ב-5/8/2016, 01:14:08 Created on 5/8/2016, 01:14:08 Создано5/8/2016, 01:14:08 تم النشر ب-5/8/2016, 01:14:08 |
HW4 grades | |
HW4 grades are online. You've received feedback on your submission from both our manual and automatic checks, along with the tests used for the automatic check. To download your feedback zip file, login at grades.cs.technion.ac.il, then go to "Homework" and click the arrow with black background in the row of HW4. We've also uploaded the grading key (in the assignments section). In case you lost points in the manual check, the [id].score file (inside the feedback zip file) will refer you to one or more "error codes" defined in the grading key. Manual check is worth 30 points. The automatic check is worth 70 points. Appeals can be sent to Izik by mail (uizikgoatcs.technion.ac.il) until 09/08/2016 23:55. The appeals are intended for cases where one minor error caused many tests to fail. 3-5 points will be taken off for any added/removed/changed line (depends on the change). If your submission doesn't pass the final_check script, 10 more points will be taken off. The appeal should look as follows: IDs: ID1-ID2 (please mention both, or state explicitly if you submitted alone). ------------------------------------------------------------------------------------------------- In file ... line ...: add/remove/replace: old line of code below/above/with: new line of code Explanation: short explanation (up to 2 lines) of the reason for the change. ------------------------------------------------------------------------------------------------- After these changes, the following previously failed tests will pass: 1, 5, 17, 24 (for example). ------------------------------------------------------------------------------------------------- Please make sure you only describe changes with respect to the zip file you submitted (you can download it from the website). Use the test_run*.csh scripts from the feedback zip file to run your tests. The test.results file in that directory contains the test results. Please make sure to apply your changes on the files in the same directory, and test them using the test scripts. You should attach an updated zip file with the changes you described (and no other changes). Please be precise regarding your changes and the tests that passed after each change. |
פורסם ב-29/7/2016, 00:56:59 Created on 29/7/2016, 00:56:59 Создано29/7/2016, 00:56:59 تم النشر ب-29/7/2016, 00:56:59 |
3rd set of Q+A | |
Shalom, Q. It's something i ran into while i solved previous exams of yours. If we use an iterator in C , we should implement three functions: get first get current get next i understood and implemented these differently. but I think i missed something important. because i don't understand the purpose of the recursive function, i just suspect it relates to unintilaized iterators or something like that. I asked friends of my and on the facebook group of the course.. none of us knows what's the purpose. I will be glad if you could clear things up :) http://webcourse.cs.technion.ac.il/234122/Spring2016/ho/WCFiles/Spring%202013%20Moed%20A_sol.pdf page 10 A. It is based on the 2-D array implementation of part (a). The recursion is wrong (it'll create an infinite recursion). The solver wanted to be "fancy" with delegation, but it's not needed. The body of the function should be: { if (!grid || !i || !j) return GRID_NULL_ARGUMENT; if (grid->IteratorI == -1 || grid->IteratorJ == -1) /* Should have been a function */ return GRID_UNINITIALIZED_ITERATOR; *i = grid->IteratorI; // Could have *j = grid->IteratorJ; // been a MACRO return SUCCESS; } Q. i have seen in the past c++ exams questions,some classes in which assigment operator or copy c'tor were deleted explicitly and some exams in which they were not (were left default/not existed). as i understood,it is the programmer intuition to delete or not those operators. is there any rule of thumb when we should declere them as =delete,and when we should not? A. It's never "programmer's intuition" - it is programmer's understanding (of specifications). The rules are simple: 1. Use = delete if the object is not to be copied. 2. Use = default if the default (fields assignment) is OK. 3. Make it explicit in all other cases. Q. Why do we get a warning when we cast double to int in c++ and not in c? A. You mean implicit(!) conversion. Look at the appropriate lecture on the video (Panopto and even the older one). Q.Q.Q.+A. 1. יש לי טמפלייט כלשהו: template <class t, class iterator, class func> T& max(iterator begin, iterator end, func f... bla bla//// האם לאיטרטור ולפאנק צריכים להיות בנאי העתקה והורס ? כי אני שולחת לטמפלייט by value? A: Yes, but in many cases the default is OK 2. איטרציות ושינויים- האם נכון ש: auto v : vec או vector<int>::const_iterator it= vec.begin() לא ניתן לשנות את הערך המוצבע אבל auto &v: vec vector<int>::iterator it= vec.begin() כן אפשר לשנות את הערך המוצבע ? A: Yes for both questions, for both parts of each of them but for different reasons: (i) the first part of each (IIUC) is about range-based loop and we don't know how it is implemented, but, as for any variable, a value cannot modify origin while a reference can. (ii) For the explicit iterator, this is what const_iterator is made for. 3. עם טיפוסים פולימורפיים עובדים עם רפרנסים ומצביעים בלבד. האם יש עדיפות על רפרנס או על מצביע? לפעמים אני רואה שימוש בזה ולפעמים בזה.. יש הבדל? A: Sometimes yes, sometimes no: In operator overloading, we must use references because the operators expect objects, not addresses (try +). In other cases it is more about readability or about implementation simplicity - in most cases. It also depends on already existing other functions, in case of overloading. Q. I came across something in a previous test that interested me: Operator inheritance. I never actually thought of it, but it makes sense, after all, they are functions. In the problem, the answer marked the operator as virtual and then overrode it, but when overriding there was no "override" tag. I wondered if that is how it is meant to be or if it is a mistake in the answer key, so I googled operator inheritance, and saw many other things discussing what is and what isn't allowed, and it all became a mess. So my question: for Matam, what do we need to know about operator inheritance? A. Yes, a member operator may be virtual. about override, look at slides 395/6 (Ch.9, and maybe the video). Only the first line of my answer and my comments, in lecture, about slides 383 and 392 (Ch.9). SInce you didn't mention where you saw the code I cannot comment specificly on it. Q. צצה לי שאלה קטנה לגבי מנשק של ADTs. בשאלה מתבקש לכתוב מנשק של מבנה Grid גנרי התומך בפעולה הבאה: "בדיקה האם מקום כלשהו (i, j) ברשת פנוי". איזה מבין הממשקים הבאים לפעולה זו עדיף? 1. bool gridIsClear(Grid g, int i, int j); כמו getter רגיל, אין צורך ב-GridResult. 2. GridResult gridIsClear(Grid g, int i, int j, bool* out); 3. bool gridIsClear(Grid g, int i, int j, GridResult* result); - אופציה זו הופיעה בפתרון. A. It depends on the requirements (and preconditions that may be assumed). Slide 402 (Ch.10) and my comments at the lecture (Panopto), compare them. I wish you success Yechiel |
פורסם ב-21/7/2016, 11:22:24 Created on 21/7/2016, 11:22:24 Создано21/7/2016, 11:22:24 تم النشر ب-21/7/2016, 11:22:24 |
Answering more questions | |
Shalom, I have heard some rumors about how students prepare for the exam, so here are a few hints - the main ones should have been known to you: 1. Solve problems, not necessarily from past exams, but past exams are OK. 2. Write code when you solve the problems, compare your solutions to the ones that are given, and note that usually the code is quite short. Please note that the solutions are not always error-free :-(if you just want to verify that your solution is in the right direction, you don't care about error). 3. Practice reading the problems carefully, and understand what is needed. Most of all, understand what is NOT required, so you don't waste your time. 4. Most problems have several different solutions that are reasonably correct. However, the short solutions are usually very similar. 5. We don't try to trick you the problems have rather simple solutions. We do not ask about obscure features of the languages or the design: Look at previous exam and verify that you need only the fundamental principles. Again, the key point is to understand the problem (see first Q+A below). 6. The problem about the differences between C and C++ is about simple differences that were mentioned in class and are simple to explain. It is the shortest problem and worth less points than other problems. 7. Some subjects in the lecture slides are given with the intention that it will help in HW and make you read more (for some students, MaTaM is the last real programming course: AFAIK in your future CS non-programming courses, even data-structures, coding assignments are very simple). These include most of m00_Intro, m04_test, some m05_OOP (esp. 223), most C++11, "templates" in C, last 8 slides of m08_GNR, and a few more cases. Q. אמרת הרבה שמבחן בוחן ברוב בהבנת הנקרא אפשר להבין מה בדיוק הכוונה? A. הכוונה היא שצריך להבין את השאלה ואת מה שנדרש לפיתרון. זו אינה "חידה" שצריך לפתור - אבל אסור להתעלם מהניסוח של השאלה. כדוגמה, אתה יכול לקרוא את המכתב שכתבתי לסטודנטים בסמסטר אביב 2014 בתאריך 12/8/2014, לגבי סעיף ג' בשאלה 1 (ADT) - כדאי להשוות זאת לנוסח במבחן המופיע פתור בדף "חומר הקורס" (בפתרון הסעיף הזה יש כמה שגיאות, ואינני מתכוון לשורה הראשונה בפונקציות, אשר מתאימה לJAVA). Q. Hi, I've notiched that in ADT exam questions, when writing an enum for the AdtResult, in some of the solutions they write all the possible return values, in others they write only a part continued with "..." and sometimes they only write "...". What should we write in our exam? A. It depends on the problem's wording: 1. Sometimes it is OK to write only what you use (and you may add ... to say "there may be more"). 2. Sometimes you are asked to state at least three different possible errors, so you'll have to put (at least) all of them there. I guess that if there is a case where it is written enum Result { ... }; they mean to say "in this solution the exact errors are not part of the problem". If it doesn't fit, please give me a specific example and I'll try to explain. Q. As a practice before the exam, I thought about the difference between C and C++. When I understand the useful tools of C++, I couldn't explain why C is still that common. Except of economic reasons (teaching programmers how to program in C++, not all of the processors can work with C++ etc.), In what cases will we prefer to program in C instead of C++? Or maybe we will always prefer to program with C++? A. Ideally, C++ is always a better choice, since you can limit yourself to C (within C++). You have correctly mentioned that C++ is not always available, but in my view, the best reason to prefer C is that the SW engineers don't know C++ well enough - and it is probably the most common reason. The other possibility to be the most common reason is the false belief that C is faster than C++. Q. In your lectures you spent some time on the comma operator. I didn't fully understand when one should overload the comma, and what it does. The operator isn't intuitive. On further investigation I came across this SO answer: http://stackoverflow.com/questions/5602112/when-to-overload-the-comma-operator stating that the comma should never be overloaded except in very specific cases (they used terminology I didn't understand so i assumed it was outside the scope of the course). Could you give a intuitive thought on when and how the comma is supposed to be used? A. The short answer: It's not part of MaTaM The longer answer: It will probably won't appear even at the OOP course. A practical answer: Take the hints mentioned there and read the code that overloads operator,() and how it is used. Q.+A. > In the lectures you mentioned that C++, being a strongly-typed lanaguge, may be faster than C for some application because of it. What's the mechanism behind it? what is it about the compiler knowing for certain the type of the object that makes the program it compiles faster in, for example, sorting an array? On the slide that I have mentioned that C++ may be faster than C there is a link to a paper by B. Stroustrup. If you read the related section of it you'll see the explanation. > In general, what are the performence benefits of a strongly-typed language (compared to weakly-typed like C which I heard being praised a lot for it's speed). Basically, strong-typing allows the compiler to perform more aggressive optimizations. > In a sense, assembly language is weakly-typed (or actually typeless) but as far as I know it produces the fastest programs. This is irrelevant, because assembler is not compiled (only translated) and is not optimized (in general. There may be optimizing tools for assembler). In theory, expert humans can write in assembler the most efficient program. In practice, when the program is long enough, human's achievements fall short comparing to automatic tools like compilers. בהצלחה יחיאל |
פורסם ב-20/7/2016, 18:28:55 Created on 20/7/2016, 18:28:55 Создано20/7/2016, 18:28:55 تم النشر ب-20/7/2016, 18:28:55 |
Answering a few questions (mostly related to the exam, directly or indirectly) | |
Q. on 16/7 a clarification was sent stating that Smart pointers are not part of the course material this semester, and will not be included in the exam. In the instructions you sent this morning, you said that we don't have to remember smart-pointers, but we should be able to build one given its specifications. Which one is right? A. Both! You don't have to remember the exact design of a smart pointer, but you should be able to implement any reasonable class for a given specification using techniques we study during the course, including operator overloading, e.g., iterators (which are smart pointers, though are not named as such) and other (not too sophisticated) classes, including "smart pointers". Q.+A. > Following an email you wrote to another student, I have been looking into writing operator= using the copy constructor (by implicitly getting *by value* arguments) and then a non-throw swap function. > I have a question which I cannot find the answer to: > If we wish to delete the default operator=, does it matter which signature we use? > X& operator= (const X& other) =delete > X& operator= (X other) =delete > Will the compiler be able to understand both or just the first? I have never checked this point in details, but the default one is the first in your list. AFAICT, if you implement the second, the first will not be created: 1. Default is created when there is none. 2. the compiler will refuse to have both together (because the calls for both are the same, and it is ambiguous). > Also, what is the importance of the non-throwing nature of swap? In any case the copied argument gets destroyed, and before we throw we must make sure that we didn't swap part of *this already (which I assume is trivial) - this being in place, I cannot see a need for the swap to be non-throwing. This issue is much deeper and is related to exception safety. Restricting to what we know it means that the statement x = y; may need to be wrapped by a try-block (because the copy-Ctor - by-value - may throw) and an exception is guaranteed to origin from the copy-Ctor, while there is no need to have a try-block inside the op=() function itself, because swap() doesn't throw. Since swap() may be a recursive operation (think of struct A { Person p; Address a; Id i; Complex z; Rational r; int n;}), it is important that programmers can rely on the fact that swap never throws. Q. Thank you for the effort to help us get the bigger picture, and not only the syntax of the language. (though I found that the students prefer a showing in examples approach, but there is a price for everything). A. Yes, unfortunately students are sometimes like politicians: they prefer the short-term gain over the long-term gain - despite the fact that unlike politicians, the long-term gains are still theirs (but politicians are long gone when their long-term decision materialized). Q. I have seen that you recommended watching a movie the night before the exam, What movie would you recommend? A. I think a comedy is best, but not a late-night show :-) In my view, fantasy may be OK if it is neither violent nor horror, and I suggest not too much food, nor too much sugar :-) Q. נוגע למחלקה אבסטרקטית לפעמים אנו מקבלים מחלקה אשר אינה ניתנת לשימוש בלי המחלקות היורשות שלה.. למשל הSHAPE כאשר אין שום משמעות לSHAPE בלי לדעת באיזה מבנה אכן מדובר עכשיו בגלל זה יש מתודות במחלקה הראשית שאינן ניתנות לשימוש שם ולכן אנו "מאפסים" (=0) ומשם אם אנו עושים זאת נקבל מחלקה אבסטרקטית לכל דבר..כמובן שזה בתנאי שלפחות אחת המתודות =0 מה שמסקרן אותי הוא לדעת למה אנו עושים זאת? הרי לכל מבנה שיהיה לנו הוא יהיה מבנה ולא סתם SHAPE ולכן למתודות האלו אנחנו בכלל לא נגיע לכן אם סתם נגדיר אותם VIRTUAL בלי לדאוג לכך שיהיו =0 אז עשינו את שלנו לא? A. We define an abstract class to emphasize that it exists mainly for its interface (that is imposed on derived classes), and sometimes we don't want to implement some functions. If no function is pure-virtual, a user can create an object that is not useful - why designing a trap that will fail the users? Q. In attempt to supply the user with an iterator to the Set, we defined the functions SetFirst and SetNext in the interface that was given to the user. doesn't it go against encapsulation (we "gave away" information the might make the user dependent on the fact that the Set actually has an order), and also against the basic definition of the Set- which is a group of items that has no order between them? If so, why is it permitted and can it be avoided in C? A. The short answer is "no, it does not." A medium-length answer is "yes, we expose the existence of SetFirst/Next functions, but the user can only use it for iteration without the MACRO, which is not too useful." (The user may use it to iterate part, do other stuff, continue iterating, and so on - will break if while "do other stuff" SET_FOREACH is activated on same set.) The detailed-answer (not longer): "The order is coincidental - if you remove an element and then put it back, it's more likely that it will modify the order of elements than it is not." (An iteration over a collection always enforces some order on the elements - but the order will appear "random" or "arbitrary" to the user, unless the user knows the inner structure and the managing algorithms.) We may hide the functions SetFirst/Next if we use a small ADT for an Iterator (like in C++), but since we do not have operator-overloading, it's more cumbersome. Q.+A. > I want to make sure that I am not confused by the similarities/differences between the two programming languages, C and C++. I can state almost all the differences that we talked about in the lecture; however, I am not sure to what extent and from which perspective I should be capable to explain the differences in depth. Only what was said in lectures or written on slides (lecture or recitations). > For instance, one of the differences that you mentioned in the lecture, was the fact that in C we can assign double to int without warning, but not in C++. In both languages such an assignment is problematic since some information is lost. However, due to the fact that C++ is strongly typed the compiler gives a warning. I still remember your explanation (Int can be 32 bit and has more digits than float has). Is such an explanation sufficient? Depending on the question, but what you've written is correct. > I can state (but cannot explain) that in C we can cast "from and to" void* without problems. However, in C++ we can't cast from void* to int* (for ex.). (A possible explanation that I thought of is Casting is allowed - implicit (hidden) casting is forbidden (in certain cases) > that now we can cast from Student* to int* just by passing through void*). Same applies to the fact that we cannot cast from int to enum, but can cast from enum to int (unless the enum is a class enum and there is a use of the scope operator). > Apart from this, in the lecture you said - at least what I understood - , if C sees a function call without a prior deceleration, it will assume that the function returns int. I did not understand this point? Whenever I call a function that is This was before C99, it's not true anymore (unless you ask the compiler to) > not declared, the compiler says : "there is no implicit deceleration for this function". When does this thing happen? If it really happens, it can be problematic in the use of malloc() without the inclusion of stdlib.h, right? Yes, but not using C99 (see above) > For instance, I can assume now that malloc() returns int (since it is not declared anywhere) and assign the returned int to a pointer. Q. I have a question about the right way to write an assignment operator in the test. you mentioned in the lecture that there is a problem with the usage of delete or delete [] because of the chance a future allocation won't success. you told in the lecture to look for the right implementation on C++ faqs. i tried to look for it and i found that it's a usage of the copy constructor and a swap function (and in the end of the function the local object is destroyed by the dtor). on the test if i am asked to implement an assignment operator i need to use the non-throw swap method (with a throw if it's a bad_alloc on the cctor) or the method with the delete ? A. You were probably looked at the latest version of C++ FAQs, which contains the modern approach but hides the implementation. To be explicit, if you use such an implementation (for implementing op =) you'll need to implement a nothrow swap function for your class. If you want to learn from the previous version, you may want to review it. It is available (was a local mirror) from my front page of my Website - the modern version of C++ FAQs cannot be mirrored, so the last mirror stayed. ================================== Yechiel |
פורסם ב-19/7/2016, 16:03:28 Created on 19/7/2016, 16:03:28 Создано19/7/2016, 16:03:28 تم النشر ب-19/7/2016, 16:03:28 |
HW3 appeals have been checked | |
שלום לכולם ! כל הערעורים שהוגשו בהקשר ל HW3 כבר נבדקו. נשלחו תשובות במיילים לכל הסטודנטים שהגישו ערעור. הציונים באתר כבר עודכנו. לא ניתן להגיש יותר ערעור בהקשר ל HW3 מכל סיבה שהיא. בהצלחה בבחינה. |
פורסם ב-19/7/2016, 09:41:08 Created on 19/7/2016, 09:41:08 Создано19/7/2016, 09:41:08 تم النشر ب-19/7/2016, 09:41:08 |
About the exam - from Yechiel | |
Dear Students of MaTaM, Please read carefully the instructions and explanation below. I wish you success Yechiel Material for Exam in MaTaM ========================== The reference-base is what the slides (lectures and recitations) have. By default, the contents of the slides is the course domain of knowledge (including slides for self reading that were skipped during the lectures). A default for the lectures only: What was said in the lecture is included(*) Please note the distinction between "lectures" and "recitations". From the first half of the semester (C+ADT+Bash) the only part that is guaranteed not to explicitly appear in the exam is "Testing" (lectures Chp. 4). The "testing" chapter was given to you for your benefit in MTM and future courses. Nevertheless, we may ask you to write a script for testing, and you should understand the basics of testing, but the fine details are not included. From the second half of the semester (C++) these are the features that will not explicitly appear in the exam (note the reservations): (i) We don't ask about OOP theory (this is done at OOP course), but you should understand the ideas and use them in practice. (ii) You may use 'enum class', 'auto', and alias declaration, but will not have to. However, you should be able to use 'default', 'delete', and 'override'. (iii) Don't try to use move semantics. (iv) You should know how to overload all operators that appear on lecture slides. Fancy 'stream' methods are not required. Example: You don't have to remember smart-pointers, but you should be able to build one given its specifications (using *, ->, ++, etc.). (v) Imitating templates using the C-preproccesor, is not in the exam, nor do lambda-expressions. (vi) You should know the basics of using virtual functions (no abstract classes), but not the gory details - except those that were mentioned in lectures. (vii) You should know the basics of using exceptions. (*) Missed the lectures? Watch the video (Panopto). The material you may use and you are not required to write ========================================================== The only material you may use "as given" appears in the official 'Reference Booklet' that is distributed with the exam. Any other code that you need should be implemented in the exam (even if it is a standard class/function in the C/C++ library). Same goes with Bash: you may use only commands and flags that were taught in recitations (which appear in 'Reference Booklet') - as was at Bash HW. Exception (by example): However, if part of a problem is to implement the function sqrt(), then you have to implement it, and not use the library. Since the exam is with "open material", you're allowed to copy whatever you want from the material you have personally brought to the exam. Make sure that it is both relevant to the problem, and correct. Rationale: You are tested about software implementation, not about how well you know the libraries. Regarding Language Difficulties =============================== If your difficulty is Hebrew: The course is in Hebrew, but we'll help translating words or sentences to English during the exam. If your difficulty is in English (choosing meaningful names for functions or variables) you may use Hebrew names: int mishtane; void LeSader(int*); In such cases, please right the names also in Hebrew, to ease reading :-) A Question ans an Answer that may interest many of you ====================================================== Hello Dr. Kimchi, I'm a student in your MATAM course. I have seen that you recommended watching a movie the night before the exam, What movie would you recommend? Sincerely yours, a concerned student. ---------------------------------------- Shalom, I think a comedy is best, but not a late-night show :-) In my view, fantasy may be OK if it is neither violent nor horror, and I suggest not too much food, nor too much sugar :-) Enjoy Yechiel |
עדכון אחרון ב-19/7/2016, 07:30:19 Last updated on 19/7/2016, 07:30:19 Последняя модификация19/7/2016, 07:30:19 تمت الحتلنة الأخيرة ب-19/7/2016, 07:30:19 |
clarification : | |
Smart pointers are not part of the course material this semester, and will not be included in the exam. |
פורסם ב-16/7/2016, 13:36:50 Created on 16/7/2016, 13:36:50 Создано16/7/2016, 13:36:50 تم النشر ب-16/7/2016, 13:36:50 |
HW3 grades have been published | |
שלום לכולם ! הציונים של תרגיל בית 3 פורסמו באתר. התרגיל נבדק בדיקה רטובה על 25 טסטים. לכל טסט משקל של 4 נקודות. הטסטים מפורסמים באתר ליד תרגיל הבית. כל סטודנט שהגיש את התרגיל אמור לקבל מייל אישי שאליו מצורף קובץ לוג אשר מכיל פרטים מלאים על תוצאות הבדיקה בטסטים השונים ועל הניקוד שניתן בכל טסט. נוהל ערעורים : סטודנט שברצונו לערער חייב קודם כל לקרוא בעיון את קובץ לוג שקיבל במייל ולבדוק בכל הטסטים ששם לא ניתנו נקודות האם התוכנית עובדת כראוי. ערעורים שבהם יתברר שהמערער לא טרח לבדוק בקפידה את הדוח שקיבל ולהתייחס לפרטים שמופיעים בו - עלולים לגרום הורדה בציון. ערעור יוגש אלקטרונית באמצעות אתר הקורס במקום מיוחד שנפתח באזור של תרגילי הבית. ערעור יוגש בקובץ זיפ אשר יכיל קובץ טקסט או Word שבו מוסבר בדיוק על מה מערערים. חייבים לצרף גם קובץ student.txt בדיוק כמו שצורף בהכנת התרגיל. בכל מקרה חייבים להזדהות בשם מלא, ת"ז וכתובת מייל מלאה. בנוסף - לציין בבירור על איזה טסטים מערערים ומדוע. ערעור שלא יכיל את כל שנדרש לא יטופל. מועד אחרון לערעורים : יום שני 18.7.2016 23:55 בהצלחה לכולם ! |
פורסם ב-11/7/2016, 09:43:54 Created on 11/7/2016, 09:43:54 Создано11/7/2016, 09:43:54 تم النشر ب-11/7/2016, 09:43:54 |
Michael's reception hours before exam | |
Hi all, please send me your questions (from the previous exams or from tutorials) and / or discussion topic requests (lectures / additional materials) before 15.7.16. I will try to cover everything during our meeting (17.7.16). Good luck, Michael Bikman |
עדכון אחרון ב-6/7/2016, 19:45:22 Last updated on 6/7/2016, 19:45:22 Последняя модификация6/7/2016, 19:45:22 تمت الحتلنة الأخيرة ب-6/7/2016, 19:45:22 |
Reception Hours for the Exam | |
21.7 (Thursday) 14:00 - 15:00 , Taub 410 - Israel 20.7 (Wed) 12:00 - 13:00, Taub 321 - Izik 20.7 (Wed) 10:30-11:30, Taub 518 - Amir 12.7 (Tue) 13:00 - 14:00, Taub 307 - Michael Maltsev 17.7 (Sunday) 14:30 - 16:30, Taub 218 - Michael Bikman 19.7 (Tue) 10:30 - 11:30, Taub 218 - Tomer 14.7(Thursday) 13:00 - 14:00 Taub 220 - Danny |
פורסם ב-5/7/2016, 17:32:08 Created on 5/7/2016, 17:32:08 Создано5/7/2016, 17:32:08 تم النشر ب-5/7/2016, 17:32:08 |
Virtuality | |
Shalom, I have added a simple example to my "C++ Modules" (accessible from my "teaching" page), demonstrating implementing virtual functions as private/protected, according to the recommendations by Herb Sutter (a link inside). I wish you success in all exams Yechiel |
פורסם ב-1/7/2016, 05:27:59 Created on 1/7/2016, 05:27:59 Создано1/7/2016, 05:27:59 تم النشر ب-1/7/2016, 05:27:59 |
Moed A Details | |
Dear students, The moed A exam will be 4 questions and 3 hours. We have published the exam title page on the course website, and you can find it in the Material section. We will give out a reference booklet during the exam, and you may bring any additional material as well.(Paper only, no electronic devices). We have published the booklet in the Material section of the website. We strongly recommend that you go over this booklet in advance so you can use it efficiently during the exam. The booklet is for you - if you think there is any additional material that should be in the booklet, please let us know and we will consider adding it. Please send Tomer any such requests by July 8 Good luck and take care, The course staff |
עדכון אחרון ב-1/7/2016, 05:23:31 Last updated on 1/7/2016, 05:23:31 Последняя модификация1/7/2016, 05:23:31 تمت الحتلنة الأخيرة ب-1/7/2016, 05:23:31 |
The Workshop Today is cancelled | |
The workshop that was prepared on 14:30 - 16:30 Today is cancelled. |
פורסם ב-22/6/2016, 09:10:48 Created on 22/6/2016, 09:10:48 Создано22/6/2016, 09:10:48 تم النشر ب-22/6/2016, 09:10:48 |
Last Week | |
Shalom All, Today we have completed the course lectures, and I have updated Ch.s 9 and 10. I wish you all, in the name of MaTam team, success in all exams (especially MaTaM) and happy Summer. Regarding the exam, it will be, generally, similar to older exams, and I suggest that part of your preparation will be to solve old exam and review some solutions (no guarantee, however, that the solutions are error free). The exam is likely to be a bit more like previous Spring semesters (those that I teach), but we may take "examples" from other semesters. There will be a minor "change" in style: This time, there will be a new "kind" of problem, one that concentrates on understanding the basics of C, C++, and the differences between them (Example: C is weakly typed, and C++ is strongly typed - as exhibited by the fact that C++ warns on automatic floating-point conversions to integers). Being able to correctly answer such questions shows that you are able to use both languages, and are not confused by their misleading similarities. When taking (any) exam, read it carefully, and do not miss the instructions (and intentions) of any part of a problem. I suggest you read my letter to the students of Spring 2014 (dated 12/8/2014), where I reviewed many students' mis-reading part 1ג of the ADT problem of Moed-A - causing unexpected loss of many points. Students sometimes ask about misunderstandings of concepts or correct usage of C/C++. I will soon publish (here) such two examples, answering such questions. You are encouraged to ask me such questions by e-mail (if you couldn't find the answer/solution in the slides/lecture). If it is of a general interest, I will publish my response here. My best wishes to all of you Yechiel |
פורסם ב-21/6/2016, 16:30:10 Created on 21/6/2016, 16:30:10 Создано21/6/2016, 16:30:10 تم النشر ب-21/6/2016, 16:30:10 |
Danny's Complementary tutorial - today (Sunday) | |
The tutorial today will be in Taub 7 at 16:30. The material will be the same as it was in Thursday's complementary tutorial. |
פורסם ב-19/6/2016, 12:41:03 Created on 19/6/2016, 12:41:03 Создано19/6/2016, 12:41:03 تم النشر ب-19/6/2016, 12:41:03 |
Danny's Complementary tutorial - today | |
The tutorial today will be in Taub 4 at 16:30 |
פורסם ב-16/6/2016, 12:13:35 Created on 16/6/2016, 12:13:35 Создано16/6/2016, 12:13:35 تم النشر ب-16/6/2016, 12:13:35 |
HW4 extension | |
HW4 deadline is extended until 23.6. |
פורסם ב-16/6/2016, 11:08:09 Created on 16/6/2016, 11:08:09 Создано16/6/2016, 11:08:09 تم النشر ب-16/6/2016, 11:08:09 |
Tomer's complementary tutorial on Wednesday | |
Tomer's complementary tutorial on Wednesday (15/6) will take place at Ulman 309 14:30 - 16:30 (and NOT at 12:30 - 14:30 as mentioned in the previous message) |
פורסם ב-14/6/2016, 20:12:16 Created on 14/6/2016, 20:12:16 Создано14/6/2016, 20:12:16 تم النشر ب-14/6/2016, 20:12:16 |
HW2 grades | |
HW2 grades are online. You've received feedback on your submission from both our manual and automatic checks, along with the tests used for the automatic check. To download your feedback zip file, login at grades.cs.technion.ac.il, then go to "Homework" and click the arrow with black background in the row of HW2. We've also uploaded the grading key (in the assignments section). In case you lost points in the manual check, the [id].score file (inside the feedback zip file) will refer you to one or more "error codes" defined in the grading key. Both the manual check and the dry part are worth 15 points each. The automatic check is worth 70 points. Appeals can be sent to Michael by mail (umtm2016batgmail.com) until 29/06/2016 23:55. The appeals are intended for cases where one minor error caused many tests to fail. 3-5 points will be taken off for any added/removed/changed line (depends on the change). If your submission doesn't pass the final_check script, 10 more points will be taken off. The appeal should look as follows: IDs: ID1-ID2 (please mention both, or state explicitly if you submitted alone). ------------------------------------------------------------------------------------------------- In file ... line ...: add/remove/replace: old line of code below/above/with: new line of code Explanation: short explanation (up to 2 lines) of the reason for the change. ------------------------------------------------------------------------------------------------- After these changes, the following previously failed tests will pass: 1, 5, 17, 24 (for example). ------------------------------------------------------------------------------------------------- Please make sure you only describe changes with respect to the zip file you submitted (you can download it from the website). Use the test_run*.csh scripts from the feedback zip file to run your tests. The test.results file in that directory contains the test results. Please make sure to apply your changes on the files in the same directory, and test them using the test scripts. You should attach an updated zip file with the changes you described (and no other changes). Please be precise regarding your changes and the tests that passed after each change. |
עדכון אחרון ב-14/6/2016, 17:46:20 Last updated on 14/6/2016, 17:46:20 Последняя модификация14/6/2016, 17:46:20 تمت الحتلنة الأخيرة ب-14/6/2016, 17:46:20 |
complementary tutorial for Danny's group | |
Danny will hold two complementary tutorials for his group. Both tutorials will cover the same material, so you can choose your preferred time slot. The tutorials will on: Thursday (16.6) 16:30-18:30 Sunday (19.6) 16:30-18:30 The material will include: casts, STL (containers, iterators, algorithms, function objects) and possibly smart pointers. |
פורסם ב-14/6/2016, 13:49:21 Created on 14/6/2016, 13:49:21 Создано14/6/2016, 13:49:21 تم النشر ب-14/6/2016, 13:49:21 |
Lecture Slides (Ch. 6, 8 and 9) were Updated | |
Shalom, This week we begin the subject of inheritance. Next week we'll conclude inheritance (it's only an introduction) and also learn the basics of exceptions. Enjoy Yechiel |
פורסם ב-13/6/2016, 14:48:55 Created on 13/6/2016, 14:48:55 Создано13/6/2016, 14:48:55 تم النشر ب-13/6/2016, 14:48:55 |
HW4 part3 - class Client | |
There was a slight change in the interface of Client. The copy c'tor and assignment operator were deleted from this class (and consequently - all its sub-classes). This was done in order to simplify the exercise. After creation of a Client, it should (and must) always be passed by reference. Make sure you are up-to-date with the files on T2. Good luck. |
עדכון אחרון ב-11/6/2016, 13:31:26 Last updated on 11/6/2016, 13:31:26 Последняя модификация11/6/2016, 13:31:26 تمت الحتلنة الأخيرة ب-11/6/2016, 13:31:26 |
HW4 Apartment operator< | |
I updated the FAQ with the pseudocode to what I am looking for in order to avoid any confusions. Good Luck |
פורסם ב-9/6/2016, 11:24:17 Created on 9/6/2016, 11:24:17 Создано9/6/2016, 11:24:17 تم النشر ب-9/6/2016, 11:24:17 |
Tomer's complementary tutorial location on Wednesday | |
Tomer's complementary tutorial on Wednesday will take place at Ulman 310 (14:30 - 16:30 ) |
עדכון אחרון ב-6/6/2016, 15:50:17 Last updated on 6/6/2016, 15:50:17 Последняя модификация6/6/2016, 15:50:17 تمت الحتلنة الأخيرة ب-6/6/2016, 15:50:17 |
Michael Bikman's complimentary tutorial | |
A complimentary tutorial for Sunday group will be given on Wednesday 8.6.16 at 12.30-14.30 Taub 6. |
עדכון אחרון ב-6/6/2016, 12:30:41 Last updated on 6/6/2016, 12:30:41 Последняя модификация6/6/2016, 12:30:41 تمت الحتلنة الأخيرة ب-6/6/2016, 12:30:41 |
A move-Semantics (C++11) example was added | |
Shalom, If you'd like to review it, go to my teaching page ("Courses I Teach") and at MaTaM section choose "C++ Modules". The code contains the output (compiled by Code::Blocks) but there is also output from a partially comply compiler (GNU 4.4.7 with flags -std=g++0x or -std=gnu++0x) Happy Jerusalem Day Enjoy Yechiel |
פורסם ב-5/6/2016, 16:18:21 Created on 5/6/2016, 16:18:21 Создано5/6/2016, 16:18:21 تم النشر ب-5/6/2016, 16:18:21 |
Tomer's complementary tutorial location today | |
The tutorial today will take place at Taub 3 (16:30 - 18:30) I remind you that the same material will be given in the complementary tutorial on Wednesday and you can choose which tutorial to come. |
עדכון אחרון ב-5/6/2016, 11:40:52 Last updated on 5/6/2016, 11:40:52 Последняя модификация5/6/2016, 11:40:52 تمت الحتلنة الأخيرة ب-5/6/2016, 11:40:52 |
Tomer's complementary tutorials: | |
Tomer will hold 2 complementary tutorials this week (you should choose one of them): 1. Sunday 5/6 16:30 -18:30 2. Wednesday 8/6 14:30 - 16:30 The tutorial material will be : - Continue of introduction to classes in C++ - Example of Stack implementation as a Class - Operators overloading - C'tors ,D'tors and assignment operator Next week there will be another complementary tutorial at : 15/6 Wednesday 12:30 -114:30 Location of the tutorials will be given soon . Have a good week, Tomer |
עדכון אחרון ב-4/6/2016, 22:45:20 Last updated on 4/6/2016, 22:45:20 Последняя модификация4/6/2016, 22:45:20 تمت الحتلنة الأخيرة ب-4/6/2016, 22:45:20 |
Workshops in June: | |
June : 6.6 (Monday) 14:30-16:30 - Danny 7.6 (Tuesday) 12:30-14:30 - Izik 8.6 (Wednesday) 10:00 - 12:00 - Amir Geva 13.6 (Monday) 14:30-16:30 - Tomer 14.6 (Tuesday) 12:30-14:30 - Michael Maltsev 16.6 (Thuersday) 12:30 - 14:30 - Israel Guter 19.6 (Sunday) 16:30-18:30 - Michael Bikman 20.6 (Monday) 14:30-16:30 - Danny 21.6 (Tuesday) 13:30-15:30 - Izik 22.6 (Wednesday) 14:30-16:30 - Tomer The workshops will be held in the PC farm (room 018) If there is a problem with a specific day and hour that many students can't come, please send Tomer a mail about it. |
פורסם ב-4/6/2016, 16:07:24 Created on 4/6/2016, 16:07:24 Создано4/6/2016, 16:07:24 تم النشر ب-4/6/2016, 16:07:24 |
Tomer's complementary tutorials plan for the rest of the semester: | |
Tomer will hold 2 complementary tutorials until the end of the semester. Please fill your preference here : https://docs.google.com/forms/d/1hPEUkEtB6YJOsTxdKxF20ia1wpkuNmnmGHXhttmLo88/edit?usp=sharing The best 2 options will be selected. |
פורסם ב-1/6/2016, 22:05:19 Created on 1/6/2016, 22:05:19 Создано1/6/2016, 22:05:19 تم النشر ب-1/6/2016, 22:05:19 |
שקפי הרצאות פרקים 7 ו- 8 עודכנו | |
שבוע 10: השבוע נסיים פרק 7 (כולל חזרה אחורה לשקפים שהוספתי) ונספיק בערך מחצית מפרק 8 (תבניות) יש לא מעט נושאים מ C++11 חוזר על המלצתי לקרוא את השקפים לפני ההרצאה בהצלחה יחיאל |
פורסם ב-29/5/2016, 19:33:03 Created on 29/5/2016, 19:33:03 Создано29/5/2016, 19:33:03 تم النشر ب-29/5/2016, 19:33:03 |
Michael Maltsev's tutorial change | |
The tutorial on Wednesday, June 1st, is canceled. A complementary tutorial will take place on Tuesday, May 31st, at 14:30 - 16:30. The tutorial will be located in Ulman 205. |
פורסם ב-29/5/2016, 15:56:08 Created on 29/5/2016, 15:56:08 Создано29/5/2016, 15:56:08 تم النشر ب-29/5/2016, 15:56:08 |
HW4 (C++) has been published | |
Due date is Tuesday, 21.6.2016. TA in charge of the assignment is Izik Golan. Make sure you start it as early as possible, since it would not be possible to give extensions (due to the end of the semester). Good Luck! |
פורסם ב-25/5/2016, 02:46:39 Created on 25/5/2016, 02:46:39 Создано25/5/2016, 02:46:39 تم النشر ب-25/5/2016, 02:46:39 |
Tomer's tutorial Location Change Today | |
Tomer's Tutorial TODAY will take place at AMADO 233 next week we will return to room SAGO1 |
עדכון אחרון ב-23/5/2016, 09:00:03 Last updated on 23/5/2016, 09:00:03 Последняя модификация23/5/2016, 09:00:03 تمت الحتلنة الأخيرة ب-23/5/2016, 09:00:03 |
Lecture Slides (Ch. 6 and 7) Updated. No lecture on Tuesday | |
Shalom, Some cleanup on lecture slides Ch.#6. Updated Ch.#7 (will be updated again toward the end of the week) As planned before, 24/5 is Thursday (at the Technion only :-) Happy LagBaOmer ל"ג בעֹמר שמח Yechiel |
פורסם ב-23/5/2016, 02:15:10 Created on 23/5/2016, 02:15:10 Создано23/5/2016, 02:15:10 تم النشر ب-23/5/2016, 02:15:10 |
HW3 - student.txt | |
שלום לכולם ! הקובץ student.txt שמופיע באתר בקורס ליד HW3 עודכן, כך שניתן למלא בו פרטים עבור 2 סטודנטים. סטודנטים שכבר הגישו את התרגיל באתר - אם הם הגישו בזוגות - בבקשה לוודא שהגישו את student.txt ממולא כנדרש עבור 2 המגישים. במקרה הצורך ניתן להגיש באתר פעם נוספת. תילקח בחשבון ההגשה האחרונה בלבד. בבקשה להקפיד למלא את הפרטים באופן מדויק (באנגלית). להקפיד בפרט על מספר זהות מדויק ב-9 ספרות ועל כתובת מדויקת. בהצלחה ! |
עדכון אחרון ב-22/5/2016, 08:24:51 Last updated on 22/5/2016, 08:24:51 Последняя модификация22/5/2016, 08:24:51 تمت الحتلنة الأخيرة ب-22/5/2016, 08:24:51 |
Exam A for English speakers | |
Students that are interested in taking the Moed A exam in English Please Email Tomer until Next Tuesday.(24.5) uTomer.golanyatgmail.com |
פורסם ב-20/5/2016, 01:10:05 Created on 20/5/2016, 01:10:05 Создано20/5/2016, 01:10:05 تم النشر ب-20/5/2016, 01:10:05 |
Location of Complementary Tutorials for Tomer's Group | |
The Complementary Tutorials Tomorrow will be in Ulman 310 |
פורסם ב-17/5/2016, 12:43:11 Created on 17/5/2016, 12:43:11 Создано17/5/2016, 12:43:11 تم النشر ب-17/5/2016, 12:43:11 |
Complementary Tutorial for Tomer's group | |
For the students of Tomer's Group,There will be two complementary Tutorials Tomorrow,(you need to choose one of them) The First complementary Tutorial will take place at 14:30 - 16:30 . The Second complementary Tutorial will take place at 16:30 - 18:30 We will finish all the BASH material. The location of the tutorials will be given soon. |
פורסם ב-17/5/2016, 11:53:00 Created on 17/5/2016, 11:53:00 Создано17/5/2016, 11:53:00 تم النشر ب-17/5/2016, 11:53:00 |
ex3 - FAQ1 | |
שלום לכולם ! מקבץ של תשובות והבהרות FAQ1 הרלוונטי לתרגיל בית 3 Bash פורסם באתר, ליד תרגיל הבית עצמו במדור Assignments שימו לב - לא בכפתור faq בהצלחה לכולם ! |
עדכון אחרון ב-17/5/2016, 00:41:57 Last updated on 17/5/2016, 00:41:57 Последняя модификация17/5/2016, 00:41:57 تمت الحتلنة الأخيرة ب-17/5/2016, 00:41:57 |
General information regarding late submission policy of HW assignments | |
Please read this doc : HW Policy |
פורסם ב-15/5/2016, 08:33:26 Created on 15/5/2016, 08:33:26 Создано15/5/2016, 08:33:26 تم النشر ب-15/5/2016, 08:33:26 |
Tomer's tutorial This week | |
We will hold the regular tutorial on Monday, 12:30 - 14:30 . If it will be necessary, I will hold another tutorial later this week. Have a great week ! |
פורסם ב-15/5/2016, 00:32:13 Created on 15/5/2016, 00:32:13 Создано15/5/2016, 00:32:13 تم النشر ب-15/5/2016, 00:32:13 |
Michael Maltsev's complementary tutorial - location update | |
The complementary tutorial today (13:30) will be in Ulman 502. |
פורסם ב-10/5/2016, 10:10:25 Created on 10/5/2016, 10:10:25 Создано10/5/2016, 10:10:25 تم النشر ب-10/5/2016, 10:10:25 |
HW2 extension | |
HW2 deadline is extended until 10.5 12:00 PM. |
פורסם ב-9/5/2016, 20:48:50 Created on 9/5/2016, 20:48:50 Создано9/5/2016, 20:48:50 تم النشر ب-9/5/2016, 20:48:50 |
HW3 (Bash) has been published | |
Due date : Tuesday 24.5.2016 23:55. Good Luck ! |
פורסם ב-9/5/2016, 20:23:42 Created on 9/5/2016, 20:23:42 Создано9/5/2016, 20:23:42 تم النشر ب-9/5/2016, 20:23:42 |
Reminder: No lecture today | |
Shalom, Today is "Thursday" (let's see you arguing with Technion's administration :-) Slides for lecture #7 were uploaded (so far only minor modifications w.r.t. Summer semester). יום זיכרון עם זיכרון, ויום עצמאות שמח לכולם Yechiel |
פורסם ב-9/5/2016, 13:55:13 Created on 9/5/2016, 13:55:13 Создано9/5/2016, 13:55:13 تم النشر ب-9/5/2016, 13:55:13 |
Danny's Complementary tutorial - Location Update | |
The tutorial will be in Taub 5 |
פורסם ב-9/5/2016, 01:23:27 Created on 9/5/2016, 01:23:27 Создано9/5/2016, 01:23:27 تم النشر ب-9/5/2016, 01:23:27 |
Complementary tutorial for Izik's group | |
The complementary tutorial will be tomorrow (Monday, 9.5) at 10:30 in Taub 6. We will cover tutorial 7 which includes standard Unix programs and exam questions. |
פורסם ב-8/5/2016, 16:32:55 Created on 8/5/2016, 16:32:55 Создано8/5/2016, 16:32:55 تم النشر ب-8/5/2016, 16:32:55 |
HW1 Grades | |
HW1 Grades are now online. Appeals should be submitted to Danny by mail (u234122csatgmail.com) until 20.5 Before you appeal, please download the file you submitted and make sure it passes the final_check script. You’ve received feedback on your submission from our automatic checks, along with the tests used for the automatic check. To download your feedback zip file, login at grades.cs.technion.ac.il, then go to "Homework" and click the arrow with black background in the row of HW1. The *.score file inside the zip details your manual grade. To understand each code, please look at the grading key, under the assignments section. Your dry part will be returned to the cells near the secretariat. |
פורסם ב-8/5/2016, 14:12:59 Created on 8/5/2016, 14:12:59 Создано8/5/2016, 14:12:59 تم النشر ب-8/5/2016, 14:12:59 |
Complementary tutorial for Danny's group | |
The complementary tutorial will be tomorrow (Monday, 9.5) at 12:30. A location will be published soon. We will cover the end of tutorial 6: scripting + example questions, and standard unix programs from tutorial 7. |
פורסם ב-8/5/2016, 12:20:31 Created on 8/5/2016, 12:20:31 Создано8/5/2016, 12:20:31 تم النشر ب-8/5/2016, 12:20:31 |
Complementary tutorial for Michael Maltsev's group | |
The regular tutorial on Wednesday will not take place this week due to the Memorial Day (Yom HaZikaron). The complementary Tutorial will take place on Tuesday, 10/5, at 13:30 - 15:30. We will finish tutorial 7, which is the last tutorial for the Bash subject. The location of the tutorial will be given soon. |
עדכון אחרון ב-8/5/2016, 12:34:44 Last updated on 8/5/2016, 12:34:44 Последняя модификация8/5/2016, 12:34:44 تمت الحتلنة الأخيرة ب-8/5/2016, 12:34:44 |
Tomer's tutorial Today cancelled | |
Since many students can't attend to the tutorial today, no matter which hour it starts, the tutorial Today is cancelled. Tomer will not hold tutorials this week. We will hold two tutorials Next week, One on Sunday (15/5) 17:30 - 19:30, and the second as usual on Monday. Have a great week ! |
עדכון אחרון ב-8/5/2016, 08:26:03 Last updated on 8/5/2016, 08:26:03 Последняя модификация8/5/2016, 08:26:03 تمت الحتلنة الأخيرة ب-8/5/2016, 08:26:03 |
Tomer's tutorial next week | |
The tutorial will be on Sunday (8/5) 15:30 - 17:30 instead of 17:30 - 19:30 |
פורסם ב-7/5/2016, 15:02:08 Created on 7/5/2016, 15:02:08 Создано7/5/2016, 15:02:08 تم النشر ب-7/5/2016, 15:02:08 |
Tomer's tutorial next week | |
Next Monday, 9.5, all classes are according to Thursday's schedule, Therefore Tomer will hold a tutorial on Sunday (8/5) 17:30 - 19:30 The location of the tutorial will be given soon. |
עדכון אחרון ב-7/5/2016, 11:22:43 Last updated on 7/5/2016, 11:22:43 Последняя модификация7/5/2016, 11:22:43 تمت الحتلنة الأخيرة ب-7/5/2016, 11:22:43 |
A note about the HW2 FAQ | |
Before submitting HW2, please go over the Homework Assignments FAQ thoroughly. The FAQ section is a part of the assignment, and every clarification there is a requirement. Specifically, go over the Wet Part 3.1 - Linked List GDT questions, and make sure that your solution is conforming. In a couple of places (the sorting order and the iterator location), the mtm_list.h file comments differ from the FAQ answers. In these cases, what is written in the FAQ is the correct definition. The FAQ section of the assignment is not expected to change further. If it will change, an explicit announcement (like this one) will be published. Good luck. |
פורסם ב-5/5/2016, 11:55:26 Created on 5/5/2016, 11:55:26 Создано5/5/2016, 11:55:26 تم النشر ب-5/5/2016, 11:55:26 |
Danny's Complementary tutorial - Update | |
It appears that some student(s) decided to answer the last poll with fake names, choosing one specific timeslot. Finding an hour that is suitable for all students is impossible, but I would like to find an hour that fits most of you. I'm opening a new pole, where you are required to enter your full name and ID. The new options include almost every hour on Sunday (8.5), Monday (9.5) and Tuesday (10.5). The results will be filtered according to the course data. Also, any response will be weighted with the number of checkboxes you decide to tick. For example, if you tick 3 options - your vote will be counted 3 times. https://docs.google.com/forms/d/1l2fZp8RRgu7ltmAekJX8PNnzLFVsHugZqHwuOtrjApI/viewform Sorry for the inconvenience, Danny |
עדכון אחרון ב-3/5/2016, 21:13:05 Last updated on 3/5/2016, 21:13:05 Последняя модификация3/5/2016, 21:13:05 تمت الحتلنة الأخيرة ب-3/5/2016, 21:13:05 |
Danny's Tutorial Location Change | |
Danny's tutorial group is moved from Ulman 503 to Taub 7, starting from Monday 16.5 |
פורסם ב-3/5/2016, 20:08:49 Created on 3/5/2016, 20:08:49 Создано3/5/2016, 20:08:49 تم النشر ب-3/5/2016, 20:08:49 |
Sunday tutorial change | |
Michael's tutorial next week (Sunday 8.5.16, 14.30-16.30, Taub 9) is cancelled. (Tutorial on 15.8.16 and workshop will be given as usual.) Complimentary tutorial will be announced later. |
עדכון אחרון ב-2/5/2016, 23:20:24 Last updated on 2/5/2016, 23:20:24 Последняя модификация2/5/2016, 23:20:24 تمت الحتلنة الأخيرة ب-2/5/2016, 23:20:24 |
Danny's Complementary tutorial | |
As discussed in class, Danny will hold a complementary tutorial this week or next week. I would like to reserve two hours, although it might be shorter in practice. Please mark all available time slots here: http://doodle.com/poll/egne9fdfkatwrxys Notice that on next Monday, 9.5, all classes are according to Thursday's schedule. |
פורסם ב-2/5/2016, 16:36:09 Created on 2/5/2016, 16:36:09 Создано2/5/2016, 16:36:09 تم النشر ب-2/5/2016, 16:36:09 |
Change in Location of Tomer's complementary tutorial | |
Tomer's complementary tutorial Today (17:30) will be held in Taub 9 instead of Taub 8 |
פורסם ב-1/5/2016, 17:16:54 Created on 1/5/2016, 17:16:54 Создано1/5/2016, 17:16:54 تم النشر ب-1/5/2016, 17:16:54 |
Change in workshop time tomorrow | |
Tomer's workshop tomorrow will be between 15:30 - 17:30 instead of 14:30 - 16:30 |
פורסם ב-1/5/2016, 10:46:21 Created on 1/5/2016, 10:46:21 Создано1/5/2016, 10:46:21 تم النشر ب-1/5/2016, 10:46:21 |
Location of Tomer's complementary tutorial | |
Tomer's complementary tutorial Today (17:30) will be held in Taub 8 |
פורסם ב-1/5/2016, 10:30:14 Created on 1/5/2016, 10:30:14 Создано1/5/2016, 10:30:14 تم النشر ب-1/5/2016, 10:30:14 |
Complementary Tutorial for Tomer's group | |
The complementary Tutorial will take place on Sunday(1/5) 17:30 - 19:00 . We Will Finish Tutorial 6 . The location of the tutorial will be given soon. |
פורסם ב-30/4/2016, 13:25:59 Created on 30/4/2016, 13:25:59 Создано30/4/2016, 13:25:59 تم النشر ب-30/4/2016, 13:25:59 |
תרגיל בית 2 - הבהרות בנוגע לטיפול בשגיאות, ובאופן כללי על חלוקת תוכנה ל -ADTs | |
ראו מסמך pdf מצורף: HW2 חג שמח, תומר |
פורסם ב-27/4/2016, 13:54:38 Created on 27/4/2016, 13:54:38 Создано27/4/2016, 13:54:38 تم النشر ب-27/4/2016, 13:54:38 |
Workshops in May | |
May : 1.5 (Sunday) 16:30-18:30 - Michael Bikman 2.5 (Monday) 14:30-16:30 - Tomer 3.5 (Tuesday) 12:30-14:30 - Michael Maltsev 4.5 (Wednesday) 10:00 - 12:00 - Amir Geva 5.5 (Thuersday) 12:30 - 14:30 - Israel Guter 9.5 (Monday) 14:30-16:30 - Danny 10.5 (Tuesday) 13:30-15:30 - Izik 15.5 (Sunday) 16:30-18:30 - Michael Bikman 16.5 (Monday) 14:30-16:30 - Tomer 17.5 (Tuesday) 13:30-15:30 - Michael Maltsev 19.5 (Thuersday) 12:30 - 14:30 - Israel Guter 23.5 (Monday) 14:30-16:30 - Danny 24.5 (Tuesday) 12:30-14:30 - Izik 24.5 (Wednesday) 10:00 - 12:00 - Amir Geva 29.5 (Sunday) 16:30-18:30 - Michael Bikman 30.5 (Monday) 14:30-16:30 - Tomer 31.5 (Tuesday) 12:30-14:30 - Michael Maltsev 2.6 (Thuersday) 12:30 - 14:30 - Israel Guter The workshops will be held in the PC farm (room 018) If there is a problem with a specific day and hour that many students can't come, please send Tomer a mail about it. |
עדכון אחרון ב-25/4/2016, 20:14:13 Last updated on 25/4/2016, 20:14:13 Последняя модификация25/4/2016, 20:14:13 تمت الحتلنة الأخيرة ب-25/4/2016, 20:14:13 |
Complementary Tutorial for Tomer's group next week | |
We will hold a complementary tutorial for Tomer's group next week. Please mark all available time slots here: https://docs.google.com/forms/d/157yucgwkW0fukY8X_FuC9tjwCrwYh7ZinzdCoStG5Fc/viewform The best option will be taken. |
פורסם ב-24/4/2016, 15:35:09 Created on 24/4/2016, 15:35:09 Создано24/4/2016, 15:35:09 تم النشر ب-24/4/2016, 15:35:09 |
Code conventions in homework 2 | |
You can write your code in homework 2 according to the old code conventions file . |
פורסם ב-19/4/2016, 13:41:31 Created on 19/4/2016, 13:41:31 Создано19/4/2016, 13:41:31 تم النشر ب-19/4/2016, 13:41:31 |
Change in workshop time today | |
Michael's workshop today will be between 14:30 - 16:30 instead of 12:30 - 14:30 |
עדכון אחרון ב-19/4/2016, 08:08:55 Last updated on 19/4/2016, 08:08:55 Последняя модификация19/4/2016, 08:08:55 تمت الحتلنة الأخيرة ب-19/4/2016, 08:08:55 |
Prepare to Next Lecture | |
Ch. 0 was updated (a book added to C++ references) Ch. 6 was updated (three slides added to "intro to C++") We will go over Ch. 5 and the first part of Ch. 6 (hopefully, introducing classes). Those who read the slides in advance, have an advantage ;-) Enjoy and Happy Pessach to All Yechiel |
פורסם ב-18/4/2016, 00:03:30 Created on 18/4/2016, 00:03:30 Создано18/4/2016, 00:03:30 تم النشر ب-18/4/2016, 00:03:30 |
HW2 FAQ | |
A FAQ section for HW2 has been opened. Take a look at it from time to time, and certainly before sending an e-mail regarding the exercise. Good luck. |
פורסם ב-12/4/2016, 20:05:20 Created on 12/4/2016, 20:05:20 Создано12/4/2016, 20:05:20 تم النشر ب-12/4/2016, 20:05:20 |
Code conventions file updated | |
The code conventions file was updated with some changes. please make sure you follow the instructions on the file when solving your home work assignment. |
פורסם ב-12/4/2016, 19:55:55 Created on 12/4/2016, 19:55:55 Создано12/4/2016, 19:55:55 تم النشر ب-12/4/2016, 19:55:55 |
Tomer's Tutorial Location moving to SAGO 1 auditorium - LAST CHANGE: | |
From next week, Tomer's tutorials will be held at Sago 1 auditorium in the architecture building. The day and hour remains the same. The auditorium has enough seats for all the students , so this time I promise this will be the last time we have to switch rooms. See you next week, Tomer |
עדכון אחרון ב-12/4/2016, 18:39:42 Last updated on 12/4/2016, 18:39:42 Последняя модификация12/4/2016, 18:39:42 تمت الحتلنة الأخيرة ب-12/4/2016, 18:39:42 |
Tomer's Tutorial Location Change | |
Tomer's tutorial group has moved to Taub 9. The day and hour remain the same. Sorry for the inconvenience |
פורסם ב-11/4/2016, 09:23:35 Created on 11/4/2016, 09:23:35 Создано11/4/2016, 09:23:35 تم النشر ب-11/4/2016, 09:23:35 |
השבוע בהרצאות: פרקים 3 ו- 4 | |
אדלג על החלקים שאפשר להבין בקריאה ואתרכז בהסברים על החלקים האחרים יחיאל |
פורסם ב-10/4/2016, 23:00:01 Created on 10/4/2016, 23:00:01 Создано10/4/2016, 23:00:01 تم النشر ب-10/4/2016, 23:00:01 |
Lecture Slides (Ch. 3 and 4) were Updated | |
Just added slides 145 (Ch#3) and 178 (Ch#4) [and slides numbers were modified accordingly] Please read the slides before the lecture, to gain more of the lecture. Enjoy Yechiel |
עדכון אחרון ב-10/4/2016, 18:45:15 Last updated on 10/4/2016, 18:45:15 Последняя модификация10/4/2016, 18:45:15 تمت الحتلنة الأخيرة ب-10/4/2016, 18:45:15 |
HW0 grades | |
HW0 grades are online Most students handled this assignment perfectly. Most common major mistakes were: * submitting files with wrong names (any name other than part1.c and mtm_buggy.c) * placing the files inside an inner directory in the zip file. Students with these mistakes shouldn't have passed the final_check script. We highly recommend you to use the provided final_check script before submitting future assignments. Common minor point reductions were typically due to bad memory handling. Please make sure you follow the exact submission instructions in future assignments. You can appeal only if you followed the exact submission instructions AND your code passes the tests initially provided with the assignment. Appeals should be submitted to Tomer by mail umtmSpring16atgmail.com) You’ve received feedback on your submission from our automatic checks, along with the tests used for the automatic check. To download your feedback zip file, login at grades.cs.technion.ac.il, then go to "Homework" and click the arrow with black background in the row of HW0. |
פורסם ב-10/4/2016, 17:59:21 Created on 10/4/2016, 17:59:21 Создано10/4/2016, 17:59:21 تم النشر ب-10/4/2016, 17:59:21 |
HW2 - ADT, GDT and Design | |
HW2 is now online. Submission date is 09/05/2016 (at 23:55). The TA in charge on this assignment is Michael. For any questions regarding the assignment please contact umtm2016batgmail.com. You can find all the necessary files for this assignment under ~mtm/public/1516b/ex2. Good luck! |
פורסם ב-9/4/2016, 18:33:18 Created on 9/4/2016, 18:33:18 Создано9/4/2016, 18:33:18 تم النشر ب-9/4/2016, 18:33:18 |
HW1 extension | |
HW1 deadline is extended until 10.4 |
פורסם ב-8/4/2016, 12:43:22 Created on 8/4/2016, 12:43:22 Создано8/4/2016, 12:43:22 تم النشر ب-8/4/2016, 12:43:22 |
השקפים עודכנו עד פרק 6 והודעה לנוכחים בהרצאת יום שני | |
שינויים קלים ביותר בפרק 2 (כולל תיקון שגיאה בשקף 108) והוספת שקף 145 בפרק 3. שימו לב לרשימת מקורות (references) בסוף פרק 2. לתלמידי יום שני: בהרצאה הגענו עד שקף 132, וכמו שהערתי בסיום ההרצאה, החלקים הנותרים אינם שייכים ישירות ל ADT אלא מעין הרחבה. אתם מתבקשים לצפות בהקלטה של יום שלישי, שבה מכוסה פרק 2 עד סופו. בשבוע הבא נדבר על ADT מקוננים (פרק 3) ונתחיל את פרק 4 (בדיקות תוכנה). פרק 4 יכוסה בהרצאות באופן חלקי בלבד ויסביר מוטיבציה ורעיונות שחלקם אינו מופיע בשקפים. בהצלחה יחיאל |
עדכון אחרון ב-6/4/2016, 05:01:13 Last updated on 6/4/2016, 05:01:13 Последняя модификация6/4/2016, 05:01:13 تمت الحتلنة الأخيرة ب-6/4/2016, 05:01:13 |
Workshop updated time | |
Danny's workshop will be held tomorrow (Wednesday, 6.4) from 16:30 to 18:30 |
פורסם ב-5/4/2016, 12:38:40 Created on 5/4/2016, 12:38:40 Создано5/4/2016, 12:38:40 تم النشر ب-5/4/2016, 12:38:40 |
קריאת השקפים לפני ההרצאה (בתשובה לשאלה) | |
לקראת ההרצאה השבוע, אני ממליץ לקרוא את כל (שארית) פרק 2 וגם את פרק 3. כל הסיכויים שלא נסיים את פרק 3 (נספיק בערך מחציתו), אבל עדיף לקרוא יותר מאשר פחות. בפרקים 2 (מחצית שנייה) ו- 3 (רובו) יש הרבה קוד. אני מציע להתעמק בקוד ולהבין (מקומית) מה הוא עושה - בכיתה נתרכז בעיקר על "מדוע הוא כתוב כך?" מתוך הנחה שהמשמעות של כל שורת קוד מובנת - כמובן שאסביר אם תהיינה תהיות, אבל אין שם פקודות C שלא נלמדו בהרצאות קודמות. בשבוע הבא מתוכנן סיום פרק 3 ולימוד פרק 4 (חלקים עיקריים, עם דילוגים) אודות "בדיקות תוכנה". בהצלחה יחיאל |
עדכון אחרון ב-4/4/2016, 00:24:44 Last updated on 4/4/2016, 00:24:44 Последняя модификация4/4/2016, 00:24:44 تمت الحتلنة الأخيرة ب-4/4/2016, 00:24:44 |
Change in workshop time | |
Danny's workshop tomorrow will not be held. A new date and time (later this week) will be published soon. The tutorial is held as usual. |
פורסם ב-3/4/2016, 19:48:13 Created on 3/4/2016, 19:48:13 Создано3/4/2016, 19:48:13 تم النشر ب-3/4/2016, 19:48:13 |
Update : Location of Complementary Tutorials for Tomer's Group | |
The Complementary Tutorials Today will be in Ulman 310 You can Ignore the previous message. |
פורסם ב-30/3/2016, 11:39:26 Created on 30/3/2016, 11:39:26 Создано30/3/2016, 11:39:26 تم النشر ب-30/3/2016, 11:39:26 |
Complementary Tutorial for Tomer's group | |
For the students of Tomer's Group,There will be two complementary Tutorials Tomorrow,(you need to choose one of them) The First complementary Tutorial will take place at 12:30 - 14:30 . The Second complementary Tutorial will take place at 14:30 - 16:30 We Will Finish Tutorial 2 , and learn relevant topics from Tutorial 3-4 for you homework assignment . The location of the tutorials will be given soon. |
עדכון אחרון ב-29/3/2016, 18:49:41 Last updated on 29/3/2016, 18:49:41 Последняя модификация29/3/2016, 18:49:41 تمت الحتلنة الأخيرة ب-29/3/2016, 18:49:41 |
Change in workshop time today | |
The workshop Today will be between 15:00 - 17:00 instead of 12:30 - 14:30 |
פורסם ב-29/3/2016, 09:26:11 Created on 29/3/2016, 09:26:11 Создано29/3/2016, 09:26:11 تم النشر ب-29/3/2016, 09:26:11 |
Complementary Tutorial for Tomer's group | |
We will hold a complementary tutorial for Tomer's group. Please mark all available time slots here: http://doodle.com/poll/c65qm2xg2cry78wn The best two options will be taken. |
פורסם ב-28/3/2016, 18:11:44 Created on 28/3/2016, 18:11:44 Создано28/3/2016, 18:11:44 تم النشر ب-28/3/2016, 18:11:44 |
Tutorial Location Change | |
Tomer's tutorial group has moved permanently to Ulman 307. Hopefully this will be the last change. The day and hour remain the same. |
פורסם ב-27/3/2016, 19:37:12 Created on 27/3/2016, 19:37:12 Создано27/3/2016, 19:37:12 تم النشر ب-27/3/2016, 19:37:12 |
HW1 - C | |
HW1 is now online. Submission date is 08/04/2016 (at 23:55). The TA in charge on this assignment is Danny. For any questions regarding the assignment please contact u234122csatgmail.com. You can find all the necessary files for this assignment under ~mtm/public/1516b/ex1. Good luck! |
פורסם ב-25/3/2016, 00:57:13 Created on 25/3/2016, 00:57:13 Создано25/3/2016, 00:57:13 تم النشر ب-25/3/2016, 00:57:13 |
No Workshop on Purim - Thursday 24.3.2016 | |
שלום לכולם, נא שימו לב שביום חמישי הקרוב 24.3.2016 לא תתקיים סדנא עקב חופשת פורים. בהצלחה. |
עדכון אחרון ב-22/3/2016, 07:40:59 Last updated on 22/3/2016, 07:40:59 Последняя модификация22/3/2016, 07:40:59 تمت الحتلنة الأخيرة ب-22/3/2016, 07:40:59 |
Workshops in March & April | |
20.3 (Sunday) 16:30-18:30 - Michael Bikman 21.3 (Monday) 14:30-16:30 - Tomer 22.3 (Tuesday) 12:30-14:30 - Michael Maltsev 28.3 (Monday) 14:30-16:30 - Danny 29.3 (Tuesday) 12:30-14:30 - Izik 30.3 (Wednesday) 10:00-12:00 - Amir April: 3.4 (Sunday) 16:30-18:30 - Michael Bikman 4.4 (Monday) 14:30-16:30 - Danny 5.4 (Tuesday) 12:30-14:30 - Michael Maltsev 7.4 (Thursday) 12:30-14:30 - Israel 11.4 (Monday) 14:30-16:30 - Tomer 12.4 (Tuesday) 12:30-14:30 - Izik 13.4 (Wednesday) 10:00-12:00 - Amir 17.4 (Sunday) 16:30-18:30 - Michael Bikman 18.4 (Monday) 14:30-16:30 - Tomer 19.4 (Tuesday) 12:30-14:30 - Michael Maltsev 21.4 (Thursday) 12:30-14:30 - Israel The workshops will be held in the PC farm (room 018) Please note that the workshops are intended for general problems or help with the course material. Specific questions regarding HW assignments should be addressed to the TA in charge of the relevant assignment by email. If there is a problem with a specific day and hour that many students can't come, please send Tomer a mail about it. |
עדכון אחרון ב-22/3/2016, 07:36:54 Last updated on 22/3/2016, 07:36:54 Последняя модификация22/3/2016, 07:36:54 تمت الحتلنة الأخيرة ب-22/3/2016, 07:36:54 |
HW0 | |
HW0 is now online. submission date is next Thursday - 24/3 This assignment must be submitted individually. The assignment should be submitted normally under HW0. We recommend you to read the "General HW info" under course material. Instructions for using the "final check" script are published below the assignment document. Good luck! |
פורסם ב-16/3/2016, 17:17:52 Created on 16/3/2016, 17:17:52 Создано16/3/2016, 17:17:52 تم النشر ب-16/3/2016, 17:17:52 |
Tutorial Location Change | |
Tomer's tutorial group has moved permanently to Ulman 502. The day and hour remain the same. |
פורסם ב-15/3/2016, 11:30:34 Created on 15/3/2016, 11:30:34 Создано15/3/2016, 11:30:34 تم النشر ب-15/3/2016, 11:30:34 |
Welcome to Introduction to System Programming (מת"מ) - Spring 2016 | |
This is the first mail from the "Introduction to Systems Programming " (234122) TAs course staff in the semester of Spring 2016. Every student registered to the course, should get this mail. All the information you need appears at the course webpage at http://webcourse.cs.technion.ac.il/234122/ The course announcements, notifications, changes etc., will be published on the webpage and through this mailing list. It is your responsibility to be updated and to check from time to time for new information posted on the webpage. The lecture and tutorial slides can be downloaded from the "Course Material" section. You can use the "Find a partner" section to find partners for the homework assignments. The lecture hours and the email addresses of the staff will appear in the "Staff" section (the office hours will be published soon as well). Please contact us if you have any problems and we will do our best to resolve them. We wish you a fruitful and enjoyable semester. |
פורסם ב-13/3/2016, 15:25:18 Created on 13/3/2016, 15:25:18 Создано13/3/2016, 15:25:18 تم النشر ب-13/3/2016, 15:25:18 |
ברוכים הבאים לקורס מת"מ | |
שלום לכולם, בעוד שבוע מתחיל סמסטר האביב. את ההודעות על נוהלי הקורס תקבלו בתרגולים ובהודעות מאת תומר, המתרגל האחראי. את המידע על תוכן הקורס תקבלו בהרצאות - רובו נמצא בשקפי-ההרצאות. כאן רק כמה הודעות "מנהלה": 1. ההרצאה של יום שני אחה"צ תתקיים באולם "טאוב 1" (לא כמופיע באתר הטכניון - העדכון הוא מהיום) 2. השקפים בתהליך עדכון (עד עתה עודכנו פרקים 0, 1, 2). הם שונים מאד מהשקפים של סמסטר החורף, אבל דומים למדי לשקפי-אביב שעבר ועוד יותר לשקפי סמסטר הקיץ (כמעט כל סמסטר אני מעדכן משהו בשקפים). 3. הסמסטר הזה אני משנה מעט את הגישה להרצאות: אתם נדרשים לעבור על השקפים לפני ההרצאה, ותוכן ההרצאה יהיה הסבר על הרעיונות שמאחורי תוכן-השקפים ותשובות לשאלותיכם. אין חובה להבין את כל מה שכתוב בשקפים, אבל מי שרוצה להיות מוכן צריך לקרוא את כל הכתוב בשקפים. 4. רשימת הספרות (לקראת סוף פרק 0) עודכנה, ב-C, UNIX ו- OOP. מומלץ מאד לקרוא גם בספרים. בהצלחה לכולכם יחיאל |
עדכון אחרון ב-6/3/2016, 21:39:33 Last updated on 6/3/2016, 21:39:33 Последняя модификация6/3/2016, 21:39:33 تمت الحتلنة الأخيرة ب-6/3/2016, 21:39:33 |
שו"ת אינטראקטיביות במהלך ההרצאות | |
שלום כולם במהלך ההרצאות תופענה מעט שאלות לנוכחים, שמטרתן לעיתים לעורר דיון ולעיתים לבדוק הבנה. כדי לנסות להמנע מ"קליקרים" (בעיקר בטאוב1) אנסה להשתמש באתר המספק שרות מתאים: http://www.socrative.com/ כל מכשיר המאפשר גישה לרשת אמור להתאים (טלפון, מחשב, yPad) בזמן ההרצאה אתן "שם" חדר שאליו צריך להכנס (הכל אנונימי - חוץ מה IP, כנראה) כדאי להיות באתר עם תחילת השעור תודה ובהצלחה בסמסטר יחיאל |
פורסם ב-14/3/2016, 15:56:48 Created on 14/3/2016, 15:56:48 Создано14/3/2016, 15:56:48 تم النشر ب-14/3/2016, 15:56:48 |