Be excellent with Python

קורס ללימוד תכנות מתקדם עם Python

קהל היעד

מתכנתים מנוסים שרוצים ללמוד תכנות מתקדם ב- python בקורס מזורז וכמות חומר גדולה

אני נוטה לחשוב שבקורס הזה רוכשים מקצוע

דרישות קדם

  • הכרות עם לפחות שפת תכנות אחת מתוך: C/C++/C#/Java/Python
  • יכולת קריאת חומרים מקצועיים באנגלית

רצוי בנוסף

  • ידע בסיסי ב SQL
  • ידע בסיסי בפיתוח WEB

השיטה

  • הקורס מלווה בהגשת פרויקטים, עם משוב אישי וציון
  • תעודת הסמכה בהצלחה בקורס
  • Zoom בקבוצה מצומצמת
  • יחס אישי

המרצה

סילבוס

The course slides


מבוא

  • הכרות עם סביבת הפיתוח PyCharm והתקנה במחשב
  • פתיחת פרויקט חדש
  • סוגי משתנים
  • String formatting
  • התניות, לולאות, גנרטורים, פונקציות
  • slicers
  • קלט פלט
  • שימוש ב- enumerate
  • שימוש מתקדם ב dict
  • Module Import
  • Refactor
  • פילוסופיית פייטון. PEP3 וכתיבה פייטונית. עבודה עם interpreter

הרחבות

  • עבודה עם קבצים
  • Lambda function
  • Enum
  • רקורסיה
  • עבודה עם בקרת תצורה - GitHub
  • Virtual Environment
  • שימוש ב- Exceptions
  • Decorators
  • כתיבת TDD, Unit testing

הכרות עם כמה ספריות נפוצות

  • אתר בסיסי עם flask
  • עבודה עם תמונות: Pillow
  • עבודה עם גליונות אקסל: openpyxl
  • עבודה עם גרפים פשוטים ומורכבים: matplotlib
  • שיתוף עם קהילת העולם (community)

אובייקטים בסיסיים

  • אובייקטים בסיסיים
  • שימוש ב __str__ ו- __repr__
  • שימוש ב- sorted על רשימת אובייקטים
  • שימוש ב- __lt__ ושימוש ב-sort
  • שימוש ב- Scopes
  • שימוש ב- Encapsulation

תכנות אובייקטים

  • תכנות OOD - Object Oriented Design
  • ירושות
  • כתיבת משחק שח עם אובייקטים

מבוא לפיתוח אתרים

  • עבודה בשיטת שרת-לקוח
  • הקמת שרת WEB אקטיבי ב python עם flask
  • html5, css, js, jquery
  • bootstrap 4
  • Jinja2
  • לא כלולות בקורס הספריות המתקדמות: Angular / React

עבודה בסיסית עם SQL

  • התקנת MySql
  • לימוד SQL בסיסי
  • בניית טבלאות
  • הגדרת יחסים בין טבלאות
  • פנייה ל DB עם ספריית mysql
  • תרגיל בניית אתר אקטיבי עם Database

נושאים מתקדמים

  • NoSQL DB (vs SQL), MongoDB, DocumentDB, Relational vs Hierarchical Data models. Transactions and atomic operation and how they increase dramatically DB cluster and multi client usage performance
  • עבודה עם מתמטיקה וכמויות גדולות של מידע באופן מהיר: numpy and scipy, גישה לכתיבת תוכנה כמו שנהוג ב- Matlab
  • Data Science and Deep Learning

- - -