You are on page 1of 22

‫ברוכים הבאים למת"ם‬

‫מבוא לתכנות מערכות ‪234124 -‬‬


‫תרגול מס' ‪0‬‬
‫❖ מנהלה‬
‫מטרות הקורס‬
‫▪ לימוד שיטות וכלים עבור פיתוח תוכנה גדולה‪.‬‬

‫התנסות בכתיבת תוכנה ובדיקתה‪.‬‬ ‫▪‬

‫המשך לימוד עקרונות התכנות ממבוא למדעי המחשב‬ ‫▪‬


‫– לימוד תכונות מתקדמות של שפות התכנות ‪.C/C++/Python‬‬

‫‪3‬‬ ‫מבוא לתכנות מערכות ‪234124 -‬‬


‫מנהלה‬
‫▪ אתר הקורס‪:‬‬
‫– ‪.https://webcourse.cs.technion.ac.il/234124‬‬
‫– האתר מכיל מידע רב וחשוב המתעדכן במהלך הסמסטר‪ ,‬בפרט הודעות הקורס‪.‬‬

‫▪ קבלת ‪ e-mail‬מהאתר‪:‬‬
‫– ודאו שאתם מקבלים עדכונים מהאתר ע"י מעבר ללשונית ‪.Auto update‬‬

‫‪4‬‬ ‫מבוא לתכנות מערכות ‪234124 -‬‬


‫דרכי תקשורת בקורס‬
‫מענה לשאלות יינתן דרך הפורומים בפיאצה‪.‬‬ ‫▪‬
‫– פורום שאלות נפרד לכל תרגיל בית‪.‬‬
‫– פורום שאלות אדמיניסטרטיביות ‪ -‬ניהול ונהלי הקורס‪ ,‬שאלות טכניות לדוג' בעיות התחברות וכל מה שלא‬
‫נופל בקטגוריות הנ"ל‪.‬‬

‫כל בקשה אדמיניסטרטיבית‪ ,‬כגון דחייה בתרגילי הבית או מועד ג' עקב הריון‪/‬מילואים בלבד יש‬ ‫▪‬
‫להפנות אל המתרגל האחראי אלעד במייל (רק בליווי אישורים) ‪.‬‬
‫– בכל פנייה אדמיניסטרטיבית יש לרשום ת"ז בגוף המייל‪ .‬יש לציין גם את הת"ז של השותף‬
‫כאשר רלוונטי (לדוגמא בפניות לגבי תרגיל בית)‪.‬‬

‫‪5‬‬ ‫מבוא לתכנות מערכות ‪234124 -‬‬


‫מנהלה‬
‫דף הקורס בפיאצה‪:‬‬ ‫▪‬
‫‪– https://piazza.com/technion.ac.il/spring2023/234124‬‬
‫– ההרשמה דרך הקישור‪.‬‬
‫– האתר ישמש למענה לשאלות‪.‬‬
‫• ניתן לפרסם שאלות אנונימיות (בפני סטודנטים אחרים)‬
‫• נא לוודא שהשאלה שאתם מתכוונים לשאול לא נענתה בעבר‪ .‬אפשר לבדוק זאת בעזרת‬
‫אופציית החיפוש הקיימת בפורומים‪.‬‬

‫‪6‬‬ ‫מבוא לתכנות מערכות ‪234124 -‬‬


‫מנהלה‬
‫מענה לשאלות בהתאם‬ ‫דף הקורס בפיאצה‬ ‫▪‬
‫לתרגילי הבית‬ ‫חיפוש פוסטים ושאלות‬

‫‪7‬‬ ‫מבוא לתכנות מערכות ‪234124 -‬‬


‫תרגילי בית‬
‫תרגילי הבית בקורס דורשים הרבה עבודה – וחובה לעשותם בזוגות‪.‬‬ ‫▪‬
‫– ניתן למצוא שותף תחת לשונית ‪ Find a partner‬באתר הקורס‪.‬‬
‫כמו כן‪ ,‬ניתן למצוא שותפים דרך קבוצות ה‪  facebook‬או ‪ whatsapp‬של מת"מ‪.‬‬
‫– בכל סמסטר נעזבים מספר אנשים ע"י השותף שלהם‪.‬‬
‫• שימרו על קשר טוב עם השותף – זהו חלק מתהליך פיתוח התוכנה‪.‬‬
‫– סגל הקורס לא יטפל בבעיות בין שותפים ולא ינתנו הקלות בהקשר זה‪.‬‬

‫‪8‬‬ ‫מבוא לתכנות מערכות ‪234124 -‬‬


‫תרגילי הבית‬
‫שימו לב‪ :‬תרגיל מוכן הוא תרגיל שנבדק ואכן עובד‪.‬‬ ‫▪‬
‫– הקפידו לבדוק את נכונות הקוד שלכם לפני ההגשה – נקודות אינן ניתנות לפי זמן העבודה על‬
‫התרגיל אלא לפי כמות הבדיקות שבהן הוא עומד‪.‬‬

‫לא תינתן בקורס תמיכה ב‪ MAC-‬או בכל מערכת הפעלה השונה מלינוקס (‪Ubuntu Red‬‬ ‫▪‬
‫‪ Hat‬וכל הפצה תואמת)‪.‬‬
‫▪ גיבוי‪ :‬הקפידו לגבות באופן שוטף את הקבצים לא ינתנו הקלות לסטודנטים שאיבדו את‬
‫עבודתם‪.‬‬

‫‪9‬‬ ‫מבוא לתכנות מערכות ‪234124 -‬‬


‫תרגילי הבית‬
‫▪ הגשה‪:‬‬
‫– עקבו במדויק אחרי הוראות ההגשה לכל תרגיל המצוינות בתרגיל‪.‬‬
‫• אי ציות להוראות אלו יגרור הורדת ציון‪.‬‬
‫• כל יום איחור בהגשת התרגיל יגרור הורדת ציון של ‪ 4‬נקודות מהציון הסופי‪ .‬בתום חמישה ימי‬
‫איחור התרגיל לא יתקבל‪.‬‬
‫– שמרו את מספר האישור עבור ההגשה האלקטרונית‪.‬‬
‫• מומלץ להשתמש בכפתור ‪ Print screen‬או ב – ‪ Snipping Tool‬ולשמור את תמונת אישור ההגשה‬
‫המלא‪.‬‬
‫– מומלץ לשמור עותק של קובץ ההגשה ב‪ Google Drive/Gmail/Dropbox-‬באופן שיאפשר לכם להוכיח את‬
‫קיומו בזמן (במקרה של טעויות בהגשה)‪.‬‬

‫‪10‬‬ ‫מבוא לתכנות מערכות ‪234124 -‬‬


‫דרכי תקשורת בקורס‬
‫אין לשלוח מיילים בנושא התרגילים‪ .‬לכל תרגיל בית יהיו סדנאות אשר יוקצו עבורו‪ .‬כמו כן יופעל‬ ‫▪‬
‫פורום ‪ Q&A‬דרך הפיאצה לכל אחד מתרגילי בית‪.‬‬

‫הפורום בפיאצה מיועד לקבלת מענה מהיר בנושא התרגילים ומאפשר חיפוש יעיל על מנת לבדוק אם‬ ‫▪‬
‫שאלתכם כבר נענתה‪.‬‬
‫– מותר ומומלץ! לענות לשאלות של סטודנטים אחרים‪.‬‬

‫‪11‬‬ ‫מבוא לתכנות מערכות ‪234124 -‬‬


‫מבנה הציון הסופי‬
‫▪ ‪ 70%‬מבחן סופי‬
‫!אי אפשר לעבור את הקורס בלי לעבור את המבחן‬

‫▪ ‪ 30%‬תרגילי הבית ‪ -‬תקף‬


‫– ‪ 5‬תרגילי בית על נושאי הקורס השונים ותרגיל הכנה אחד‪.‬‬
‫• תרגיל ‪ – )2%( 0‬שימוש בסיסי ב‪ ,shell‬בתחברות לשרת וגיט‪.‬‬
‫• תרגיל ‪ C‬מתקדם (‪)6%‬‬
‫• תרגיל ‪ ++C‬הכרות (‪)4%‬‬
‫• תרגיל ‪ ++C‬קוד גנרי (‪)6%‬‬
‫• תרגיל ‪ ++C‬מתקדם(‪)8%‬‬
‫• תרגיל פייתון (‪)4%‬‬
‫– התרגילים מורכבים משאלות יבשות (כתיבת פתרון) ורטובות (כתיבת קוד‪ ,‬הרצתו ובדיקתו)‪.‬‬

‫‪12‬‬ ‫מבוא לתכנות מערכות ‪234124 -‬‬


‫מערכות עזר בקורס‬
‫על מנת למנוע מקרים של קוד שלא מתקמפל ותרגיל שקיבל ‪ – 0‬נספק לכם סקריפט עזר‬ ‫▪‬
‫שבודק את תקינות קבצי ההגשה‪.‬‬
‫▪ אף על פי כן – הגשה לפני ההנחיות היא על אחריותכם בלבד‪ ,‬גם אם הסקריפט לא איתר את‬
‫השגיאה בקובץ ההגשה‪ .‬עקבו במדויק אחר הוראות ההגשה!‬

‫‪13‬‬ ‫מבוא לתכנות מערכות ‪234124 -‬‬


‫המלצות לסביבת עבודה‬
‫ישנן מספר סביבות פיתוח לבחירתכם‪ ,‬בהם אפשר להיעזר לצורך הפיתוח‪:‬‬ ‫▪‬
‫– ‪Visual Studio Code‬‬
‫• מתאים לכמה שפות וניתן לקנפג אותו בהתאם לצרכים שלכם ולשלב בו הרבה כלים‬
‫• יש תוסף של ‪ remote ssh‬המאפשר לעבוד ישירות על השרת דרך סביבת העבודה‪.‬‬
‫• יהיה אפשר לעבוד בו גם עם ‪cpp,c , python‬‬
‫• מתאים ל‪mac, linux, windows‬‬
‫• באתר הקורס ישנם מדריכים עבור ‪Visual Studio Code‬‬

‫סביבת העבודה היא בחירה שלכם ובאחריותכם לדאוג לה‪.‬‬


‫שימו לב שיש לבדוק את פתרון תרגילי הבית בשרת ‪csl3‬‬
‫‪14‬‬ ‫מבוא לתכנות מערכות ‪234124 -‬‬
‫המלצות לסביבת עבודה‬
‫ישנן מספר סביבות פיתוח לבחירתכם‪ ,‬בהם אפשר להיעזר לצורך הפיתוח‪:‬‬ ‫▪‬
‫– ‪Clion‬‬
‫מצריך פחות קונפיגורציה ‪cpp, c‬מיועד ספציפית ל ‪+‬‬
‫‪mac, linux, windows‬מתאים ל ‪+‬‬
‫כניסה קלה יותר למי שעבד עם מוצרים שלהם – ‪ jetbrains‬של חברת‪+‬‬
‫רישיון חינמי לסטודנטים ‪+‬‬
‫– ‪Visual studio‬‬
‫מגיע עם קומפיילר מובנה‪ ,‬לא מצריך קונפיגורציה ‪cpp, c‬מיועד ספציפית ל ‪+‬‬
‫‪windows‬מתאים רק ל ‪-‬‬
‫‪ -‬קומפיילר מובנה שונה מהקומפייר שמש את הקורס לבדיקות‬

‫סביבת העבודה היא בחירה שלכם ובאחריותכם לדאוג לה‪.‬‬


‫שימו לב שיש לבדוק את פתרון תרגילי הבית בשרת ‪csl3‬‬
‫‪15‬‬ ‫מבוא לתכנות מערכות ‪234124 -‬‬
‫המלצות לסביבת עבודה‬
‫ישנן מספר סביבות פיתוח לבחירתכם‪ ,‬בהם אפשר להיעזר לצורך הפיתוח‪:‬‬ ‫▪‬
‫‪- Pycharm‬‬
‫מצריך פחות קונפיגורציה ‪python‬מיועד ספציפית ל ‪+‬‬
‫‪mac, linux, windows‬מתאים ל ‪+‬‬
‫כניסה קלה יותר למי שעבד עם מוצרים שלהם – ‪ jetbrains‬של חברת‪+‬‬
‫רישיון חינמי לסטודנטים ‪+‬‬

‫סביבת העבודה היא בחירה שלכם ובאחריותכם לדאוג לה‪.‬‬


‫שימו לב שיש לבדוק את פתרון תרגילי הבית בשרת ‪csl3‬‬
‫‪16‬‬ ‫מבוא לתכנות מערכות ‪234124 -‬‬
‫תרגילי בית ‪ -‬העתקות‬
‫בקורס מופעלות שיטות אוטומטיות למציאה של העתקות‪.‬‬ ‫▪‬

‫▪ מי שייתפס כמעתיק או כמי שנתן את תרגיל הבית שלו להעתיק יהיה צפוי לעונשים‬
‫חמורים‪.‬‬
‫– כולל שאלות יבשות‪.‬‬

‫‪17‬‬ ‫מבוא לתכנות מערכות ‪234124 -‬‬


‫תרגיל בית ‪0‬‬
‫תרגיל זה הוא פשוט ומשקלו ‪ 2%‬מהציון הסופי‪.‬‬ ‫▪‬

‫▪ התרגיל מלמד את כל הדרוש על מנת להגיש תרגילי בית בצורה נכונה בקורס ‪ -‬כניסה לשרת‬
‫ה‪ csl3-‬והתקנת ה‪ IDE-‬שאיתה תעבדו‪ ,‬לכן הגשתו היא ביחידים‪.‬‬

‫בתרגיל תלמדו להתקין ולעבוד עם המערכות של הקורס‪.‬‬ ‫▪‬

‫מומלץ מאד להצטרף לסדנאות הנערכות בתחילת הקורס כדי לקבל עזרה עם התרגיל‪.‬‬ ‫▪‬

‫‪18‬‬ ‫מבוא לתכנות מערכות ‪234124 -‬‬


‫תרגיל בית ‪ – 0‬גיט (מערכת ניהול גרסאות)‬
‫בתרגיל בית אפס תתנסו בעבודה עם גיט (מערכת ניהול גרסאות פופולרית ונפוצה מאוד)‪.‬‬ ‫▪‬

‫החומר על גיט מועבר בהרצאה ותרגול מוקלטים‪ .‬מומלץ לראות את ההרצאה והתרגול על‬ ‫▪‬
‫גיט בשבוע הראשון של הסמסטר‪.‬‬

‫‪19‬‬
‫שינויים בקורס‬
‫▪ בסמסטר אביב ‪ 2022‬חומר הקורס עבר עדכון‪ .‬ההרצאות‪ ,‬התרגולים ותרגילי הבית שונו‬
‫מסמסטרים קודמים‪.‬‬
‫▪ השינוים כוללים‪:‬‬
‫» הורדת החומר על ‪ ADT‬ב‪.C‬‬
‫» הרחבת החומר הנלמד בתכנות מונחה עצמים (‪ )++c‬ותכן תוכנה‪.‬‬
‫» שינוים בשקפים ובנהלים‪.‬‬
‫הקלטות מסמסטרים קודמים לא יהיו רלוונטיות ברובן‪.‬‬ ‫▪‬
‫פורמט תרגילי בית יהיה שונה במקצת‪.‬‬ ‫▪‬

‫‪20‬‬
‫הרצאות‬
‫השקפים וחלוקת החומר בין התרגולים להרצאות שונו‪.‬‬

‫התרגולים וההרצאות משלימים זה את זה‪ .‬מי שתגיע‪/‬תראה רק את התרגולים או רק את‬


‫ההרצאות תפספס הרבה חומר!‬

‫כדי להצליח בקורס עליכם ללמוד את החומר שמועבר גם בתרגולים וגם בהרצאות‪.‬‬

‫תגיעו להרצאות!‬

‫‪21‬‬
‫נושאי התרגולים‬
‫▪ תרגול ‪ :1-2‬אדמיניסטרציה ועבודה ב‪UNIX‬‬

‫▪ תרגולים ‪ :2-4‬תכונות מתקדמות של ‪C‬‬

‫▪ תרגולים ‪++C :5-10‬‬

‫▪ תרגולים ‪ Python :11-13‬ותכנות תסריטים (סקריפטינג)‪.‬‬

‫▪ תרגול ‪ :13‬הכנה למבחן ותוצאות תחרות ה‪ memes‬שלנו‪.‬‬

‫‪22‬‬ ‫מבוא לתכנות מערכות ‪234124 -‬‬

You might also like