Python — отличный выбор для новичков. Простой, понятный — достаточно основ, чтобы начать программировать. А почему Python 3? Самая востребованная версия языка открывает возможности для успешной карьеры в разных областях — от веб-разработки до искусственного интеллекта. На курсе вы освоите не только язык программирования, но и инструмент для работы с данными — SQL. Получите +100 к конкурентоспособности на рынке и будьте уверены в своём будущем.
- Введение в PythonПочему Python?Python с технической точки зрения.Python 2 vs Python 3.Стандартная библиотека.Редакторы кода для Python.Инсталлируем дистрибутив Anaconda.Введение в Anaconda.Jupyter Notebook не запускается через Anaconda Navigator?Базовые сведения о Python. Тест.
 
- Функции и модулиПомощь по функциям.Встроенные функции.Основы функций.Лямбды.Вложенные функции и область видимости переменных.Декораторы.Декоратор @wraps.Тест по функциям.Практика по функциям 1–4.Разбор практики по функциям 1–4.Практика. «Игра в палочки».Разбор. «Игра в палочки».
 
- Дополнительные материалы. Введение в многопоточное программированиеТерминология.Процессы и потоки.Виды процессинга.GIL.
 
- Основы PythonОбзор основных типов данных.Числа и элементарная математика.Переменные.bool и None.Тип string.Функции string.Форматирование строк.Операторы сравнения.Операции над файлами.Строки и байты: str, bytes, bytearray.Основы Python. Тест.Практика. Python Basics (основы).Разбор. Python Basics (основы).
 
- Финальная практикаЗадания для самопроверки.Задания 1–4. Решения.Задание 5. Решение.Практика. «Парсинг римских чисел».Разбор. «Парсинг римских чисел».Практика. «Виселица».Разбор. «Виселица».Практика. «Верю — не верю».Разбор. «Верю — не верю».
 
- Ошибки и исключения. Автоматизированные тестыОсновы обработки ошибок.Выброс исключений. Кастомные типы исключений.Основы юнит-тестирования.Работа с ошибками. Тест.
 
- Модули и пакетыPyPi и Pip.Модули и пакеты.Ещё раз о __name__ и __main__.Модули и пакеты. Тест.
 
- Функции и модулиПомощь по функциям.Встроенные функции.Основы функций.Лямбды.Вложенные функции и область видимости переменных.Декораторы.Декоратор @wraps.Тест по функциям.Практика по функциям 1–4.Разбор практики по функциям 1–4.Практика. «Игра в палочки».Разбор. «Игра в палочки».
 
- DDL . Управляем БД и таблицамиУправляем таблицами.Практика. DDL, №1.Разбор. DDL, №1.Primary Key.Foreign Key.Check.Default.Sequences.Sequences & Tables.INSERT.UPDATE, DELETE, RETURNING.Практика. DDL, №2.Разбор. DDL, №2.
 
- Что нового в Python 3.8Обзор нововведений.Устанавливаем Python 3.8 и создаём проект.Walrus-оператор.Навязывание позиционных аргументов.Улучшения в системе type hints.Перегрузка с @overload.Duck Typing и протоколы.Упрощённый вывод значений в интерполированных строках.
 
- Финальная практикаЗадания для самопроверки.Задания 1–4. Решения.Задание 5. Решение.Практика. «Парсинг римских чисел».Разбор. «Парсинг римских чисел».Практика. «Виселица».Разбор. «Виселица».Практика. «Верю — не верю».Разбор. «Верю — не верю».
 
- Дополнительные материалы. Модуль asyncioВведение в asyncio.Простейший пример с asyncio.Event Loop. Введение.Event Loop. Демо.Демо с aiohttp.Демо с aiofiles.Futures & Tasks.Демо Task API.Обёртываем Thread через Future.async for.Обработка исключений.Обработка исключений. Демо.Отмена. Введение.Отмена с gather.Отмена с wait. Кооперативная отмена.async IO vs sync IO.
 
- Дополнительные материалы. Введение в многопоточное программированиеТерминология.Процессы и потоки.Виды процессинга.GIL.
 
- Коллекции, циклы и логика в Pythonlist — список.dict — словарь.OrderedDict vs dict.tuple — кортеж.namedtuple — именованные кортежи.Логика с условиями.set — множество.Цикл for.list comprehension.Цикл while, continue, break.Циклы. Практика 1–2.Циклы. Практика 1–2. Решение.Циклы. Практика 3–5.Циклы. Практика 3–5. Решение.Циклы. Практика 6. Определяем Flush.Циклы. Практика 6. Определяем Flush. Решение.Циклы. Практика 7. Палиндром.Циклы. Практика 7. Палиндром. Решение.Практика 8. «Угадай число».Практика 8. «Угадай число». Решение.Практика 9. «Камень, ножницы, бумага».Практика 9. «Камень, ножницы, бумага». Решение.Коллекции и циклы. Тест.
 
- Что нового в Python 3.8Обзор нововведений.Устанавливаем Python 3.8 и создаём проект.Walrus-оператор.Навязывание позиционных аргументов.Улучшения в системе type hints.Перегрузка с @overload.Duck Typing и протоколы.Упрощённый вывод значений в интерполированных строках.
 
- ООП в PythonОсновы классов.Атрибуты и методы.Константы. Защищённые и приватные атрибуты. Свойства.Статические методы @staticmethod, @classmethod.Наследование и полиморфизм.Множественное наследование.Миксины.Абстрактный класс и модуль ABC.Магические методы.Задания для самопроверки 1–6.Задания 1–3. Разбор.Задания 4–6. Разбор.Практика. «Крестики-нолики».Разбор. «Крестики-нолики».ООП в Python. Тест.
 
- Дополнительные материалы. Модуль ThreadingОднопоточность. Демо проблемы.Потоки Foreground & Background.Executor API.«Параллельное» исполнение против последовательного.submit-демо.map-демо.Синхронизация потоков.Гонка и Lock.Deadlock.Демо Deadlock.Синхронизация сигналами.Применяем Event.Семафор.Моделируем ночной клуб семафором.Барьер.Атомические операции.Отмена потоков.Отмена убийством процесса.Базовая отмена с флагом.Имплементируем отмену через паттерн Unit of Work.Подытоги.Обработка исключений.Обработка исключений. Демо.
 
- Ошибки и исключения. Автоматизированные тестыОсновы обработки ошибок.Выброс исключений. Кастомные типы исключений.Основы юнит-тестирования.Работа с ошибками. Тест.
 
- ООП в PythonОсновы классов.Атрибуты и методы.Константы. Защищённые и приватные атрибуты. Свойства.Статические методы @staticmethod, @classmethod.Наследование и полиморфизм.Множественное наследование.Миксины.Абстрактный класс и модуль ABC.Магические методы.Задания для самопроверки 1–6.Задания 1–3. Разбор.Задания 4–6. Разбор.Практика. «Крестики-нолики».Разбор. «Крестики-нолики».ООП в Python. Тест.
 
- Движемся дальшеВведение в линтеры.Установка «системного» Python.Виртуальное окружение.Установка PyCharm.Создаём проект в PyCharm.Refactoring, Quick Fixes, Debugging в PyCharm.Type Hints.Введение в dataclasses.
 
- Соединения (Joins)Знакомство с соединениями.INNER JOIN.LEFT, RIGHT JOIN.SELF JOIN.USING & NATURAL JOIN.AS (псевдонимы).Практика. Joins.Разбор. Joins.
 
- Введение в SQLОсновные концепции.Реляционная модель и SQL.Почему PostgreSQL?Инсталлируем PostgreSQL.Типы данных в PostgreSQL.Создание БД.Создание таблиц.Отношение «один ко многим».Отношение «один к одному».Отношение «многие ко многим».Создаём Northwind.
 
- ПодзапросыВведение в подзапросы.WHERE EXISTS.Подзапросы с квантификаторами ANY, ALL.Практика. «Подзапросы».Разбор. «Подзапросы».
 
- Дополнительные темыОтладка.Реализуем Stack.datetime — даты и время.Singleton Design Pattern: __new__ и __init__.Pickle — консервирование.repr and str, eq and ne, eval.Deep copy vs Shallow copy.Enum — перечисления.Работаем с JSON.Генераторы.Модуль itertools.Интроспекция.Модуль requests.Управление памятью.Дополнительные темы. Тест.
 
- Основы PythonОбзор основных типов данных.Числа и элементарная математика.Переменные.bool и None.Тип string.Функции string.Форматирование строк.Операторы сравнения.Операции над файлами.Строки и байты: str, bytes, bytearray.Основы Python. Тест.Практика. Python Basics (основы).Разбор. Python Basics (основы).
 
- Дополнительные темыОтладка.Реализуем Stack.datetime — даты и время.Singleton Design Pattern: __new__ и __init__.Pickle — консервирование.repr and str, eq and ne, eval.Deep copy vs Shallow copy.Enum — перечисления.Работаем с JSON.Генераторы.Модуль itertools.Интроспекция.Модуль requests.Управление памятью.Дополнительные темы. Тест.
 
- Модули и пакетыPyPi и Pip.Модули и пакеты.Ещё раз о __name__ и __main__.Модули и пакеты. Тест.
 
- Движемся дальшеВведение в линтеры.Установка «системного» Python.Виртуальное окружение.Установка PyCharm.Создаём проект в PyCharm.Refactoring, Quick Fixes, Debugging в PyCharm.Type Hints.Введение в dataclasses.
 
- Соединения (Joins)Знакомство с соединениями.INNER JOIN.LEFT, RIGHT JOIN.SELF JOIN.USING & NATURAL JOIN.AS (псевдонимы).Практика. Joins.Разбор. Joins.
 
- Введение в PythonПочему Python?Python с технической точки зрения.Python 2 vs Python 3.Стандартная библиотека.Редакторы кода для Python.Инсталлируем дистрибутив Anaconda.Введение в Anaconda.Jupyter Notebook не запускается через Anaconda Navigator?Базовые сведения о Python. Тест.
 
- Дополнительные материалы. Модуль ThreadingОднопоточность. Демо проблемы.Потоки Foreground & Background.Executor API.«Параллельное» исполнение против последовательного.submit-демо.map-демо.Синхронизация потоков.Гонка и Lock.Deadlock.Демо Deadlock.Синхронизация сигналами.Применяем Event.Семафор.Моделируем ночной клуб семафором.Барьер.Атомические операции.Отмена потоков.Отмена убийством процесса.Базовая отмена с флагом.Имплементируем отмену через паттерн Unit of Work.Подытоги.Обработка исключений.Обработка исключений. Демо.
 
- Дополнительные материалы. Модуль asyncioВведение в asyncio.Простейший пример с asyncio.Event Loop. Введение.Event Loop. Демо.Демо с aiohttp.Демо с aiofiles.Futures & Tasks.Демо Task API.Обёртываем Thread через Future.async for.Обработка исключений.Обработка исключений. Демо.Отмена. Введение.Отмена с gather.Отмена с wait. Кооперативная отмена.async IO vs sync IO.
 
- Введение в SQLОсновные концепции.Реляционная модель и SQL.Почему PostgreSQL?Инсталлируем PostgreSQL.Типы данных в PostgreSQL.Создание БД.Создание таблиц.Отношение «один ко многим».Отношение «один к одному».Отношение «многие ко многим».Создаём Northwind.
 
- Простые запросы с SELECTПолная выборка.Выборка и элементарные арифметические операции.DISTINCT.COUNT.Практика. «Простые выборки», №1.Разбор. «Простые выборки», №1.WHERE.AND, OR.BETWEEN.IN & NOT IN.ORDER BY.MIN, MAX, AVG.Практика. «Простые выборки», №2.Разбор. «Простые выборки», №2.LIKE.LIMIT.Check on NULL.GROUP BY.HAVING.UNION, INTERSECT, EXCEPT.Практика. «Группировка, сопоставление, сортировка».Разбор. «Группировка, сопоставление, сортировка».
 
- ПодзапросыВведение в подзапросы.WHERE EXISTS.Подзапросы с квантификаторами ANY, ALL.Практика. «Подзапросы».Разбор. «Подзапросы».
 
- DDL . Управляем БД и таблицамиУправляем таблицами.Практика. DDL, №1.Разбор. DDL, №1.Primary Key.Foreign Key.Check.Default.Sequences.Sequences & Tables.INSERT.UPDATE, DELETE, RETURNING.Практика. DDL, №2.Разбор. DDL, №2.
 
- Коллекции, циклы и логика в Pythonlist — список.dict — словарь.OrderedDict vs dict.tuple — кортеж.namedtuple — именованные кортежи.Логика с условиями.set — множество.Цикл for.list comprehension.Цикл while, continue, break.Циклы. Практика 1–2.Циклы. Практика 1–2. Решение.Циклы. Практика 3–5.Циклы. Практика 3–5. Решение.Циклы. Практика 6. Определяем Flush.Циклы. Практика 6. Определяем Flush. Решение.Циклы. Практика 7. Палиндром.Циклы. Практика 7. Палиндром. Решение.Практика 8. «Угадай число».Практика 8. «Угадай число». Решение.Практика 9. «Камень, ножницы, бумага».Практика 9. «Камень, ножницы, бумага». Решение.Коллекции и циклы. Тест.
 
- Простые запросы с SELECTПолная выборка.Выборка и элементарные арифметические операции.DISTINCT.COUNT.Практика. «Простые выборки», №1.Разбор. «Простые выборки», №1.WHERE.AND, OR.BETWEEN.IN & NOT IN.ORDER BY.MIN, MAX, AVG.Практика. «Простые выборки», №2.Разбор. «Простые выборки», №2.LIKE.LIMIT.Check on NULL.GROUP BY.HAVING.UNION, INTERSECT, EXCEPT.Практика. «Группировка, сопоставление, сортировка».Разбор. «Группировка, сопоставление, сортировка».
 
                            
                                - Цена - 1 990 руб.
 
                                                                    - Продолжительность курса составляет 46 часов