road/mapsВсе маршруты ↗

ОТКРЫТОЕ ОБУЧЕНИЕ / 01

Junior Engineer

От первой программы к собственным проектам

10 этапов с отметкамиВ своём темпе

Junior Engineer Roadmap

Русскоязычный бесплатный маршрут для подростка 13–14 лет

Начните с первой программы на Python и постепенно соберите приложение с базой данных, проверками и помощником на основе языковой модели. Знаний программирования до начала не требуется.

План — вводные 1–2 недели и 9 месяцев занятий. Начальный темп — три раза в неделю по 45–60 минут. Сложные проекты могут занять больше времени: продолжайте тему, пока сможете выполнить и объяснить её пример.

Основной вариант рассчитан на Windows 11. Карта подходит начинающим подросткам; в пояснениях используются обычные задачи: заказ в магазине, каталог товаров, сообщения клиентов. Устанавливайте инструменты по инструкциям соответствующего месяца.

Содержание

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

1. Что даст этот маршрут

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

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

Результат — собственные учебные работы и понимание, как устроены их части. Профессиональный опыт формируется позже на более сложных проектах.

2. Короткая карта маршрута

  1. Введение: какие задачи решают ИТ-команды.
  2. Месяцы 1–2: писать и проверять программы на Python.
  3. Месяц 3: хранить данные в файлах и историю кода в Git.
  4. Месяц 4: работать в Linux и получать данные через SQL.
  5. Месяц 5: создать API на FastAPI и тесты pytest.
  6. Месяц 6: запускать приложение в Docker и автоматически проверять изменения.
  7. Месяц 7: познакомиться с машинным обучением.
  8. Месяц 8: работать с языковой моделью и поиском по документам.
  9. Месяц 9: собрать помощника, который вызывает функции и выполняет несколько шагов.

3. Как пользоваться документом

В каждом разделе сначала откройте основной курс и нужные темы. Затем выполните задание. Альтернативный источник используйте для конкретного непонятного места.

Если тема непонятна

  1. Запишите, что должна делать программа.
  2. Попробуйте маленький пример и сравните ожидаемый ответ с полученным.
  3. Перечитайте объяснение и разберите похожий пример курса.
  4. Откройте альтернативу или задайте вопрос с кодом своей попытки.
  5. После подсказки повторите решение на других данных.

4. Что подготовить перед началом

Подготовьте компьютер, браузер и папку для учебных работ. Аккаунт Stepik понадобится для заданий первого курса, GitHub — при знакомстве с Git. Помощник AI необязателен.

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

5. AI-наставник, который учит, а не решает вместо ученика

Помощь с трудной темой

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

Первоначальная настройка ChatGPT

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

Я изучаю программирование с нуля. Объясняй по-русски короткими шагами. Сначала посмотри мою попытку, дай одну подсказку и задай вопрос для проверки понимания.

Как проверить ответ

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

Если Study Mode недоступен

Используйте обычный диалог с такой же просьбой или задайте вопрос в обсуждении курса. Учебные задания доступны и без AI-помощника.

Для английского языка

Если хотите дополнительно практиковать английский, посмотрите ELSA Speak и Gliglish. Перед регистрацией проверьте текущий бесплатный объём и возрастные условия. Для заданий этой карты они не требуются.

Главное правило

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


6. Как организовать самостоятельное обучение

Занятие A — новый материал

Прочитайте или посмотрите 30–40 минут курса, затем около 20 минут решайте примеры.

Занятие B — тренажёр

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

Занятие C — закрепление

Повторите трудную тему, закончите упражнение и коротко запишите, что получилось.

Учебный журнал

В обычном файле записывайте дату, тему, решённые задачи, трудность и следующий пример для повторения. Например: «Сумму списка считаю; путаю границу range; завтра проверю цикл на одном элементе».

Как самому понимать, что можно двигаться дальше

  1. Решите похожую задачу без готового ответа.
  2. Объясните идею и важные строки кода.
  3. Покажите, как начали бы искать причину ошибки.
  4. Повторите пример после перерыва.

Если что-то пока не получается, вернитесь к этой теме и попробуйте другой пример. Темп занятий можно менять.

Полезные привычки

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


7. Карта основных ресурсов

Направление Основной ресурс Язык Бесплатно Автопроверка
Профессии в IT и безопасности Kaspersky Enter_IT русский да контрольные элементы курса
Обзор технологий и направлений 1T Старт — вводный IT-курс русский да задания курса
Интерактивные экскурсии по IT Урок Цифры — каталог русский да тренажёры и сертификаты
AI-наставник ChatGPT Study Mode русский диалог проверьте условия доступа проверка понимания, не кода
Python с нуля Поколение Python: начинающие русский да задачи курса
Python, альтернативное объяснение Code Basics Python русский да да
Python с визуальным Роботом Учебный исполнитель Робот русский да автоматическая проверка и пошаговый запуск
Python как игровые миссии CheckiO на русском русский основа бесплатна автоматическая проверка миссий
Python с визуальным роботом, дополнительно Reeborg's World английский да задачи в мире робота
Игровое программирование, демо CodeCombat частично русский первые уровни проверка игровых уровней
Справочник Python Яндекс Хендбук русский да задачи и прогресс
Python-видео SelfEdu — плейлисты русский да нет
Python дальше Поколение Python: продвинутые русский да да
Git/GitHub Основы Git и GitHub русский да Stepik
Git-тренажёр Learn Git Branching русский да да
Git-справочник Pro Git, русская версия русский да нет
Linux Введение в Linux русский да Stepik
SQL Интерактивный тренажёр SQL русский да да
SQL, дополнительная практика SQL Academy русский основа бесплатна да
API Основы API русский да Stepik
FastAPI FastAPI для начинающих русский да практика Stepik
FastAPI-справочник Официальная документация FastAPI русский да нет
Тестирование Pytest для Python-разработчиков русский да Stepik
Docker Docker для начинающих русский да практика в браузере
Docker, дополнительный материал Docker Get Started английский да workshop
CI/CD CI/CD простым языком русский да Stepik
AI для первого знакомства Code.org AI for Oceans русский да интерактивно
Общая теория AI Microsoft AI for Beginners RU русский да вопросы и задания
Классический ML Microsoft ML for Beginners RU русский да вопросы и задания
Генеративный AI Microsoft Generative AI for Beginners RU русский да задания, часть требует настройки моделей
AI-агенты Введение в разработку AI-агентов русский да тесты и лабораторные
Алгоритмы, позже Алгоритмы: теория и практика русский да Stepik

Некоторые дополнительные ресурсы содержат английские элементы интерфейса. Они не обязательны. Основной маршрут можно пройти на русском языке.

Дополнительная практика Python

Учебный исполнитель Робот позволяет увидеть выполнение команд, условий и циклов на экране. Это дополнительный тренажёр после первых тем Python. Устанавливайте его по инструкции автора и проверяйте решение в разных условиях задачи.

Дополнительные игровые площадки

  • CheckiO — задачи после знакомства со списками и функциями.
  • Reeborg’s World — визуальные задачи с роботом; объяснения преимущественно английские.
  • CodeCombat — дополнительные начальные уровни; проверьте доступный бесплатный объём.

Основные упражнения идут по курсу Python. Эти ссылки пригодятся, если хочется ещё практики.


ПРАКТИКА И ПРОВЕРКА

8. Стартовый модуль: мир IT, AI и роботов

Продолжительность: 1–2 недели до основного маршрута.
Цель: познакомиться с задачами разных специалистов.

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

8.1. Главный профориентационный курс

Начать с бесплатного Kaspersky Enter_IT.

Откройте обзор и выберите видео о разработке, данных, безопасности и работе команды. Для каждой профессии запишите один пример задачи.

  • IT-профессии;
  • профессии информационной безопасности;
  • non-tech роли в технологических компаниях.

В курсе рассказывают о реальных задачах, положительных сторонах и сложностях профессий. Нужно посмотреть как минимум материалы о:

  • разработчиках;
  • тестировщиках;
  • аналитиках;
  • специалистах по данным;
  • дизайнерах;
  • специалистах информационной безопасности;
  • project/product-менеджерах;
  • гуманитарных ролях в IT-компаниях.

Запишите несколько направлений, которые хотите попробовать.

8.2. Альтернативный широкий обзор технологий

Затем выборочно пройти вводный курс 1T Старт. Он показывает не только профессии, но и то, что именно создают IT-команды.

В программе есть:

  • устройство компьютера и рабочее место IT-специалиста;
  • графика и дизайн;
  • программирование и алгоритмы;
  • разработка игр;
  • данные и таблицы;
  • AI и Python;
  • 3D и VR;
  • дроны и роботы;
  • web-разработка;
  • мобильные приложения;
  • IT-проекты, команды и предпринимательство.

В 1T выберите темы о тех продуктах и устройствах, которые вам интересны.

8.3. Интерактивные экскурсии «Урока Цифры»

Открыть общий каталог «Урока Цифры». Не нужно проходить всё. Выбрать темы, которые вызвали интерес.

Разработка и качество

Инфраструктура и бизнес-системы

AI, безопасность и роботы

В выбранном уроке выполните тренажёр и объясните один рабочий пример.

8.4. Карта направлений, которую нужно увидеть

После стартового модуля ученик должен хотя бы в общих чертах различать:

Область Примеры профессий Что создают или улучшают
Разработка разработчик интерфейса, сервера, мобильных и настольных приложений сайты, сервисы, приложения
Игры разработчик игры, игровой дизайнер, технический художник игры и игровые инструменты
Данные аналитик данных, автор отчётов, инженер данных отчёты, метрики, хранилища данных
Аналитика бизнес-аналитик, системный аналитик требования, процессы, схемы систем
AI исследователь данных, инженер моделей и AI-приложений модели и AI-приложения
Инфраструктура администратор, инженер запуска и надёжности сервисов серверы, запуск приложений, надёжность
Безопасность аналитик безопасности, специалист по проверке защиты защита систем и расследование атак
Тестирование тестировщик, разработчик автоматических проверок качество и автоматические проверки
Роботы и устройства инженер роботов, встроенных программ и электроники роботы, дроны, IoT, беспилотники
Дизайн дизайнер интерфейсов и продукта понятные интерфейсы и пользовательский опыт
Управление руководитель проекта и продукта цели, команды, сроки и развитие продукта
Работа в ИТ без написания кода подбор сотрудников, юрист, продажи, маркетинг работа технологической компании

8.5. Результат стартового модуля

В конце не требуется окончательно выбирать профессию. Достаточно ответить:

  1. Какие три направления показались самыми интересными?
  2. Что хочется попробовать создать своими руками?
  3. Нравится больше код, данные, техника, дизайн или организация людей?
  4. Какие направления пока точно не заинтересовали?

Сохраните три интересных направления и идею небольшой программы. Дальше начните Python: он пригодится для обработки файлов, расчётов и серверных приложений.


9. Бесплатность и русский язык

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

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

Некоторые лабораторные по AI требуют облачного доступа. Если подходящего бесплатного варианта нет, сначала разберите пример и отметьте запуск как отложенный. Локальной модели понадобятся место и подходящий компьютер; это стоит проверить до скачивания.

10. Девятимесячный маршрут

Проходите недели по порядку. В конце месяца сохраните работу и повторите её на новом примере. Если нужна ещё неделя, добавьте её в свой план.

ПРАКТИКА И ПРОВЕРКА

Месяц 1. Первые программы на Python

Неделя 1. Знакомство с программированием

В кафе программа может посчитать стоимость заказа по цене и количеству. Начните с программы, которая выводит название товара и итог. Команда — отдельное действие, программа — их последовательность.

Материалы: «Поколение Python»: курс для начинающих · Code Basics Python · SelfEdu · Учебный исполнитель Робот

  1. Откройте курс «Поколение Python», пройдите введение, установку и вывод данных. Выполняйте задания по порядку.
  2. Напишите вывод названия товара и суммы 2 × 150. Измените цену и запустите снова.
  3. Если нужно другое объяснение, откройте начало Code Basics или соответствующее видео SelfEdu. Робот по ссылке — дополнительная практика: установите по инструкции и измените команды в sample_solution.py.
  4. Покажите, где программа получает значение и где выводит ответ.

Неделя 2. Переменные и типы данных

Цена и количество меняются от заказа к заказу. Переменная хранит значение под именем. Тип определяет, как с ним работать: текст «150» сначала нужно превратить в число, чтобы считать сумму.

Материалы: Яндекс Хендбук Python

  1. В основном курсе пройдите строки, целые и дробные числа, ввод и преобразование типов.
  2. Напишите программу, которая спрашивает цену и количество и выводит стоимость заказа. Проверьте один товар, несколько и дробную цену.
  3. Разберите эту же тему в Яндекс Хендбуке, если преобразование текста в число непонятно. Объясните каждую строку своего решения.

Неделя 3. Условия

Доставка бесплатна при заказе от 2000 ₽. Условие if позволяет программе выбрать действие по сумме. Elif добавляет ещё один случай, else обрабатывает остальные.

  1. Пройдите if, elif, else, сравнения и логические операции в основном курсе.
  2. Для вымышленного магазина задайте доставку: 0 ₽ от 2000 ₽, иначе 200 ₽. Проверьте суммы 1999, 2000 и 2001.
  3. Добавьте условие самовывоза и объясните порядок проверок. При затруднении вернитесь к той же теме в Code Basics или SelfEdu.

Неделя 4. Циклы

Нужно посчитать сумму нескольких товаров. Цикл повторяет действие: берёт следующую цену и добавляет к итогу. For удобен для известной последовательности, while — для повторения до выполнения условия.

  1. Пройдите for, while, range, счётчики, накопление суммы и простые вложенные циклы.
  2. Посчитайте итог списка из пяти цен. Затем сделайте ввод цен до команды завершения. Объясните, когда цикл остановится.
  3. Проверьте пустой список, один товар и несколько товаров. По желанию закрепите циклы задачами Робота во всех предложенных обстановках.

Что сохранить: программы расчёта заказа и доставки, примеры для условий и циклов, команду запуска.

Как проверить себя: для сумм 1999, 2000 и 2001 стоимость доставки равна 200, 0 и 0 ₽. Сумма пустого списка равна 0; ввод цен завершается по выбранной команде. Измените границу условия и покажите, какой пример обнаружит ошибку.


ПРАКТИКА И ПРОВЕРКА

Месяц 2. Уверенный базовый Python

Неделя 5. Строки

В заявке клиент написал имя с пробелами по краям. Строковые операции помогают привести запись к нужному виду. Индекс указывает символ, срез выбирает часть текста.

Материалы: Поколение Python

  1. Продолжите курс: индексы, срезы, методы строк, перебор символов.
  2. Возьмите вымышленные имена и номера заказов. Уберите лишние пробелы, приведите код заказа к одному регистру и выделите его часть срезом.
  3. Проверьте пустой текст и короткую строку. Сравните исходный текст и результат. Для объяснений используйте знакомые альтернативы из каталога.

Неделя 6. Списки

Список хранит несколько значений: например, цены товаров корзины. Вложенный список может хранить строки небольшой таблицы. Изменение списка влияет на дальнейшие расчёты.

  1. Пройдите создание списков, индексы, срезы, добавление, удаление, перебор и вложенные списки.
  2. Сделайте список покупок: добавьте товар, удалите один, выведите всё с номерами.
  3. Проверьте пустой список и попытку обратиться к отсутствующему элементу. Объясните разницу текста «150», числа 150 и списка [150].

Неделя 7. Функции

Расчёт доставки понадобится в нескольких местах программы. Вынесите его в функцию: она получает сумму как параметр и возвращает цену доставки через return. Локальная переменная существует внутри вызова функции.

  1. Пройдите параметры, return, локальные переменные и разбиение задачи на функции.
  2. Создайте функции стоимости товаров, доставки и итогового чека. Соберите из них программу заказа.
  3. Проверьте каждую отдельно на заранее посчитанных числах. Объясните разницу между выводом print и возвращением return.

Неделя 8. Завершение курса и повторение

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

Материалы: CheckiO

  1. Закончите обязательные разделы курса для начинающих. Повторите задачи с частыми ошибками без прежнего решения перед глазами.
  2. Соберите программу заказа из нескольких функций. Подготовьте три примера входа и ожидаемого чека.
  3. Сохраните код и объяснение запуска. После своего решения можно сравнить подходы других учеников. CheckiO по ссылке — дополнительный тренажёр.

Что сохранить: программу заказа из функций, три примера входа и ожидаемого чека, инструкцию запуска.

Как проверить себя: каждая функция даёт заранее рассчитанный ответ. Пустая корзина обработана по вашему правилу. Объясните, как результат return попадает в итоговый чек и почему одного print для этого недостаточно.


ПРАКТИКА И ПРОВЕРКА

Месяц 3. Python дальше, Git и инженерные привычки

Неделя 9. Продвинутые возможности Python

Для учёта товаров удобно хранить пары «код — цена» в словаре. Множество помогает получить уникальные коды. Кортеж хранит последовательность, которую не меняют по отдельным элементам.

Материалы: «Поколение Python»: курс для продвинутых

  1. Откройте продвинутый курс Python: множества, словари, кортежи и операции с коллекциями.
  2. Создайте вымышленный каталог из пяти товаров. Найдите цену по коду, обновите её и выведите уникальные категории.
  3. Проверьте отсутствующий код и повтор категории. Остальные главы курса проходите по мере необходимости.

Неделя 10. Файлы, модули и ошибки

Список товаров должен остаться после закрытия программы. Для этого сохраните его в файл. Модуль — файл с кодом, который можно подключить через import. Исключение сообщает о ситуации, которую обычный ход программы не обработал.

  1. Пройдите чтение и запись файлов, импорт, стандартную библиотеку и исключения. Для пояснений используйте Яндекс Хендбук.
  2. Сохраните каталог товаров и прочитайте его после нового запуска. Вынесите чтение в отдельный модуль.
  3. Проверьте отсутствие файла и неверное значение. Прочитайте traceback — цепочку вызовов при ошибке — и найдите строку своего кода.

Неделя 11. Git с нуля

Вы исправили расчёт, но хотите видеть прежний вариант. Git хранит историю в репозитории. Рабочее дерево — файлы, которые сейчас редактируете; commit — сохранённое изменение; branch — отдельная линия работы.

Материалы: Основы Git и GitHub · Learn Git Branching · Pro Git

  1. Пройдите начало курса Git и первые уровни Learn Git Branching. Pro Git используйте для непонятных команд.
  2. Создайте репозиторий учебной программы и два коммита: исходный расчёт и исправление. Посмотрите разницу.
  3. Разберите remote — адрес другой копии, push — отправку изменений и pull — получение с объединением. Попробуйте на своей учебной копии без личных данных.

Неделя 12. Ветки и GitHub

В отдельной ветке можно добавить скидку и проверить её, пока основная версия остаётся прежней. Merge объединяет ветки. Конфликт возникает, когда Git не может сам совместить изменения.

  1. Продолжите курс и тренажёр: ветки, merge, конфликт, pull request, .gitignore и история.
  2. Создайте ветку для скидки, добавьте код и проверку. Откройте учебный pull request — предложение включить изменение.
  3. На учебных файлах измените одну строку по-разному в двух ветках, объедините и разберите конфликт. Укажите в .gitignore временные файлы и окружение.

Что сохранить: каталог товаров, модуль чтения файла, историю коммитов и разбор учебного конфликта.

Как проверить себя: после нового запуска каталог восстановлен из файла. Отсутствующий файл и неверный код товара обработаны. В истории Git найдены исходный расчёт и исправление; объединённая ветка проходит ваши проверки.


ПРАКТИКА И ПРОВЕРКА

Месяц 4. Linux и базы данных

Неделя 13. Linux и терминал

Серверные программы часто работают в Linux. Терминал позволяет управлять файлами командами. Текущая папка определяет, где команда ищет относительный путь; абсолютный путь начинается от корня файловой системы.

Материалы: Введение в Linux

  1. Пройдите вводную часть Linux-курса в предложенной учебной среде. На Windows начните с неё; WSL можно настроить позже по официальной инструкции.
  2. В отдельной учебной папке попробуйте pwd, ls, cd, mkdir, cp и mv. Создайте, скопируйте и переименуйте файл.
  3. Разберите права чтения, записи и запуска. Команду rm проверяйте только на специально созданном ненужном учебном файле.

Неделя 14. Процессы, пакеты и shell

Запущенная программа — процесс. Оболочка, или shell, принимает команды. Вывод одной программы можно передать другой через pipe, а перенаправление позволяет сохранить его в файл.

  1. Пройдите процессы, ввод и вывод, pipes, перенаправление, переменные окружения и установку пакетов.
  2. Запустите свою Python-программу из терминала и сохраните её вывод в файл.
  3. Найдите процесс и завершите свой учебный запуск. Используйте переменную окружения для простой настройки и объясните, где она читается.

Неделя 15. SQL: выборка данных

В таблице заказов одна строка описывает заказ, а столбцы — его свойства. SQL позволяет выбрать нужные записи: например, заказы дороже заданной суммы.

Материалы: Интерактивный тренажёр по SQL · SQL Academy

  1. Пройдите SELECT, WHERE, сортировку, ограничение числа строк, выражения и подсчёты в SQL-тренажёре.
  2. Решите задачи на выбор дорогих заказов, сумму, количество и среднее. Перед запросом посчитайте маленький пример вручную.
  3. Для дополнительных задач откройте SQL Academy. Объясните, зачем ORDER BY нужен перед выбором первых строк.

Неделя 16. SQL: связи и сложные запросы

Город клиента может храниться отдельно от заказа. JOIN связывает записи по ключу — например, номеру клиента. GROUP BY собирает группы, HAVING выбирает группы по итоговому условию.

  1. Продолжите тренажёр: группировки, HAVING, JOIN, подзапросы, добавление и изменение данных.
  2. Нарисуйте связь клиентов и заказов. Посчитайте заказы по клиенту и выберите клиентов с несколькими заказами.
  3. Предскажите число строк после JOIN и проверьте результат. Изменения выполняйте только на учебных таблицах.

Что сохранить: команды работы с учебной папкой, вывод Python в файле, SQL-запросы и ручные расчёты.

Как проверить себя: можете найти созданный файл из другой папки и объяснить его путь. Для JOIN число строк совпадает с вашим прогнозом; количество заказов по клиенту проверено вручную.


ПРАКТИКА И ПРОВЕРКА

Месяц 5. Web, HTTP, API и тесты

Неделя 17. Как работает Web и API

Браузер запрашивает заказ у сервера. HTTP задаёт правила запроса и ответа, URL — адрес. API описывает доступные программе операции. JSON — текстовый формат данных с именованными полями.

Материалы: Основы API

  1. Пройдите курс API: клиент и сервер, запрос и ответ, методы, коды состояния, заголовки, JSON и стиль REST.
  2. В примере найдите GET для чтения, POST для создания, PUT/PATCH для изменения и DELETE для удаления.
  3. Нарисуйте запрос статуса заказа и ответ. Объясните различие программы, готовой библиотеки кода, сервера и API.

Неделя 18. Первое приложение FastAPI

FastAPI помогает написать сервер на Python. Маршрут, или route, связывает адрес с функцией. Например, адрес заказа вызывает функцию, которая возвращает его сведения.

Материалы: FastAPI для начинающих · официальную документацию FastAPI на русском

  1. Пройдите установку и первый запуск FastAPI, маршруты, параметры адреса и строки запроса, тело запроса и документацию.
  2. Сделайте учебный список товаров и маршрут получения товара по номеру. Проверьте через автоматически созданную документацию.
  3. Разберите Pydantic — описание и проверку структуры данных. Введите неверный тип параметра и прочитайте ответ об ошибке.

Неделя 19. FastAPI и база данных

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

  1. Продолжите курс: модели данных, проверки значений, ошибки, SQLAlchemy и подключение базы.
  2. Сохраните товар через API, перезапустите приложение и получите его снова. Обновите и удалите учебную запись.
  3. Проверьте неизвестный номер и неверную цену. Разделите код маршрутов, работы с базой и описания данных по примеру курса. При необходимости выделите дополнительную неделю.

Неделя 20. Автоматические тесты

После изменения скидки старый расчёт может сломаться. Автоматический тест запускает пример и сравнивает ответ с ожидаемым. Assert записывает такую проверку.

Материалы: Pytest для Python-разработчиков

  1. Пройдите основы pytest, тестовые случаи, запуск и чтение ошибок. Fixture — подготовка нужных тесту данных или окружения.
  2. Напишите проверки цены, доставки, неизвестного товара и неверного запроса API. Для каждого заранее задайте результат.
  3. Намеренно испортите вычисление, убедитесь, что тест падает, и исправьте его. Сохраните команду запуска тестов.

Что сохранить: API каталога, структуру базы, тесты и команды запуска приложения и pytest.

Как проверить себя: созданный товар доступен после перезапуска. Проверены неизвестный номер и неверная цена. Намеренно испорченный расчёт вызывает падение теста; после исправления тест проходит.


ПРАКТИКА И ПРОВЕРКА

Месяц 6. Docker и CI/CD

Неделя 21. Контейнеры

Для запуска приложения другому человеку нужны подходящие библиотеки и настройки. Образ Docker описывает подготовленную среду, контейнер — её запущенный экземпляр. Dockerfile задаёт шаги сборки образа.

Материалы: Docker для начинающих · Docker Workshop

  1. Пройдите первую половину Docker-курса: image, container, Dockerfile, build, run, ports, volumes и logs.
  2. Соберите образ учебного API, запустите контейнер и откройте нужный порт. Посмотрите журнал работы — logs.
  3. Остановите контейнер и создайте новый из того же образа. Английский Workshop используйте по желанию.

Неделя 22. Docker Compose

Приложение и база работают как два сервиса. Docker Compose описывает их запуск вместе, сеть и настройки. Volume хранит данные отдельно от временного контейнера.

  1. Продолжите курс Compose: несколько сервисов, переменные окружения, тома и сеть.
  2. Запустите приложение с учебной базой. Добавьте запись, пересоздайте контейнер и проверьте, что запись сохранилась в томе.
  3. Объясните, какие данные переживут удаление контейнера. Сохраните команды запуска и остановки.

Неделя 23. Что такое CI/CD

При каждом изменении кода можно автоматически запускать проверки. Такой порядок задач называют pipeline. CI регулярно собирает и проверяет изменения, CD готовит или выполняет выпуск приложения.

Материалы: CI/CD простым языком

  1. Пройдите курс CI/CD: этапы и задачи, сборка, тесты, сохранённый результат сборки и выпуск.
  2. По примеру курса настройте учебную проверку кода. Артефакт — файл результата, например отчёт тестов или собранный пакет.
  3. Внесите ошибку и убедитесь, что проверка сообщает о ней. Опишите условие, которое должно остановить выпуск. Для упражнения хватит одной системы из курса.

Неделя 24. Повтор инженерного стека

Проверьте весь путь своего приложения: изменение кода, запись в Git, тесты, сборка образа и запуск API с базой. Каждый этап решает отдельную задачу.

  1. Закончите незавершённые упражнения Git, pytest и Docker.
  2. Повторите запуск проекта в новой учебной папке по своей инструкции.
  3. Покажите, где лежат код, история, тесты, образ и данные базы. Исправьте недостающие шаги инструкции.

Что сохранить: Dockerfile, файл Compose, настройку автоматических проверок и инструкцию запуска.

Как проверить себя: приложение запускается из образа по инструкции. Запись базы переживает пересоздание контейнера с сохранённым томом. Автоматическая проверка обнаруживает намеренно добавленную ошибку.


ПРАКТИКА И ПРОВЕРКА

Месяц 7. Основы искусственного интеллекта

Неделя 25. Первое знакомство с ML

Почтовый сервис может распознавать нежелательные письма по примерам. Машинное обучение, или ML, подбирает правила по данным. Метка — известный ответ для примера; признаки — сведения, из которых модель учится.

Материалы: Code.org AI for Oceans на русском

  1. Пройдите короткий AI for Oceans по ссылке как дополнительный наглядный пример обучения.
  2. Разберите рабочий пример писем: какие признаки и метки понадобятся, какие ошибки возможны.
  3. Объясните, что произойдёт, если обучающие примеры отличаются от будущих писем. Такое различие может приводить к систематическим ошибкам.

Неделя 26. Что входит в AI

Искусственный интеллект включает разные подходы. Экспертная система использует явно записанные правила. Нейронная сеть подбирает множество числовых параметров на примерах.

Материалы: Microsoft AI for Beginners RU

  1. В Microsoft AI for Beginners прочитайте введение, историю, представление знаний, экспертные системы и начало нейросетей.
  2. Выполните доступные вопросы и простой ноутбук — файл с кодом и пояснениями.
  3. Сравните на задаче обработки писем заранее заданное правило и модель, обученную по примерам.

Неделя 27. Нейросети, изображения и текст

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

  1. Прочитайте о перцептроне — простой модели нейрона, нейронных сетях, компьютерном зрении и обработке языка.
  2. Разберите один пример изображения и один текста из курса. Запишите, что подаётся на вход и что ожидается на выходе.
  3. Найдите ошибочный ответ и объясните, как его заметить. Неизвестные формулы выпишите для дальнейшего разбора.

Неделя 28. Классическое машинное обучение

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

Материалы: Microsoft ML for Beginners RU

  1. В ML for Beginners пройдите введение в регрессию, классификацию, train/test, показатели качества и переобучение.
  2. Выполните вопросы и одну лабораторную. Сохраните результат на обучающих и проверочных данных отдельно.
  3. Объясните, какие ошибки важны для вашей задачи и почему проверочные ответы нельзя использовать при обучении.

Что сохранить: выполненный ML-ноутбук, описание признаков и меток, результаты на обучающей и проверочной частях.

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


ПРАКТИКА И ПРОВЕРКА

Месяц 8. LLM и генеративный AI

Неделя 29. Как устроена LLM на понятном уровне

Языковая модель, или LLM, генерирует продолжение по переданному контексту. Токен — часть текста, с которой работает модель; окно контекста ограничивает объём обрабатываемой информации.

Материалы: Microsoft Generative AI for Beginners RU

  1. Начните Generative AI for Beginners: генеративные модели, LLM, обучение и применение готовой модели — inference.
  2. Разберите токены, контекст и вымышленные утверждения — hallucinations.
  3. На вымышленной инструкции магазина составьте вопрос и проверьте ответ по исходному тексту. Отметьте неподтверждённые детали.

Неделя 30. Prompts и structured output

Чтобы извлечь номер заказа из обращения, задайте модели задачу, пример и ожидаемые поля. Prompt — инструкция модели. Structured output — ответ с заданной структурой, например JSON.

  1. Пройдите инструкции, системные и пользовательские сообщения, несколько примеров — few-shot — и структурированный ответ.
  2. Возьмите три вымышленных обращения и задайте поля: номер заказа, тема, недостающие сведения.
  3. Проверьте структуру и смысл каждого ответа самостоятельно. Для обращения без номера ожидайте отсутствие значения, а не придуманный номер.

Неделя 31. Embeddings и RAG

Сотрудник задаёт вопрос по инструкции магазина. Программа сначала находит подходящие фрагменты, затем передаёт их модели. Такой подход называют RAG.

  1. Разберите embeddings — числовые представления текста, поиск по смыслу, векторный поиск и RAG.
  2. На нескольких собственных учебных заметках подберите фрагменты для двух вопросов и составьте ответ со ссылками на них.
  3. Для вопроса без ответа в заметках укажите отсутствие сведений. Если лабораторная требует оплаты, пока разберите её на бумаге; программный запуск отметьте как отложенный.

Неделя 32. Tools, memory, agents и harness

Помощник может запросить сведения функцией и использовать результат в ответе. Tool calling — запрос вызова инструмента. Программа вокруг модели проверяет параметры и выполняет действие.

  1. Нарисуйте цикл: вопрос, выбор инструмента, проверка параметров, выполнение, результат, ответ или следующий шаг.
  2. Подпишите state/memory — сохраняемые сведения, planner — выбор следующих действий, orchestration — порядок работы частей, evaluation — проверку результата. Skills могут описывать повторяемые приёмы работы; формат зависит от инструмента.
  3. Harness — программа вокруг модели: запуск, инструменты, ограничения и проверки. Покажите на схеме, где она останавливает цикл при ошибке или достижении лимита.

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

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


ПРАКТИКА И ПРОВЕРКА

Месяц 9. AI-агенты и закрепление пути

Неделя 33. Начало курса по AI-агентам

Начните собирать помощника, который находит сведения в учебном каталоге товаров. Здесь пригодятся функции Python, запросы API и проверка ответов модели.

Материалы: Введение в разработку AI-агентов

  1. Откройте курс AI-агентов, повторите нужные основы Python и LLM.
  2. Пройдите вызов модели, prompt и структурированный ответ. Выполните тесты первой части.
  3. Для лабораторной подготовьте вымышленные записи товаров и ожидаемые ответы. Если подходящего бесплатного доступа нет, сохраните план и отметьте запуск как невыполненный.

Неделя 34. Function Calling

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

  1. Пройдите описание инструментов, параметры, вызов, возврат результата и ошибки.
  2. Сделайте учебную функцию поиска. Проверьте существующий номер, отсутствующий и неверный тип.
  3. Выполните лабораторную и тесты. Объясните, какая часть принадлежит модели, а какая исполняется вашим Python-кодом.

Неделя 35. Agent workflow и LangGraph

В LangGraph работу можно описать графом. Узлы — действия, рёбра — переходы, state — сведения, которые передаются между шагами. Цикл должен иметь условие остановки.

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

Неделя 36. Финальное повторение и выбор направления

Соберите проект и объясните его другому человеку: от входного запроса до результата, хранения данных и проверок. По затруднениям станет понятно, что повторить дальше.

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

Что сохранить: проект помощника, функцию поиска, схему переходов, тесты и инструкцию запуска; отдельно — отложенные лабораторные.

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


11. Куда двигаться после маршрута

Если понравился backend

Развивайте серверное приложение: хранение в PostgreSQL, работа с базой через SQLAlchemy, вход пользователей и более подробные тесты. Начните с одной новой функции.

Если понравился AI

Попробуйте обработку данных в NumPy и pandas, графики matplotlib, модели scikit-learn. Затем выберите математику, PyTorch, поиск по документам или проверку помощников.

Если понравилась инфраструктура

Углубите Linux и сети. Автоматизируйте запуск через Docker Compose, проверки через GitHub Actions, настройку через Ansible. Добавьте наблюдение за работой — мониторинг.

Если понравились алгоритмы

Пройдите «Алгоритмы: теория и практика». Решайте задачи с автопроверкой и сравнивайте, как время работы меняется при увеличении входных данных.


12. Как проверить доступ к курсу

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