החומר, המטלות, ומדיניות הציונים בקבוצות השונות יהיו דומים.
כל
הסטודנטים שנרשמו לקורס כבר רשומים לרשימת התפוצה המתאימה. כדי להירשם
לרשימת התפוצה (עקב רישום מאוחר וכו') לחץ על אחת הקישוריות שלמעלה (בהתאם
למספר הקבוצה) ולאחר מכן לחץ על Join
or leave the list , הכנס את שמך המלא ואת ה- email
שלך ולחץ על הכפתור 'Join'.
הקורס מציג את המתודולוגיה של תכנות מונחה עצמים ואת שפת התכנות ג'אווה. הקורס עוסק גם בצדדים תיאורטיים ועקרוניים של תכנות מונחה עצמים וגם מקנה מיומנויות תכנות בג'אווה. בצד התיאורטי, הקורס עוסק בנושאים: נכונות של מחלקה, נכונות במחלקות יורשות ומממשות, חוזים, משמעות ותיכון נכון של חריגים, טיפוסים גנריים, ועוד. בצד המעשי, הקורס מלמד את שפת ג'אווה ואת השימוש בספריות הסטנדרטיות שלה, כולל גישה לקבצים, מבני נתונים, שימוש בסביבת פיתוח מתקדמת, בדיקות תכנה וכדומה.
הציון הסופי בקורס יתבסס בעיקר על ציון הבחינה. הבחינה תכלול שאלות אודות התרגילים. הגשת כל התרגילים היא חובה (ראו בהמשך); תלמיד או תלמידה שלא יגישו תרגילים לא יוכלו לעמוד בחובות הקורס (לא יקבלו ציון סופי גם אם ניגשו ועברו את הבחינה). תרגילים שיוגשו בצורה שמעידה שלא הושקע מאמץ בפתרונם יגרמו להפחתה בציון הסופי (אבל הציון המדוייק שיקבלו תרגילים סבירים לא ישפיע על הציון הסופי).
ציוני תרגילים על פי מספר תעודת זהות (איננו מפרסמים פרטים מזהים אחרים של תלמידים ביחד עם ציונים).
על כל תלמיד לפתור ולהגיש בזמן את כל התרגילים. התרגילים הינם אישיים ומיועדים לעבודה עצמית. בפרט, אסור לתלמידים לפתור ביחד תרגילים, אסור להראות פתרון תרגיל לתלמיד אחר, ואסור לקרוא פתרון של תלמיד אחר. מותר לדון בתרגילים עם תלמידים אחרים בעל-פה בלבד וללא התבוננות בקוד של אחר.
אי הגשת תרגילים או הגשת תרגילים שלא על פי ההנחיות הללו יגרמו לאי-עמידה בחובות הקורס (ולתלונה משמעתית במקרה העתקה). מקרים כאלו קרו בעבר ותלמידים שלא הגישו תרגילים על פי ההנחיות נאלצו לקחת את הקורס הרלוונטי שוב.
בכל מקרה יש לפתור ולהגיש את כל התרגילים, גם אם קיימת סיבה מוצדקת לא להגישם בזמן. אם הגשת תרגיל באיחור, נא לדווח על כך בעזרת הטופס הזה (הסברים בתוך הטופס) ולצרף את האישורים המתאימים (מחלה, מילואים, וכדומה). תלמיד או תלמידה שנתקלים בבעיה אישית שאינה מאפשרת להם להגיש תרגילים בזמן ואין אודותיה אישורים כגון אישורי מחלה או מילואים, יפנו לדיקאנט הסטודנטים ומשרד הדיקאנט ינחה את סגל הקורס כיצד לנהוג; לסגל הקורס עצמו אין כלים להעריך חומרת בעיות כאלה או לסייע לתלמיד/תלמידה להתגבר עליהן.
להלן הנחיות מפורטות לצורה שבה יש להגיש את התרגילים. למקרה שצצות בעיות, הכנו מסמך שמתאר שאלות נפוצות בנוגע למנגנון הגשת התרגילים ותשובות עליהן.
ביום ראשון של כל שבוע יוטל תרגיל (התרגיל יועלה במהלך יום ראשון, אולי מאוחר בלילה). מועד ההגשה של התרגיל הוא עד חצות ביום ב' של השבוע העוקב.
להלן לוח הזמנים של התרגילים:
תרגיל | מועד הגשה |
1: תכנות פרוצדורלי 1 | 29/30 באוקטובר |
2: תכנות פרוצדורלי 2, שלד תוכנית Exercise2.java | 5/6 בנובמבר |
3: תכנות פרוצדורלי 3 (סודוקו), sudoku.zip | 12/13 בנובמבר |
4: עצמים ומחלקות | 19/20 בנובמבר |
5: חוזים ופונקצית הפשטה, שלד ומנשק | 26/27 בנובמבר |
6: אוספים ופולימורפיזם | 3/4 בדצמבר |
7: תרגול מנשקים ומחלקות (עולם פראי) | 11 בדצמבר (לכל התלמידים) |
8: Java IO וירושה | 18 בדצמבר |
9. מחלקות מופשטות ו-ENUM | 25 בדצמבר |
10: מנשק גרפי (עולם פראי) | 1 בינואר |
11: ספר כתובות (מנשק טקסטואלי) | 8 בינואר |
12: מנשק גרפי לספר כתובות, שלד GUIAddressBookViewer.java | 15 בינואר |
את הקורס מלווה חומר עזר הכולל תיעוד בעברית ותוכנית דוגמה רבות. מומלץ לקרוא את חומר העזר ואת תוכניות הדוגמה. החומר מסודר בצורה דומה לסדר העברת החומר בהרצאות ובתרגולים.
חומר העזר הזה זמין בשתי צורות: כאתר אינטרנט, וכתוסף לכלי הפיתוח שאנו משתמשים בו בקורס, כלי שנקרא Eclipse. התוסף הזה אמור להיות מותקן בגרסה של Eclipse במעבדות המחשבים בבית הספר, וניתן גם להתקין אותו בבית (אפשר להוריד אותו מהאתר של חומר העזר, תחת הדף "כיצד להשתמש בתיעוד המקוון"). כדאי להשתמש בתיעוד מתוך Eclipse: תוכניות הדוגמה מוצגות בצורה טובה יותר (שימוש בצבע, סימון שגיאות בתוכנית, ועוד), וניתן לשנות את תוכניות הדוגמה ולהריץ אותן. השימוש באתר האינטרנט מומלץ רק כאשר אין לכם גישה ל-Eclipse. האתר גם מאפשר להדפיס בקלות תיעוד עם תוכניות דוגמה, אבל לדעתנו אין סיבה להדפיס את החומר הזה.
חומר העזר אינו מוכן במלואו בתחילת הקורס, והוא יתעדכן במהלכו.
יש לעיין בדפי העבודה ודפי ההוראות הבאים:
ההרצאות והתרגולים בסמסטר הנוכחי מצולמים בוידאו, וניתנים לצפייה מקוונת בשרת הוידאו של האוניברסיטה:
שיעור מספר | תאריך | שקפים | הערות ותוספות |
1 |
22-23 באוקטובר 2006 | 00 מנהלות 01 שלום עולם |
תכנות פרוצדורלי 1: טיפוסים, משתנים וביטויים |
2 |
29-30 באוקטובר 2006 | 02 מבני בקרה | תכנות פרוצדורלי 2: מבני בקרה והגדרת שרותים |
3 |
05-06 בנובמבר 2006 | 03 שרותים | תכנות פרוצדורלי 3: מודל הזיכרון, הפשטה ותיכון בעזרת חוזה |
4 | 12-13 בנובמבר 2006 | 04 עצמים | המחלקה כטיפוס נתונים,
מצב מופשט וחוזה, נכונות ועקביות המימוש נספחים: turtle.jar , turtle.html |
5 | 19-20 בנובמבר 2006 | 05 מנשקים | מודל הזיכרון של זימון
שרות מופע, מנשקים בין ספק ולקוח, סיווג של שאילתות, דליפת המשתמר, האצלה ופולימורפיזם |
6 | 26-27 בנובמבר 2006 | 06 מקושרים | מבנים מקושרים, טיפוסים מוכללים, מחלקות פנימיות ואצנים |
7 | 03-04 בדצמבר 2006 | 07 הורשה | יחסים בין מחלקות
והורשה, המחלקה Object סיכום סימוני UML לביטוי יחסים בין מחלקות |
8 | 10-11 בדצמבר 2006 | 08 חריגים | מחלקות מופשטות (סוף שיעור 7) + חריגים |
9 | 15,18 בדצמבר 2006 | 09 עוד הורשה | תבניות עיצוב, הורשה וטיפוסים מוכללים, טיפוסי זמן ריצה, קבלנות משנה |
10 | 24-25 בדצמבר 2006 | 10 מנשק גרפי | רכיבי SWT, ארגון
מיכלים, ארועים, הפרדה בין מודל והצגתו GoogleBrowser.java |
11 | 31 בדצמבר 2006 01 בינואר 2007 |
11 מנגנוני השפה | טבלת השרותים, איסוף זבל, טעינת מחלקות והשתקפות |
12 | 07-08 בינואר 2007 | 12 נושאים בהנדסת תוכנה | בדיקות, מתודולוגיות פיתוח, תבניות תיכון, חתכי רוחב ושכתוב מבני |
13 | 14-15 בינואר 2007 | 13 שרתי אינטרנט ב Java | תקשורת, חוטים, שרתים קוד: תכנות שקעים , שרתי servlets |
14 | 21-22 בינואר 2007 | 14 דוגמא מודרכת 14 סיכום |
תבנית העיצוב STATE, עקרונות התכנות מוכוון עצמים |
תרגול מספר | תאריך | שקפים | הערות ותוספות |
1 | 24-23 באוקטובר 2006 | תרגול 1 | [ליאור]
הגענו עד שקף 13 (כולל) [ליאור] הוספתי מעט מידע לשקף 12 |
2 | 30-31 באוקטובר 2006 | תרגול 2 | |
3 | 06-07 בנובמבר 2006 | תרגול 3 (6X) | |
4 | 13-14 בנובמבר 2006 | תרגול 4 (6X) | סיכום תגיות החוזה שנזכרו
בהרצאה ובתרגול הוספת תגיות חוזה לתיעוד, taglets.jar |
5 | 20-21 בנובמבר 2006 | תרגול 5 (6X, שחור לבן) | |
6 | 27-28 בנובמבר 2006 | תרגול 6 (6X) | |
7 | 04-05 בדצמבר 2006 | תרגול 7 (6X) | |
8 | 11-12 בדצמבר 2006 | תרגול 8 (6X) | |
9 | 18-19 בדצמבר 2006 | תרגול 9 (6X) | |
10 | 25-26 בדצמבר 2006 | תרגול 10 (6X) | |
11 | 1-2 בינואר 2007 | תרגול 11 (6X) - נושאים עקרוניים, שיעור טריוויה | גרסא מלאה |
12 | 8-9 בינואר 2007 | תרגול 12 (6X) - תרגילים מעניינים משיעורי הבית | |
13 | 15-16 בינואר 2007 | תרגול 13 (6X) | גרסא מלאה |
14 | 22-23 בינואר 2007 | תרגול 14 (6X) | יש לקרוא את שאלה 1 מהמבחן של שנה שעברה (סמסטר ב') |
15 | 08 בפברואר 2007 | תרגול חזרה למבחן |