Skip to content

Latest commit

 

History

History
123 lines (77 loc) · 6.77 KB

timetable.md

File metadata and controls

123 lines (77 loc) · 6.77 KB

פרוייקט שנתי – תרומה למערכת קוד פתוח - הנחיות ולוח-זמנים

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

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

שלב א: בחירת נושא

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

18/11/21: בחירת נושא וקבלת אישור הקהילה. ציון: 5%

שלב ב: הבנת האלגוריתם

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

30/11/21: הגשת סיכום+דוגמאות. ציון 15%

שלב ג: הכרת המערכת

בשלב זה יש "למזלג" (fork) את המערכת, להוריד את המערכת למחשב שלכם, לבנות אותה ולהריץ אותה (יש להריץ גם את בדיקות-היחידה - unittest, וגם את הדוגמאות).

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

15/12/21: בניה מוצלחת. ציון 5%

שלב ד: מימוש ראשוני + בדיקות יחידה

בשלב זה יש לתאם עם קהילת המפתחים את הממשק של הפונקציות שיש להוסיף: מה הקלט? מה הפלט? איך ייראו דוגמאות-הרצה? יש לכתוב כותרות ומימוש בסיסי לכל חלקי המערכת, וכן לכתוב בדיקות-יחידה מקיפות. יש להשתמש בכלים המתאימים לבדיקות יחידה לפי סוג המערכת, כגון: doctest, selenium. שימו לב: בשלב זה רוב הבדיקות לא יעברו.

5/1/22: הגשת מימוש ראשוני + בדיקות יחידה. ציון 15%

שלב ה: מימוש מלא

בשלב זה יש לסיים את מימוש כל הפונקציות הדרושות.

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

9/3/22: הגשת מימוש מלא. ציון 15%

שלב ו: בדיקות ותיקון תקלות

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

30/3/22: הגשת מימוש העובר את כל בדיקות-היחידה וללא תקלות. ציון 5%

שלב ז: בקשת משיכה

בשלב זה יש להגיש "בקשת משיכה" (pull request) בגיטהאב, בהתאם לנהלי המערכת.

27/4/22: הגשת "בקשת משיכה" ראשונה. ציון 5%

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

שלב ח: שיווק - פוסטר וסרטון

מטרת שלב זה היא לשווק את הפרוייקט שלכם לאנשים מבחוץ - שאינם מכירים אותו. לשם כך יש להכין:

  • סרטון שיווקי קצר (1-2 דקות), המסביר על המערכת ומדגים את פעולתה.
  • פוסטר בגודל A0 שיוצג ביום הצגת הפוסטרים המחלקתי.

הציון בשלב זה נקבע ע"י בוחן חיצוני (רכז הפרוייקטים או מרצה אחר מהמחלקה), בהתאם להתרשמות שלו מהפרוייקט והשוואה לפרוייקטים אחרים.

8/6/22: הצגת סרטון + פוסטר. ציון 10%

שלב ט: תיקונים ושיפורים

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

29/6/22: הגשת מערכת מושלמת. ציון 15%

שלב י: הצגה סופית

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

עד לתאריך זה, יש לוודא שיש תיעוד מלא בגיטהאב.

הציון בשלב זה נקבע ע"י רכז הפרוייקטים, בהתאם להתרשמות שלו מהפרוייקט והשוואה לפרוייקטים אחרים.

28/7/22: הצגה סופית. ציון 10%