20503 סדנה בתכנות מתקדם בשפת Java
20503 סדנה בתכנות מתקדם בשפת Java
3 נקודות זכות ברמה מתקדמת סמינריונית
שיוך: מדעים / מדעי המחשב
שיוך נוסף: הנדסה / הנדסת תוכנה
תנאי קבלה: 36 נקודות זכות במדעי המחשב, וכן עמידה בדרישות האנגלית ובדרישות ההדרכה הביבליוגרפית בספרייה. יתקבלו רק סטודנטים שכבר סיימו בהצלחה או עתידים לסיים לפני תחילת הלימודים של הסדנה קורס מתקדם אחד לפחות במדעי המחשב וסיימו בהצלחה או שהם עתידים לסיים לפני תחילת הלימודים של הסדנה את לימודיהם בקורס תכנות מתקדם בשפת Java , או שהם בעלי ידע מוכח בשפת Java. ההרשמה לסדנה מותנית באישור האחראי לסמינרים. לפני ההרשמה יש להגיש בקשת הרשמה במערכת הפניות בשאילתא.
פיתוח הסדנה: תמר בניה, פרופ' גדי טאובנפלד
מטרת הסדנה
שפת Java היא שפת תכנות מודרנית הזוכה לפרסום רב בעיקר עקב האפשרות להשתמש בה בצורה נוחה ברשת האינטרנט. מטרת הסדנה היא ללמוד עקרונות תכנות מתקדמים של מערכות הרצות בסביבת האינטרנט. הסטודנטים יעבירו הרצאה על אחד מנושאי הקורס ויכתבו פרויקט מסכם המממש חלק מהטכנולוגיות שנלמדו במהלך הסמסטר.
הסדנה מתבססת על ידע קודם שנלמד בקורס תכנות מתקדם בשפת Java. בסדנה יילמדו נושאים הקשורים בטכנולוגיות הבאות: JavaFX, קישור לבסיסי נתונים באמצעות JDBC ו-JPA, תוכניות הרצות בשרתי אינטרנט המשתמשות ב-JSF, ותוכניות שרת/לקוח המשתמשות בתקשורת RMI. בנוסף יילמדו הסטודנטים העברת הודעות באמצעות JMS, כתיבה ושימוש בשירותי רשת Web Services, עיבוד קבצי XML ותכנות טלפונים באמצעות Android.
במסגרת הסדנה יתבקשו הסטודנטים ללמוד נושא מתקדם מספרים ו/או ממאמרים, להגיש פרויקט ולהרצות לפני קבוצת סטודנטים ואנשי סגל. הציון בקורס מורכב מציון ההרצאה (35%), וציון הפרויקט והגשתו (65%).
הרצאות:
כל סטודנט יכין הרצאה על אחד מנושאי הקורס וירצה לפני שאר הסטודנטים במהלך המפגש. נושאי ההרצאה יחולקו במפגש הראשון.
פרויקטים:
-
הסדנה כוללת כתיבת פרויקט מסכם לבד, בזוגות או בשלשות, המשתמש בלפחות שלוש טכנולוגיות שנלמדו בקורס. אפשר להוסיף טכנולוגיות נוספות לבחירתכם (כמו react), מעבר לשלוש הטכנולוגיות הנדרשות, כל עוד היקף הטכנולוגיות הנדרשות מספיק. מומלץ להשתמש ב git בפרויקט (מעבר לשלוש הטכנולוגיות הנדרשות).
-
הפרויקט יכלול ממשק משתמש גרפי או ממשק אינטרנטי ויהיה כתוב על-פי עקרונות תכנות מונחה עצמים.
-
הסטודנטים יוכלו לבחור נושא מתוך רשימת הצעות, או להציע הצעה חדשה.
-
נושאים אפשריים לפרויקטים כוללים: אתר להזמנת כרטיסים, מערכת מסחר אלקטרונית, אתר למכירה פומבית, מערכת הזמנות אונליין, מערכת השאלת סרטים, לוחות תכנון משותפים (whiteboard), שרתי משחקים, אפליקציית אנדרואיד המתקשרת עם שרת ובסיס נתונים ועוד. ניתן להציע רעיון מקורי ולקבל את אישור המנחה.
-
לקראת סוף הסמסטר הסטודנטים יגישו את תכנון הפרויקט.
-
מועד הגשת הפרויקט והגנה עליו כחודשיים לאחר סוף הסמסטר.
מהלך הסמסטר:
-
נושאי ההרצאות יחולקו במפגש הראשון. מי שלא יוכל להגיע מתבקש ליצור קשר מראש עם מנחה הקבוצה במייל.
-
במהלך הסמסטר יתקיימו הרצאות הסטודנטים, נוכחות חובה רק במפגש שבו הסטודנט מעביר הרצאה.
-
במהלך הסמסטר יש לבחור נושא לפרויקט ולקראת סוף הסמסטר יש להגיש תכנון ראשוני.
-
בתאריך הגשת הפרויקט יש ליצור קשר עם המנחה ולתאם מועד להצגת הפרויקט.
הרשמה לסדנה:
הרשמה לסדנה דורשת סיום הקורס תכנות מתקדם בשפת ג'אווה (20554) בהצלחה וכן 36 נ"ז בקורסים של מדעי המחשב (ללא מתמטיקה) לפני תחילת הסדנה. כדי לקבל אישור להירשם יש להגיש בקשה בשאילתא, בקשה לאישור הרשמה ללא עמידה בתנאי קבלה (גם למי שעומד בתנאי הקבלה). את האישור ניתן לבקש גם במידה ולא עומדים בדרישות, האישור יתקבל על תנאי, עד לסיום הקורס תכנות מתקדם בשפת Java ו-36 נ"ז במדעי המחשב.
לשאלות נוספות:
אנא צרו קשר עם מרכזת ההוראה בסדנה, חן אולמר chenul@openu.ac.il
ספרי הלימוד
1. H.M. Deitel, P.J. Deitel, How to Program, 11th ed. (Prentice Hall, 2018)
2. The Java EE7 Tutorial (Oracle, 2014) http://download.oracle.com/javaee/6/tutorial/doc/
3. The Java Tutorial: Specialized Trails and Lessons http://download.oracle.com/javase/tutorial/
הספר הראשון הוא ספר הקורס של הקורס תכנות מתקדם בשפת Java (20554). שני הספרים הנוספים קיימים בגרסה אלקטרונית ויהיו זמינים באתר הקורס.
מספר הסטודנטים בסדנה מוגבל.