Building a Real Project with Python. Advanced Level

Discover how to use the Python programming language for the development of real back-end software products.
Code: SCRIPT-007
Duration: 30 hours


Python is an extremely powerful and dynamic programming language that can be used in various application areas (including telecommunications). It is often compared with Tcl, Perl, Ruby, Scheme, or Java. This training will help you acquire advanced Python programming skills by taking part in the development of a real back-end software product.

During the course we will go through some of the key areas such as: file system interactions, object-oriented programming, cryptography, asynchronous programming, back-end software development, interactions with databases, multithreading, and package assembly.


Introduction. Brief introduction into the course
  • Key features of Python
  • Version control systems (Git)
  • Gitflow model
  • Virtual environments
  • Virtual environment deployment

File server. Project description 
  • Description of the project and project requirements
  • Project architecture

First prototype. Working with the file system
  • Working with the file system, context manager
  • Modules and imports
  • Environment variables
  • First prototype architecture
  • Developing the first prototype of a file server

Testing and maintenance
  • Main principles of code maintenance in Python
  • Standards of code formatting and documenting
  • Code testing. Pytest framework
  • Logging
  • Supporting Docstrings
  • Developing tests with the Pytest framework
  • Adding logging

Resources protection. Cryptography. Object-oriented programming
  • Object-oriented programming
  • Static class, singleton, meta-classes
  • Encapsulation in Python
  • Cryptography in Python, digital signatures
  • Hash functions
  • Symmetric and asymmetric encryption, hybrid encryption
  • Implementing OOP in a project
  • Implementation of static classes and singletons
  • Developing the functionality of file digital signatures
  • File encryption

Code transfer from Python 2 to Python 3
  • Differences between Python 2 and Python 3
  • Future package, algorithm of code transfer from Python 2 to Python 3
  • Code transfer from Python 2 to Python 3

Developing an asynchronous web server
  • GIL
  • Asynchronous programming in Python, asyncio
  • Coroutines and awaitable objects, event loop
  • Aiohttp server
  • Writing your own coroutines
  • Developing an aiohttp web server
  • Testing the developed web server

Authorization. Authentication. Using a database
  • Database structure
  • PostgreSQL DBMS
  • Database interactions in Python
  • Building SQL enquiries in Python
  • Supporting user accounts
  • User authentication and request authorization
  • Application interaction with a database

Assembly of Python packages
  • Python packages, package structure
  • Package assembly and installation
  • Assembly and installation of your own package

ADDITIONAL PART (based on audience expertise)
  • Implementation of a role-based access model
  • Role-based access model
  • ORM, SQL Alchemy
  • Implementing a role-based access restriction model
  • ORM implementation
  • Multithreaded file loader
  • Threads, demons, queues
  • Developing a multithreaded file loader


  • How to use Python for file system interactions
  • Learn to properly support code
  • Write automated tests based on the Pytest framework
  • Review the paradigm of object-oriented programming
  • How to use Python for solving cryptography tasks
  • Transferring program code from Python 2 to Python 3
  • Explore the concept of asynchronous programming in Python
  • Learn to develop a web server
  • Explore the capabilities of Python for working with databases
  • Manage access to application resources
  • How to write a multithread file loader
  • Build your own installable Python package
  • Create your own software product

Target Audience

This training is aimed at software developers, system administrators, and QA engineers who want to learn how to develop, automate, and test applications and systems using one of the most powerful programming languages available today.


  • Medium level knowledge of programming
  • Medium level knowledge of script languages
  • Understanding the principles of object-oriented programming
  • Basic knowledge of relational databases
  • Understanding the principles of HTTP
  • Passing the courses SCRIPT-002, SCRIPT-003
  • Ability to understand logical code threads

Trainer in Online
Adrian Millea Machine Learning Consultant
Adrian is working as a Reinforcement Learning scientist, and is finishing his PhD at Imperial College London. He has worked with various topics over the years, ranging from Echo State Networks to Variational Inference and Information Geometry.

He has a deep understanding of ML principles and the mathematics behind it. Some of the current practical tools he uses are Pytorch, Tensorflow, Ray, Scikit, Pandas. Adrian also works as a teaching assistant at University of Groningen.

His professional and teaching experience make Adrian the perfect choice for our Python and Machine Learning courses.
Schedule in Online Prices
Course is scheduled in: Online
15.11.2021 - 24.11.2021
Time: 09:30-13:30
Timezone: UTC +2
City: Online
Duration: 30 hours
Language: English
Adrian Millea
Machine Learning Consultant
-15% €500
Register for the next course
Registering in advance ensures you have priority. We’ll notify you when we schedule the next course on this topic
15.11.2021 - 24.11.2021
Time: 09:30-13:30
Timezone: UTC +2
City: Online
Duration: 30 hours
Language: English
Adrian Millea
Machine Learning Consultant
-15% €500
Register for the next course
Registering in advance ensures you have priority. We’ll notify you when we schedule the next course on this topic
Online €500
Bucharest €500
Krakow €500
Wroclaw €500

Invoices for the course will be issued in local currency. All fees above can change according to training location and delivery mode and are subject to change while scheduling. Price does not include VAT.

Courses you may be interested in:
20 hours
40 hours

Sign up

Choose dates
First Name*
Last Name*
Your Comment
Still have questions?
Connect with us
Thank you.
Your request has been received.
Thank you!
The form has been submitted successfully.