Программирование на 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 этапа

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

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

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

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

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

Курс для:

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

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

photo_2021-10-05_14-03-14.jpg
Стефан Жаврид — бакалавр бизнес- информатики, магистр экономики. Работал на таких позициях как Business Analyst,  Data Analyst, Data Scientist, аналитик бизнес-процессов, экономист. Сертифицированный инструктор — Cisco Networking Academy по CCNA, IoT, Big Data, Python.
Руководитель филиала Oracle Academy.
Более 4-х лет в частном образовании в качестве преподавателя, дизайнера образовательных траекторий, ментора.

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

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

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

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

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

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

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

Модуль 1. Введение.

  • Знакомство;
  • Введение в профессию разработчика.

 Модуль 2. Введение в разработку ПО.

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

Модуль 3. Введение в Python и программирование.

  • Основы программирования, как выполняется программа, как работает и из чего состоит язык программирования;
  • Разница между компиляцией и интерпретацией;
  • Что такое Python, его место среди других языков программирования и что отличает разные версии Python.

Модуль 4. Типы данных, переменные, базовые операции ввода-вывода, базовые операторы.

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

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

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

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

  • Тип данных Boolean;
  • Операторы;
  • Условные операторы (if, if-else, if-elif, else);
  • Циклы (while, for);
  • Логические и побитовые операции в Python;
  • Списки в Python (построение, индексация и слайсинг; манипулирование содержимым);
  • Как отсортировать список с помощью базовых алгоритмов сортировки и другими методами;
  • Многомерные списки.

Модуль 7. Функции, кортежи, словари, исключения и обработка данных.

  • Структура кода и понятие функции;
  • Вызов функции и возврат результата из функции;
  • Области видимости (локальная, глобальная, нелокальная) и затенение переменных;
  • Ограничения, накладываемые областями видимости;
  • Кортежи и их назначение, создание и использование кортежей;
  • Словари и их назначение, создание и использование словарей;
  • Lambda выражения;
  • Исключения - оператор try и предложение except, встроенные исключения Python, тестирование и отладка кода. 

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

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

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

  • Символы, строки и стандарты кодирования;
  • Строки против списков - сходства и различия;
  • Методы для работы со строками, списками;
  • Способы как обрабатывать ошибки runtime;
  • Управление потоком ошибок с помощью try и except;
  • Иерархия исключений. 

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

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

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

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

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

  • Классы, экземпляры классов, атрибуты классов, методы классов, а также как работать с данными классов и экземпляров;
  • Декораторы;
  • Абстрактные классы, переопределение методов, статические и классовые методы, специальные методы;
  • Наследование, полиморфизм, подклассы и инкапсуляция;
  • Обработки исключений;
  • Метаклассы. 
Модуль 13. Работа с СУБД SQLite, обработка файлов.
  • Базовый синтаксис SQL;
  • СУБД SQLite - взаимодействие с базами данных SQLite;
  • XML - создание и обработка файлов XML;
  • CSV - чтение и запись файла CSV;
  • Сериализация и десериализация объектов;
  • Logging - основы ведения журнала событий;
  • Configparser - парсер конфигурационного файла.
Модуль 14. Работа с RESTful API
  • Основные концепции сетевого программирования, модуль requests, клиент-серверного взаимодействия;
  • Что такое API;
  • Что такое REST;
  • Как использовать и создавать сокеты в Python, а также как устанавливать и закрывать соединение с сервером;
  • Что такое файлы JSON и XML и как их можно использовать в сетевой коммуникации;
  • Отличия http и https;
  • Что такое HTTP-методы и как что-то сказать в HTTP;
  • Как создать образец тестовой среды используя Node.js;
  • Что такое CRUD;
  • Как создать простой клиент REST и как получать и удалять данные с сервера, добавлять к нему новые данные и обновлять уже существующие данные.
Модуль 15. Основы тестирования ПО. Лучшие практики, стандарты и соглашения о том как писать хороший код на языке Python.
  • Основы тестирования;
  • Модульное (Unit) тестирование;
  • Модули pytest и unittest;
  • Test Driven Development (TDD).
  • Дзен Python;
  • Руководство по стилю для кода Python;
  • Cоглашения о строках документации;
  • Как избежать типичных ошибок и ошибок при написании кода;
  • Как писать элегантный и эффективный код;
  • Линтеры.

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

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

                                                                                                                                                                                                                                                                                                                Савко Вадим

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

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

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

Андрей Попок


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


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

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

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

Подождите немного, идет отправка ...