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
תרגיל אלכסיי זגלסקי יום ד, 16:00-17:00 שרייבר 007 0368-2157-11
תרגיל אלכסיי זגלסקי יום ד, 17:00-18:00 שרייבר 007 0368-2157-12


סגל הקורס

הודעות

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

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

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

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

רשימת דיוור

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

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

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

מבחן

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

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

תרגילים

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


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

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

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

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

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

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

מספר פורסם בתאריך מועד הגשה משקל הערות
תרגיל מספר 1
(מעודכן)
04.03.2012
28.03.2012
1
דף הנחיות לפתיחת חשבון מחשב
הכרת סביבת המחשוב באוניברסיטה (כולל הוראות התקנה של אקליפס)
עמודים 1-14 ב-דף עבודה ללימוד סביבת אקליפס
תרגיל מספר 2 28.03.2012 04.04.2012 1
 
תרגיל מספר 3 01.04.2012 18.04.2012 1
תרגיל מספר 4
(מעודכן)
16.04.2012 02.05.2012 2 קבצים עבור התרגיל: hypersudoku.zip
עדכון (18.4.12): הוספנו דרך אפשרית לפתרון (פסאודו קוד) עבור חלק ג'.
עדכון (19.4.12): תיקון של טעות דפוס בחוזה בחלק א' שאלות 1 ו-2 (התיקון מודגש בצהוב)
תרגיל מספר 5 01.05.2012 09.05.2012 1 קבצי עזר לחלק א': image_processor.jar, ImageProcessing.java
תמונות לדוגמא: images.zip
תיעוד עבור ImageProcessing

קבצי עזר לחלק ב': DictionaryReader.java, dictionary.txt
קבצי עזר לחלק ג': logo_turtle.jar, Pentagon.java
תיעוד עבור
Turtle
תרגיל מספר 6 08.05.2012 16.05.2012 1 קובץ עזר לחלק א: DisjointSets.java
קבצי עזר לחלק ב: Polynomial.java, TestPolynomial.java
תרגיל מספר 7 13.05.2012 23.05.2012 1 כל קבצי העזר לתרגיל: hw07resources.zip  (מעודכן, ראו הודעות למעלה)
לינק לאתר עם הסברים על פעולות על סיביות, ו- applet לחישובים על סיביות
http://www.javaranch.com/campfire/StoryBits.jsp
תרגיל מספר 8 22.05.2012 01.06.2012 2 קבצי עזר לתרגיל: hw8_q2_files.zip , simplesearch.zip
עדכון: תיקון לקובץ המאפשר גישה לאתר Project Gutenberg -
HTMLTokenizer.java
תרגיל מספר 9
28.05.2012 08.06.2012 1 קבצים עבור התרגיל: hw09resources.zip
תרגיל מספר 10 06.06.2012 20.06.2012 2 קובץ עזר לחלק א': Employee.java
קבצי עזר לחלק ב': addressbook.zip
קבצי עזר לחלק ג': sortedSet.zip
תרגיל מספר 11 12.06.2012 לא להגשה! 0 קבצי עזר: AddressBook.zip
תוכנית לדוגמא: AddressBook.jar
 

חומר עזר

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

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

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

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

וידאו

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

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

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

מספר סוג המפגש הועבר על ידי תאריך נושא שקפים הערות ותוספות
L01
הרצאה ליאור וולף 07.03.2012 מבוא 00 מנהלות
01 שלום עולם
טיפוסים יסודיים, ביטויים, השמות מחרוזות מערכים
L02 הרצאה ליאור וולף 14.03.2012 מבני בקרה מבני בקרה והגדרת שרותים דוגמאות והסברים נוספים (מומלץ!)
שימו לב, ייתכן שוני לא גדול בין המצגות באתר ובשיעור,
למשל חידות והעשרות למינהן לא בהכרח יופיעו במצגות באתר
O01 הרצאה אוהד ברזילי 20.03.2012 מבוא 00 מנהלות
01 שלום עולם
טיפוסים יסודיים, ביטויים, השמות מחרוזות מערכים
L03 הרצאה ליאור וולף 21.03.2012 מחלקות מחלקות וטיפוסים
R01 תרגול אלכסיי זגלסקי
יעל אמסטרדמר
21.03.2012 מבוא שקף לעמוד
ששה שקפים לעמוד
דף הנחיות לפתיחת חשבון מחשב
הוראות הגשת שיעורי בית דרך ה-Virtual TAU
הכרת סביבת המחשוב באוניברסיטה (כולל הוראות התקנה של אקליפס)
עמודים 1-14 ב-דף עבודה ללימוד סביבת אקליפס
הוראות שימוש בחומר העזר המלווה לקורס
Code Conventions for the Java Programming Language
O02 הרצאה אוהד ברזילי 27.03.2012 מבני בקרה
מבני בקרה והגדרת שרותים דוגמאות והסברים נוספים (מומלץ!)
תנאים, לולאות, זימון והגדרת שרותים, העמסת שרותים
לקריאה נוספת: שימוש ב- labels בתוך לולאות
L04 הרצאה
ליאור וולף
28.03.2012 חוזים
תיכון לפי חוזים
R02 תרגול אלכסיי זגלסקי
יעל אמסטרדמר
28.03.2012 מערכים ומבני בקרה שקף לעמוד
ששה שקפים לעמוד
התרגול הועבר על ידי רובי בוים
חופשת
פסח

O03 הרצאה אוהד ברזילי 17.04.2012 שרותים שרותים מודל הזיכרון של העברת ארגומנטים, מנגנוני השפה, חוזה של שרותים
בחנ\י את עצמך
R03 תרגול אלכסיי זגלסקי
יעל אמסטרדמר
18.04.2012 מתודות ותיכון לפי חוזים שקף לעמוד
ששה שקפים לעמוד
L05 הרצאה
ליאור וולף
18.04.2012 מנשקים שקפים
O04 הרצאה אוהד ברזילי 24.04.2012 שימוש במחלקות קיימות שקפים חוזים, נכונות והסתרת מידע. הוכחת נכונות
סיכום תגיות חוזה שנזכרו בהרצאה ובתרגול
שימוש במחלקות קיימות: logo_turtle , דוגמת שימוש בצב , תיעוד עבור Turtle
O05 הרצאה אוהד ברזילי 01.05.2012 הגדרת מחלקות חדשות שקפים כתיבת טיפוסי מחלקה חדשים
עיצוב מחלקה על פי מפרט
מצב מופשט ופונקציית הפשטה
לקריאה נוספת: הוכחת נכונות של מחלקות
L06 הרצאה ליאור וולף 02.05.2012 מחלקות פנימיות וטיפוסים גנריים שקפים הסברים מאוד ממצים בנושא מחלקות פנימיות
R04 תרגול אלכסיי זגלסקי
יעל אמסטרדמר
02.05.2012 המתרגם: שימוש במחלקות קיימות שקף לעמוד
ששה שקפים לעמוד
O06 הרצאה אוהד ברזילי 08.05.2012 מנשקים שקפים הגדרת מנשקים
פולימורפיזם ו- dynamic dispatch
L07 הרצאה
ליאור וולף

09.05.2012 הורשה 1 שקפים ההרצאה הועברה על ידי אוהד ברזילי
כיסינו בהצאה עד שקף 60
R05 תרגול אלכסיי זגלסקי
יעל אמסטרדמר
09.05.2012 מימוש מחלקות לפי מפרט שקף לעמוד
ששה שקפים לעמוד
O07 הרצאה אוהד ברזילי 11.05.2012 מבני נתונים מקושרים שקפים תבנית עיצוב - המפעל (המשך משבוע שעבר)
הפשטת טיפוסים (טיפוסים מוכללים - generics)
מבני נתונים מקושרים, מחלקות פנימיות
עוד על סוגי מחלקות פנימיות אפשר לקרוא בפרק 22 (עמוד 106-108)
כיסינו בהצאה עד שקף 30
O08 הרצאה אוהד ברזילי 15.05.2012 הורשה
(חלק א)
שקפים יחסים בין מחלקות
הורשה כסוכר תחבירי להכלה (עם האצלה)
טיפוס סטטי לעומת טיפוס דינמי
כיסינו בהרצאה עד שקף 40
L08 הרצאה ליאור וולף 16.05.2012 חריגים       שקפים           
R06 תרגול אלכסיי זגלסקי
יעל אמסטרדמר
16.05.2012 מנשקים, דיאגרמות ועוד שקף לעמוד
ששה שקפים לעמוד
לינק לאתר עם הסברים על פעולות על סיביות, ו- applet לחישובים על סיביות
http://www.javaranch.com/campfire/StoryBits.jsp
O09 הרצאה אוהד ברזילי 22.05.2012 חריגים שקפים
סיימנו את מצגת הורשה א מהשבוע שעבר: מחלקות מופשטות, היררכיות של טיפוסים, ההבדל בין הורשה ומנשקים (שקפים 41 עד הסוף).
דנו במקרים שבהם אין הגיון או אפשרות לאכיפה של תנאי קדם (שקפים 1-25)
L09 הרצאה     ליאור וולף           23.05.2012     הורשה 2
enums
שקפים
שקפים
,הסבר פגז על RAW TYPES
הסבר נוסף על WILDCARDS ג'וקרים
R07 תרגול אלכסיי זגלסקי
יעל אמסטרדמר
23.05.2012 מבני נתונים גנריים שקף לעמוד
ששה שקפים לעמוד
 
O10 הרצאה אוהד ברזילי 29.05.2012 נושאים מתקדמים בהורשה (I) שקפים מימוש מנגנון החריגים ב Java (המשך המצגת משבוע שעבר): חריגים נבדקים ושאינם נבדקים, וחלופות לשימוש במנגנון החריגים.
תבניות עיצוב (design patterns): המתאם, שרותי תבנית ו- Bridge (שקפים 1-25)
L10 הרצאה ליאור וולף 30.05.2012 GUI שקפים
R08 תרגול אלכסיי זגלסקי
יעל אמסטרדמר
30.05.2012 הורשה שקף לעמוד
ששה שקפים לעמוד
חלק מהמצגת על סדר הפעולות ביצירת אובייקט
R09 תרגול אלכסיי זגלסקי
יעל אמסטרדמר
01.06.2012 I/O שקף לעמוד
ששה שקפים לעמוד
דוגמאות מהתרגול: serialization.zip, io_examples.zip
O11 הרצאה אוהד ברזילי 05.06.2012 נושאים מתקדמים בהורשה (II)
טיפוסי מניה
שקפים ההרצאה הועברה על ידי ליאור וולף
R10 תרגול אלכסיי זגלסקי
יעל אמסטרדמר
06.06.2012 תבניות עיצוב ומחלקות פנימיות שקף לעמוד
ששה שקפים לעמוד


O12
הרצאה אוהד ברזילי 12.06.2012 GUI שקפים דוגמת הקוד מהשיעור: GoogleAjaxBrowser

עוד GUI:
L11 הרצאה ליאור וולף 13.06.2012 מקביליות ורשתות שקפים
R11 תרגול אלכסיי זגלסקי
יעל אמסטרדמר
13.06.2012 GUI שקף לעמוד
ששה שקפים לעמוד
דוגמאות קוד: swt_examples.zip
O13 הרצאה אוהד ברזילי 19.06.2012 מבוא להנדסת תוכנה:
פיתוח אג'ילי
ותכנות מונחה דוגמאות
שקפים: Agile, TDD שיעור העשרה: לא יכלל במבחן
בשעה האחרונה נדון במבנה הבחינה ואני אענה לשאלות תלמידים
L12 הרצאה ליאור וולף         20.6.2012                    מילות סיכום   שקפים דפי חזרה בנושאים שונים
R12 תרגול אלכסיי זגלסקי
יעל אמסטרדמר
20.06.2012 עוד על טיפוסים גנריים שקף לעמוד
ששה שקפים לעמוד

 

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


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