Intensive course in Python - course RUB 122,400. from SkillFactory, training, Date: August 13, 2023.
Miscellaneous / / November 30, 2023
Emphasis on skills training, direct transfer of experience from practicing developers, constant contact with a mentor and portfolio development
You will be given modules with theory and tasks for independent work. You discuss complex topics in webinars with a mentor
3 simulators with dozens of tasks in each - to bring the use of developer tools to automation: SQL, HTML/CSS
Mentors - experienced developers - are always in touch: answer questions, give feedback on tasks, supervise projects, support motivation
5 projects: development of a telegram bot, 2 mini-games, end-to-end project “News Portal”, project “Message Board” and the final project - development of our own REST API.
Part 1. Introduction
Module 1. How to study online
Features of online learning
How to work with the educational platform
Module 2. IT in the modern world
Basic terms
Network infrastructure
Part 2. Introduction to IT
Introduction
IT in the modern world
Part 3. Introduction to Python
Module 1. Preparing for work
How to work with Python documentation
Module 2. Data types
Data types: strings, lists, tuples, variables, sets, Boolean expressions, dictionaries, collections
Types float and int. Operations with numbers. Logical operations, comparison operations. Input/output (I/O)
Module 3. Conditions and cycles
Conditions: if, else, elif
Loops: for, while.
Module 4. Functional programming
Exceptions and Error Handling
Functional programming in Python. Functions and recursion
Iterators and generators
Module 5. Tasks on covered topics
Python tasks: branching, loops, decorators
GitHub
Install and configure a version control system (Git), create a local repository, work with commits, understand the principles of branching in Git, the ability to work with branches (including resolving conflicts during merging branches)
Create your own page on GitHub, synchronize local and remote repositories.
Part 4. OOP
Module 1. Introduction to OOP
Object-oriented programming for Python. Simple classes. Classes and objects
OOP: inheritance, encapsulation, polymorphism, method and operator overloading
Module 2. Continuation of OOP
Continued work with OOP (how to implement methods common to any object, how you can conveniently implement OOP concepts using built-in class decorators), working with exceptions
Module 3. Modules and import. Working with files and data
Creating Your Own Exception Classes
Import modules.
Module 4. Algorithms and data structures
Algorithms in Python: search, sorting, trees. O-notation
Module 5. Final project on the OOP “Telegram-bot”
Tools that allow you to interact with web content: open and load Internet pages through special Python modules, and not in the usual sense through a browser.
Part 5. Backend development in Python and Django
Module 1. Introducing Django
Project Deployment
Connecting standard FlatPage applications
Installing and configuring additional CKEditor modules in the admin panel
Layout of the basic Bootstrap template
Module 2. Relational databases, database design
Obtaining a clear understanding of databases, their place in the modern world, their significance for companies of all sizes, and areas of application of the database. Knowledge of database components, understanding of how to work with information in the database
The ability to design a database, model real-world objects to represent them in a database, model the properties of these objects and the connections between them.
Knowledge of specific software and the ability to work with it - database management systems (DBMS), which allows you to create databases and work with them.
Module 3. SQL language
Familiarity with the SQL language, the ability to create databases based on the designed data model, modify and delete database objects, and manipulate data
Module 4. Objects, queries, programming in DBMS
Prepared queries, parameters;
Database objects: sequences, indexes, views, user-defined functions and some others;
Concept of programming at the DBMS level: advantages and disadvantages;
Using triggers, stored procedures and functions;
DBMS extensions for performing various tasks: time series, spatial calculations, etc.
Module 5. Models
Designing database tables and relationships +
Creating Data Models + Migrations
Module 6. Views and Templates
Customizing view views generics DetailView ListView
Layout of Bootstrap templates
Module 7. Filters and forms
Filtering and pagination DjangoFilter
Forms
Module 8. Content creation and authorization
Creating pages for adding and editing CreateView, UpdateView
Authorization and registration django-allauth
Module 9. Working with mail and completing scheduled tasks
Email confirmation by mail sending letters
Executing scheduled tasks (cron)
Creating a mailing list
Module 10. Working with asynchronous tasks using celery
Operating principles of synchronous and asynchronous interaction of application components;
Introduction to Celery and different message brokers;
Linking Celery, Redis and Django into a single system;
Adding a task to the queue;
Scheduling tasks.
Module 11. Caching
Familiarity with caching, the ability to use it in a project to optimize individual pages, parts of the template and the application as a whole
Module 12. Code quality
Testing
Static code checking flake8
Documenting the code
Type annotation, why is it needed?
Module 13. Safety
Web Security, Common Threats, Security Techniques, Django Threat Protection
Module 14. Control commands and admin settings
What control commands exist, Commands for working with data, Creating your own control commands, Advanced work with the admin panel
Module 15. Working with PostgreSQL
Connecting PostgreSQL, Using JSONField and ArrayField, Searching for text on a site, Using views
Module 16. Advanced Django capabilities
Creating your own tags and filters in templates, Studying the work of middleware and creating your own, Logging, What is SEO and why is it important today, HTML blocks for SEO, Sitemap generation. xml and adding robots. txt
Module 17 Localization and internationalization
Enabling support for different languages and language settings, Creating a translation file and generating binary translation, Content localization, Time zones
Module 18. REST architecture
Interaction of programs via API, What is REST architecture, REST API design, OpenAPI, Installation and initial setup of Django Rest Framework (DRF), Creation of CRUD API methods, Filtering and pagination of resources, Authorized access
Module 19. Django project “Message Board”
Designing models for a project, Creating views and templates, Registering and authorizing users, Working with announcements, Working with notifications
Graduate work
2 cases to choose from: development of a REST API for a real case from the Federation of Sports Tourism or a case from the banking sector