שיעור 1טיפול בתאריך ושעה: יצירת ועיצוב חותמי זמן, מודעות לאזורי זמן, ייצוג ISO 8601 (ממשקי API ספציפיים לשפה)טיפול בתאריכים, זמנים ואזורי זמן באמצעות ממשקי API של השפה. למדו ליצור חותמי זמן, לנתח ולעצב ערכים, לעבוד עם ISO 8601 ולמנוע מלכודות נפוצות כמו שעון קיץ ושימוש לא נכון ב-datetime.
Date, time, and datetime objectsCreating and parsing timestampsFormatting and ISO 8601 stringsTime zones and offsets handlingDuration, period, and arithmeticשיעור 2תכונות מתקדמות של סוגים: הערות טיפוס (מודול typing ב-Python) או generics (Java), enums, סוגים אטומים (אם רלוונטי)צללו לתכונות מתקדמות של מערכת הסוגים כמו הערות טיפוס (מודול typing ב-Python) או generics (Java), enums וסוגים אטומים (אם רלוונטי). למדו כיצד כלים אלה משפרים בטיחות, ביטוייות ותחזוקה בקוד בסיסי גדול.
Type annotations or generics basicsParameterized collections and APIsEnums for finite state modelingSealed or restricted inheritance typesType inference and compiler checksשיעור 3ממשקי I/O וקבצי מערכת של ספריית הסטנדרט: קריאה/כתיבה של קבצים, טיפול בנתיבים, כתיבה אטומית ונעילת קבצים בסיסיתעבדו עם ממשקי I/O וקבצי מערכת של ספריית הסטנדרט לקריאה וכתיבה של קבצי טקסט או בינארי. למדו על נתיבים, ספריות, buffering, כתיבה אטומית ונעילת קבצים בסיסית כדי לשמור על נתונים בטוחים ועקביים.
Paths, directories, and file handlesReading and writing text filesBinary I/O and buffering strategiesAtomic writes and temporary filesFile locks and concurrency basicsשיעור 4פונקציות ומתודות: חתימות, פרמטרים ברירת מחדל/אופציונליים, varargs, פונקציות טהורות לעומת תופעות לוואיהבינו כיצד להגדיר ולקרוא לפונקציות או מתודות, כולל פרמטרים, ערכי החזרה ועומס יתר או ארגומנטים ברירת מחדל. למדו על varargs, פונקציות טהורות, תופעות לוואי ועיצוב ממשקי API נקיים וניתנים לשימוש חוזר.
Defining functions and method signaturesPositional, named, and default parametersVarargs and overloading strategiesPure functions versus side effectsDesigning clear, reusable APIsשיעור 5סוגים בסיסיים ומורכבים: מספרים, מחרוזות, בוליאנים, רשימות/מערכים, מילונים/מפות, קבוצותחקרו סוגי נתונים בסיסיים ומורכבים, כולל מספרים, מחרוזות, בוליאנים, רשימות/מערכים, מילונים/מפות, קבוצות. למדו לבחור מבנים מתאימים, להבין mutability ולעבוד עם פעולות נפוצות לאחסון ושינוי נתונים.
Numeric types, literals, and overflowStrings, encoding, and interpolationBooleans and conditional expressionsLists, arrays, and indexing operationsMaps, dictionaries, and set collectionsשיעור 6מחלקות, אובייקטים ויסודות OOP: בונים, שדות, מתודות, שדות גישה (ציבורי/פרטי/מוגן), חברים סטטייםהיכרות עם תכנות מונחה עצמים באמצעות מחלקות ואובייקטים. למדו להכריז על שדות ומתודות, להשתמש בבונים, ליישם שדות גישה ולעבוד עם חברים סטטיים כדי למדל תחומי מציאות אמיתיים ביעילות.
Declaring classes and creating objectsFields, properties, and encapsulationConstructors and initialization logicAccess modifiers and visibility rulesStatic fields, methods, and utilitiesשיעור 7טיפול בחריגים והתפשטות שגיאות: try/catch/finally, יצירת חריגים מותאמים אישית, שיטות עבודה מומלצות להודעות שגיאה למשתמשלמדו כיצד חריגים מייצגים שגיאות, כיצד בלוקים try, catch ו-finally עובדים וכיצד שגיאות מתפשטות. עצבו סוגי חריגים מותאמים אישית וצרו הודעות למשתמש שמאובטחות, ברורות וניתנות לפעולה.
Exception hierarchy and error categoriesTry, catch, finally control flowThrowing and propagating exceptionsDefining custom exception classesUser-facing error messages and loggingשיעור 8זרימת בקרה ואיטרציה: if/else, switch (או match), לולאות for/while, comprehensions (Python) או for משופר (Java)שלטו בהיגיון תנאי ולולאות באמצעות if/else, switch או match ולולאות for או while. למדו דפוסי איטרציה, קצר-מעגל, comprehensions או for משופר, ומניעת מלכודות זרימת בקרה נפוצות.
If/elif/else and nested conditionalsSwitch or match expressions and patternsWhile loops and loop terminationFor loops, ranges, and iteratorsComprehensions or enhanced for usageשיעור 9תחביר ומבנה תוכנית בסיסי: קבצים, מודולים/חבילות (import/require), קונבנציות נקודת כניסהלמדו כיצד לארגן קבצי מקור, לסדר קוד למודולים או חבילות ולהגדיר נקודת כניסה ברורה לתוכנית. הבינו שמות, ייבוא, נראות וקונבנציות פריסה ששומרות על פרויקטים קריאים וניתנים לתחזוקה.
Source file layout and naming rulesModules, packages, and import mechanicsEntry point patterns and main functionsCode style and indentation conventionsOrganizing multi-module projects