0509-1821-05/12: תכנות למהנדסים בשפת פייתון - סתיו תשע"ב
[קבוצות לימוד] [סגל הקורס] [הודעות] [רשימת דיוור] [סילבוס ומדיניות ציונים] [מבחן] [תרגילים] [משאבים מועילים] [סביבת הפיתוח] [לימוד פייטון ברשת] [הרצאות] [תרגולים

קבוצות לימוד


סוג מפגש שם חבר הצוות מועד מיקום קוד קבוצה
שיעור אסף זריצקי ג', 8-10
הנדסת תכנה, 102
0509-1821-05
תרגיל יואב רם ד', 16-18
הנדסה כיתות חשמל, 206
0509-1821-06
תרגיל יואב רם ד', 8-10
הנדסה כיתות חשמל, 206 0509-1821-07
תרגיל
נגה לוי
ד', 14-16
הנדסה כיתות חשמל, 206 0509-1821-08
תרגיל
נגה לוי
ד', 8-10
בניין כיתות, 207
0509-1821-19

סוג מפגש שם חבר הצוות מועד מיקום קוד קבוצה
שיעור אסף זריצקי ב', 8-10
הנדסת כיתות חשמל, 103 0509-1821-12
תרגיל נגה לוי ג', 12-14
הנדסה כיתות חשמל, 206 0509-1821-13
תרגיל נגה לוי ה', 10-12
הנדסה כיתות חשמל, 206 0509-1821-17

סגל הקורס

  • מרצה: אסף זריצקי, assafzar@post.tau.ac.il, שעת קבלה בבניין שנקר-פיזיקה 405א', בתיאום מראש 
  • מתרגלת: נגה לוי, nogale@post.tau.ac.il, שעת קבלה בבניין שנקר-פיזיקה 405א', בתיאום מראש
  • מתרגל: יואב רם,  yoavram@post.tau.ac.il, שעת קבלה בבניין בריטניה 409, בתיאום מראש
  • בודק תרגילים: ינון פלד,  inon.python@gmail.com

הודעות

  • 30.10.2011: ברוכים הבאים לקורס!
  • 30.10.11: שימו לב, שיעור להנדסת מכונות, יערך בכיתה 103 בבניין כיתות חשמל
  • 2.11.11: תרגיל מס' 1 הועלה לאתר (שימו לב - התרגיל שונה!)
  • 9.7.11: כיתת תרגול חדשה להנדסה מכנית, יום ד' 8-10 (נגה לוי)

רשימת דיוור

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

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

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

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

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

דרישות קדם:
אין

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

הציון הסופי בקורס מורכב מציון הבחינה (80-85%) וציון התרגילים (15-20%). משקל רוב התרגילים יהיה 1-3 נקודות מהציון הסופי. עבור כל תרגיל יקבע ציון 0, 60, 80 או 100 שיקבע את אחוז הניקוד שהתלמיד יקבל על משקל התרגיל. לדוגמא ציון 60 על תרגיל של 3 נקודות מקנה לתלמיד כמעט 2 נקודות בציון הסופי מתוך 3 אפשריות. 

מבחן

חומר עזר מותר למבחן: דף A4 כתוב בכתב יד בשני הצדדים.
מבחן לדוגמא 1
פתרון

מבחן לדוגמא 2
פתרון

מועד: תאריך:  שעה פתרון
ציונים
מועד א' 27.2.2012
9:00
פתרון מועד א' מועד א'
מועד ב' 4.4.2012 9:00
פתרון מועד ב'

תרגילים


מספר פורסם בתאריך מועד הגשה משקל פתרון הערות
תרגיל מס' 0
30.10.11

0

תרגיל דוגמא - לא להגשה

תרגיל מס'1

PY


30.10.11
10.11.11
1
פתרון מס' 1 הנחיות להתקנת סביבת העבודה מופיעות למטה

תרגיל מס' 2

8.11.11
17.11.11
1
פתרון מס' 2
ההנחיות מופיעות כהערות בקובץ הפייטון

תרגיל מס' 3

15.11.11
1.12.11
1
פתרון מס' 3

תרגיל מס' 4

24.11.11
8.12.11
1
פתרון מס' 4

תרגיל מס' 5

2.12.11
15.12.11
1
פתרון מס' 5

תרגיל מס' 6

8.12.11
22.12.11
1
פתרון מס' 6
הועלה קובץ מתוקן - השינוי הוא במתודה from polar

תרגיל מס' 7

14.12.11
29.12.11
1
פתרון מס' 7

תרגיל מס' 8

28.12.11
12.1.12
1
פתרון מס' 8

תרגיל מס' 9

5.1.12
19.1.12
1
פתרון מס' 9

תרגיל מס' 10

16.1.12
31.1.12
1
פתרון מס' 10

תרגיל מס' 11

26.1.12
5.2.12
1
פתרון מס' 11



כמעט בכל שבוע יפורסם תרגיל. הגשת תרגילים היא חובה!
התרגילים הינם אישיים ומיועדים לעבודה עצמית. בפרט, אסור לתלמידים לפתור ביחד תרגילים, אסור להראות פתרון תרגיל לתלמיד אחר, ואסור לקרוא פתרון של תלמיד אחר. מותר לדון בתרגילים עם תלמידים אחרים בעל-פה בלבד וללא התבוננות בקוד של אחר.
  • במהלך הקורס יינתנו N = 11-13 תרגילים, כאשר כל אחד מהם "שווה" 1-3 נקודות מציון הקורס. התרגילים ירכיבו  M = 15-20% מהציון הסופי בקורס.
  • יש לקבל ציון עובר (60) על לפחות N-2 מהם ולצבור לא פחות 0.66*M מציון התרגילים בקורס. שימו לב שעל שני התנאים להתקיים על מנת לעמוד בחובות הקורס!
  • לכל תרגיל יש משקל בציון הסופי כך שאי הגשת חלק מהתרגילים תפגע בציון התלמיד\ה. בפרט, רק תלמידים שהגישו ועברו בציונים גבוהים את כל התרגילים יכולים לקבל 100 בקורס.
  • את התרגילים יש להגיש לא יאוחר ממועד ההגשה שיפורסם באתר ובמערכת הוירטואל. עם זאת, לרשות כל סטודנט עומדים חמישה "ימי חסד" סמסטריאלים, הגשה באיחור תגרע מימי החסד. כלומר, סטודנט שהגיש תרגיל באיחור של יומיים תרגילו ייבדק אך מספר ימי החסד שייותר לו יעמוד על שלושה.
    • אם אזלו לסטודנט ימי החסד ובכל זאת הגיש באיחור תרגילו לא ייבדק והציון עליו יהיה 0.
נוהל הגשה באיחור
אין צורך לדווח מראש או לבקש אישור בעבור הגשה באיחור (מוצדקת או לא). ואולם בעת הגשת תרגיל באיחור עם סיבה מוצדקת יש לצרף לקובץ ההגשה (ההגשה מתבצעת בקובץ zip) את האישורים המתאימים (מחלה, מילואים, רישום מאוחר וכדומה).  ימי איחור עם סיבה מוצדקת שיאושרו ע"י בודק התרגילים לא יכללו ב-5 ימי האיחור המצטבר. 
אם אין באפשרותכם להגיש את התרגילים במערכת ה-Moodle עקב רשום מאוחר, אנא הגישו אותם מיד עם רישומכם.  צרפו את טופס ההגשה באיחור וציינו כי התרגיל מוגש באיחור בגלל רישום מאוחר.
 להלן טופס הגשה באיחור (אותו יש למלא כאשר מגישים תרגיל באיחור מסיבה מוצדקת).

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

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

התרגילים יפורסמו באתר זה וב-Moodle, מועד ההגשה של התרגיל הוא עד 23:55 בתאריך הנקוב להגשת התרגיל. התרגיל עצמו יועלה לאתר Moodle (ולאתר הקורס) לפחות שבוע לפני מועד ההגשה.

קבלת משוב מהבודקים דרך מערכת ה-Moodle (בתרגיל שהגשתם)

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

הסבר על אופן השימוש http://www.youtube.com/watch?v=lBkcDFRA958
איך לעבור בין פקודות ב-shell בעזרת חיצים

משאבים מועילים

פייטון
הספר החינמי Think Python by Allen B. Downey מספק הסברים בסיסיים, קצרים וברורים בשפה
הספר החינמי Dive Into Python bu Mark Pilgrim יותר מתקדם
הדוקומנטציה של פייטון 2.7

הרצאות הוידאו ללימוד פייטון של גוגל (ברמה קצת יותר גבוה): http://code.google.com/edu/languages/google-python-class/
הרצאות וידאו מפורטות לפי נושאים (ברמה יחסית נמוכה): http://www.youtube.com/results?search_query=python+programming+tutorial&aq=f

הרצאות


מספר נושא תאריך שקפים הערות ותוספות
1 מבוא
31.10-1.11
py1.ppt
py1.pdf
py1X6.pdf

2 מבוא לתכנות בפייטון
7-8.11
py2.ppt
py2.pdf
py2X6.pdf


3 סימולציה
14-15.11
py3.ppt
py3.pdf
py3X6.pdf

code3.zip
4 עיבוד נתונים
21-22.11
py4.ppt
py4.pdf
py4X6.pdf

code4.zip
5
תכנות מונחה עצמים
28-29.11 py5.ppt
py5.pdf
py5X6.pdf

code5.zip
6
תכנות מונחה עצמים
5-6.11
py6.ppt
py6.pdf
py6X6.pdf
code6.zip
7
אין שיעור
-
-
-
8
רקורסיה 26-27.12
py8.ppt
py8.pdf
py8X6.pdf
code8.zip
9
חיפושים, מיונים וניתוח זמן ריצה
2-3.1
py9.ppt
py9.pdf
py9X6.pdf
code9.zip
10
עיבוד אותות (תמונה)
9-10.1
py10.ppt
py10.pdf
py10X6.pdf
code10.zip
11
ממשק משתמש גרפי (GUI)
16-17.1
py11.ppt
py11.pdf
py11X6.pdf
code11.zip
12
תכנון דינמי
23-24.1
py12.ppt
py12.pdf
py12X6.pdf
code12.zip
13
קצת IO, תיקון טעויות, סיכום
30-31.1
py13.ppt
py13.pdf
py13X6.pdf

 

תרגולים


מספר תאריך נושא שקפים הערות ותוספות
1 מבוא
1.11-3.11
ta1.pdf
code examples
2
לולאות ופונקציות
8.11-10.11
ta2.pdf
code examples
3 מודולים, מילונים, עוד על פונקציות
15.11-17.11
ta3.pdf
ta3.ppt
code examples
4 חזרה על החומר, פונקציות גיבוב, סימולציית נהיגה עם PyGame
22.11-24.11
ta4.pdf
ta4.pptx
code examples
5 מונה שכיחויות, תרגול מילונים, תכנות מונחה עצמים
29.11-31.11
ta5.pdf
ta5.pptx

6 תכנות מונחה עצמים, Old McDonald, Time class
6.12-8.12
ta6.pdf
ta6.pptx
code examples
shell printout
7 יצירת גרפים, מציאת באגים
13.12-15.12
ta7.pdf
ta7.pptx
code examples
8 רקורסיה
27.12-29.12
ta8.pdf
ta8.pptx
code examples
9 מיונים
3.1-5.1
ta9.pdf
ta9.pptx
code examples
10 עיבוד תמונה
10.1-12.1
ta10.pdf
ta10.pptx
code examples
11 GUI
17.1-19.1
ta11.pdf
ta11.pptx
code examples
12 תכנון דינמי
24.1-26.1
ta12.pdf
ta12.pptx
code examples
13 חזרה
29.1-2.2
ta13.pdf
ta13.pptx
code examples