תוכנה 1, 0368-2157 

חורף תשע"ו, 2015-2016


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

קבוצות לימוד 

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

סגל הקורס

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

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

דרישות:

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

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

רשימת דיוור



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

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

מבחן

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

מועד: תאריך:  שעה
מועד א'
02.02.2016 09:00
מועד ב' 09.09.2016 09:00

תרגילים

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

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

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

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

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

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

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

חומר עזר על אקליפס לג'אווה:
מדריך לאקליפס (סעיפים 5-9, 15)
דף עבודה ללימוד סביבת אקליפס (בעברית אבל פחות מעודכן, עמודים 1-14)
חן סלומון
תרגיל 2 28/10 5/11 23:55    חן סלומון
תרגיל 3 4/11 12/11 23:55 אסף פנחס
תרגיל 4 11/11 19/11 23:55 ex4_files.zip חן סלומון
תרגיל 5 18/11 26/11 23:55 ex5_files.zip אסף פנחס
תרגיל 6 24/11 10/12 23:55 ex6_files.zip אסף פנחס
תרגיל 7 2/12 17/12 23:55 ex7_files.zip חן סלומון
תרגיל 8 16/12 27/12 23:55 ex8_files.zip חן סלומון
תרגיל 9 23/12 10/01 23:55 ex9_files.zip אסף פנחס
תרגיל 10 30/12 17/1 23:55 ex10_files.zip אסף פנחס
 

חומר עזר

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


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

וידאו

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

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

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

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

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

Bonus class on Android development by Aviran Abady
Java8 and Streams
[PPT]
Introduction to Android programming  [PPT]
 
R12
תרגול Gui Gui
pptx
 
L13 הרצאה עוד על הורשה
מבוא להנדסת תוכנה
 עוד על הורשה[PPT]
הנדסת תוכנה [PPT]

Q&A 
R13
תרגול סיכום
 summary
pptx
 
 

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


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