2157 - 0368: תוכנה 1 - אביב תשע"א
[קבוצות לימוד] [סגל הקורס] [הודעות] [רשימת דיוור] [סילבוס ומדיניות ציונים] [מבחן] [תרגילים] [חומר עזר] [סביבת הפיתוח] [וידאו] [הרצאות] [תרגולים] [שאלות נפוצות]

קבוצות לימוד


סוג מפגש שם חבר הצוות מועד מיקום קוד קבוצה
שיעור ליאור וולף יום ג', 10:00-13:00 מלמד/הולצבלט 006 0368-2157-07
תרגיל אסף זריצקי יום ד', 10:00-11:00 שרייבר 006 0368-2157-08
תרגיל אסף זריצקי יום ד', 11:00-12:00 שרייבר 006 0368-2157-09

סוג מפגש שם חבר הצוות מועד מיקום קוד קבוצה
שיעור מתי שמרת יום ד', 09:00-12:00 אורנשטיין 111 0368-2157-10
תרגיל הדס צור יום ה', 12:00-13:00 שרייבר 007 0368-2157-11
תרגיל הדס צור יום ב', 12:00-13:00 אורנשטיין 110 0368-2157-12

*במהלך הסמסטר יועברו חלק מההרצאות על ידי אותו המרצה בכל הקבוצות.

סגל הקורס

  • מרצהליאור וולףwolf@cs, שעת קבלה ימי ג' 13:00-14:00 בתיאום מראש ע"י דוא"ל, במשרד בשרייבר 103
  • מרצהמתי שמרת, matis@post, , שעת קבלה בבניין וולפסון להנדסת תוכנה חדר 209 בימי ד' 12-13, בתיאום מראש

  • מתרגל: אסף זריצקי, assafzar@post, שעת קבלה בבניין שנקר-פיזיקה 405א', יום ד' 9-10, בתיאום מראש
  • מתרגלת: הדס צור,  zurhadas@post.tau.ac.il, שעת קבלה במרתף בניין שרייבר, חדר 19, יום ה 18-19
  • בודק תרגילים: עודד אלבז, odedelba@post.tau.ac.il

הודעות

  • 21.02.2011: ברוכים הבאים לקורס!

רשימת דיוור

הודעות בנוגע לקורס ישלחו לרשימת הדיוור. לכן חשוב שכל תלמיד יוודא שהוא ברשימת התפוצה.

האתרים שבו ניתן לקרוא את כל ההודעות הישנות הינו:

כל הסטודנטים שנרשמו לקורס כבר רשומים לרשימת התפוצה. כדי להירשם לרשימת התפוצה (עקב רישום מאוחר וכו') לחץ על הקישורית שלמעלה ולאחר מכן לחץ על  Join or leave the list , הכנס את שמך המלא ואת ה- email שלך ולחץ על הכפתור 'Join'.

סילבוס ומדיניות ציונים

הקורס מציג את המתודולוגיה של תכנות מונחה עצמים ואת שפת התכנות ג'אווה. הקורס עוסק גם בצדדים תיאורטיים ועקרוניים של תכנות מונחה עצמים וגם מקנה מיומנויות תכנות בג'אווה. בצד התיאורטי, הקורס עוסק בנושאים: נכונות של מחלקה, נכונות במחלקות יורשות ומממשות, חוזים, משמעות ותיכון נכון של חריגים, טיפוסים גנריים, ועוד. בצד המעשי, הקורס מלמד את שפת ג'אווה ואת השימוש בספריות הסטנדרטיות שלה, כולל גישה לקבצים, מבני נתונים, שימוש בסביבת פיתוח מתקדמת, בדיקות תכנה וכדומה. 
דרישות:

חובת הגשת תרגילים (הנחיות מפורטות בהמשך). תלמידים שלא יגישו תרגילים לפי ההנחיות להלן לא יוכלו לעמוד בחובות הקורס (לא יקבלו ציון סופי גם אם ניגשו ועברו את הבחינה).
חובה לעבור את הבחינה כדי לקבל ציון סופי בקורס. 

הציון הסופי בקורס מורכב מציון הבחינה (85%) וציון התרגילים (15%).  משקל רוב התרגילים הוא נקודה אולם במהלך הסמסטר ינתנו גם תרגילים בעלי משקל של 2 נקודות. עבור כל תרגיל שיוגש בציון עובר (60 ומעלה) ינתן מלוא הניקוד. לדוגמא: תלמידה שהגישה במהלך הסמסטר 7 תרגילים במשקל נקודה ו-4 תרגילים במשקל 2 נקודות, וקיבלה עבור כולם ציון עובר, תקבל את מלוא 15 האחוזים בשקלול הציון הסופי.

מבחן

המבחן יהיה ללא חומר עזר. במידה ויידרש מידע לפתירת המבחן, הוא יינתן על ידי צוות הקורס כנספח לבחינה.
מידע נוסף על המבחן יינתן לקראת מועדו.

מועד: תאריך:  שעה
מועד א' [פתרון] 26.06.11
09:00 נספחים: File, Set, Map
מועד ב' 14.09.11
09:00

דוגמאות למבחנים מסמסטרים קודמים

תרגילים

בכל שבוע יפורסם תרגיל. הגשת תרגילים היא חובה!
התרגילים הינם אישיים ומיועדים לעבודה עצמית. בפרט, אסור לתלמידים לפתור ביחד תרגילים, אסור להראות פתרון תרגיל לתלמיד אחר, ואסור לקרוא פתרון של תלמיד אחר. מותר לדון בתרגילים עם תלמידים אחרים בעל-פה בלבד וללא התבוננות בקוד של אחר.

  • במהלך הקורס יינתנו אחד עשר תרגילים, חלק מהם שווים נקודה אחת וחלק שווים שתי נקודות.
  • יש לקבל ציון עובר על לפחות שבעה מהם ולצבור לא פחות מעשר נקודות. לדוגמא, סטודנט שיקבל ציון עובר על ארבעה תרגילים שמשקלם שתי נקודות ועל שניים שמשקלם נקודה, יצבור את מינימום 10 הנקודות הדרושות אך לא יעמוד במכסת שבעת התרגילים ולכן לא יעמוד בדרישות הקורס.
  • לכל תרגיל יש משקל בציון הסופי כך שאי הגשת חלק מהתרגילים תפגע בציון התלמיד\ה. בפרט, רק תלמידים שהגישו ועברו את כל התרגילים יכולים לקבל 100.
  • את התרגילים יש להגיש לא יאוחר ממועד ההגשה שיפורסם באתר ובמערכת הוירטואל. עם זאת, לרשות כל סטודנט עומדים חמישה "ימי חסד" סמסטריאלים, הגשה באיחור תגרע מימי החסד. כלומר, סטודנט שהגיש תרגיל באיחור של יומיים תרגילו ייבדק אך מספר ימי החסד שייותר לו יעמוד על שלושה.
    • אם אזלו לסטודנט ימי החסד ובכל זאת הגיש באיחור תרגילו לא ייבדק והציון עליו יהיה 0.
נוהל הגשה באיחור
אין צורך לדווח מראש או לבקש אישור בעבור הגשה באיחור (מוצדקת או לא). ואולם בעת הגשת תרגיל באיחור עם סיבה מוצדקת יש לצרף לקובץ ההגשה (ההגשה מתבצעת בקובץ zip) את האישורים המתאימים (מחלה, מילואים, רישום מאוחר וכדומה).  ימי איחור עם סיבה מוצדקת שיאושרו ע"י בודק התרגילים לא יכללו ב-5 ימי האיחור המצטבר. 
אם אין באפשרותכם להגיש את התרגילים במערכת הוירטואל טאו עקב רשום מאוחר, אנא הגישו אותם מיד עם רישומכם.  צרפו את טופס ההגשה באיחור וציינו כי התרגיל מוגש באיחור בגלל רישום מאוחר.
 להלן טופס הגשה באיחור (אותו יש למלא כאשר מגישים תרגיל באיחור מסיבה מוצדקת).

הגשת תרגילים שלא על פי ההנחיות הללו תגרום לאי-עמידה בחובות הקורס (ולתלונה משמעתית במקרה העתקה). מקרים כאלו קרו בעבר ותלמידים שלא הגישו תרגילים על פי ההנחיות נאלצו לחזור על הקורס.

להלן הנחיות מפורטות לאופן הגשת התרגילים וכן הסבר על הגשת התרגילים במערכת הוירטואל.

מדיניות ערעורים
ערעורים יוגשו בכתב לבודק התרגילים עד שבועיים ממועד פרסום הציונים

בכל שבוע יינתן תרגיל, מועד ההגשה של התרגיל הוא עד 23:55 ביום ראשון של השבוע העוקב. התרגיל עצמו יועלה לאתר הוירטואל (ולאתר הקורס) כשבועיים לפני מועד ההגשה.

קבלת משוב מהבודקים דרך הוירטואל (בתרגיל שהגשתם)


מספר פורסם בתאריך מועד הגשה משקל הערות
תרגיל מס' 1
21.2.11
6.3.11
1
דף הנחיות לפתיחת חשבון מחשב
הכרת סביבת המחשוב באוניברסיטה (כולל הוראות התקנה של אקליפס)
עמודים 1-14 ב-דף עבודה ללימוד סביבת אקליפס
תרגיל מס' 2
21.2.11
13.3.11
1

תרגיל מס' 3
3.3.11
20.3.11
2
קבצי עזר לשאלה 1: logo_turtle.jar, simpleio.jar, Pentagon.java
תיעוד עבור Turtle, תיעוד עבור LineInput
קבצי עזר לשאלה 2: image_processor.jar, ImageProcessing.java
תמונות לדוגמא: images.zip
תיעוד עבור ImageProcessing
תרגיל מס' 4
8.3.11
27.3.11
1
קבצים לשאלה 1: sudoku.zip
קבצים לשאלה 2: Circle.java, Point.java, CircleTest.java, shapes.zip
תרגיל מס' 5
15.3.11
3.4.11
1
קובץ עזר לחלק ג': disjoint.zip
תרגיל מס' 6
22.3.11
10.4.11
1
קובץ לחלק א': IPAddress.java
קבצים לחלק ג':
course.zip
תרגיל מס' 7
31.3.11
18.4.11
1
קבצי עזר: simplesearch.zip, oldmac.zip (הנחיות לשימוש בסוף התרגיל)
תרגיל מס' 8
14.4.11
9.5.11
2
קבצי עזר: ex8Code.zip
תרגיל מס' 9 26.4.11
16.5.11
1

תרגיל מס' 10
3.5.11
27.5.11
2
קבצי עזר:  resources10.zip
תרגיל מס' 11 15.5.11
9.6.11
2
קבצי עזר: addressbook.zip

חומר עזר

את הקורס מלווה חומר עזר הכולל תיעוד בעברית ותוכנית דוגמה רבות. מומלץ לקרוא את חומר העזר ואת תוכניות הדוגמה. החומר מסודר בצורה דומה לסדר העברת החומר בהרצאות ובתרגולים.

חומר העזר הזה זמין בשתי צורות: כאתר אינטרנט, וכתוסף לכלי הפיתוח שאנו משתמשים בו בקורס, כלי שנקרא Eclipse. התוסף הזה אמור להיות מותקן בגרסה של Eclipse במעבדות המחשבים בבית הספר, וניתן גם להתקין אותו בבית (אפשר להוריד אותו מהאתר של חומר העזר, תחת הדף "כיצד להשתמש בתיעוד המקוון"). כדאי להשתמש בתיעוד מתוך Eclipse: תוכניות הדוגמה מוצגות בצורה טובה יותר (שימוש בצבע, סימון שגיאות בתוכנית, ועוד), וניתן לשנות את תוכניות הדוגמה ולהריץ אותן. השימוש באתר האינטרנט מומלץ רק כאשר אין לכם גישה ל-Eclipse. האתר גם מאפשר להדפיס בקלות תיעוד עם תוכניות דוגמה, אבל לדעתנו אין סיבה להדפיס את החומר הזה.

חומר העזר אינו מוכן במלואו בתחילת הקורס, והוא יתעדכן במהלכו. 

משאבים מועילים:

תיעוד עבור JDK 6 (שפה, API ועוד)

סביבת הפיתוח (Eclipse)

וידאו

צילומי וידאו של ההרצאות משנים קודמות ניתנים לצפייה מקוונת בשרת הוידאו של האוניברסיטה:

הרצאות

המצגות מופיעות כאן בפורמט pdf וניתן להדפיסן מאקרובט. לצערנו, עקב מגבלות זכויות יוצרים של כל המעורבים בהכנת השקפים לאורך השנים לא ניתן לקבל את המצגות בפורמט ppt.
מספר תאריך שקפים הערות ותוספות
0
23-24/2/2011
מנהלות דוגמאות והסברים נוספים (מומלץ!)
המדריך המקוון של חברת Sun
אתר התיעוד המקוון של Java
1 23-24/2/2011
שלום עולם
2 2-3/3/2011
מבני בקרה והגדרת שרותים דוגמאות והסברים נוספים (מומלץ!)
שימו לב, ייתכן שוני לא גדול בין המצגות באתר ובשיעור,
למשל חידות והעשרות למינהן לא בהכרח יופיעו במצגות באתר
3 9-10/3/2011
מחלקות דוגמאות והסברים נוספים (מומלץ!)
4 15-16/03/2011
חוזים                                            
5 23-24/3/2011
מנשקים נספח: Smart Point
6 29-30/3/2011
 מבני נתונים  
7 5-6/4/2011
הורשה 1  
8 12-13/4/2011
טיפוסי מנייה
חריגים
 
חופשת פסח
9 3-4/5/2011
הורשה 2 

11/5/2011
כל מיני

10 17-18/5/2011
מנשקים גרפיים GUI   דוגמת הקוד מהשיעור: GoogleBrowser
11 24-25/5/2011 שרתים ותקשורת

12 31.5-1.6/2011
מקביליות ומנעולים

 

תרגולים


מספר תאריך נושא שקפים הערות ותוספות
1
23-24.2.2011 מבוא שקף לעמוד
שישה שקפים לעמוד
דף הנחיות לפתיחת חשבון מחשב
הכרת סביבת המחשוב באוניברסיטה (כולל הוראות התקנה של אקליפס)
עמודים 1-14 ב-דף עבודה ללימוד סביבת אקליפס
הוראות שימוש בחומר העזר המלווה לקורס
הנחיות להשמשת סביבת עבודה (Java + Eclipse) בבית
2
2-3.3.2011 מבני בקרה שקף לעמוד
שישה שקפים לעמוד
שקפים על ההבדל בין זמן קומפילציה וריצה ועל ה-debugger
הכרת השימוש ב-debugger
3 9-10.3.2011
מתודות ומחלקות
שקף לעמוד
שישה שקפים לעמוד
קיצורי מקשים לאקליפס
4 16-17.3.2011 מתודות ומחלקות שקף לעמוד
שישה שקפים לעמוד

5 23-24.3.2011
מנשקים ועוד שקף לעמוד
שישה שקפים לעמוד

6 28.3-4.4.2011 מבני נתונים גנריים
שקף לעמוד
שישה שקפים לעמוד

7 5-11.4.2011
הורשה
שקף לעמוד
שישה שקפים לעמוד

8 13.4-2.5.2011
קלט \ פלט
שקף לעמוד
שישה שקפים לעמוד
דוגמאות קוד: ioexamples.zip
9 4-9.5.2011
שונות
שקף לעמוד
שישה שקפים לעמוד

10 11-16.5.2011
Observer ומחלקות פנימיות
שקף לעמוד
שישה שקפים לעמוד
דוגמאות קוד: observer_inner.zip
11 18-23.5.2011
ממשק משתמש גרפי
שקף לעמוד
שישה שקפים לעמוד
דוגמאות קוד: swt_examples.zip
12 25-30.5.2011 Wild cards, enum שקף לעמוד
שישה שקפים לעמוד

13 1-6.6.2011 שונות שקף לעמוד
שישה שקפים לעמוד
פולימורפיזם (שישה שקפים לעמוד)

שאלות ותשובות


תאריך שאלה תשובה
19.2.2011 אין התאמה מלאה בין סגנון הכתיבה (code convention) שהוצג בכיתה לזה שמוגדר ע"י SUN - מה עושים? האם יורדו נקודות בשיעורי הבית עקב אי-הקפדה על סגנון? יש להשתמש בסגנון כתיבה כפי שמוגדר ב-SUN. לא יורדו נקודות על סגנון כתיבה, אלא במקרים קיצוניים. הכי חשוב להקפיד על ה-naming convension ואינדנטציה.
19.2.2011 האם מותר להעזר בפתרון התרגילים בחומר מתקדם יותר ממה שנלמד בכיתה? התרגילים מבוססים על החומר שנלמד עד כה בכיתה, מצופה מכם לא להשתמש בחומר מתקדם יותר. לדוגמא,  בתרגיל הראשון אתם לא אמורים להשתמש במשפטי תנאי ולולאות.
19.2.2011 האם יש צורך לבדוק תקינות קלט בשיעורי הבית? שני תרגילים ראשונים לא יידרשו מכם בדיקות קלט. בהמשך הקורס - כן.
19.2.2011 באיזו גרסת Java עלינו להשתמש? גרסת ה-Java העדכנית היא 1.6 והיא גם הגרסה המומלצת. בקורס מותר להשתמש  מגרסה 1.5 ומעלה.
19.2.2011 מסיבה X לא אוכל להגיש את תרגיל Y בזמן. האם אוכל להגיש התרגיל באיחור של Z ימים מבלי שהם יכללו בחמשת הימים המותרים? כאשר אתה מגיש את התרגיל, אנא צרף את בקשתך זו לקובץ ההגשה (עם האישורים המתאימים, אם יש), ואולי היא תאושר ע"י בודקי התרגילים. לשיקולם.
19.2.2011 הגשתי את התרגיל בזמן, אבל מצאתי טעות ואני רוצה להגיש אותו שוב. תיבת ההגשה סגורה, האם לשלוח את התרגיל במייל לבודק\מתרגל? אין לשלוח תרגילים בדוא"ל!
ראשית השתדלו להגיש את התרגילים פעם אחת. אם עליכם לשלוח גרסה נוספת, אנא פנו מספיק זמן מראש אל המתרגל\ת שלכם בבקשה לפתוח את תיבת ההגשה.