מערך שיעור: סביבת עבודה ומבנה המחשב
משך: יום לימוד מלא — 6 שעות אקדמיות (270 דקות).
מטרת השיעור: הסטודנטים יגיעו לסוף היום עם סביבת עבודה תקינה, יריצו קוד Python בעצמם, ויבינו את התמונה הבסיסית של מה שקורה “מתחת למכסה” כשקוד רץ.
בסוף השיעור הסטודנטים צריכים:
- להריץ קובץ Python מה-Terminal ומכפתור Run, מתוך תיקיית עבודה מסודרת.
- להסביר במילים שלהם את התפקיד של CPU, RAM, Storage ו-Registers ואת ההבדל בין זיכרון זמני לקבוע.
- לתאר את המסלול מקובץ על הדיסק ועד Process שרץ, ולהבחין בין Syntax Error ל-Runtime Error.
דגש קריטי: היום הראשון קובע את הקצב לכל הקורס. אף סטודנט לא יוצא להפסקה הראשונה בלי סביבה עובדת. תקלות התקנה שנגררות לנושא המחשב ומערכת ההפעלה “גונבות” זמן מכל השבוע.
מהלך השיעור
| חלק בשיעור | משך | הערות ודגשים |
|---|---|---|
| פתיחה והיכרות | 25 דק' | היכרות קצרה, תיאום ציפיות, הצגת מבנה הקורס והאתר: כפתור “סמן כהושלם”, דפי התרגול, פתרונות נפתחים. |
| התקנות — Python, VS Code, Git | 50 דק' | הדגמה על המסך צעד-צעד, הסטודנטים מתקינים במקביל. עוזר הוראה עובר בין השולחנות. |
| בדיקת תקינות ופתרון תקלות | 20 דק' | כל אחד מריץ את 4 פקודות הבדיקה. מי שנכשל — טיפול פרטני. ב-Windows רוב התקלות הן PATH. |
| הפסקה | 15 דק' | |
| תיקיית עבודה והרצה ראשונה | 40 דק' | בניית kodkod6/week-1, Open Folder, hello.py, ואז student_card.py. להדגים בכוונה את טעות “התיקייה הלא נכונה”. |
| רכיבי המחשב | 45 דק' | אנלוגיית המטבח. סיור ב-Task Manager. הרצת my_computer.py ו-memory_test.py (שלוש הרצות → תמיד 1). |
| הפסקה | 15 דק' | |
| מה קורה כשמפעילים תוכנה | 40 דק' | 6 השלבים על הלוח, Fetch-Decode-Execute, ואז המסלול של Python. slow_program.py + צפייה בתהליך ב-Task Manager. |
| תרגול עצמאי ודף “בדוק את עצמך” | 20 דק' | הסטודנטים עובדים על דף התרגול. המרצה עובר ומזהה מי מתקשה. |
דגשים להעברת השיעור
- לא להניח ידע. חלק מהסטודנטים מעולם לא פתחו Terminal. להסביר מה זה “סמן”, מה זה “תיקייה נוכחית”, למה מקלידים ולא לוחצים.
- להקליד מול הכיתה, לא להדביק. הסטודנטים צריכים לראות את הקצב ואת הטעויות. טעות הקלדה אמיתית מול הכיתה היא הזדמנות להדגים קריאת שגיאה.
- שגיאה היא חבר. כבר מהיום הראשון לקרוא בקול כל הודעת שגיאה: איפה כתוב מה הבעיה, באיזו שורה, מה הסוג.
- Mac מול Windows: להזכיר
python3במק, ו-/מול\בנתיבים. כדאי לכתוב על הלוח טבלת “Windows | Mac” ולהשאיר אותה כל היום. - אנלוגיות מחזקות את ההסבר, לא מחליפות אותו. אחרי אנלוגיית המטבח, לחזור למונחים המקצועיים: Volatile, Non-volatile, Register.
- הקשר להמשך: לסיים את חלק ה-RAM במשפט “בנושא Backend ומסדי נתונים נשמור מידע ב-Database בדיוק בגלל זה” — הסטודנטים צריכים להרגיש שיש סיבה ללמוד חומרה בקורס תכנות.
- ההבחנה Syntax / Runtime היא הזרע של יום ה-Debugging בנושא Python. כדאי להדגיש אותה כבר עכשיו.
מושגים
| מושג | הסבר קצר |
|---|---|
| Development Environment | סביבת הפיתוח — אוסף הכלים לכתיבה, הרצה וניהול קוד. |
| Interpreter | תוכנה שקוראת קוד Python ומבצעת אותו. |
| Code Editor | עורך טקסט מותאם לקוד (VS Code). |
| Terminal / Shell | חלון לפקודות טקסט, והתוכנה שמפרשת אותן. |
| PATH | רשימת תיקיות שבהן ה-Terminal מחפש תוכנות. |
| CPU / Core | המעבד שמבצע הוראות. ליבה היא יחידת ביצוע עצמאית בתוכו. |
| Register | תא זיכרון זעיר ומהיר בתוך ה-CPU. |
| RAM | זיכרון ראשי מהיר וזמני (Volatile). |
| Storage (SSD/HDD) | אחסון קבוע (Non-volatile), גדול ואיטי יחסית. |
| Process / PID | תוכנה בזמן ריצה, ומספר הזיהוי שלה. |
| Fetch-Decode-Execute | מחזור הביצוע הבסיסי של ה-CPU. |
| Bytecode / PVM | שפת הביניים ש-Python מתרגמת אליה, והמכונה הווירטואלית שמבצעת אותה. |
תרגיל חשיבה
שאלת פתיחה (לשאול לפני חלק “רכיבי המחשב”): “כתבתי תוכנה שסופרת כמה פעמים הרצתי אותה. הרצתי 3 פעמים, והיא תמיד מדפיסה 1. איפה הבאג?”
מהלך:
- לתת לכיתה 2–3 דקות לנחש. תשובות נפוצות: “שכחת לשמור”, “הלולאה לא נכונה”. לרשום את כולן על הלוח בלי לשפוט.
- להריץ את
memory_test.pyמול הכיתה שלוש פעמים. כולם רואים 1. - לשאול: “איפה חי
counter? מה קורה לו כשהתוכנית נגמרת?” ולהוביל ל-RAM, Volatile ו-Process שמסתיים. - לשאול: “אז איפה הייתי צריך לשמור אותו כדי שישרוד?” ולהוביל ל-Storage.
מה המרצה מראה בסוף: את טבלת ההשוואה Registers / RAM / Storage, וחץ על הלוח מ"משתנה" ל-RAM ומ"קובץ / Database" ל-Storage. משפט הסיום: “כל פעם שתרצו שמידע ישרוד, תשאלו את עצמכם: האם הוא על ה-Storage?”