תוכנה 1, 0368-2157 

חורף תשפ"א, 2020-2021

[קבוצות לימוד] [סגל הקורס] [רשימת דיוור] [סילבוס ומדיניות ציונים] [מבחן] [תרגילים] [חומר עזר] [סביבת הפיתוח] [וידאו] [הרצאות ותרגולים] [שאלות ותשובות]

קבוצות לימוד 

סוג מפגש שם חבר הצוות מועד מיקום קוד קבוצה
שיעור לנה דנקין יום ב, 12:10-15:00 מקוון 0368-2157-01
תרגיל איתי יצחק יום ד, 16:10-17:00 מקוון 0368-2157-02
תרגיל איתי יצחק יום ג, 16:10-17:00 מקוון 0368-2157-03
תרגיל איתי יצחק יום ד, 15:10-16:00 מקוון 0368-2157-04
תרגיל אביב ביק יום ד, 11:10-12:00 מקוון 0368-2157-05
תרגיל אביב ביק יום ד, 12:10-13:00 מקוון 0368-2157-06
תרגיל אביב ביק יום ד, 10:10-11:00 מקוון 0368-2157-07

סגל הקורס

תפקיד שם דואר אלקטרוני שעות קבלה
מרצה לנה דנקין lenadank at mail.tau.ac.il ימי שני, 17:00, בתיאום מראש
מתרגל איתי יצחק Itay1itzhak at gmail.com בתיאום מראש
מתרגל אביב ביק avivbick at mail.tau.ac.il בתיאום מראש
בודקת תרגילים רז פרנפס
raz at parnafes.org
בודקת תרגילים מורן רז מזרחי moranr at mail.tau.ac.il

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

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

דרישות:

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

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

מבחן

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

מועד: תאריך:  שעה
מועד א'
07.02.2020 08:50
מועד ב' 05.03.2020 09:00
דוגמאות למבחנים מסמסטרים קודמים

תרגילי בית

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

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

להלן הסבר על הגשת התרגילים במערכת ה- moodle.

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

מספר פורסם בתאריך מועד הגשה הערות בודק אחראי
1 22/10 29/10
23:55
הנחיות להשמשת סביבת עבודה בבית (Java + Eclipse)

חומר עזר על אקליפס לג'אווה:
מדריך לאקליפס (סעיפים 5-9, 15)
דף עבודה ללימוד סביבת אקליפס (בעברית אבל פחות מעודכן, עמודים 1-14)
מורן
2 28/10 5/11
23:55
שלד הקוד רז
3 05/11 12/11
23:55
שלד הקוד
מדריך לחיבור והרצה של ג'אווה בשרת האוניברסיטה nova (נוספה התייחסות לMac וLinux)
מורן
4 11/11 19/11
23:55
שלד הקוד
מדריך I/O - ללימוד עצמי
רז
5 19/11 26/11
23:55
שלד הקוד מורן
6 25/11 3/12
23:55
שלד הקוד רז
7 03/12 10/12
23:55
שלד הקוד מורן
8 09/12
24/12
23:55
מדריך Iterator באוספים
שלד הקוד
רז
9 24/12 7/01
23:55
שלד הקוד מורן
10 06/01 17/01
23:55
שלד הקוד רז
 

חומר עזר

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


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

וידאו

צילומי וידאו של ההרצאות (מסמסטר א' 2010/11) ניתנים לצפייה מקוונת בשרת הוידאו של האוניברסיטה. הרצאות הוידאו אינן מכסות את כל החומר הנלמד בסמסטר הנוכחי.

הרצאות ותרגולים

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

מספר סוג המפגש תאריך נושא שקפים הערות ותוספות
L01 הרצאה 19/10 מבוא מנהלות
שלום עולם [PPT]
עבודה עצמית 1
טיפוסים יסודיים, ביטויים, השמות מחרוזות מערכים
R01
תרגול 20-21/10 מבוא
 
Introduction
pptx
 

L02 הרצאה 26/10 מבני בקרה מבני בקרה [PPT]
עבודה עצמית 2
R02
תרגול 27-28/10 מערכים מערכים
pptx
L03 הרצאה 02/11 עצמים ומבוא לחוזים עצמים ומבוא לחוזים [PPT]
עבודה עצמית 3
R03 תרגול 03-04/11 מחרוזות מחרוזות
pptx
קוד מהתרגול
L04 הרצאה 09/11 מחלקות וחוזים מחלקות וחוזים [PPT]
עבודה עצמית 4
R04 תרגול 10-11/11 Scanner וקלט מהמשתמש translator
pptx
מדריך I/O - ללימוד עצמי
L05 הרצאה 16/11 מנשקים מנשקים [PPT]
עבודה עצמית 5
R05 תרגול 17-18/11 מחלקות, עצמים וחוזים Bank account
pptx
L06 הרצאה 23/11 תחילת הדיון ב generics ומחלקות פנימיות generics [PPT]
עבודה עצמית 6
R06 תרגול 24-25/11 מנשקים interfaces
pptx
L07 הרצאה 30/11 הורשה 1 הורשה 1[PPT]
R07 תרגול 31/11-01/12 אוספים collections
pptx
L08 הרצאה 07/12 המשך הורשה המשך הורשה [PPT]
עבודה עצמית 8
R08 תרגול 08-09/12 הורשה הורשה וחריגים
pptx
L09 הרצאה 14/12 חריגים חריגים [PPT]
R09 תרגול 15-16/12 תרגיל חברה HighTech company
pptx
קוד מלא על פי המפרט
L10 הרצאה 21/12 enum ותכנות פונקציונלי ב Java 8 enum ותכנות פונקציונלי ב Java 8 [PPT]
R10 תרגול 22-23/12
Static vs. Dynamic Binding binding
pptx
L11 הרצאה 28/12 המשך הורשה המשך הורשה [PPT]
עבודה עצמית 10 - רשות!
R11 תרגול 29-30/12 תכנות גנרי generics
pptx
L12 הרצאה 04/01 המשך הורשה Gui [PPT]
המשך הורשה [PPT]
R12 תרגול 05-06/01 GUI GUI
pptx
L13 הרצאה 11/01 סיכום [PPT]
R13 תרגול 12-13/01 סיכום summary
pptx
 

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


שאלה תשובה
אין התאמה מלאה בין סגנון הכתיבה (code convention) שהוצג בכיתה לזה שמוגדר ע"י Oracle - מה עושים? האם יורדו נקודות בשיעורי הבית עקב אי-הקפדה על סגנון? יש להשתמש בסגנון כתיבה כפי שמוגדר ב-Oracle. לא יורדו נקודות על סגנון כתיבה, אלא במקרים קיצוניים. הכי חשוב להקפיד על ה-naming convention ואינדנטציה.
האם מותר להעזר בפתרון התרגילים בחומר מתקדם יותר ממה שנלמד בכיתה? התרגילים מבוססים על החומר שנלמד עד כה בכיתה, מצופה מכם לא להשתמש בחומר מתקדם יותר. לדוגמא,  בתרגיל הראשון אתם לא אמורים להשתמש במשפטי תנאי ולולאות.
באיזו גרסת Java עלינו להשתמש? אנו נשתמש בגרסת Java SE 8. שימו לב להנחיות כיצד להשתמש בגרסא זו במעבדות האוניברסיטה.
מסיבה X לא אוכל להגיש את תרגיל Y בזמן. האם אוכל להגיש התרגיל באיחור של Z ימים מבלי שהם יכללו בחמשת הימים המותרים? הגשה מאוחרת שלא על חשבון ימי החסד תאושר ע"י מרצה הקורס במקרים חריגים בלבד.