Programming in Python

Fundamentals

Syllabus: ( Show sub-themes Hide sub-themes )

  1. Introduction2

    1. Course intro.
    2. What's the use of Python?
    3. Python distributions.
    4. Install and setting up Python (on Windows, Mac, Linux).
    5. Write first Python script (using IDLE).
    6. Python IDEs and text editors.
    7. Write Python in VS Code
  2. Installing Python Packages - the safe way2

    1. PIP - the Python Package Manager
    2. Python Virtual Environments with Pipenv
    3. pipenv - example: simple_plot with matplotlib
    4. pipenv with VS Code
  3. Strings and Numbers in Python. Simple Expressions. Variables. Comments.4

    1. What's in a program?
    2. Numeric Types: integers, floating point numbers, and complex numbers.
    3. Python arithmetic.
    4. Strings. Common operations.
    5. Variables and naming conventions.
    6. How to comment our code?
    7. Exercises.
  4. Basic IO and string formatting2

    1. Basic IO.
    2. Formatted strings.
  5. Logical Expressions and Conditional Statements4

    1. Boolean type.
    2. Logical operators.
    3. if:elif:else statements.
    4. Exercises
  6. Loops in Python2

    1. while/do loops.
    2. for loops.
    3. break, continue.
  7. Basic data structures - Sequence Types4

    1. Lists
    2. Tuples
    3. Range Objects
    4. Strings as sequence
  8. More Data Types: Dictionaries and Sets2

    1. Dictionaries
    2. Operations with Dictionaries
    3. Sets
    4. Set Operations
  9. Functions4

    1. What are Functions?
    2. Function Definition
    3. Function Call
    4. Function Parameters (positional, keywords)
    5. Arguments unpacking - the ** operator
    6. Function Return Values
    7. Variables Scope
  10. Exceptions: raising and handling2

    1. What are Exceptions
    2. Exceptions Handling
    3. Handling different Exception Types
    4. Raising Exceptions
  11. Basic OOP concepts in Python4

    1. OOP - Main Concepts
    2. Classes and Objects in Python
    3. Attributes
    4. Class Constructor
    5. Magic (dunder) methods
    6. Encapsulation and Data Hiding
    7. Inspecting Classes and Objects.
  12. Iterators. Generators2

  13. Advanced OOP topics in Python2

    1. Inheritance
    2. Method overriding
    3. Operator overloading
    4. Duck typing
  14. Functional programming in Python2

    1. decorators.
    2. lambda expressions.
    3. map/filter/reduce.
  15. Reflection in Python2

    1. dir(), type() and id() functions
    2. hasattr(), getattr() and setattr()
    3. isinstance() and issubclass() functions
    4. the inspect built-in module
  16. Organizing code: more on importing modules2

    1. Creating a custom Python modules
    2. Import module
    3. Module alias
    4. Import object from module
    5. Where import looks for a module?
    6. Relative import
    7. Python's built-in and third-party modules
    8. Packages in Python
    9. Import-related module attributes (__name__, __file__)
  17. Notable Standard Library Modules1

    1. sys - interface with Python Interpreter
    2. command line arguments
    3. other useful standard library modules
  18. Date and Time support1

    1. datetime.date
    2. datetime.time
    3. datetime.datetime
    4. datetime.timedelta
  19. The Python process and OS services2

    1. Execute external commands with Python
  20. Using the file-system2

    1. Directory Manipulations
    2. Files Manipulations
  21. Various formats handling3

    1. Parse JSON
    2. Parse CSV
    3. Parse XML
  22. Unicode in Python1

    1. Unicode Overview
    2. Python’s Unicode Support
  23. Debugging Python applications2

    1. How to Debug A Python Code?
    2. Overview of VSCode Debugger
    3. Debug menu
    4. Setup/Launch configurations
    5. Basic debug Commands (Start/Stop; Continue/Pause; Step Over/Into/Out; )
    6. Set Breakpoints
    7. Watch Variables
  24. Practicalities: linting, testing, documentation.2

    1. Python Best Practises: PEP8 && PEP20
    2. Linters
    3. Documentation Conventions
    4. Unittest
    5. Intro to py.test
  25. Data science basics4

    1. The data science process
    2. Frame the concepts: Big data, Machine Learning, No SQL, Graph Database, NLP, Data Visualization
    3. Pyhton in DataScience: numpy, pandas,
    4. Demo with Jupiter Notebook
  26. Parallel programming: multithreading and multiprocessing1

    1. Shape the concepts: multithreading, multiprocessing
    2. Example using the built-in multiprocessing module
  27. Async programming: asyncio1

    1. Asynchronous vs Synchronous vs Parallel Execution
    2. Basics of Python asyncio library
    3. An async consumer-producer example
  28. Web Programming with Django2

    1. What is Django
    2. A demo example of ToDo List app with Django
  29. Databases: SQLalchemy2

    1. What is an ORM?
    2. SQLAlchemy - the Python ORM
    3. Connect, Declare a Mapping,Create a Schema
    4. Demo example with SQLAlchemy and SQLite3
  30. Databases: NoSQL2

    1. SQL vs NoSQL
    2. MongoDB overview
    3. pymongo - accessing MongoDB from Python
    4. Demo example with pymongo

Общо часове: 0