In recent years, the demand for Python has grown dramatically. It has evolved from a little-known, highly specialized languages to one of the most popular and widespread in the world of information technology.
You can write scripts in Python to automate routine tasks, web and desktop applications, games and programs related to artificial intelligence and machine learning.
Python is a simple, straightforward, but at the same time incredibly powerful programming language. To create high-quality applications in Python, it is important to have a good understanding of its key concepts.
During our course you will learn the basics of Python and lay a solid foundation for further use in real projects.
FOR WHOM
The course is designed for those who are already familiar with the basics of programming and want to understand the features and capabilities of Python. The course is also suitable for those who already have little experience in developing or testing software products.
AT THE END OF THE COURSE YOU WILL
- Know and understand the basic concepts of Python
- Learn how to write programs in Python and create a project that you can add to your portfolio
- Learn to test your programs written in Python
- Gain basic Continuous Integration / Continuous Delivery skills for Python code
- With a basic knowledge of Python, you will be able to continue to study such trends as Data Science and Machine Learning
The course lasts 3 months and includes 14 classes.
The duration of each lesson is 2 hours. Additionally, you need time to independently perform theoretical and practical homework.
COURSE PROGRAM
Basics of Python:
- History of origin and Zen language
- Python Interactive Shell (REPL). Basic work with the terminal.
- Basic operators and data types
- Basic data structures
- Conditional operators if, elif, else
- Introduction to PEP and PEP8. Environment settings and tips for working with Python code.
Basics of syntax and programming in Python:
- While and for loops
- Errors and exceptions
- Methods of working with strings. String encoding
- Bytes, bytearray
- Files and methods of working with files
- Python 3.10 – pattern matching * – bonus if time permits
Functions in Python:
- Basics of working with functions
- Visibility areas, global and nonlocal operators
- Arguments of functions
- Anonymous lambda features
- map, filter, zip, reduce
Basic principles of OOP in Python:
- Syntax and class declarations
- Magical methods
- Types of class methods
- Inheritance and composition
Decorators:
- Closures
- Syntax of decorators
- Decorators with arguments and without arguments
Iterators, generators, itertools:
- Iterators and iterated objects
- Generator types and yield operator
- Itertools module
Modules:
- Import modules
- Namespaces
- Context managers and the contextlib module
Testing and documentation:
- Pyramid Testing
- Modules unittest and py.test
- Interpreter testing, doctrines
Processes and threads in Python:
- Global Interpreter Lock (GIL)
- Control of access to resources
- Stream synchronization
- Packages multithreading, multiprocessing, asyncio
Introduction to SQL – Part 1
- Basic PosgreSQL commands and queries
- Joins
- Requests
- Aggregate Functions in SQL
- Python and SQL
Introduction to SQL – Part 2
- CRUD in Python
- ORM vs Raw SQL
- SqlAlchemy
Web Frameworks and Libraries – Part 1
- Popular frameworks and libraries
- Flask and Django
- Jinja2 template
- The process of building and deploying applications in Docker
Web Frameworks and Libraries – Part 2
- Basic REST API
- Integration testing
- E2E testing
Graduation project:
- Git
- Docker
- Virtual
- Pandas
- Dash
- Heroku
- Django
PRELIMINARY REQUIREMENTS FOR COURSE PARTICIPANTS
- Knowledge of the basics of object-oriented programming and understanding of the principles of programming (knowledge of any programming language)
- Availability of basic programming experience
- English is not lower than Pre-Intermediate
- Additional recommendations
You will need a personal notebook with a pre-installed Python interpreter version 3 (https://www.python.org/downloads/ 3.6.4) and a convenient text editor.
Prior to the start of the training, a selection test will be conducted to assess the initial level of participants.
LANGUAGE
The training is conducted in English.