תוכנה 1 קורס מספר  0368-2517  סמסטר א' תשס"ו

מנהלה

מרצה: פרופ' עמירם יהודאי, שרייבר 122, amiramy@tau.ac.il

שעת קבלה – יום א'  15-16

מתרגלים:

אורנית דרור, שרייבר 010, oranit@tau.ac.il, שעת קבלה – יום ה' 14:00-15:00

אוהד ברזילי, וולפסון (הנדסת תכנה) 209, ohadbr@tau.ac.il

בודק תרגילים: אלכסנדר אלפרוביץ, תיבת דואר 378, tochna1@post.tau.ac.il

הרצאות: ימי א', 16-19, דן דוד 001

תרגולים:

יום

שעה

מתרגל/ת

מקום

ראשון

12:00-13:00

אורנית

שרייבר  006

ראשון

14:00-15:00

אורנית

שרייבר  007

שני

15:00-16:00

אוהד

שרייבר  008

שני

16:00-17:00

אוהד

שרייבר  007

סילבוס  (מתכונת חדשה, החל מסמסטר א' תשס"ו).

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

חומרי עזר וספרים מומלצים

רשימת דיוור

כתובת הדואר האלקטרוני של רשימת הדיוור הינה: CS0368-2157-01@listserv.tau.ac.il

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

http://listserv.tau.ac.il/archives/cs0368-2157-01.html

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

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

פורום

אתר הפורום הינו:

http://www.cs.tau.ac.il/system/forums/viewforum.php?f=32

אתר הפורום מיועד לסטודנטים בלבד לצורך החלפת אינפורמציה.

 

שאלות שכיחות ותשובותיהן (FAQ Page)

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

http://www.cs.tau.ac.il/~amiramy/software1/FAQ.htm

 

הרצאות

 

חלק מספר

מצגת  ב pdf

קובץ להדפסה (6

שקפים לעמוד)  ב pdf

תאריך עדכון אחרון

הערות למצגת

1. מבוא. עצמים ומחלקות

Part1.pdf

Part1X6.pdf

17/11/05

 

2. יסודות שפת ג'אווה

Part2.pdf

Part2X6.pdf

17/11/05

הערות לחלק 2

3. חוזים, טיפוסים מופשטים והסתרת מידע (מצגת מלאה)

Part3.pdf

Part3X6.pdf

8/12/05

 

4. בדיקות תוכנה

Part4.pdf

Part4X6.pdf

23/11/05

 

5. מנשקים

Part5.pdf

Part5X6.pdf

1/12/05

 

6. הרחבת מחלקות

Part6.pdf

Part6X6.pdf

8/12/05

 

7.  (מחלקות גנריות+) חריגים

Part7.pdf

Part7X6.pdf

15/12/05

 

8. מחלקות פנימיות ועוד

Part8.pdf

Part8X6.pdf

6/1/06

 

9. מנשקי אדם מכונה גראפיים

Part9.pdf

Part9X6.pdf

6/1/06

GoogleBrowser.java

10. מנגנוני השפה

Part10.pdf

Part10X6.pdf

13/1/06

 

11. חושבים עצמים

Part11.pdf

Part11X6.pdf

20/1/06

מצגת קצרה נוספת

12. מבוא להנדסת תוכנה

Part12.pdf

Part12X6.pdf

27/1/06

 

13. תכנות מונחה עצמים: נושאים נוספים וסיכום

Part13.pdf

Part13X6.pdf

27/1/06

 



תרגולים

תאריך

מצגת

הערות

30.10.05

31.10.05

recitation1.pdf

installing_eclipse.ppt

דף עבודה ללימוד סביבת Eclipse

התקנת Eclipse צעד-צעד

06.11.05

07.11.05

הכרת סביבת המחשוב

תנאי קדם להשתתפות בתרגול הוא פתיחת חשבון מחשב (ראה דף הנחיות לפתיחת חשבון מחשב)

13.11.05

14.11.05

recitation3.pdf

recitation3X6.pdf

מבני בקרה בשפת Java – סדרת פיבונאצ'י

20.11.05

21.11.05

recitation4.pdf

recitation4X6.pdf

מחרוזות ומערכים

27.11.05

28.11.05

recitation5.pdf

recitation5X6.pdf

עיצוב מחלקות ע"י חוזה והתקנת Javadoc. לצורך התקנת תגיות של עיצוב ע"י חוזה יש להוריד את הקובץ taglets.jar

04.12.05

05.12.05

recitation6.pdf

recitation6X6.pdf

Eclipse_Debugging.ppt

מחלקות, עצמים, קריאות פונקציות ו-Debugger (ראה דף עבודה ללימוד סביבת אקליפס), מחלקות ה-demo נמצאות-recitation6_bank_demo.jar

11.12.05

12.12.05

recitation7.pdf

recitation7X6.pdf

אצנים (איטרטורים)

18.12.05

19.12.05

recitation8.pdf

recitation8X6.pdf

אוספים, MapExample.java

25.12.05

26.12.05

recitation9.pdf

recitation9X6.pdf

ירושה ופולימורפיזם, המצגת מכילה דוגמאות נוספות שלא יוצגו בכיתה והן לצורך תרגול עצמי.

01.01.06

02.01.06

אין תרגול

חג חנוכה שמח

08.01.06

09.01.06

recitation10.pdf

recitation10X6.pdf

קלט/פלט (I\O) – עבודה עם זרמים (ובפרט קבצים). שמירה ואחזור נתונים סידרתיים (Serialization), ScannerExample.java

15.01.06

16.01.06

recitation11.pdf

recitation11X6.pdf

SWT, GUIAddressBookViewer.java

22.01.06

23.01.06

recitation12.pdf

recitation12X6.pdf

"טיפול בארועי SWT כמיקרוקוסמוס של תכנות מונחה עצמים" הסבר על Sash,  דוגמאות קוד מהתרגול: rec12_src.zip

29.01.06

30.01.06

recitation13.pdf

recitation13X6.pdf

תרגול חזרה, פתרונות-חלק 1, פתרונות חלק 2



דפי עבודה

דף הנחיות לפתיחת חשבון מחשב

הכרת סביבת המחשוב

דף עבודה ללימוד סביבת אקליפס: סביבת העבודה, פרויקט פשוט, פרויקט ג'אווה, ניפוי, בדיקות ועוד

תרגילים

בקורס יינתנו כ 8–6 תרגילי בית, חלקם תרגילי הרצה. הגשת התרגילים היא חובה, וציוני התרגילים יהוו 20% מהציון הסופי בקורס.

המועד האחרון להגשת התרגילים הוא עד 16:00

הוראות הגשה

תרגיל

תוכנית בדיקה

תאריכי פרסום והגשה

הערות

תרגיל 1

None

06.11.05 - 13.11.05

תרגיל לשבוע (בדרך כלל יינתנו שבועיים)

תרגיל 2

None

13.11.05 - 27.11.05

תרגיל לשבועיים

תרגיל 3

FixedCapacityQueueChecker

27.11.05 - 11.12.05

לצורך התרגיל יש להתקין את taglets.jar לפי ההוראות שבמצגת התרגול

תאריך ההגשה האחרון: יום א' 11.12.05, 16:00

תרגיל 4

AddressBookChecker

11.12.05 - 02.01.06

קובצי עזר: Client.java , IAddressBook.java , IAddressBookViewer.java.

קובצי עזר נוספים: IContact.java , IAddress.java

תאריך ההגשה האחרון: יום ב' 2.1.06, 16:00 (בגלל חופשת חנוכה)  הערות על בדיקת התרגיל

פתרונות לדוגמא: oren.jar ,  shay.jar

תרגיל 5

ExtendedFCQueueChecker

ExpressionChecker

01.01.06 - 15.1.06

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

קובצי עזר:

TestExtendedFixedCapacityQueue.java

TestDelegatingFixedCapacityQueue.java

FixedCapacityQueueError.java

תאריך ההגשה האחרון: יום א' 15.1.06, 16:00

פתרון שאלה 3: ex5.q3.zip

תרגיל 6

 

16.01.06-05.02.06

המועד נדחה ל 9.3.06.

קובץ עזר: GUIAddressBookViewer.java

בחינה וציונים

ציוני התרגילים (מעודכן ל 04.02.2006)

מבנה הבחינה

פתרון הבחינה והערות לבדיקה

ציוני הבחינה

ציונים סופיים

חוזה

הודעות

תזכורת: תרגול מספר 2 יתקיים במעבדת המחשבים, שרייבר 004.

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

 

בתרגול מספר 6 (4,5/12/2005) נדבר על מנפה השגיאות (debugger) לצורך כך מומלץ לחזור לפני התרגול על עמודים 15-18 שב"דף עבודה ללימוד סביבת אקליפס".

 

עודכן לאחרונה בתאריך  ‏‏‏27/03/2006 11:32:23.