Курс подходит
- Новичкам, которые хотят научиться писать и понимать код
- Специалистам, которым нужна системная практика
- Самоучкам, желающим собрать проект для портфолио
Понять путь программы от синтаксического дерева до машинного кода и создать собственное расширение. Обучение построено вокруг практики и завершается самостоятельной итоговой работой.
Итоговый результат: мини-компилятор с IR, оптимизацией, генерацией кода и тестами.
Каждый модуль объясняет отдельную тему простыми словами и закрепляет её практикой.
«Архитектура LLVM» простыми словами — это умение выделить сущности, границы и связи, затем проверить схему на основном и аварийном сценариях. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.
«Frontend и AST» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.
«LLVM IR» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.
«Типы и значения» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.
«Basic blocks» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.
«Генерация IR» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.
«Passes» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.
«Оптимизации» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.
«Target и codegen» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.
«JIT» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных. Мы берём входные данные, применяем к ним понятные правила и получаем результат, который можно проверить.
«Отладка и тесты» простыми словами — это умение задать наблюдаемое поведение, подготовить репрезентативные случаи и сравнить ожидаемый результат с фактическим.
«Итоговый мини-компилятор» простыми словами — это умение определить контракт, реализовать минимальное решение и доказать корректность на новых входных данных.
По ходу курса ученик выполняет практические задания, проверяет себя и постепенно готовит итоговую работу.
Уметь пользоваться компьютером, устанавливать программы и работать с файлами. Для курсов «с нуля» опыт разработки не требуется.
LLVM, C++ или Rust, LLVM IR, Clang, CMake
Теория простыми словами, разобранный пример, практика, автопроверка и итоговый проект
Доступ ко всем модулям, автопроверке и сертификату — 22 900 ₽.
Да. Материал идёт от простых действий к самостоятельной работе, а новые термины объясняются по ходу курса.
Система проверяет текст ответа по критериям урока и короткий тест. Код, сайт или другой результат ученик прикладывает как доказательство: система оценивает объяснение, но не запускает проект автоматически.
Именной сертификат освоения основной части программы автоматически выпускается после зачёта 80% модулей. В нём указано, сколько модулей пройдено; обучение можно продолжить до 100%.