Программирование на Python для начинающих

Курс для начинающих охватывает все основы программирования на Python, а также общие концепции и методы компьютерного программирования, основы баз данных и RESTful API. Курс также знакомит с объектно-ориентированным программированием. 

Большой формат (4).png

Основная цель курса — вывести слушателей из уровня нулевых знаний в программировании на тот уровень, который позволит проектировать, писать, отлаживать и запускать программы на языке Python, а также понимать основные концепции разработки программного обеспечения.

В этом курсе вы:
  • познакомитесь с системой контроля версий на примере git,
  • изучите основы языка программирования Python,
  • изучите основные концепции сетевого программирования на Python,
  • узнаете, как взаимодействовать с базами данных SQLite (модуль sqlite3), создавать и обрабатывать файлы XML (модуль XML),
  • научитесь читать, записывать и обрабатывать файлы CSV (модуль CSV),
  • создавать и обрабатывать сообщения журнала из программ Python (модуль logging), управлять файлами конфигурации (модуль configparser),
  • использовать сокеты и взаимодействовать с RESTful API-интерфейсами с помощью методов CRUD,
  • познакомитесь с файлами JSON и XML и изучите такие методы HTTP, как GET, POST, PUT и DELETE,
  • познакомитесь с основами Unit-тестирования (Модульного тестирования),
  • изучите лучшие практики, стандарты и соглашения о том, как писать качественный код на Python.
Среди практических заданий будут задачи, взятые из реальных собеседований на позицию Junior-разработчика

Количество часов
72 ак. ч
Продолжительность
18 занятий
Стоимость курса
990 BYN

*Оплата в 3 этапа

(первый этап — до начала обучения, второй — в середине обучения, третий - в конце обучения)

Режим и формат обучения:

Период обучения: 7 апреля — 21 мая 2025
Расписание: 3 раза в неделю (ПН, СР, ПТ)
Время: 18:15-21:15
Формат: онлайн в режиме реального времени 

Записи занятий доступны к пересмотру на протяжении всего обучения +неделю после, где можно пересмотреть непонятные моменты, справочная литература, небольшие тесты по пройденному материалу, ссылки для любознательного слушателя, различные онлайн-тренажеры для практики кодинга и не только.

Курс преподается на русском языке, материалы курса, презентации — на английском языке.

Курс для:

  • студентов с небольшим или полным отсутствием предварительных знаний в области программирования;
  • тех, кто программировал на других языках и хочет изучить основы Python в максимально сжатые сроки;
  • тех, кого интересует backend-разработка, Data Science, BI, QA, но не знают с чего начать;
  • всех, кто хочет получить практических опыт в разработке на Python.

Преподаватель курса:

photo_2021-10-05_14-03-14.jpg
Стефан Жаврид — работал на таких позициях, как Business Analyst, Software Engineer (Python, Django), Golang Developer.
Сертифицированный инструктор в Cisco Networking Academy по направлениям: CCNA, DevNet, IoT и Big Data, Python, Linux.
Руководитель филиала Oracle Academy.

Сертификаты: ICAgile Certified Professional (ICAgile), CCNA (Cisco), PCEP (Python Institute), Docker (IBM), Cybersecurity (Cisco).
Бакалавр (бизнес-информатика) и Магистр (экономика).
Более 9 лет в частном образовании для взрослых и детей в качестве преподавателя, дизайнера образовательных траекторий, ментора.

После прохождения курса вы будете:

  • Знать программировании на уровне, который позволит вам проектировать, писать, отлаживать, запускать программы на языке Python и понимать основные концепции разработки программного обеспечения.
  • Знать более сложные аспекты программирования на Python, включая модули, пакеты, исключения, обработку файлов, а также общие методы программирования и объектно-ориентированным программирования (ООП).
  • Уметь работать с разными типами файлов данных из разных источников и использовать их в проектах, требующих манипулирования данными и обработки файлов.
  • Знать, как взаимодействовать с базами данных SQLite и манипулировать данными, используя базовые запросы к базе данных; создавать и обрабатывать файлы XML; читать, записывать и обрабатывать файлы csv; создавать и обрабатывать сообщения журнала из программ Python и управлять файлами конфигурации. 
  • Знать, как организовывать взаимодействие с внешними ресурсами и серверами, используя протокол HTTP и сокеты.
  • Знать, как реализовать лучшие практики и соглашения по написанию качественного кода, используя язык Python. Узнаете, как писать более качественный и эффективный код, а так же, как избежать самых распространенных ошибок и недочетов, как их устранить, опираясь на лучшие практики.
На курсе предусмотрены домашние задания (в среднем, по 1-1,5ч. на каждую лекцию).

Среди практических заданий и тестовых вопросов рассматриваются задачи из реальных собеседований и тестовых заданий на позицию Intern/Trainee/Junior разработчика на Python.  

Практика кодинга практически на каждом занятии.

Необходимая подготовка:

  • умение пользоваться персональным компьютером;
  • базовые знания математики и логики;
  • знание основ алгоритмизации;
  • знание английского языка на уровне чтения технической документации.

По окончании курса каждый слушатель получит:

  • Сертификат Института.
Для успешного освоение курса требуется:
  • Выполнять все практические задания и сдавать их в срок.
  • Создать итоговый проект.

Программа курса:

Модуль 1. Знакомство с профессией. Введение в разработку ПО.

  • Знакомство;
  • Введение в профессию разработчика;
  • Жизненный цикл разработки ПО (SDLC);
  • Фазы жизненного цикла разработки ПО;
  • Роль программиста и других участников проекта в рамках SDLC.

Модуль 2. Введение в Python и программирование. Базовые типы данных, переменные, операции ввода-вывода, операторы.

  • Как писать и запускать простые программы на Python;
  • Базовые типы данных int float str;
  • Что такое литералы, операторы и выражения Python;
  • Что такое переменные и как они работают в Python;
  • Как выполнять основные операции ввода и вывода.

Модуль 3. Логические значения, условные выражения, циклы, списки и обработка списков, логические и побитовые операции.

  • Основы программирования, как выполняется программа, как работает и из чего состоит язык программирования;
  • Разница между компиляцией и интерпретацией;
  • Что такое Python, его место среди других языков программирования и что отличает разные версии Python;
  • Тип данных bool;
  • Операторы сравнения;
  • Условные операторы (if, if-else, if-elif, else);
  • Тернарный оператор (if-else);
  • Match-case;
  • Циклы (while, for);
  • break и continue;
  • Оператор принадлежности in;
  • Логические операторы and, not, or;
  • Битовые операторы & | ~ ^, тип данных bin;
  • Изменяемость объектов;
  • Типы данных list и set, frozenset (построение, индексация и слайсинг; манипулирование содержимым);
  • Однострочники;
  • Как отсортировать список с помощью базовых алгоритмов сортировки и другими методами;
  • Многомерные списки;
  • Способы копирования copy, deepcopy.

Модуль 4. Строки, методы строк и списков, исключения.

  • Символы, строки и стандарты кодирования;
  • Unicode, UTF-8.

Модуль 5. Системы контроля версий. Разработка ПО используя Git.

  • Системы контроля версий, их цели, задачи, типы, преимущества и недостатки;
  • Git - что это, как установить, как использовать;
  • Что такое репозитории, их виды и различия;
  • Что такое брэнчинг (branching);
  • Github;
  • Основные команды Git (clone, add, commit, push);
  • Как работать с файлами;
  • Как работать с репозиториями;
  • Как работать с брэнчами.

Модуль 6. Функции, кортежи, словари

  • DRY, KISS;
  • Структура кода и понятие функции;
  • Вызов функции и возврат результата из функции;
  • Области видимости и затенение переменных;
  • Ограничения, накладываемые областями видимости;
  • Тип данных tuple, их назначение, создание и использование кортежей;
  • Тип данных dict, их назначение, создание и использование словарей;
  • Рекурсивные алгоритмы;
  • Debugging;
  • Однострочники;
  • Способы как обрабатывать ошибки runtime;
  • Управление потоком ошибок с помощью try и except;
  • Иерархия исключений.

Модуль 7. Модули, пакеты и PIP.

  • Импорт и использование модулей Python;
  • Использование некоторых из наиболее полезных модулей стандартной библиотеки Python;
  • Создание и использование модулей и пакетов Python;
  • Модуль timeit;
  • PIP и способы его использования для установки и удаления готовых пакетов из официального репозитория PyPI.

Модуль 8. Исключения и Unit-тестирования.

  • Исключения - оператор try и предложение except, встроенные исключения Python, тестирование и отладка кода;
  • Конструкция try/except;
  • Выражения raise, assert;
  • Debugging;
  • Тестирование ПО;
  • Основы unit-тестирования;
  • Модуль pytest;
  • Покрытие кода тестами;
  • Модуль pytest-cov;
  • Модуль сoverage;
  • Doctest;
  • Процесс код-ревью.

Модуль 9. Объектно-ориентированного программирования.

  • Основные концепции объектно-ориентированного программирования (ООП);
  • Различия между процедурным и объектным подходами (приемущества и недостатки);
  • Классы, объекты, свойства и методы;
  • Проектирование классов и создание объектов;
  • Абстракция, наследование, полиморфизм, инкапсуляция в Python;
  • Порядок разрешения методов (MRO);
  • Композиция;
  • Множественное наследование;
  • Проблемы множественного наследования (Diamond Problem);
  • Исключения как объекты;
  • Магические (dunder/special) методы;
  • Методы: экземпляров, классовые, абстрактные;
  • Создание кастомных исключения;
  • Unit-тесты - фикстуры, исключения.

Модуль 10. Продвинутый Python.

  • property;
  • args, kwargs;
  • lambda функции;
  • итераторы;
  • Выражения и функции генераторы;
  • Функции - map, filter, zip, all, any, enumerate,  reduce;
  • Замыкание;
  • Метапрограммирование.

Модуль 11. Генераторы, итераторы, замыкание, работа с файлами, STL.

  • Генераторы, итераторы и замыкания;
  • Как работает генератор и итератор;
  • Как создать собственные генераторы и итераторы;
  • Работа с файловой системой, деревом каталогов и файлами;
  • Модули стандартной библиотеки (STL).

Модуль 12. Паттерны и работа с файлами, базой данных.

  • Паттерны проектирования (Декоратор и прочие);
  • XML, CSV, JSON  - создание и обработка файлов;
  • Сериализация и десериализация объектов;
  • Logging - основы ведения журнала событий;
  • Configparser - парсер конфигурационного файла;
  • Базы данных;
  • Базовый синтаксис SQL;
  • СУБД SQLite;
  • Взаимодействие с базами данных SQLite (DB-API и ORM).

Модуль 13.  Работа с API. Основы Flask.

  • Основы сетей;
  • Основные концепции сетевого программирования, модуль requests, клиент-серверного взаимодействия;
  • Что такое API;
  • Что такое REST;
  • Отличия http и https;
  • Что такое HTTP-методы и как что-то сказать в HTTP;
  • Что такое CRUD;
  • Как создать простой клиент REST и как получать и удалять данные с сервера, добавлять к нему новые данные и обновлять уже существующие данные;
  • Основы работы с веб-фреймворком Flask. Flask restful. Jinja. SQLite.

Модуль 14. Лучшие практики, стандарты и соглашения о том как писать хороший код на языке Python.

  • Test Driven Development (TDD).
  • Дзен Python;
  • Руководство по стилю для кода Python;
  • Документация проекта.
  • Соглашения о строках документации;
  • Как избежать типичных ошибок и ошибок при написании кода;
  • Как писать элегантный и эффективный код;
  • Линтеры.

Модуль 16. Куда двигаться дальше?

  • Подведение итогов обучения.
  • Секция Вопрос-ответ. 
  • Экскурс по основным направлениям в IT связанным  c Python. Рекомендации по выбору.

 

Отзывы cлушателей курса:

Курс оставил только приятные ощущения: много практики, приятный и толковый преподаватель, гибкий график сдачи домашних заданий, много полезных материалов от преподавателя, удобное расписание и форма проведения онлайн обучения.

                                                                                                                                                                                                                                                                                                                Савко Вадим

Курс был довольно интересный. Программа была построена системно. На протяжении всего времени преподаватель поддерживал нас и давал советы, а так же прикреплял интересные источники, где можно было ознакомиться с дополнительной информацией. Любые возникающие вопросы сразу же были закрыты. Курсом осталась очень довольна :)

 Виктория Дикевич

Цель курса направлена на совсем начинающих программистов, для которых это первый язык программирования. Сам курс весьма информативен, охватывает большинство возможностей языка Python, дает представление о сути программирования, ООП, клиент-сервер взаимодействии, работе с БД.

Андрей Попок

Читать все отзывы

Получить дополнительную информацию: 
+375 29 690 40 33HPaulovich@instituteiba.by

Заказать курс

Проектирование программного обеспечения информационных систем

Подождите немного, идет отправка ...
Демо период закончился