Python developer - course RUB 161,352. from Skypro, training 10 months
Miscellaneous / / November 27, 2023
Once a week, with a mentor, we discuss your questions in real time and immediately explain them in practice. We solve tasks together with the group and conduct live coding sessions.
Course program
"Python developer"
We have added 145 hours of the program so that after training you will be head and shoulders above your competitors in the labor market
You will emerge not as a Junior, but as a Junior+ specialist
Get a professional retraining diploma
Master the latest Python developer tools
neural networks for programmers (ChatGPT, Copilot)
business thinking
English for developers
choice of specialization
4 unique modules for working as a Python developer
9 real practical projects
unique thesis
Learning through practice is indistinguishable from 1 year of real work experience
Introduction to Programming and Developer Space
Introduction to the profession and the basics of algorithmization
You will learn the concept of an algorithm and its main elements, how a basic web application works, and practice implementing flowcharts on real problems.
Immersion: Collections and Nesting
Expand your knowledge of collections: get acquainted with sets and tuples. Find out what JSON is and how to work with it, explore the Requests library - a tool for sending requests to third-party resources.
Learn basic Python syntax, set up an interactive development environment, and write your first simple code to solve a real-world problem.
Strings and Dictionaries
You will work with strings: enumeration, searching for characters, dividing strings by characters and converting them to a list of characters and back, counting the number of characters in a line and replacing a character with another. You will also learn how to work with a new collection - a dictionary.
Syntax Basics
Learn basic Python functions, the concept of using variables, data types, and how to use different data types for different tasks.
Functions
Learn to divide a program into subroutines using a function, become familiar with arguments and documenting functions.
Lists and Loops
Master the very first collection - lists. Learn to use their methods, practice getting and changing data from them.
Abstractions and Objects Basics
Learn what abstractions are and how to implement them in Python. Learn to create classes, fields, instances, and methods, and move common logic into parent classes.
Selecting a development environment and installing a code editor for Python (PyCharm)
Learn what abstractions are and how to implement them in Python. Learn to create classes, fields, instances, and methods, and move common logic into parent classes.
At the end of the module you:
Mastered the basic principles of development
We did 2 course projects:
A program that converts words into Morse code and compares them with the user's response
A simple word game
Command line, Linux, Git, environment, testing
Introduction to the command line
Get acquainted with the Linux command line, install Ubuntu on your own computer, learn how to use basic Linux commands to manage the system through the command line.
Git: Basics and Working with Branches
You will learn how to manage code versions, work with changes and roll back code to a specific version, and begin working with a remote code repository - GitHub. You will practice using branches to conduct team development of a product.
Learn to work with the Linux operating system, create your own infrastructure and learn how to check your code for errors.
Setting up the environment
Learn what a virtual environment is, implement it for your project, understand what dependencies are and how to work with them. Master tools for working with virtual environments - venv and poetry.
Code Testing Basics
Find out what types of testing exist and why you need to test your own programs. Learn to write tests using unittest and pytest, and consider code coverage as tests.
Command line and Linux
You will learn what I/O streams and pipelines are, learn how to manage users in Linux, and also work with a package manager to manage installed programs.
At the end of the module you:
Mastered the principles of testing: learned to work in the professional network of GitHub developers
We made a course project: a banking transactions widget with the display of the last ten transactions on the account
Object-oriented programming (OOP)
Introduction to OOP
You will learn what OOP is, what the basic principles are in this paradigm, how a class differs from an object. Write your own class constructor and learn how to test class methods.
Access modes
Learn what modes of access to class attributes and methods there are in Python, how they differ from each other, why they are used and how they are implemented. Consider the principles of working with the @property decorator.
Learn the basic principle on which every programming language and all types of development are built.
Exceptions
You will learn what types of exceptions there are, how to handle them and prevent program execution from being interrupted. Become familiar with the try...except construct, the raise statement, and the concept of exception testing. Write your own exceptions.
Inheritance and multiple inheritance
You will learn about inheritance - one of the principles of OOP, parent and child classes, the concept of multiple inheritance and MRO. You will work with abstract classes and their connection with polymorphism.
Command line and Linux
You will learn what I/O streams and pipelines are, learn how to manage users in Linux, and also work with a package manager to manage installed programs.
2 course projects per module
Product management system for an electronics store, where the amount and discounts for items in the cart are calculated
A platform for YouTube analytics, where the popularity of channels, the duration of playlists are analyzed and the most interesting videos of the channel are displayed
Working with databases and SQL
Each site has a database - you will learn how to correctly retrieve data from it, automate and configure data transfer processes, and write basic and complex queries.
Introduction to Databases
Install PostgreSQL, learn the SQL query language syntax, create your first database and populate it with data.
Designing databases and working with tables
Get acquainted with the normal forms of tables, learn how to design your database taking into account the task. You will work with changing and deleting data and entire tables, learn to work with the restrictions that relationships between tables impose on data.
Basic SQL queries and advanced syntax
Learn about operators for getting, sorting, filtering, grouping data, learn how to link tables among themselves, make data selections from related tables in various ways, use subqueries when sample.
At the end of the module you:
Mastered the SQL language for querying tables and learned how to work with large amounts of data: filter, change and aggregate information
We made a course project: a database that automatically fills and stores information about interesting vacancies in companies that you choose for employment
Working in the Django framework
Each site has a database - you will learn how to correctly retrieve data from it, automate and configure data transfer processes, and write basic and complex queries.
Introduction to Databases
Install PostgreSQL, learn the SQL query language syntax, create your first database and populate it with data.
Basic SQL queries and advanced syntax
Learn about operators for getting, sorting, filtering, grouping data, learn how to link tables among themselves, make data selections from related tables in various ways, use subqueries when sample.
Designing databases and working with tables
Get acquainted with the normal forms of tables, learn how to design your database taking into account the task. You will work with changing and deleting data and entire tables, learn to work with the restrictions that relationships between tables impose on data.
At the end of the module you:
Mastered the SQL language for querying tables and learned how to work with large amounts of data: filter, change and aggregate information
We made a course project: a database that automatically fills and stores information about interesting vacancies in companies that you choose for employment
Working in the Django framework
Web Basics
Understand how the computer, network and server are connected and how browsers respond to user requests. Create a browser-based web application that displays information on demand.
Getting to know and working with Django
Learn how to create and configure a Django project, retrieve data, and return a response to a request.
Learn to work in the most popular Python development framework - Django. All complex and large applications are collected on it.
Different types of representations: FBV and CBV
Learn the base classes for implementing controllers (CRUD), method overriding, and how to translate a controller from a function to a class.
At the end of the module you will do a large course project:
Write an email newsletter service with an authorization function and different access roles: administrator, reader, guest. Implement an interface for managing emails and obtaining statistics about the program’s operation
Templating
You will understand how to connect a template to a project, use subtemplates and several templates at once. Learn Bootstrap, which is responsible for the application interface.
Forms and Authentication
Learn to work with forms and formats, redefine the logic of their work and set the visual design. You can create an authentication model and edit it so that users can register and log in to the site.
Caching and working with environment variables
Understand how to store information about the business logic of the application. You will learn how to implement caching in a project, and learn how to use caching of a site or its parts.
At the end of the module you will do a large course project:
Write an email newsletter service with an authorization function and different access roles: administrator, reader, guest. Implement an interface for managing emails and obtaining statistics about the program’s operation
Web Basics
Understand how the computer, network and server are connected and how browsers respond to user requests. Create a browser-based web application that displays information on demand.
Getting to know and working with Django
Learn how to create and configure a Django project, retrieve data, and return a response to a request.
Learn to work in the most popular Python development framework - Django. All complex and large applications are collected on it.
Different types of representations: FBV and CBV
Learn the base classes for implementing controllers (CRUD), method overriding, and how to translate a controller from a function to a class.
At the end of the module you will do a large course project:
Write an email newsletter service with an authorization function and different access roles: administrator, reader, guest. Implement an interface for managing emails and obtaining statistics about the program’s operation
Templating
You will understand how to connect a template to a project, use subtemplates and several templates at once. Learn Bootstrap, which is responsible for the application interface.
Forms and Authentication
Learn to work with forms and formats, redefine the logic of their work and set the visual design. You can create an authentication model and edit it so that users can register and log in to the site.
Caching and working with environment variables
Understand how to store information about the business logic of the application. You will learn how to implement caching in a project, and learn how to use caching of a site or its parts.
Working with Web APIs in Django REST Framework
Set up data exchange between different applications and prepare the project for transfer to web developers.
Viewets and generics
Set up the Django REST Framework, work with Postman and describe controllers based on viewsets and generics.
Serializers
Learn how to extend or create custom fields and implement multiplicity in serializers.
Access rights in DRF
Learn the process of connecting to a JWT project for authorization. You will learn how to set access rights to a model, object or controller and how to edit them to suit business requirements.
Validators and tests
Learn different testing approaches within Django to improve the quality of your project.
Documentation
Learn how to correctly prepare documentation and modify it before handing over your application to web developers.
Celery
Learn what task queues, deferred tasks, and periodic tasks are. Learn how to create them.
At the end of the module you will do a course project:
Write a tracker of useful habits. The service will synchronize with Telegram and send reminders to the user
Docker basics and deployment
Docker Basics
Learn to work with Docker on various operating systems, create containers, and regulate their operation based on the performance of the project and customer requirements. Pack the project into a Docker container and write the first instructions for the Dockerfile.
Docker Compose
Learn to run multiple applications and install containers using Docker Compose.
Learn how to quickly and universally deliver applications to the server.
Deploy
Get acquainted with the basic steps of deploying a project on a remote server, learn how to connect to it, and learn about working with SSH keys.
Continuous Integrations CI/CD
Learn the GitLab CI/CD architecture, yml file syntax, and write your own file describing how to build and deploy an application via CI/CD. Understand the algorithm for setting up a server for CI/CD deployment, register and install your own runners for project deployment.
At the end of the module you will do a course project:
Deploy any previously completed coursework in Docker
Working in the FastAPI framework
Learn to work in the new framework, find out why it is faster and more productive than Django and which one is better to choose for your work.
FastAPI Basic Concepts
Learn routing, request and response parameters, asynchrony, and API documentation.
Comparative analysis of FastAPI and Django
You will understand the pros and cons, what tasks each framework can solve and how to choose which one to work with.
Practice
Do the same task in FastAPI and Django, see how the development principle differs in each framework.
Additional bonus when looking for a job:
At the end of the module you will be able to work not only in the basic framework, but also in an advanced development tool
Preparing for interviews on algorithms
Any large company separately tests knowledge of algorithms and data structures. We are preparing for this in a special block.
Key questions for an algorithmic interview
You will learn what people pay attention to, what trick questions they can ask and how to answer them.
Theoretical lessons + practice simulator
Once you practice your skills and solve problems, at the interview they will ask exactly how many similar problems you have completed, and they will choose you based on this skill. Therefore, the more, the better.
Additional bonus when looking for a job:
At the end of the module, you have a ready-made portfolio of a dozen solved problems.
Business thinking: the first step towards becoming a team leader
We teach you not just to do a task, but to understand why you are doing the task, what benefits it brings to the business - and find a more effective solution.
There are no specific lessons here, because business thinking is a cross-cutting skill that is taken into account in every module of the program.
At the end of the module you:
You will gain experience solving real problems, learn to look for errors in other people's code, and stand head and shoulders above other newcomers on the market.
Neural networks: writing code with ChatGPT, Copilot
Collecting simple code with ChatGPT
You will understand which tasks ChatGPT can handle and which ones you should not trust it with. You will learn how to use neural networks in simple areas of work to relieve yourself of routine tasks.
Code review using Copilot
Reduce time for code review, find errors and increase work efficiency.
Learn to solve basic problems using neural networks and speed up working with code.
Quickly scan search engines to find the materials you need
Learn to use neural networks instead of “Google” - correctly compose a query in order to get a ready-made selection of articles with the correct answers to the desired question and save time on searching.
At the end of the module you:
One step ahead of other newcomers in the field
Don't be afraid to lose your job because of neural networks
You know how to automate routine tasks
English for Python Developer
Learn 180 Key Terms Developers Face Every Day
Improve your level to easily read important development documentation that is not available in Russian
Russian-speaking teacher, suitable for any level of English knowledge
4 free lessons with a personal teacher to overcome the language barrier
At the end of the module you:
You can read the latest developments of English-speaking colleagues, apply them in your work and be one step ahead
Know how to name functions in clear English words so that both you and your colleagues can easily use the code
Don’t get stressed when colleagues use English terms: you all know them
Only in individual tariff
Choosing 1 of 4 areas for development in Python
Choosing a direction
You will learn in detail about the main current trends in Python development and choose which one you want to develop in: backend, full stack, working with algorithms or asynchronous programming.
Preparation for the thesis
Choose your own project that best demonstrates your skills for the specific direction you have chosen.
You will go through an important fork in the road with us: choose the direction of development as a Python developer and prepare to look for a job.
Additional bonus when looking for a job
At the end of the module, you will have a clear plan for developing a unique thesis project that will go into your job search portfolio
Introduction to Frontend: HTML, CSS, JavaScript
Graduate work
Web Basics
Understand how the computer, network and server are connected and how browsers respond to user requests. Create a browser-based web application that displays information on demand.
Getting to know and working with Django
Learn how to create and configure a Django project, retrieve data, and return a response to a request.
Learn to work in the most popular Python development framework - Django. All complex and large applications are collected on it.
Different types of representations: FBV and CBV
Learn the base classes for implementing controllers (CRUD), method overriding, and how to translate a controller from a function to a class.
At the end of the module you will do a large course project:
Write an email newsletter service with an authorization function and different access roles: administrator, reader, guest. Implement an interface for managing emails and obtaining statistics about the program’s operation
Templating
You will understand how to connect a template to a project, use subtemplates and several templates at once. Learn Bootstrap, which is responsible for the application interface.
Forms and Authentication
Learn to work with forms and formats, redefine the logic of their work and set the visual design. You can create an authentication model and edit it so that users can register and log in to the site.
Caching and working with environment variables
Understand how to store information about the business logic of the application. You will learn how to implement caching in a project, and learn how to use caching of a site or its parts.
Working with Web APIs in Django REST Framework