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

קבוצות לימוד


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

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

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

סגל הקורס

הודעות

רשימת דיוור

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

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

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

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

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

דרישות:

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

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

מבחן

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

מועד: תאריך:  שעה
מועד א' (פתרון)
27.06.10 09:00
מועד ב' 18.08.10
09:00

תרגילים

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


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

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

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

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

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

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

מספר פורסם בתאריך מועד הגשה משקל הערות
תרגיל מס' 1
21/02
7/3
1
דף הנחיות לפתיחת חשבון מחשב
הכרת סביבת המחשוב באוניברסיטה (כולל הוראות התקנה של אקליפס)
עמודים 1-14 ב-דף עבודה ללימוד סביבת אקליפס
תרגיל מס' 2
21/02 14/3
1

תרגיל מס' 3
28/02
21/3
2
קבצי עזר לשאלה 1: logo_turtle.jar, simpleio.jar, Pentagon.java
תיעוד עבור Turtle, תיעוד עבור LineInput
קבצי עזר לשאלה 2: image_processor.jar, ImageProcessing.java
תמונות לדוגמא: images.zip
תיעוד עבור ImageProcessing
תרגיל מס' 4
12/03
11/04
1
קבצים לשאלה 1: sudoku.zip
קבצים לשאלה 2: Circle.java, Point.java, CircleTest.java, shapes.zip
תרגיל מס' 5
22/3
11/4
1
קובץ עזר לחלק ג': disjoin.zip
תרגיל מס' 6
8/4
18/4
1
קובץ עזר: IPAddress.java
קובץ עזר לחלק 3: course.zip
תרגיל מס' 7
16/4
25/4
1
קובץ עזר: simplesearch.zip, oldmac.zip (ראו הנחיות בסוף התרגיל)
תרגיל מס' 8
22/4
9/5
2
קובץ עזר: wildworld.zip
תרגיל מס' 9 5/5
23/5
1

תרגיל מס' 10
15/5
30/5
2
קובץ עזר: resources.zip (יבאו כפרויקט לאקליפס)
תרגיל מס' 11 26/5
11/6
2
קובץ עזר: addressbook.zip
מימוש: AddressBook.jar

חומר עזר

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

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

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

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

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

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

וידאו

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

הרצאות

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

18-19/5/10
חופשת שבועות  
10 25-26/5/10
מנשקים גרפיים GUI   
11 1-2/6/10 תקשורת ומקביליות
12 8-9/6/10 הנדסת תוכנה
 

תרגולים


מספר תאריך נושא שקפים הערות ותוספות
1
24,25/2 מבוא שקף לעמוד
שישה שקפים לעמוד
דף הנחיות לפתיחת חשבון מחשב
הכרת סביבת המחשוב באוניברסיטה (כולל הוראות התקנה של אקליפס)
עמודים 1-14 ב-דף עבודה ללימוד סביבת אקליפס
הוראות שימוש בחומר העזר המלווה לקורס
הנחיות להשמשת סביבת עבודה (Java + Eclipse) בבית
Code Conventions for the Java Programming Language
2
3,4/3
מבני בקרה שקף לעמוד
שישה שקפים לעמוד
הכרת השימוש ב debugger
3
10,11/3 מתודות ומחלקות שקף לעמוד
שישה שקפים לעמוד
קיצורי מקשים לאקליפס
4 17,18/3 חוזים שקף לעמוד
שישה שקפים לעמוד
 
5
24/3
שונות
שקף לעמוד
שישה שקפים לעמוד
 
6
7,8/4 מנשקים שקף לעמוד
שישה שקפים לעמוד
 
7
14,15/4
מבני נתונים שקף לעמוד
שישה שקפים לעמוד
 
8
21,22/4
קלט/פלט שקף לעמוד
שישה שקפים לעמוד
 דוגמאות קוד: ioexamples.zip
9
28,29/4
ירושה שקף לעמוד
שישה שקפים לעמוד
 
10
5,6/5
עוד IO ו- enum
שקף לעמוד
שישה שקפים לעמוד
דוגמאות קוד: enums.zip, enums2.zip
11
12,20/5
מחלקות פנימיות
שקף לעמוד
שישה שקפים לעמוד
דוגמאות קוד: observer_inner.zip
12 26,27/5
ממשק משתמש גרפי
שקף לעמוד
שישה שקפים לעמוד
דוגמאות מהשיעור: swt_examples.zip
13 2,3/6
 wildcards ו-equals
שקף לעמוד
שישה שקפים לעמוד
  
14 9,10/6
 סיכום
שקף לעמוד
שישה שקפים לעמוד
 

שאלות נפוצות


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

פורום נסיוני ולא רשמי לתלמידים בלבד