Аннотация курса - Программирование на языке Python (L1, L2)

На данный момент времени язык программирования Python является одной из самых перспективных платформ для разработки современного программного обеспечения. Предельно ясные и гибкие синтаксические конструкции, легкость подключения и использования разнообразных библиотек, низкий порог вхождения в процесс разработки, делают этот язык все более популярным у разработчиков и все более востребованным на рынке труда.
Данный курс позволяет слушателям получить глубокие знания и хорошие практические навыки для дальнейшей работы в качестве программиста – разработчика широкого спектра приложений, от небольших специализированных консольных утилит до крупных веб-порталов со сложной серверной логикой и взаимодействием с базами данных.
По окончанию данного курса уровень подготовки будет примерно соответствовать позиции middle – разработчика или даже выше, в зависимости от уровня начальной подготовки, базовых программистских навыков и личной работоспособности. Знания, полученные в рамках данного курса позволят вам в дальнейшем разрабатывать IT – проекты любого уровня сложности. Программа предназначена как для тех, кто только делает первые шаги в программировании, так и для разработчиков с большим опытом на других языках программирования, желающим перейти на другую платформу разработки или повысить свою квалификацию. В качестве минимального начального уровня подготовки желательно иметь представление об алгоритмах, типах переменных и обобщенном синтаксисе любого языка программирования (базовый курс информатики и математики 11 класса) , уметь работать с командной строкой Windows или Linux, уметь искать в интернете необходимое ПО, скачивать и инсталлировать программное обеспечение, иметь общие представления о реляционных базах данных, иметь базовые знания по синтаксису HTML.
Программирование на языке Python. Начальный уровень (курс L1)
Тема 1: Введение. Общие понятия языка Python. (2 ак.ч)
Установка среды программирования на компьютер. Интерпретаторы Python. Особенности установки среды программирования под Windows и Linux. Интерактивный режим работы. Общая структура программы. Особенности работы в IDLE. Вывод результатов работы в консоль. Документирование программы.
Тема 2: Система контроля версий Mercurial. (2 ак.ч)
Общие понятия о системах контроля версий, обзор актуальных СКВ, Git, Mercurial
Тема 3: Условные операторы, функции и циклы. (2 ак.ч)
"Утиная" типизация. Константы. Переменные. Операторы. Условные конструкции и циклы. Функции. Замыкания. Особенности использования функций, возвращающих другие функции. Лямбда – функции. Карирование.
Тема 4: Сложные типы данных. (2 ак.ч)
Работа со строками, списками, кортежами. Использование словарей и диапазонов. Работа с множествами. Причина существования в языке Python такого большого количества перечислимых типов.
Тема 5: Работа с файлами и каталогами.(2 ак.ч)
Работа с файлами. Работа с датой и временем.
Тема 6: Объектно ориентированное программирование.(2 ак.ч)
Инкапсуляция. Наследование. Полиморфизм. Статические элементы класса. Декораторы. Особенности объектно - ориентировенного программирования в Python.
Тема 7: Обработка исключений. (2 ак.ч)
Типы ошибок в программах. Иерархия классов исключений в Python. Пояснения по классификации. Инструкция try…except. Инструкция with…as. Пользовательские исключения. Инструкция assert. Механизм предупреждений.
Тема 8: Тестирование программного кода.(2 ак.ч)
Общие понятия, затраты на тестирование и выгоды от его применения, библиотека Doctest, фреймворк Unittest, Nose, PyTest. Системы анализа качества кода. Pylint и pyflakes.
Тема 9: Управление пакетами. Сериализация. (2 ак.ч)
Определение. Стандартные атрибуты модуля. Пакеты. Кеширование модулей. Блокировка. Абсолютный и относительный импорт. Главный модуль. Загрузка модулей. Сериализация.
Тема 10: Работа с базами данных.(2 ак.ч)
Базы данных SQLite. Возможности Python по доступу к базам данных SQLite. Механизм управления транзакциями. Назначение объекта курсора. Обработка результатов запросов. Преобразование формата выдачи. Агрегатные функции.
Тема 11: Графические интерфейсы Python. Библиотека Tkinter(2 ак.ч)
Использование графических интерфейсов. Библиотека Tkinter.
Программирование на языке Python. Продвинутый уровень (курс L2)
Тема 12: Процессы, потоки и многозадачность. (2 ак.ч)
Глобальная блокировка интерпретатора (GIL). Отличие процесса от потока. Создание потоков. Завершение потока. Присоединение потока. Синхронизация. Блокировки. Условные переменные. Альтернатива оператору with. Высокоуровневые объекты. Мониторы. Пулы потоков. Активные объекты.
Тема 13: Паттерны проектирования 1 часть. (2 ак.ч)
Общие понятие. Описание паттернов: Фабрика, Построитель, Прототип, Одиночка, Адаптер, MVC.
Тема 14: Паттерны проектирования 2 часть.(2 ак.ч)
Паттерны: Мост, Компоновщик, Декоратор, Фасад, Приспособленец, Заместитель.
Тема 15: Паттерны проектирования 3 часть. (2 ак.ч)
Паттерны: Цепочка ответственности, Команда, Интерпретатор, Итератор, Посредник.
Тема 16: Паттерны проектирования 4 часть. (2 ак.ч)
Паттерны: Хранитель, Наблюдатель, Состояние, Шаблонный метод, Посетитель, Стратегия.
Тема 17: Метаклассы, специальные свойства и методы. (2 ак.ч)
Метаклассы. "Магические" методы.
Тема 18: Библиотека PyQt. Окна. Формы. (2 ак.ч)
Основные функции библиотеки PyQt. Построение оконных приложений.
Тема 19: Библиотека PyQt. Обработка событий. Диалоговые окна. (2 ак.ч)
SDI и MDI – интерфейсы. Обработка событий. Диалоговые окна.
Тема 20: Фреймворк PonyORM. (2 ак.ч)
ORM для работы с базами данных, их достоинства и недостатки. Особенности реализации PonyORM. Выполнение запросов.
Тема 21: Взаимодействие с Internet и сетями. (2 ак.ч)
Работа с модулем socket. Клиент – серверное приложение. Работа с модулем http. Простой http - сервер. Модуль URLLIB. Доступ к FTP. Парсинг Internet – адресов. Доступ по SSH.
Тема 22: Веб-фреймворк Flask. (2 ак.ч)
Общие сведения. Архитектура Flask. Инсталляция и использование. Роутинг. Блюпринты. Шаблонизатор Jinja2. Virtualnv.
Тема 23: Фреймворк Django, конфигурация и установка. (2 ак.ч)
Общее описание фреймворка Django. Установка и конфигурация. Архитектура программы на Django, диспетчер адресов. Запуск приложения на боевом Web – сервере.
Тема 24: Фреймворк Django, работа с базой данных. (2 ак.ч)
Модель данных. Реляционные отношения и миграции.
Тема 25: Фреймворк Django, шаблонизатор. (2 ак.ч)
Шаблоны в Django, механизм наследования. Подключение собственных файлов .css и .js. Механизм рендеринга шаблонов, формы и их обработчики.

я научил программировать уже сотни человек