2157 - 0368: תוכנה 1 - סתיו תשע"ב
[קבוצות לימוד] [סגל הקורס] [הודעות] [רשימת דיוור] [סילבוס ומדיניות ציונים] [מבחן] [תרגילים] [חומר עזר] [סביבת הפיתוח] [וידאו] [הרצאות] [תרגולים][שאלות ותשובות]

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

קבוצות לימוד

סוג מפגש שם חבר הצוות מועד מיקום קוד קבוצה
שיעור אוהד ברזילי יום א, 16:00-19:00 אולם אפטר 001, בניין נפתלי 0368-2157-01
תרגיל אלכסיי זגלסקי
יום ד, 16:00-17:00 פיזיקה-שנקר 104 0368-2157-02
תרגיל אלכסיי זגלסקי
יום ג, 16:00-17:00 פיזיקה-שנקר 204 0368-2157-03


סוג מפגש שם חבר הצוות מועד מיקום קוד קבוצה
שיעור דן הלפרין יום ב, 12:00-15:00 אורנשטיין 103 0368-2157-04
תרגיל ניר אטיאס יום ד, 11:00-12:00 שרייבר 006 0368-2157-05
תרגיל ניר אטיאס יום ד, 12:00-13:00 שרייבר 006 0368-2157-06


סגל הקורס


הודעות

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

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

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

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

רשימת דיוור

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

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

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

מבחן

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

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

תרגילים

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


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

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

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

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

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

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

מספר פורסם בתאריך מועד הגשה משקל הערות
 תרגיל מספר 1
(מעודכן)
31.10.2011
09.11.2011 1
דף הנחיות לפתיחת חשבון מחשב
הכרת סביבת המחשוב באוניברסיטה (כולל הוראות התקנה של אקליפס)
עמודים 1-14 ב-דף עבודה ללימוד סביבת אקליפס
תרגיל מספר 2 03.11.2011 13.11.2011 1
 
תרגיל מספר 3
9.11.2011 20.11.2011 1  
תרגיל מספר 4
17.11.2011 27.11.2011 2 קובץ מילים באנגלית המשמש כמילון עבור התרגיל: dictionary.txt
המחלקה DictionaryReader הקוראת את המילון: DictionaryReader.java
המחלקה MandelbrotSet המשמשת כבסיס לחלק האחרון התרגיל: MandeltbrotSet.java
תרגיל מספר 5 24.11.2011   07.12.2011 קובץ פלט אפשרי עבור mimic small.txt We are 200
קבצים עבור התרגיל: hw05files.zip
תרגיל מספר 6
4.12.2011 14.12.2011 1 קוד הבסיס לתרגיל: BoidsApplication.zip
להלן סרטון קצר המראה כיצד צריכה להראות האפליקציה בשלמותה: Boids.avi.zip
תרגיל מספר 7 9.12.2011  21.12.2011  2  קבצים עבור התרגיל (עודכן ב- 11.12.2011) : hw7files.zip (הקובץ היחיד שעודכן הוא TestIPAddress)
תרגיל מספר 8
18.12.2011 04.01.2012 2 קוד הבסיס לתרגיל: jPaint.zip
עודכן בתאריך 19/12.
תרגיל מספר 9 28.12.2011
11.01.2012
Employee.java , addressbook-1112a.zip , קובץ שאלות ותשובות (02.01.2012)
פתרון עבור שאלה 1: payroll2.zip , hw9q1-solution-v2.pdf
תרגיל מספר 10 11.01.2012 25.01.2012
תרגיל מספר 11 22.01.2012
05.02.2012  2 קובץ עזר: adderessbook-gui.zip
מימוש (מיועד ל- win32/64 עם java32 בלבד): AddressBook.jar

חומר עזר

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

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

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

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

וידאו

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

הרצאות

המצגות מופיעות כאן בפורמט pdf וניתן להדפיסן מאקרובט.  לנוחיותכם, (ולחסכון בנייר) ניתן להדפיס 6 שקפים לעמוד (בין יתר האפשרויות).
מספר תאריך שקפים הערות ותוספות
1
31.10.2011 00 מנהלות
01 שלום עולם
טיפוסים יסודיים, ביטויים, השמות מחרוזות מערכים
2 06.11.2011
07.11.2011
00 מנהלות
01 שלום עולם
טיפוסים יסודיים, ביטויים, השמות מחרוזות מערכים
3 13.11.2011
14.11.2011
02 מבני בקרה
תנאים, לולאות, זימון והגדרת שרותים, העמסת שרותים
4 20.11.2011
21.11.2011
03 שרותים מודל הזיכרון של העברת ארגומנטים, מנגנוני השפה, חוזה של שרותים
בחנ\י את עצמך

5 27.11.2011
28.11.2011
04 מחלקות חוזים, נכונות והסתרת מידע. הוכחת נכונות
סיכום תגיות חוזה שנזכרו בהרצאה ובתרגול
שימוש במחלקות קיימות: logo_turtle , דוגמת שימוש בצב , תיעוד עבור Turtle,
עוד דוגמא: מסנכרן כתוביות , סרט לדוגמא , כתוביות לדוגמא
6 04.12.2011
05.12.2011
05 עצמים תיבת טיפוסי מחלקה חדשים
עיצוב מחלקה על פי מפרט
מצב מופשט ופונקציית הפשטה
לקריאה נוספת: הוכחת נכונות של מחלקות
7 11.12.2011
12.12.2011
06 מנשקים
הגדרת מנשקים
פולימורפיזם ו- dynamic dispatch
8 30.12.2011
19.12.2011
07 מבני נתונים
תבנית עיצוב - המפעל (המשך משבוע שעבר)
הפשטת טיפוסים (טיפוסים מוכללים - generics)
מבני נתונים מקושרים, מחלקות פנימיות
9 01.01.2012
26.12.2011
08 הורשה (חלק א') ירושה ממחלקה קיימת, היררכיות ירושה
מחלקות מופשטות
10 08.01.2012
09.01.2012
09 חריגים
10 הורשה (חלק ב')

11 15.01.2012
16.01.2012
10 הורשה (חלק ב')
11 טיפוסי מניה
המשך הורשה מהשבוע שעבר
12 22.01.2012
23.01.2012
מנשק משתמש גרפי
11 טיפוסי מניה
השבוע נתחיל את השיעור במנשק משתמש גרפי, ונדחה את המשך הדיון בהורשה לשבוע הבא.
דוגמת הקוד מהשיעור: GoogleAjaxBrowser
עוד GUI:
13 29.01.2012
אוהד
הורשה (חלק ב')
טיפוסי מניה
בסוף השיעור נענה על שאלות הקשורות לבחינה
13  30.01.2012
דני
הורשה (חלק ב')
טיפוסי מניה
Internals
בסוף השיעור נענה על שאלות הקשורות לבחינה
 

תרגולים

מספר תאריך נושא שקפים הערות ותוספות
1
01-02.11.2011

מבוא
שקף לעמוד
ששה שקפים לעמוד
(מעודכן)
דף הנחיות לפתיחת חשבון מחשב
הוראות הגשת שיעורי בית דרך ה-Virtual TAU
הכרת סביבת המחשוב באוניברסיטה (כולל הוראות התקנה של אקליפס)
עמודים 1-14 ב-דף עבודה ללימוד סביבת אקליפס
הוראות שימוש בחומר העזר המלווה לקורס
Code Conventions for the Java Programming Language
2
08-09.11.2011 מחרוזות, מערכים
שקף לעמוד
ששה שקפים לעמוד
הכרת השימוש ב debugger
3
15-16.11.2011 מערכים (המשך) ומבני בקרה
שקף לעמוד
ששה שקפים לעמוד

4 22-23.11.2011 פונקציות שקף לעמוד
ששה שקפים לעמוד
קוד הדגמה: MaxSpan
5
29-30.11.2011 שימוש באובייקטים, I/O
שקף לעמוד
ששה שקפים לעמוד
קוד הדגמה: translate.zip , microsoft-translator-java-api-0.4.jar , QuickStart
6
06-07.12.2011 הגדרת מחלקות
שקף לעמוד
ששה שקפים לעמוד

7
13-14.12.2011
מנשקים ועוד
שקף לעמוד
ששה שקפים לעמוד

8
27-28.12.2011 מחרוזות ותכנות מונחה בדיקות
שקף לעמוד
ששה שקפים לעמוד

9 03-04.01.2012 מבני נתונים גנריים שקף לעמוד
ששה שקפים לעמוד
דוגמאות קוד: collections.zip, comparator.zip
10
03-04.01.2012 הורשה שקף לעמוד
ששה שקפים לעמוד
שקפים על סדר הפעולות ביצירת אובייקט

11 10-11.01.2012 Observer
ומחלקות פנימיות
שקף לעמוד
ששה שקפים לעמוד

12 17-18.01.2012 I/O שקף לעמוד
ששה שקפים לעמוד
דוגמאות מהתרגול: serialization.zip, io_examples.zip
13 24-25.01.2012 ממשק משתמש גרפי
שקף לעמוד
ששה שקפים לעמוד

דוגמאות קוד: swt_examples.zip
14 31.01.2012
01.02.2012
עוד על מבני נתונים גנריים שקף לעמוד
ששה שקפים לעמוד


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


תאריך שאלה תשובה
30.10.11 אין התאמה מלאה בין סגנון הכתיבה (code convention) שהוצג בכיתה לזה שמוגדר ע"י Oracle - מה עושים? האם יורדו נקודות בשיעורי הבית עקב אי-הקפדה על סגנון? יש להשתמש בסגנון כתיבה כפי שמוגדר ב-Oracle. לא יורדו נקודות על סגנון כתיבה, אלא במקרים קיצוניים. הכי חשוב להקפיד על ה-naming convension ואינדנטציה.
30.10.11 האם מותר להעזר בפתרון התרגילים בחומר מתקדם יותר ממה שנלמד בכיתה? התרגילים מבוססים על החומר שנלמד עד כה בכיתה, מצופה מכם לא להשתמש בחומר מתקדם יותר. לדוגמא,  בתרגיל הראשון אתם לא אמורים להשתמש במשפטי תנאי ולולאות.
30.10.11 האם יש צורך לבדוק תקינות קלט בשיעורי הבית? שלושה תרגילים ראשונים לא יידרשו מכם בדיקות קלט. בהמשך הקורס - כן.
30.10.11 באיזו גרסת Java עלינו להשתמש? גרסת ה-Java העדכנית היא 1.7 אך אנחנו נשתמש בגרסה 1.6 בקורס (תאימות לגרסה העדכנית של eclipse).
30.10.11 מסיבה X לא אוכל להגיש את תרגיל Y בזמן. האם אוכל להגיש התרגיל באיחור של Z ימים מבלי שהם יכללו בחמשת הימים המותרים? כאשר אתה מגיש את התרגיל, אנא צרף את בקשתך זו לקובץ ההגשה (עם האישורים המתאימים, אם יש), ואולי היא תאושר ע"י בודקי התרגילים. לשיקולם.
19.11.11 בתרגיל 4, חלק א' סעיף 2. דוגמאות ההרצה מופעלות על מערך אולם בחתימת הפונקציה יש שלושה ארגומנטים. מדוע זה כך? שימו לב שהשאלה מנוסחת על קלט של מערך. לעומת זאת, ה"טיפ" מרחיב את השאלה ומגדיר קלט נוסף. חתימות הפונקציות תואמות את ה"טיפ". יש לממש בהתאם לחתימות אלו.
19.11.11 בתרגיל 4, חלק א' סעיף 4. נדמה שיש טעות בתנאי הבתר של הפונקציות isEncoded? אכן נפלה טעות. בתנאי הלפני אחרון צריך להיות: "קטן שווה מ-k" ולא "קטן מ-k". הנוסח המתוקן הועלה לאתר. תודה לסופיה.
22.11.11 בתרגיל 4, חלק א, סעיף 2. נראה כי שני תנאי הבתר סותרים זה את זה. כיצד זה ייתכן? אכן. ישנה טעות דפוס. בתנאי האחרון חלק ה"אם" צריך להיות בשלילה. הנוסח המתוקן הועלה לאתר. תודה לאייל.
22.11.11 בתרגיל 4, בשאלה האחרונה, סעיף ב'. מהם הערכים שצריכים להיות מושמים במערך "set"? הערכים במערך צריכים להיות ערכים המוחזרים מהפונקציה calculateMandelbrotAt. יש לחשב את הפונקציה בנקודות שונות, עפ"י המתואר בתרגיל.
30.11.11 בתרגיל 5, הספריה הגרפית SWT לא עובדת בגלל שיש לי סביבת 64 ביט. מה לעשות ? במידה ויש לכם סביבה שהיא רק 64 ביט (מערכת הפעלה, jvm, eclipse) אזי תורידו גרסת 64 ביט של SWT מהאתר הרשמי.
30.11.11 בתרגיל 5, בשאלה 2, לפי הדוגמא אמורים להדפיס את המילה We אך לפי האלגוריתם יש להדפיס רק את המילה הנוכחית. האם צריך להדפיס את המילה הראשונה ? כן, יש להדפיס את המילה הראשונה שמקבלים מחוץ ללולאה ואז להדפיס כל פעם את המילה הנוכחית.
02.12.11 בתרגיל 5, שאלה 2, נניח והטקסט המקורי הוא w1 w2 w3 w4 w3 w5 w2 w3 w6, אז איזה צמדים צריכים להיות ברשימת המילים הבאות עבור הצמד w2,w3 ? עבור הצמד w2,w3 רשימת הצמדים צריכה להכיל את w3,w4 ואת w3,w6 בלבד. הרעיון הוא להשתמש ב- 2 המילים הקודמות על מנת "לנחש" את המילה הבאה.
10.12.11 בתרגיל 6, חלק ב' נראה כי ציר X גדל משמאל לימין ולא מימין לשמאל כפי שמופיע בתרגיל. האם נפלה טעות? אכן, ישנה טעות בתרגיל. ציר X גדל משמאלו המסך לימינו.
10.12.11 בתרגיל 6, חלק ב' כאשר אני ממש את stayInScene, ה-boid נעצר ולא חוזר לכוון המסך. יש לשים לב כי בציר בו נוצרה חריגה השינוי הוא חיבורי (additive) ואילו בציר השני השינוי הוא באחוזים (כפלי).
10.12.11 בתרגיל 6, חלק ב' בתרגיל נאמר לממש את הפונקציה getAvergaeVelocity ואילו בקוד המסופק מופיע שם שונה. יש שגיאת כתיב בקוד המסופק. למרות זאת, אין צורך לשנות את שם הפונקציה, אלא רק להשלים את המימוש.
10.12.11 בתרגיל 6, חלק א' התוצאות בדוגמאות מוצגות בדיוק של שתי ספרות אחרי הנקודה. אולם, בקוד שלי ישנה סטייה קטנה מתוצאות אלה. מה לעשות? אין צורך לטפל במקרים אלו. מספיק שהתוצאות יהיו קרובות למוצג בתרגיל (סטיות קטנות).
11.12.11 בתרגיל 7, שאלה 1, האם יש לבדוק את שהקלט שהוכנס לבנאי הוא במבנה של כתובת ip ? אין צורך לבדוק זאת, ניתן להניח שהקלט יהיה מתאים.
13.12.11 בתרגיל 7, שאלה 4, אנו נדרשים לממש רשימה מקושרת עבור מחרוזות, אך בקבצים שקיבלנו זו רשימה עבור IRating. מה יש להגיש ? בשלב א' של השאלה אתם נדרשים לממש רשימה מקושרת עבור מחרוזות, אך בשלב ב' אתם נדרשים לשנות אותה ל- IRating. יש להגיש את RatingLinkedList (אין צורך להגיש את LinkedList).
13.12.11 בתרגיל 7, שאלה 4, במתודה getRatingArray יש דוגמא שבה האינדקסים מתחילים מ - 1, אך בבדיקה testBookData האינדקסים מתחילים מ- 0. איזה מהם הוא הנכון ? ישנה שגיאת כתיב בדוגמא הנתונה עבור המתודה getRatingArray, התיקון הוא bookID==1.
מספר המזהה של הספר צריך להתחיל באינדקס 0 כמו בבדיקה.
17.12.11 בתרגיל 7, שאלה 4, במתודה buildBookData כאשר אני משתמש ב- Scanner על מנת לקרוא מקובץ, אני מקבל שגיאת קומפילציה Unhandled exception type. מה לעשות ? עליכם להשתמש בתיקון האוטומטי של eclipse ולבקש שיוסיף try/catch מסביב לשורה שבה יש שגיאה (נלמד חריגים בהמשך הקורס).
19.12.11 בתרגיל 8, בחלק א', שאלה 1 ג'. רשום שגם getLeft וגם getRight צריכים להחזיר אפס. אבל במקרה זה הציור הוא ברוחב אפס. כיצד זה ייתכן? זוהי טעות דפוס. צריך להיות רשום getTop במקום getRight (כפי שמופיע בחוזה בקוד). המסמך תוקן בהתאם.
21.12.11 בתרגיל 8, מה צריכה לבצע הפונקציה translate של המנשק Shape? הפונקציה מזיזה את המיקום של הצורה ב-dx יחידות בציר x ו-dy יחידות בציר y. ניתן לראות דוגמא לשימוש בפונקציה זאת במחלקה Hanoi בחבילה test.
23.01.12 בתרגיל 11, שאלה 1, מדוע אני לא מצליחה להריץ את תוכנית הדוגמא שסיפקתם ? תוכנית הדוגמא משתמשת בספרית המנשק הגרפי SWT (אשר תלויה במערכת ההפעלה) והיא נארזה עם SWT המיועד ל- win עם java32.
23.01.12 בתרגיל 11, שאלה 2, האם ניתן להניח שלא יופיעו רווחים בתוך כל אחד מ- <path1> <path2> ? לא. במידה ויש רווח הוא מסמל הפרדה בין ה- paths, חוץ ממקרה בו ה- path נתון בעזרת מרכאות ".
למשל :" cp file1.txt "/program files/file2.txt במקרה זה <path2> הוא כל מה שנמצא בתוך המרכאות.
המשתמש יכול להשתמש במרכאות ויכול שלא להשתמש במרכאות.
24.01.12 בתרגיל 11, שאלה 2, בפקודה" jcat src_dir dest_dir/dest_file_name" האם להחזיר הודעת שגיאה במקרה ו- dest_dir לא קיימת ? כן. עבור jcat וגם עבור cp, במקרה והספריה dest_dir לא קיימת, יש להחזיר הודעת שגיאה מסודרת למשתמש. בנוסף, אם קובץ היעד כבר קיים, יש להציג למשתמש שאלה "do you want to override (y/n) the file ...".