From (requirements) – basic knowledge of computer use

To (target) – a firm grasp of what Python can do, imperative, functional and objected oriented programming.

How (structure) – modular, to allow customization of topics if needed.

Strategy

Every topic is illustrated in a practical manner using exercises and code snippets.

The layout of this course is arranged so as to provide a practical approach, increasing exercises in complexity.

The course duration is 40 hours, over a 5 days period.

Topics covered

  1. Intro
    1. A brief Python history
    2. Python 2.x vs 3.x
  2. Basics
    1. The Python interpreter - simple operations
    2. Basic data types – numbers, strings, lists
    3. Builtins
  3. Flow control
    1. Conditional statements
    2. Loops
      1. Special Python features
      2. Extra builtins
  4. Intro to defining functions
  5. Time to exercise – practical recap of the above
  6. Scripts
    1. What are modules
    2. PYTHONPATH
    3. Set source encoding
    4. Best practices
  7. Coding style
    1. PEP-8
  8. Diving into functions & functional programming basics
    1. Default argument values
    2. Keyword arguments
    3. Lambda functions
    4. Documentation strings
  9. More on basic data types
    1. Dictionaries
    2. Sets
    3. Bytes
  10. More exercises – another recap of the above
  11. Important modules
    1. “Batteries included”
    2. Common modules
  12. The real power of Python strings
    1. Multi-line strings
    2. Slicing
  13. Working with files
  14. Practical app implementation – strings and files
  1. Working with databases
    1. A brief intro to sqlite3
  2. Working with sockets
    1. TCP client-server demo
    2. How to GET a web page
  3. Inter-process-communication
    1. The subprocess module
    2. Communicating through pipes
  4. Regular expressions
  5. Classes & OOP basic concepts
  6. Working with PIP
    1. Installing virtualenv
    2. Creating virtual environments
  7. Time to put everything to practice! – apps

 « Înapoi