Форма обучения: очная с применением дистанционных технологий
Объем программы: 980 ак. часов
Продолжительность обучения: 18 месяцев
Выдаваемый документ: Диплом о профессиональной переподготовке МФТИ
Старт обучения: сентябрь 2023
Стоимость обучения: 155 000 рублей
Краткое описание программы:Чтобы получить Профессию Fullstack-разработчик, подтвержденную Дипломом о профессиональной переподготовке МФТИ установленного образца, необходимо пройти обучение на четырех самостоятельных курсах и двух интенсивах.
В течение обучения вы выполните несколько проектов для решения задач бизнеса, которые лягут в основу вашего портфолио. Проекты выполняются самостоятельно под руководством экспертов и преподавателей, позволяют закрепить весь спектр знаний и навыков, полученных на программе, и применить их к реальным задачам.
Успешное окончание каждого курса подтверждается Удостоверением о повышении квалификации МФТИ.
Содержание программы: 1. Курс: «Базы данных и SQL»
1,5 месяца - Понятия и синтаксис SQL запросов
- Разработка архитектуры базы данных
- Агрегация данных из разных источников
- Очистка и санитизация данных
- Паттерны хранения данных
- Инкрементальная загрузка и оптимизация запросов
2. Интенсив: «Linux / Git для начинающих»2 неделиБазовый WSL и VirtualBox - Чем отличается Windows и Linux
- Установка WSL. Запуск
- VirtualBox установка и использование
Основы Linux - Введение. Какие задачи он решает. Дистрибутив Ubuntu
- Консоль. Основа работы с Linux. tmux
- Скрипты. Продвинутая работа с консолью
- Файловая система
- Работа с сетью
- Серверное взаимодействие. SSH
WSL подробно - Краткий экскурс в историю появления. WSL1 и WSL 2
- Основные команды работы с WSL
- Файловая система
- Сеть WSL
- WSL USB
- CUDA и Windows Докер
Git - Введение. Цели. Разновидности систем контроля версий
- Базовые основы GIT. Популярные сценарии работы
- Серверные репозитории Git. Ветки. Merge request
- Сценарии отката изменений. Stash
3. Курс: «Разработка на Python»
5 месяцев
Базовый Python - Введение в Python. Работа в Jupyter Notebook и Google Colab. Базовые типы данных
- Условия и циклы. Итераторы и генераторы. Контейнеры
- Функции. Области видимости. Замыкания. Декораторы
- Основы ООП. Работа с классами в Python
- Работа с файлами
- Модули, пакеты в Python. Встроенные модули. Работа со сторонними библиотеками
Прикладной Python
- Введение в NumPy. SciPy
- Введение в Pandas
- Введение в визуализацию данныхРабота с текстом в Python. Регулярные выражения Веб-скрапинг и парсинг Ускорение программ в Python. Cython. Numba Тестирование в Python Асинхронное программирование в Python
- Работа с текстом в Python. Регулярные выражения
- Веб-скрапинг и парсинг
- Ускорение программ в Python. Cython. Numba
- Тестирование в Python
- Асинхронное программирование в Python
Создание веб-приложений на Python
- Введение в сети, HTTP, HTML
- Введение в Flask
- Введение в Django. Общая структура, отличие от Flask. Обработка запросов.
- Шаблоны и теги
- Знакомство с базами данных. Знакомство с Django ORM
- API, REST
- Тестирование Django-приложений
Продвинутая веб-разработка
- Асинхронная веб-разработка. Aiohttp
- Работа со статичными файлами
- Кеширование
- Event-based программирование. Django Signal
4. Курс: «Введение в алгоритмы и структуры данных»2 месяца - Математические основы программирования
- Линейные контейнеры
- Сортировки
- Динамическое программирование
- Хеш-таблицы
- Деревья поиска и графы
5. Курс: «Frontend-разработка»
10 месяцев
Основы HTML и CSS - Введение в HTML и CSS
- Расположение элементов на странице в CSS
- Интерактивные элементы и анимация в HTML и CSS
- Адаптивная верстка
- Использование сторонних библиотек для верстки
Основы программирования на JavaScript - Комментарии в JavaScript
- Условный оператор. Вложенные условия
- Работа с циклами
- Что такое JavaScript?
- Что такое программа на JavaScript
- Переменные
- Типы данных
- Функции
- Замыкания: основы
- Строковые функции
- Объекты: основы
- Массивы: основы
- Методы массивов
- Контекст this
- Основы ООП
JavaScript: работа с веб-страницей и асинхронные взаимодействия.
- Элементы страницы и методы обращения к ним
- Создание и удаление элементов страницы и перемещение по DOM дереву
- Изменение контента и стилей элементов
- Обработка событий в JavaScript
- Сетевые запросы
- Promises и Fetch
- Local Storage
React - CRA. React. Создание первого приложения.
- Стилизация в React Хук useState на практике.Работа с библиотеками компонентов.
- Работа с данными по сети.
- React. Добавление страниц и роутинга. Контекст. Кастомные хуки.
- Хуки useMemo, useCallback, React.memo
- Работа с данными формы. Модальные окна.
- Основы Redux
- Авторизация в React
- Компоненты высшего порядка
- Основы TypeScript
6. Интенсив: «Docker + CI/CD для начинающих»2 неделиОсновы Docker - Виртуализация и контейнеризация. Docker engine
- Docker image и Docker container
- Файловые системы в Docker. UnionFS и OverlayFS
- Работа с данными: добавление файлов, монтирование внешних директорий. Обмен данными с уже развернутым контейнером
- Рекомендации по работе с Docker. Как писать DockerFile, .dockrtignore. Базовая безопасность в docker
- Репозитории docker-контейнеров и работа с ними.
- Docker compose
CI/CD - Обзор актуальных инструментов CI/CD (GitLab CI, Jenkins, TravisCI, GitHub Actions)
- Настройка pipelines, jobs, stages. Написание конфигураций CI
- Создания собственного runner'a. Executors: shell, docker
Итоговый проект
Комплексное веб-приложение
Целевая аудитория курса: - Те, кто начинает карьеру в ИТ
Возможность изучить все необходимое для начинающего разработчика: алгоритмы, ООП, основы рабочего кода языка Python. Вы заложите крепкий фундамент для дальнейшего развития в сфере ИТ. - Начинающие ИТ-специалисты
Если у вас уже есть базовые знания, наш курс поможет структурировать их и получить комплексный практический опыт на реальных примерах. - Практикующие ИТ-специалисты
Тем, кто уже является действующим разработчиком, и хочет изучить новый язык программирования.
На программе вы: - Освоите новую востребованную профессию
- Станете крепким junior-разработчиком со знанием языка программирования Python
На всех курсах вы получите: - Постоянное живое общение с преподавателем МФТИ на вебинарах и в телеграмм-чате группы
- Ответы на все свои вопросы по ходу курса от преподавателя
- Обратную связь на интересные домашние задания