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

קבוצות לימוד

סוג מפגש שם חבר הצוות מועד מיקום קוד קבוצה
שיעור ליאור וולף יום ג' 10:00-13:00 דאך 005 0368-2157-07
תרגיל ניר אטיאס יום ד' 10:00-11:00 שרייבר 006 0368-2157-08
תרגיל ניר אטיאס יום ד' 11:00-12:00 שרייבר 006 0368-2157-09
תרגיל דביר נתנאלי יום ד' 16:00-17:00 שרייבר 007 0368-2157-11
תרגיל דביר נתנאלי יום ד' 17:00-18:00 שרייבר 007 0368-2157-12

סגל הקורס

הודעות

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

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

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

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

רשימת דיוור

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

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

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

מבחן

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

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

תרגילים

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


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

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

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

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

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

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

מספר פורסם בתאריך מועד הגשה משקל הערות
תרגיל מספר 1 26.02.2013 06.03.2013 1 דף הנחיות לפתיחת חשבון מחשב
הכרת סביבת המחשוב באוניברסיטה (כולל הוראות התקנה של אקליפס)
שימוש בג'אווה 7 במעבדות האוניברסיטה (שרייבר 019)
עמודים 1-14 ב-דף עבודה ללימוד סביבת אקליפס
תרגיל מספר 2 03.03.2013 13.03.2013 1
תרגיל מספר 3 06.03.2013 20.03.2013 1 תוכניות בדיקה
תרגיל מספר 4 (מעודכן) 17.03.2013 03.04.2013 2 תוכניות בדיקה
עדכונים:
  • עודכנה התמונה ב-nextPattern
  • עודכנה הדוגמא ב-renderPatternInRow
תרגיל מספר 5 01.04.2013 10.04.2013 1 SequenceAnalyzer - Example
עדכונים:
  • 4.4 עודכנה קלות הדוגמא בחלק ב'  - המילה תודפס כפי שהופיעה לראשונה מבחינת גודל אותיות
תרגיל מספר 6 08.04.2013 21.04.2013 1 קבצי עזר - Spellchecker
עדכונים:
  • 11.4 עודכנו נוסחאות ההצפנה והפענוח (הוסר חלק מיותר, אין שינוי בערכים המתקבלים)
תרגיל מס 7 (מעודכן) 17.04.2013 28.04.2013 1 תוכניות בדיקה + שלד למחלקות הנדרשות (מעודכן)
דוגמת הרצה של שני שחקנים
תרגיל מס 8 24.04.2013 08.05.2013 2 תוכניות בדיקה + שלד למחלקות הנדרשות
תמונה מעודכנת להתמרת Denoise
תרגיל מספר 9 06.05.2013 17.05.2013 1 קובץ עזר לחלק א' - TextAnalyzer.java
קבצי עזר לחלק ב' - SimpleSearchEngine
תרגיל מספר 10 15.05.2013 29.05.2013 2 קבצי עזר - StarfleetManager
תרגיל מספר 11 29.05.2013 09.06.2013
(עודכן)
1 קבצי שלד + דוגמאות
    A
  • עודכן שם המתודה ב-NodeFactory כך שיתאים לקוד השלד.
תרגיל מספר 12 06.06.2013 20.06.2013
(עודכן)
1 קבצי שלד + דוגמאות
סרט המדגים את אופן פעולת ה-UI

חומר עזר

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

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

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

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

וידאו

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

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

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

מספר סוג המפגש מועבר על ידי תאריך נושא שקפים הערות ותוספות
L01 הרצאה ליאור וולף 26.02.2013 מבוא 00 מנהלות [PPT]
01 שלום עולם  [PPT]
טיפוסים יסודיים, ביטויים, השמות מחרוזות מערכים
R01 תרגול ניר אטיאס
דביר נתנאלי
27.02.2013 מבוא
שקף לעמוד
ששה שקפים לעמוד
דף הנחיות לפתיחת חשבון מחשב
הכרת סביבת המחשוב באוניברסיטה (כולל הוראות התקנה של אקליפס)
עמודים 1-14 ב-דף עבודה ללימוד סביבת אקליפס
הוראות שימוש בחומר העזר המלווה לקורס
Code Conventions for the Java Programming Language הנחיות להשמשת סביבת עבודה (Java + Eclipse) בבית
L02 הרצאה ליאור וולף 05.03.2013 מבני בקרה 02 מבני בקרה  תנאים, לולאות, זימון והגדרת שרותים, העמסת שרותים
R02 תרגול ניר אטיאס
דביר נתנאלי
06.03.2013 מערכים ומבני בקרה שקף לעמוד
ששה שקפים לעמוד

L03 הרצאה ליאור וולף 12.03.2013 מחלקות 3 מחלקות וטיפוסים [PPT] חוזים, נכונות והסתרת מידע. הוכחת נכונות
סיכום תגיות חוזה שנזכרו בהרצאה ובתרגול
שימוש במחלקות קיימות: logo_turtleדוגמת שימוש בצבתיעוד עבור Turtle
עוד דוגמא: מסנכרן כתוביותסרט לדוגמאכתוביות לדוגמא 
R03 תרגול ניר אטיאס
דביר נתנאלי
13.03.2013 שימוש במחלקות קיימות
("המתרגם")
שקף לעמוד (מעודכן)
ששה שקפים לעמוד (מעודכן)
שימוש במחלקות קיימות, קבלת קלט מהמשתמש ומקובץ, מחרוזות
L04 הרצאה ליאור וולף 19.03.2013 חוזים 04תיכון לפי חוזים   [PPT]
R04 תרגול ניר אטיאס
דביר נתנאלי
03.04.2013 שירותים וחוזים שקף לעמוד
ששה שקפים לעמוד
L05 הרצאה ליאור וולף 09.04.2013 מנשקים 05מנשקים  [PPT] הגדרת מנשקים
פולימורפיזם ו-dynamic dispatch
R05 תרגול ניר אטיאס
דביר נתנאלי
10.04.2013 IO שקף לעמוד
ששה שקפים לעמוד
קוד לדוגמאות שמופיעות במצגת
R06 תרגול ניר אטיאס
דביר נתנאלי
17.04.2013 מחלקות, מימוש לפי מפרט ודיאגרמות שקף לעמוד
ששה שקפים לעמוד
 
L06 הרצאה ליאור וולף 23.04.2013 מחלקות פנימיות וטיפוסים גנריים מחלקות פנימיות[PPT]  הסברים מאוד ממצים בנושא מחלקות פנימיות
R07 תרגול ניר אטיאס
דביר נתנאלי
24.04.2013 מנשקים ופולימורפיזם שקף לעמוד
ששה שקפים לעמוד

דוגמאות לתוכניות CALC עם זיכרון:
Fibonacci
Geometric Sum
Quadratic Root
L07 הרצאה ליאור וולף 30.04.2013 הורשה 1 הורשה1 [PPT]
 
R08 תרגול ניר אטיאס
דביר נתנאלי
01.05.2013
30.4, 3.5
מבני נתונים גנריים שקף לעמוד
ששה שקפים לעמוד

L08 הרצאה ליאור וולף 07.05.2013 חריגים חריגים[PPT]
R09 תרגול ניר אטיאס
דביר נתנאלי
08.05.2013 הורשה, מחלקות מופשטות ואתחולי עצמים  שקף לעמוד
ששה שקפים לעמוד

L09 הרצאה ליאור וולף 21.05.2013 הורשה2

enum
הורשה2[PPT] 
טיפוסי מנייה[PPT]
הסבר פגז על RAW TYPES
הסבר נוסף על WILDCARDS ג'וקרים
R10 תרגול ניר אטיאס
דביר נתנאלי
22.05.2013 תרגיל ה"חברה" קדימון
שקף לעמוד
ששה שקפים לעמוד
Hi-Tech Company - Full Code
L10 הרצאה ליאור וולף 28.05.2013 GUI
GUI 
R11 תרגול ניר אטיאס
דביר נתנאלי
29.05.2013 מחלקות מקוננות
תבנית העיצוב Observer 
שקף לעמוד
ששה שקפים לעמוד

L11 הרצאה ליאור וולף 04.06.2013 Network and servers
Servers 
R12 תרגול ניר אטיאס
דביר נתנאלי
05.06.2013 GUI    שקף לעמוד
ששה שקפים לעמוד

L12 הרצאה ליאור וולף 11.06.2013 Real World Java for Beginngers (by Dima Frid of Superfish) RealWorldJava4Beginners.pdf 

R13 תרגול ניר אטיאס
דביר נתנאלי
12.06.2013 טיפוסים מוכללים - המשך שקף לעמוד
ששה שקפים לעמוד

L13 הרצאה ליאור וולף 18.06.2013 Final words
Slides  Q&A 
R14 תרגול ניר אטיאס
דביר נתנאלי
19.06.2013 סיכום וחזרה    שקף לעמוד
ששה שקפים לעמוד

 

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


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