уровень образования
язык программы
длительность программы
понадобится для освоения
72 академических часа
за обучение
Данная программа состоит из двух курсов:
Курс 1. Расширенный Full-stack. От идеи до MVP
Основная цель, которую мы закладываем в первый курс - демонстрация всего пути разработки от установки инструментария, библиотек и прочих зависимостей до загрузки минимально жизнеспособного продукта в облако. Мы не будем акцентировать внимание на теоретической части, сделаем упор в практическую составляющую процесса. Большая часть времени - написание кода или работа с интерфейсами сервисов.
В ходе курса мы покажем своё видение на процесс разработки. Будут даны самые начальные теоретические сведения о React и Flutter; обсудим и покажем как управлять состоянием клиентского приложения с помощью паттернов Redux и BLoС. Подчеркнем, это не начальный курс по всем используемым технологиям, это курс-интегратор определенного набора сведений воедино в целях получения готового программного продукта. Безусловно, такой подход потребует от слушателя, еще не прошедшего подобного пути, максимальной концентрации внимания и желания самостоятельно углубиться в дивный мир современных технологий.
Можно рассматривать данный курс как шаблон для создания ПО на начальных этапах работы разработчика.
Действующая web-версия разрабатываемого ПО расположена по адресу: https://nomref.xyz
Курс 2. Расширенный Full-stack. Графы на практике
Данный курс посвящён основам теории графов и применению их на практике. Отметим, что мы не задаёмся целью реализовать конечный программный продукт или дать исчерпывающее введение в теорию графов. Вместо этого мы на реальных примерах постараемся показать, что знание хотя бы некоторых основ теории графов может оказаться очень полезным. Нам предстоит сделать определенные шаги в сторону понимания того, как использовать теорию на практике, преимущественно мы будем писать фрагменты кода, которые пригодятся в дальнейшем.
Современная разработка ПО предполагает освоение множества технологий и постоянное обновление знаний вслед за стремительно меняющимся набором популярных программ и языков. Этот процесс освоения технологий крайне энергозатратен и отнимает большое количество времени, поэтому становится актуальным применение принципа Learning-by-doing. Мы используем актуальные в 2021 году версии программного обеспечения.
Для успешного освоения материала потребуется начальное знание JavaScript и основ функционирования Nodejs, HTML, CSS, понимание основ сети интернет, а также операционных систем. Отсутствие минимально необходимого количества знаний можно компенсировать Вашим желанием и упорством.
Практическая часть будет реализована на популярном языке программирования JavaScript с использованием среды исполнения Nodejs. Использование именно этого языка обусловлено весьма широким вовлечением теории графов в современное пользовательское программное обеспечение. Стремительный темп развития социальных сетей привел к созданию множества инструментов и спецификаций, например, GraphQL. Развитие технической базы привело к внедрению в повседневную жизнь картографических сервисов, работа которых во многом основана на применении знаний в области теории графов. Сегодня существует большое количество независимых решений по оптимизации поиска на сложных графах, и поиск продолжается в разных направлениях. В данной сфере ещё очень много работы, мы же в этом курсе сделаем первый маленький шаг в изучении такой многообещающей области математики.
Действующая web-версия разрабатываемого ПО расположена по адресу: https://graphs101.xyz/
Дистанционный
Курс 1. Расширенный Full-stack. От идеи до MVP
Модуль 1. Введение.
Модуль 2. Серверная часть и база данных. Моделирование данных.
Модуль 3. Серверная часть и база данных. Гео-данные.
Модуль 4. Разработка web-клиента. React, Redux.
Модуль 5. Разработка web-клиента.
Модуль 6. Разработка web-клиента.
Модуль 7. Разработка мобильного клиента. Flutter, BLoC.
Модуль 8. Разработка мобильного клиента.
Модуль 9. Deployment.
Курс 2. Расширенный Full-stack. Графы на практике
Модуль 1. Основы теории графов
Модуль 2. Карта и картографические данные
Модуль 3. GraphQL
Модуль 4. Apollo-клиент
Модуль 5. Apollo-клиент. Построение маршрутов
По результатам освоения курса слушатель будет знать:
1. Клиент-серверную архитектуру;
2. Основы HTTP, RESTful API;
3. Паттерны управления состоянием клиентского приложения Redux, BLoC;
4. Основы теории графов;
5. Принцип организации клиент-серверной архитектуры для GraphQL с использованием пакета Apollo;
6. Принципы построения прообраза картографического сервиса на базе React, React-Leaflet и Open Street Map.
По результатам освоения курса слушатель будет владеть:
1. Основами языков программирования JavaScript и Dart;
2. Фреймворками React и Flutter;
3. Инструментом Postman;
4. Начальными навыками написания клиентского приложения;
5. Начальными навыками написания серверного приложения;
6. Навыками размещения приложения на сервисе Heroku.
По результатам освоения курса слушатель будет уметь:
1. Реализовывать клиентские приложения для браузера и мобильных устройств Android и iOS;
2. Реализовывать серверные приложения, разворачивать их в облаке;
3. Настраивать удаленную базу данных и работать с ней;
4. Строить графы из исходных картографических данных;
5. Составлять программы поиска маршрутов в соответствии с базовыми алгоритмами для графов;
6. Составлять схемы данных GraphQL для базовых графов.
Для успешного освоения материала потребуются базовые знания в программировании и алгоритмизации, базовые знания HTML, CSS, JavaScript, большим подспорьем будет знание стандартов современного JS (ES6). Мы не будем останавливаться для разбора конструкций JavaScript, использующих стрелочные функции и промисы, деструктуризацию и т.д. Если у Вас есть достаточно уверенное понимание указанных тем, Вам будет достаточно просто получить базовые сведения о системе React из любого интенсивного курса, обратите особое внимание на использование функциональных компонентов, поскольку использоваться будут только они. Это несколько облегчит понимание принципов использования виджетов в мобильном клиенте. Точно также будет проще сопоставить возможности систем хранения состояния Redux и BLoC. Предполагается, что Вы умеете пользоваться Git, знаете основные команды своей операционной системы (Windows, Linux, MacOS) и имеете опыт использования терминала. К моменту, когда мы подойдем к построению приложения с использованием Flutter, надеемся, Вы уже будете готовы к интенсивному погружению в язык Dart, что будет значительно проще для уверенных программистов на JavaScript/React/Redux. Понятно, что для того чтобы пройти весь этот путь потребуется максимальная концентрация и оптимистический настрой.
уровень образования
язык программы
длительность программы
понадобится для освоения
72 академических часа
за обучение
Должность: преподаватель Академической гимназии им. Д. К. Фаддеева
Должность: преподаватель