תוכנה 1, 0368-2157 

חורף תשע"ז, 2016-2017


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

קבוצות לימוד 

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

סגל הקורס

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

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

דרישות:

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

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

רשימת דיוור



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

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

מבחן

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

מועד: תאריך:  שעה
מועד א'
14/02/2017
09:00
מועד ב' 13/09/2017
09:00

תרגילים

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

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

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

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

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

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

דף הנחיות לפתיחת חשבון מחשב
הכרת סביבת המחשוב באוניברסיטה (כולל הוראות התקנה של אקליפס)
שימוש בג'אווה 7 במעבדות האוניברסיטה (שרייבר 019)

חומר עזר על אקליפס לג'אווה:
מדריך לאקליפס (סעיפים 5-9, 15)
דף עבודה ללימוד סביבת אקליפס (בעברית אבל פחות מעודכן, עמודים 1-14)
חן
תרגיל 2 09/11 17/11, 23:55 אסף
תרגיל 3 16/11 23/11, 23:55 חן
תרגיל 4 23/11 01.12, 23:55 ex4_files.zip אסף
תרגיל 5 30/11 08/12, 23:55 ex5_files.zip חן
תרגיל 6 7/12 15/12, 23:55 partsA-C.zip
riddles.zip
אסף
תרגיל 7 14/12 29/12, 23:55 07.zip חן
תרגיל 8 21/12 05/01, 23:55 ex8_files.zip אסף
תרגיל 9 04/01 19/01 23:55 ex9_files.zip חן
תרגיל 10 11/01 26/01, 23:55 ex10_files.zip אסף
 

חומר עזר

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


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

וידאו

צילומי וידאו של ההרצאות (מסמסטר א' 2006/7) ניתנים לצפייה מקוונת בשרת הוידאו של האוניברסיטה.

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

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

עוד
מספר סוג המפגש תאריך נושא שקפים הערות ותוספות
L01 הרצאה 31/10
מבוא 00 מנהלות
01 שלום עולם [PPT] 
 טיפוסים יסודיים, ביטויים, השמות מחרוזות מערכים
R01
תרגול 01-02/11
מבוא
 
Introduction
pptx
 
חומר עזר מלווה לקורס
L02 הרצאה 07/11
מבני בקרה  02 מבני בקרה  ppt 
תנאים, לולאות, זימון והגדרת שרותים, העמסת שרותים
 
R02
תרגול 08-09/11
מערכים   Arrays
pptx
  
L03 הרצאה 14/11
 מחלקות 03 מחלקות וטיפוסים [PPT]   חוזים, נכונות והסתרת מידע. הוכחת נכונות
סיכום תגיות חוזה שנזכרו בהרצאה ובתרגול
שימוש במחלקות קיימות: logo_turtleדוגמת שימוש בצבתיעוד עבור Turtle
עוד דוגמא: מסנכרן כתוביותסרט לדוגמאכתוביות לדוגמא 
R03
תרגול 15-16/11
מחרוזות ומתודות  Strings and Methods 
pptx
 MaxSpan
L04 הרצאה 21/11
 חוזים 04 תיכון לפי חוזים [PPT]  
R04
תרגול 22-23/11
Scanner, קלט ופלט  Translator
pptx 
by value by refernce  StringBuffer,StringBulide
L05 הרצאה 28/11
 מנשקים 05 מנשקים  [PPT]  הגדרת מנשקים
פולימורפיזם ו-dynamic dispatch
R05
תרגול 29-30/11
קלט-פלט  IO
pptx
 
L06 הרצאה 05/12
מחלקות פנימיות וטיפוסים גנריים  06 מחלקות פנימיות  [PPT]   הסברים מאוד ממצים בנושא מחלקות פנימיות
R06
תרגול 06-07/12
מחלקות, עצמים וחוזים
bank_account
 pptx
 
L07 הרצאה 12/12
הורשה 1  07 הורשה 1 [PPT]  
R07
תרגול 13-14/12
מנשקים
interfaces
 pptx
 עוד על פעולות על סיביות ובסיס הקסדצימלי
bitwise operations
L08 הרצאה 19/12
חריגים  08 חריגים [PPT] קוד הפתרונות שהוצגו בכיתה לשאלת MaxProfit (ממבחן): MaxProfit
R08
תרגול 20-21/12
אוספים
collection
pptx
L09 הרצאה 26/12
 הורשה 2
טיפוסי מנייה
הורשה2  [PPT]
טיפוסי מנייה [PPT]
 הסבר פגז על RAW TYPES
הסבר נוסף על WILDCARDS ג'וקרים
R09
תרגול 27-28/12 הורשה וחריגים  inharitance
pptx

L10 הרצאה 02/01 GUI   [PPT]GUI  קוד של הדוגמאות בשיעור (שימו לב ל-README)
R10
תרגול 03-04/01 תרגיל חברה
High Tech Company
pptx
 קוד מלא על פי המפרט
L11 הרצאה 09/01  רשתות וסרוורים Servers[PPT]    
R11
תרגול 10-11/01 מחלקות מקוננות ו-binding   Nested Classes
pptx
 
L12 הרצאה 16/01 Streams and an introduction to Java 8

Java8 and Streams
[PPT]
 [PPT]
 
R12
תרגול 17-18/01 Gui Gui
pptx
 
L13 הרצאה 23/01 עוד על הורשה
מבוא להנדסת תוכנה
 עוד על הורשה[PPT]
הנדסת תוכנה [PPT]

Q&A 
R13
תרגול 24-25/01 סיכום
 summary
pptx
 
 

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


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