2157 - 0368: תוכנה 1

שעות לימוד

סוג מפגש מועד מיקום
שיעור יום ג, 10:00-13:00 דן דויד 001
תרגול יום ד,10:00-11:00 שרייבר 008
תרגול יום ד, 11:00-12:00 שרייבר 008
תרגול יום ה, 12:00-13:00 שרייבר 008
תרגול יום ה, 13:00-14:00 שרייבר 008

סגל הקורס

הודעות

רשימת דיוור

הודעות בנוגע לקורס ישלחו לרשימת הדיוור. לכן חשוב שכל תלמיד יוודא שהוא ברשימת התפוצה. האתר שבו ניתן לקרוא את כל ההודעות הישנות הינו: http://listserv.tau.ac.il/archives/cs0368-2157-07.html

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

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

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

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

מבחן

המבחן יהיה ללא חומר עזר.

תרגילים

על כל תלמיד לפתור ולהגיש בזמן את כל התרגילים!

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

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

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

להלן הנחיות מפורטות לצורה שבה יש להגיש את התרגילים

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

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

ציוני התרגילים והבחינה לפי מספר תעוזת זהות

מספר תאריך מועד הגשה הערות
1 - תכנות פרוצדורלי 01.03.2007 08.03.2007 -
2 - תכנות פרוצדורלי 08.03.2007 15.03.2007 Exercise2.java (שלד התכנית),
מלבד הגשה אלקטרונית של התרגילים דרך VirtualTAU יש להגיש הדפס לבודק התרגילים
3 - תכנות פרוצדורלי 15.03.2007 22.03.2007 sudoku.zip
מלבד הגשה אלקטרונית של התרגילים דרך VirtualTAU יש להגיש הדפס לבודק התרגילים עד יום א' 25.03
4 - עצמים 22.03.2007 29.03.2007
5 - מחלקות וחוזים 29.03.2007 12.04.2007 ex5.zip (שלד)
6-מנשקים ומחלקות (עולם פראי) 12.04.2007 19.04.2007 למרות השביתה כל החומר הנדרש לפתירת התרגיל נלמד בכיתה   
7- אוספים ופולימורפיזם 19.04.2007 03.05.2007 עקב שביתת הסטודנטים, לא נלמד החומר בכיתה, ולכן מימוש התרגיל ידרוש לימוד עצמי. כדי להקל, התרגיל הינו לשבועיים.
חומר העזר הבא עומד לרשותכם, אנא בחרו את המדיה המועדפת עליכם. אין צורך גם לקרוא את ה-tutorial וגם לראות את הוידאו.
1. צילום שיעור בוידאו מהסמסטר הקודם. נא גשו לאתר הוידאו
בחרו שיעור 6 (ברשימה בצד שמאל) וברשימת הנושאים (צד ימין) בחרו ב"רשימות מקושרות". השיעור ממשיך ב-11 הדקות הראשונות של שיעור 7.
 2. ניתן להעזר בשקפים של סמסטר קודם בנושא.
3. ניתן להעזר במצגת של תרגול 6 מהסמסטר הנוכחי (למטה).
4. כמו כן ניתן להעזר ב-tutorials באינטרנט, למשל http://java.sun.com/docs/books/tutorial/collections
8 - קלט/פלט 03.05.2007 10.05.2007 עקב שביתת הסטודנטים, לא נלמד החומר בכיתה, ולכן מימוש התרגיל ידרוש לימוד עצמי. כדי להקל, התרגיל יכסה רק מחצית מהחומר מהמצופה (IO בלבד).  חומר העזר הבא עומד לרשותכם, אנא בחרו את המדיה המועדפת עליכם. אין צורך גם לקרוא אתהמצגת  וגם לראות את הוידאו:
1. מצגת תרגול על X6IO
2. צילום תרגול על IO בוידאו מהסמסטר הקודם. נא גשו לאתר הוידאו ובחרו שיעור 8 (ברשימה בצד שמאל)
3. כמו כן, ניתן להעזר ב-tutorials באינטרנט, למשל http://java.sun.com/docs/books/tutorial/essential/io וב-Java API
9 - ירושה 10.05.07 17.05.07 עקב שביתת הסטודנטים, לא נלמד החומר בכיתה, ולכן מימוש התרגיל ידרוש לימוד עצמי. כדי להקל, התרגיל יכסה רק מחצית מהחומר מהמצופה (ירושה בלבד).  חומר העזר הבא עומד לרשותכם, אנא בחרו את המדיה המועדפת עליכם. אין צורך גם לקרוא אתהמצגת  וגם לראות את הוידאו:
1. צילום שיעורים בוידאו מהסמסטר הקודם.  נא גשו לאתר הוידאו ובחרו בשיעור 7 (ברשימה בצד שמאל) וב"על סדר היום" ברשימה בצד שמאל. כמו כן, בחרו בשיעור 9 (ברשימה בצד שמאל). 
2. ניתן להעזר במצגות של שיעורים 7 ו-9 מהסמסטר קודם (חלק א, חלק ב)
3. ניתן להעזר במצגות של תרגול 7 מהסמסטר הקודם
10 -   מחלקות מופשטות ו-ENUM 17.05.07 24.05.07 עקב שביתת הסטודנטים, לא נלמד החומר בכיתה, ולכן מימוש התרגיל ידרוש לימוד עצמי. חומר העזר הבא עומד לרשותכם, אנא בחרו את המדיה המועדפת עליכם.
1. צילום שיעורים בוידאו מהסמסטר הקודם.  נא גשו לאתר הוידאו ובחרו בשיעור 7 אשר דן בין היתר במחלקות מופשטות.
2. ניתן להעזר במצגת של שיעור 7
3. ניתן להעזר במצגות של תרגול 9 מהסמסטר הקודם
11 - ספר כתובות (מנשק טקסטואלי) 24.05.07 07.06.07 כדי להקל התרגיל ניתן לשבועיים
מטרת התרגיל, בין היתר, לתרגל אוספים וקלט/פלט (בעיקר מנגנון ה-Object Serialization). לכן, ניתן להעזר בחומר העזר הבא:
IO
1. מצגת תרגול על IO
2. צילום תרגול על IO בוידאו מהסמסטר הקודם. נא גשו לאתר הוידאו ובחרו שיעור 8 (ברשימה בצד שמאל)
3. כמו כן, ניתן להעזר ב-tutorials באינטרנט, למשל http://java.sun.com/docs/books/tutorial/essential/io וב-Java API
אוספים:
1. מצגת תרגול  על אוספים
2. צילום תרגול על אוספים בוידאו מהסמסטר הקודם. נא גשו לאתר הוידאו ובחרו שיעור 6 (ברשימה בצד שמאל) 
3. כמו כן ניתן להעזר ב-tutorials באינטרנט, למשל http://java.sun.com/docs/books/tutorial/collections
12 - הגשה חוזרת של תרגיל 10 (גרסא מעודכנת) 07.06.07 14.06.07 השינויים בתרגיל המקורי מודגשים באדום
13 - ספר כתובות (מנשק גרפי) 14.06.07 28.06.07 GUIAddressBookViewer.java
כדי להקל התרגיל ניתן לשבועיים


חומר עזר

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

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

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

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

וידאו

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

הרצאות


מספר תאריך שקפים הערות ותוספות
1 27.02.2007 01 - שלום עולם תכנות פרוצדורלי 1: טיפוסים, משתנים וביטויים
2 06.03.2007 02- מבני בקרה תכנות פרוצדורלי 2: מבני בקרה והגדרת שרותים
3 13.03.2007 - בוטל עקב השביתה 
4 20.03.2007 03 - חבילות
04.1 - מה זה עצם
04.2 -עצמים
 
5 27.03.2007 05 - מנשקים  
6 29.5.2007 06.1 - ירושה 1
06.2 -חריגים
 
7 05.06.2007 07 - ירושה 2   
8 12.06.07 08- GUI  
9 19.06.07 09.1 - מנגנוני השפה
09.2 - תבניות תיכון
 
10 27.06.07 10 - מקביליות ורשתות החומר שנלמד בסוף השיעור (לא משקפים) על sleep, join, synchronization
אינו נכלל בחומר הבחינה. כל השאר, כלומר, מה שנלמד במהלך הצגת השקפים כן בחומר הבחינה.

תרגולים


מספר תאריך שקפים הערות ותוספות
1 28.02.2007
01.03.2007
מבוא ל-JAVA והכרת סביבת העבודה (X6) דף הנחיות לפתיחת חשבון מחשב
הכרת סביבת המחשוב באוניברסיטה (כולל הוראות התקנה של אקליפס)
עמודים 1-14 ב-דף עבודה ללימוד סביבת אקליפס
הוראות שימוש בחומר העזר המלווה לקורס
2 07.03.2007
08.03.2007
מערכים ומבני בקרה (X6) -
3 14.03.2007
15.03.2007
מודל הזיכרון של Java והעברת ארגומנטים (X6) -
4 21.03.2007
22.03.2007
מחלקות ועצמים (X6) -
28.03.2007-23.05.2007 - התרגולים בוטלו עקב שביתת הסטודנטים
5-6
24.05.2007 מחלקות ועצמים (X6)
אוספים (X6)
התרגול כלל הצגת כלי ניפוי השגיאות של אקליפס
7 30.05.2007
31.05.2007
קלט/פלט (X6)(X6) -
8 06.06.2007
07.06.2006
iterators X6
enum X6
-
9 13.06.2007
14.06.2007
מנשק גרפי (X6) GUIAddressBookViewer.java
10 20.06.2007
21.06.2007
המשך מנשק גרפי (X6)
טיפול באירועים (X6)
GUIAddressBookViewer.java
11 27.06.2007
28.06.2007
שיעור חזרה (X6) בהצלחה בבחינות!