המחשב ומערכת ההפעלה מערך שיעור למרצה

מערך שיעור: סביבת עבודה ומבנה המחשב

משך: יום לימוד מלא — 6 שעות אקדמיות (270 דקות).

מטרת השיעור: הסטודנטים יגיעו לסוף היום עם סביבת עבודה תקינה, יריצו קוד Python בעצמם, ויבינו את התמונה הבסיסית של מה שקורה “מתחת למכסה” כשקוד רץ.

בסוף השיעור הסטודנטים צריכים:

  1. להריץ קובץ Python מה-Terminal ומכפתור Run, מתוך תיקיית עבודה מסודרת.
  2. להסביר במילים שלהם את התפקיד של CPU, RAM, Storage ו-Registers ואת ההבדל בין זיכרון זמני לקבוע.
  3. לתאר את המסלול מקובץ על הדיסק ועד Process שרץ, ולהבחין בין Syntax Error ל-Runtime Error.

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


מהלך השיעור

חלק בשיעורמשךהערות ודגשים
פתיחה והיכרות25 דק'היכרות קצרה, תיאום ציפיות, הצגת מבנה הקורס והאתר: כפתור “סמן כהושלם”, דפי התרגול, פתרונות נפתחים.
התקנות — Python, VS Code, Git50 דק'הדגמה על המסך צעד-צעד, הסטודנטים מתקינים במקביל. עוזר הוראה עובר בין השולחנות.
בדיקת תקינות ופתרון תקלות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. איפה הבאג?”

מהלך:

  1. לתת לכיתה 2–3 דקות לנחש. תשובות נפוצות: “שכחת לשמור”, “הלולאה לא נכונה”. לרשום את כולן על הלוח בלי לשפוט.
  2. להריץ את memory_test.py מול הכיתה שלוש פעמים. כולם רואים 1.
  3. לשאול: “איפה חי counter? מה קורה לו כשהתוכנית נגמרת?” ולהוביל ל-RAM, Volatile ו-Process שמסתיים.
  4. לשאול: “אז איפה הייתי צריך לשמור אותו כדי שישרוד?” ולהוביל ל-Storage.

מה המרצה מראה בסוף: את טבלת ההשוואה Registers / RAM / Storage, וחץ על הלוח מ"משתנה" ל-RAM ומ"קובץ / Database" ל-Storage. משפט הסיום: “כל פעם שתרצו שמידע ישרוד, תשאלו את עצמכם: האם הוא על ה-Storage?”