Программирование и создание ИТ-продуктов Визуализировать данные MySQL CSS Python HTML NumPy Django Анализировать данные Презентовать проекты Test Driven Development Разрабатывать и создавать программы и приложения Собирать данные Object-Relational Mapping Писать программный код Хранить данные Pandas

Программирование на Python

Московский физико-технический институт (Национальный исследовательский университет)
Московский физико-технический институт (национальный исследовательский университет)
276,00 часов длительность
Смешанный формат
Базовый уровень
1 поток (закрыт) 13.12.2021-31.08.2022

Описание

Программа разработана с учетом требований ФГОС ВО по направлению подготовки 01.03.02 Прикладная математика и информатика, требований профессионального стандарта 06.001 Программист.

Целью реализации программы является формирование компетенций слушателей в области решения профессиональных задач по программированию с использованием языка Python, применения шаблонов проектирования на Python, работы с Python библиотеками, применения объектно-ориентированного и функционального программирования.

Слушатели должны овладеть следующими компетенциями:

- способность к написанию программного кода с использованием языков программирования, определения и манипулирования данными (ПК-1);

- способность применять фундаментальные знания, полученные в области математических и (или) естественных наук, и использовать их в профессиональной деятельности (ОПК-1).

В результате освоения программы слушатель должен:

знать:

-       базовые сведения о языке, особенности организации кода на Python;

-       стандартные структурами данных в Python;

-       механизмы наследования, классы;

-       особенности объектно-ориентированной модели в Python;

-       процессы и потоки ОС;

-       модульное тестирование и его преимущества, методику TDD, её особенностях и преимуществах, контрактное программирование;

-       основные парадигмы и принципы ООП, терминологию ООП;

-       виды паттернов проектирования, основные паттерны и задачи, которые они решают;

-       паттерн Chain of responsibility, паттерн Abstract Factory;

-       принципы функционирования современного интернета, основные протоколы в web-взаимодействия;

-       причины необходимости сбора данных со сторонних сайтов;

-       удобные способы получения данных;

-       реляционные базы данных, нереляционные базы данных, инструменты Redis;

-       архитектуру web-фреймворков, популярные web-фреймворки в Python, устройство view в Django, основы HTML и CSS;

-       понятия аутентификации и авторизации;

-       отличия Development и Production;

-       базовые понятия математического анализа, базовые понятия линейной алгебры;

-       понятия математической статистики;

-       методы машинного обучения с учителем;

-       методы машинного обучения без учителя;

-       понятие нейронной сети, современные архитектуры нейронных сетей;

уметь:

-        использовать базовые типы и конструкции языка;

-        работать со стандартными структурами данных в Python, писать функции на Python, применять функциональные особенности языка, работать с файлами с помощью языка Python;

-        применять механизмы наследования, создавать классы и работать с ними, обрабатывать исключения;

-        искать и исправлять ошибки в программе на Python, тестировать программы на Python;

-        писать многопоточный код на Python, писать асинхронный код на Python, работать с сетью, создать своё серверное сетевое приложение;

-        пользоваться структурным программированием, использовать библиотеку unittest;

-        создавать корректную иерархию классов, интерпретировать UML-диаграммы, выполнять рефакторинг существующего кода;

-        создавать Декоратор класса, создавать адаптер для интерфейса, несовместимого с системой, реализовывать паттерн Наблюдатель;

-        создавать цепочку обязанностей. создавать абстрактную фабрику, создавать обработчик YAML файла;

-        работать с библиотекой requests;

-        работать с регулярными выражениями из Python, выполнять сложный поиск и замену при помощи регулярных выражений;

-        извлекать и изменять данные при помощи модуля Beautiful Soup, использовать API для получения данных со сторонних сайтов;

-        создавать и изменять базы данных и таблицы в MySQL, получать данные из баз и таблиц в MySQL;

-        создавать приложение на Django, работать с Django-шаблонизатором, работать с базой данных при помощи Django ORM;

-        отправлять данные из браузера, валидировать данные на клиентской стороне, валидировать данные на серверной стороне, проводить аутентификацию и авторизацию при помощи Django;

-        создавать чат-бота на базе Telegram, работать с системой Git, раскладывать проект на облачный хостинг Heroku;

-        применять инструменты библиотеки NumPy, применять инструменты библиотеки SciPy, применять инструменты библиотеки Pandas для работы с данными;

-        визуализировать данные при помощи инструментов Python, применить на практике инструменты Python для работы со статистическим анализом;

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

-        применять на практике методы кластеризации, применять на практике методы понижения размерности. создавать рекомендательную сеть;

-        реализовывать перцептрон, реализовывать свою нейронную сеть.

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

Программа предусматривает изучение следующих модулей:

Модуль 1 «Погружение в Python»

Модуль 2 «ООП и паттерны проектирования в Python»

Модуль 3 «Создание Web-сервисов на Python»

Модуль 4 «Python для анализа данных»

По результатам промежуточной (итоговой) аттестации по модулям выдается удостоверение о повышении квалификации установленного образца.

Форма проведения итоговой аттестации: защита проекта.

Слушателям, успешно прошедшим итоговую аттестацию по дополнительной профессиональной программе профессиональной переподготовки, выдается диплом с присвоением квалификации «Программист на Python» установленного образца.

Часов в программе
48,00 часов
лекции
72,00 часа
практика
58,00 часов
самостоятельная
48,00 часов
промежуточная аттестация
1 час
входная диагностика
50 часов
итоговая аттестация
277,00 часов
всего
Цель программы
Целью реализации программы является формирование компетенций слушателей в области решения профессиональных задач по программированию с использованием языка Python, применения шаблонов проектирования на Python, работы с Python библиотеками, применения объектно-ориентированного и функционального программирования.
Актуальность
Указом Президента Российской Федерации от 07.05.2018 г. № 204 «О национальных целях и стратегических задачах развития Российской Федерации на период до 2024 года» поставлена национальная цель – обеспечение ускоренного внедрения цифровых технологий в экономике.
В условиях широкого внедрения онлайн-сервисов, электронных услуг, развития цифровой экономики актуальной является проблема подготовки кадров, в том числе в области программирования на языке Python. Отечественные компании испытывают потребность в квалифицированных кадрах, способных решать прикладные задачи на языке программирования Python.
Язык программирования Python доступен для освоения лицами любого возраста и профессии. Он позволяет решать широкий круг практических задач: его можно использовать для анализа данных и машинного обучения, бэкенда, веб-разработки, системного администрирования, создания игр и т.д.
Входная диагностика 1 час
Тестирование
Итоговая аттестация 50 часов
Защита проекта

Компетенции

Профессиональные


Способен к написанию программного кода с использованием языков программирования, определения и манипулирования данными
Знать:

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

Уметь:

Уметь применять выбранные языки программирования для написания программного кода, использовать выбранную среду программирования и средства системы управления базами данных. использовать возможности имеющейся технической и/или программной архитектуры

Владеть:

Владеть инструментами языка программирования Python

Общепрофессиональные


Способен применять фундаментальные знания, полученные в области математических и (или) естественных наук, и использовать их в профессиональной деятельности
Знать:

знать:
• базовые сведения о языке, особенности организации кода на Python;
• стандартные структурами данных в Python;
• механизмы наследования, классы;
• особенности объектно-ориентированной модели в Python;
• процессы и потоки ОС;
• модульное тестирование и его преимущества, методику TDD, её особенностях и преимуществах, контрактное программирование;
• основные парадигмы и принципы ООП, терминологию ООП;
• виды паттернов проектирования, основные паттерны и задачи, которые они решают;
• паттерн Chain of responsibility, паттерн Abstract Factory;
• принципы функционирования современного интернета, основные протоколы в web-взаимодействия;
• причины необходимости сбора данных со сторонних сайтов;
• удобные способы получения данных;
• реляционные базы данных, нереляционные базы данных, инструменты Redis;
• архитектуру web-фреймворков, популярные web-фреймворки в Python, устройство view в Django, основы HTML и CSS;
• понятия аутентификации и авторизации;
• отличия Development и Production;
• базовые понятия математического анализа, базовые понятия линейной алгебры;
• понятия математической статистики;
• методы машинного обучения с учителем;
• методы машинного обучения без учителя;
• понятие нейронной сети, современные архитектуры нейронных сетей

Уметь:

уметь:
• использовать базовые типы и конструкции языка;
• работать со стандартными структурами данных в Python, писать функции на Python, применять функциональные особенности языка, работать с файлами с помощью языка Python;
• применять механизмы наследования, создавать классы и работать с ними, обрабатывать исключения;
• искать и исправлять ошибки в программе на Python, тестировать программы на Python;
• писать многопоточный код на Python, писать асинхронный код на Python, работать с сетью, создать своё серверное сетевое приложение;
• пользоваться структурным программированием, использовать библиотеку unittest;
• создавать корректную иерархию классов, интерпретировать UML-диаграммы, выполнять рефакторинг существующего кода;
• создавать Декоратор класса, создавать адаптер для интерфейса, несовместимого с системой, реализовывать паттерн Наблюдатель;
• создавать цепочку обязанностей. создавать абстрактную фабрику, создавать обработчик YAML файла;
• работать с библиотекой requests;
• работать с регулярными выражениями из Python, выполнять сложный поиск и замену при помощи регулярных выражений;
• извлекать и изменять данные при помощи модуля Beautiful Soup, использовать API для получения данных со сторонних сайтов;
• создавать и изменять базы данных и таблицы в MySQL, получать данные из баз и таблиц в MySQL;
• создавать приложение на Django, работать с Django-шаблонизатором, работать с базой данных при помощи Django ORM;
• отправлять данные из браузера, валидировать данные на клиентской стороне, валидировать данные на серверной стороне, проводить аутентификацию и авторизацию при помощи Django;
• создавать чат-бота на базе Telegram, работать с системой Git, раскладывать проект на облачный хостинг Heroku;
• применять инструменты библиотеки NumPy, применять инструменты библиотеки SciPy, применять инструменты библиотеки Pandas для работы с данными;
• визуализировать данные при помощи инструментов Python, применить на практике инструменты Python для работы со статистическим анализом;
• применять на практике линейную регрессию, применять на практике кросс-валидацию, оценивать качества моделей, обучать на практике ансамблевые модели;
• применять на практике методы кластеризации, применять на практике методы понижения размерности. создавать рекомендательную сеть;
• реализовывать перцептрон, реализовывать свою нейронную сеть

Владеть:

Владеть навыками применения математического аппарата для программирования на языке Python

Требования

Нет

Образование
  • Высшее образование
  • Среднее профессиональное образование

Модули

свернуть
50,00ч
Модуль 1 Погружение в Python
Целью изучения модуля «Погружение в Python» является формирование компетенций слушателей в области решения задач в Python, применения шаблонов проектирования на Python, работы с Python библиотеками, применения объектно-ориентированного и функционального программирования. Задачи Модуля 1: 1) сформировать умение использовать базовые типы и конструкции языка программирования Python$ 2) сформировать умение работать со стандартными структурами данных в Python, писать функции на Python, применять функциональные особенности языа, работать с файлами с помощью языка Python; 3) сформировать умение применять механизмы наследования, создавать классы и работать с ними, обрабатывать исключения; 4) сформировать умение искать и исправлять ошибки в программе на Python, тестировать программы на Python; 5) сформировать умение писать многопоточный код на Python, писать асинхронный код на Python, работать с сетью, создать своё серверное сетевое приложение.
84,00ч
Модуль 3 Создание Web-сервисов на Python
Целью изучения модуля «Создание Web-сервисов на Python» является формирование компетенций слушателей в области создания и управления web-сервисами на основе Python, работы с различными инструментами сбора данных. Задачи Модуля 3: 1) сформировать умение работать с библиотекой requests; 2) сформировать умение работать с регулярными выражениями из Python, выполнять сложный поиск и замену при помощи регулярных выражений; 3) сформировать умение извлекать и изменять данные при помощи модуля Beautiful Soup, использовать API для получения данных со сторонних сайтов; 4) сформировать умение создавать и изменять базы данных и таблицы в MySQL, получать данные из баз и таблиц в MySQL; 5) сформировать умение создавать приложение на Django, работать с Django-шаблонизатором, работать с базой данных при помощи Django ORM; 6) сформировать умение отправлять данные из браузера, валидировать данные на клиентской стороне, валидировать данные на серверной стороне, проводить аутентификацию и авторизацию при помощи Django; 7) сформировать умение создавать чат-бота на базе Telegram, работать с системой Git, раскладывать проект на облачный хостинг Heroku.
40,00ч
Модуль 2 ООП и паттерны проектирования в Python
Целью изучения модуля «ООП и паттерны проектирования в Python» является формирование компетенций слушателей в области профессионального конструирования приложения в объектно-ориентированной парадигме, создания масштабируемых программ. Задачи Модуля 2: 1) сформировать умение пользоваться структурным программированием, использовать библиотеку unittest; 2) сформировать умение создавать корректную иерархию классов, интерпретировать UML-диаграммы, выполнять рефакторинг существующего кода; 3) сформировать умение создавать Декоратор класса, создавать адаптер для интерфейса, несовместимого с системой, реализовывать паттерн Наблюдатель; 4) сформировать умение создавать цепочку обязанностей. создавать абстрактную фабрику, создавать обработчик YAML файла.
52,00ч
Модуль 4 Python для анализа данных
Целью изучения модуля «Python для анализа данных» является формирование компетенций слушателей в области использования библиотек NumPy, SciPy, Pandas для работы с данными, визуализации данных, применения методов обучения с учителем и без учителя, создания нейронных сетей. Задачи Модуля 4: 1) сформировать умение применять инструменты библиотеки NumPy, применять инструменты библиотеки SciPy, применять инструменты библиотеки Pandas для работы с данными; 2) сформировать умение визуализировать данные при помощи инструментов Python, применить на практике инструменты Python для работы со статистическим анализом; 3) сформировать умение применять на практике линейную регрессию, применять на практике кросс-валидацию, оценивать качества моделей, обучать на практике ансамблевые модели; 4) сформировать умение применять на практике методы кластеризации, применять на практике методы понижения размерности. создавать рекомендательную сеть; 5) сформировать умение реализовывать перцептрон, реализовывать свою нейронную сеть.
50,00ч
Модуль 1 Погружение в Python
Целью изучения модуля «Погружение в Python» является формирование компетенций слушателей в области решения задач в Python, применения шаблонов проектирования на Python, работы с Python библиотеками, применения объектно-ориентированного и функционального программирования. Задачи Модуля 1: 1) сформировать умение использовать базовые типы и конструкции языка программирования Python$ 2) сформировать умение работать со стандартными структурами данных в Python, писать функции на Python, применять функциональные особенности языа, работать с файлами с помощью языка Python; 3) сформировать умение применять механизмы наследования, создавать классы и работать с ними, обрабатывать исключения; 4) сформировать умение искать и исправлять ошибки в программе на Python, тестировать программы на Python; 5) сформировать умение писать многопоточный код на Python, писать асинхронный код на Python, работать с сетью, создать своё серверное сетевое приложение.
40,00ч
Модуль 2 ООП и паттерны проектирования в Python
Целью изучения модуля «ООП и паттерны проектирования в Python» является формирование компетенций слушателей в области профессионального конструирования приложения в объектно-ориентированной парадигме, создания масштабируемых программ. Задачи Модуля 2: 1) сформировать умение пользоваться структурным программированием, использовать библиотеку unittest; 2) сформировать умение создавать корректную иерархию классов, интерпретировать UML-диаграммы, выполнять рефакторинг существующего кода; 3) сформировать умение создавать Декоратор класса, создавать адаптер для интерфейса, несовместимого с системой, реализовывать паттерн Наблюдатель; 4) сформировать умение создавать цепочку обязанностей. создавать абстрактную фабрику, создавать обработчик YAML файла.
84,00ч
Модуль 3 Создание Web-сервисов на Python
Целью изучения модуля «Создание Web-сервисов на Python» является формирование компетенций слушателей в области создания и управления web-сервисами на основе Python, работы с различными инструментами сбора данных. Задачи Модуля 3: 1) сформировать умение работать с библиотекой requests; 2) сформировать умение работать с регулярными выражениями из Python, выполнять сложный поиск и замену при помощи регулярных выражений; 3) сформировать умение извлекать и изменять данные при помощи модуля Beautiful Soup, использовать API для получения данных со сторонних сайтов; 4) сформировать умение создавать и изменять базы данных и таблицы в MySQL, получать данные из баз и таблиц в MySQL; 5) сформировать умение создавать приложение на Django, работать с Django-шаблонизатором, работать с базой данных при помощи Django ORM; 6) сформировать умение отправлять данные из браузера, валидировать данные на клиентской стороне, валидировать данные на серверной стороне, проводить аутентификацию и авторизацию при помощи Django; 7) сформировать умение создавать чат-бота на базе Telegram, работать с системой Git, раскладывать проект на облачный хостинг Heroku.
52,00ч
Модуль 4 Python для анализа данных
Целью изучения модуля «Python для анализа данных» является формирование компетенций слушателей в области использования библиотек NumPy, SciPy, Pandas для работы с данными, визуализации данных, применения методов обучения с учителем и без учителя, создания нейронных сетей. Задачи Модуля 4: 1) сформировать умение применять инструменты библиотеки NumPy, применять инструменты библиотеки SciPy, применять инструменты библиотеки Pandas для работы с данными; 2) сформировать умение визуализировать данные при помощи инструментов Python, применить на практике инструменты Python для работы со статистическим анализом; 3) сформировать умение применять на практике линейную регрессию, применять на практике кросс-валидацию, оценивать качества моделей, обучать на практике ансамблевые модели; 4) сформировать умение применять на практике методы кластеризации, применять на практике методы понижения размерности. создавать рекомендательную сеть; 5) сформировать умение реализовывать перцептрон, реализовывать свою нейронную сеть.

Преподаватели

Кулиев

Руслан Султанович

Московский физико-технический институт (Национальный исследовательский университет)

Старший преподаватель кафедры информатики и вычислительной математики МФТИ

90 000 p
Авторизуйтесь чтобы записаться

Профстандарт

Программист

06.001

Ответственный за программу

elenasyrtsova@list.ru

+79127096478