קורס תכנות ב-Python

על הקורס

  • פייתון (Python) היא שפת תכנות מונחית עצמים רבת עוצמה, בעלת שימושים רבים ונפוצה מאוד. פשטות ויעילות השפה הפכו אותה לאחת הפופולאריות בעולם וכיום היא נמצאת בשימוש רב במגוון רחב של תחומים.
  • בשל יכולות החישוב הגבוהות שלה, פייתון נחשבת כיום לשפה מאוד יעילה בתחומי ה-Data, הסטטיסטיקה, פיתוח web ואפליקציות (בעיקר צד שרת), רשתות, ואף בתחום פיתוח ממשקים גרפיים.
  • קורס זה מקנה למשתתפיו ידע מעשי בשפת פייתון ומכשיר אותם לתחילת עבודה עם השפה. הקורס כולל תרגול רב ומיועד לחסרי ניסיון ומתכנתים מנוסים כאחד.

קהל היעד

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

יעדים מרכזיים

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

נושאי הקורס

  • Introduction to Python
  • Printing in Python, using Literal Expressions
    There are several ways to present the output of a program; data can be printed in a human-readable form, or written to a file for future use. This module will discuss some of the possibilities.
  • Variables
    Python is completely object oriented, and not "statically typed". You do not need to declare variables before using them, or declare their type. Every variable in Python is an object. This module go over a few basic types of variables.
  • Strings and Numbers
    Number data types store numeric values, Strings are amongst the most popular types in Python. This module presents basic capabilities Python has in this area.
  • Printing data from users
    There are several ways to assign values to variables, this module present a way to prompt to the user, get input from him, and return the data input as a string.
  • Working with data types
    Python has various standard data types that are used to define the operations possible on them. This module describes ways to combine different data types together and convert values from one type to another.
  • Slicers
    How do you get sub-elements from a sequence of values? Python has an amazing feature just for that called slicing. Python slicing is a computationally fast way to methodically access parts of your data. This module explains how slicing in Python works.
  • Control structures
    Algorithms require two important control structures: iteration and selection. Both of these are supported by Python in various forms. The programmer can choose the approach that is most useful for the given circumstance

    • IF conditions
    • Loop structures
    • Using the Range function
  • Data Structures
    There are quite a few data structures available. The built-ins data structures are: lists, tuples, dictionaries, and sets. This module describes those data structures, and explains how to use each of them.

    • Lists
    • Tuples
    • Sets
    • Dictionaries
  • Working with files
    Opening, reading and writing to files is one of the most fundamental operations in programming and in this module we will learn just that. Python uses file objects to interact with external files on the computer and it’s syntax is quite straightforward and easy to understand.
  • List Comprehensions
    In addition to sequence operations and list methods, Python includes a more advanced operation called a list comprehension, which is used to construct lists in a very natural, easy way. In this module we will go over several ways to describe lists In short, clutter free and clean code.
  • Modules
    Much of the powerful functionality of Python comes through external modules and packages. Modules are Python files, which implement a set of  definitions, methods, and statements that extends the functionality of Python dramatically. This module teaches how to find, install and use those modules.
  • Functions
    This module deals with what a function is in Python and how to create one. Functions are one of the main building blocks in any programming language and becomes even more important when we construct larger and larger amounts of code to solve problems.
  • Lambda
    One of Pythons most useful tools is the lambda expression. lambda expressions allow us to create "anonymous" functions quickly, without needing to properly define them.Lambda is best used when utilized by a number of special and particularly useful functions, which we will go through thoroughly in this module:

    • Map
    • Reduce
    • Filter
  • Zip, Enumerate, All and Any Functions
    In this module we will learn about more extremely useful built-in functions, which are useful in a wide variety of cases and scenarios.
  • Variables Scope
    This module discusses the way Pythons deals with variable names assigned on different levels. Each variable has a scope as a part of it’s definition , which determines the visibility of that variable name to other parts of the code. Understanding this concept is crucial to any developer.
  • Introduction to Object Oriented Programming
    Object-Oriented Programming (OOP) is a rather complex concept, and this module explores what it means, what classes are, when to use them, and how they can be useful. OOP is essential in fully utilizing the power of the Python language in creating complex applications
  • Error Handling
    In this module we will learn about Errors and Exception Handling in Python.
    “Exception Handling” is a very important feature which is provided by Python to handle any unexpected error our programs and to add debugging capabilities in them.
  • Working with Dates and Time
    Python has the datetime module to help deal with timestamps. From centuries to microseconds, every time unit can be represented and computed with Python

    • Date objects
    • Time objects
  • Iterators and Generators
    Generators allow us to generate computed values as we go along, instead of holding
    everything in memory.
    This module of the course discusses the difference between iteration and
    generation in Python and how developers can construct their own Generators.
  • Introduction to Regular Expressions in Python
    Regular expressions are text matching patterns described with a formal syntax. Regular expressions can include a variety of rules, from finding repetition, to text-matching, and much more. A lot of parsing problems can be solved with regular expressions and they are common in most developing environments which makes this module very useful for every developer working closely with textual data.