Языки программирования

 

Языки программирования

Кураторы направления

Подготовка по направлению «языки программирования» нацелена на ознакомление обучающихся с основными теоретическими и практическими подходами в области разработки и реализации языков программирования и языковых инструментов. В круг интересов для данного направления входят следующие темы:

  • семантика языков программирования;
  • системы типов;
  • функциональное и логическое программирование;
  • статический анализ и верификация программ;
  • преобразования программ;
  • разработка языковых инструментов.

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

                

  Булычев Д.Ю.               Ицыксон В.М.  

Москвин Д.Н.

 

На данном направлении необходимо сдать следующие курсы: 

Общедисциплинарные курсы
        Алгебра
        Алгоритмы
        Математическая логика и теория алгоритмов
        Формальные языки и грамматики
Обязательные специальные курсы
         Компиляторы
         Типы данных в языках программирования
         Семантики языков программирования
         Изоморфизм Карри-Ховарда, зависимые типы, proof-assistant
         Метавычисления
         Верификация по Хоару и анализ программ
         Separation logic
         Создание верификаторов
         Логическое и реляционное программирование
Альтернативные (необязательные) курсы
         

 

Основные темы научно-исследовательскиx работ (НИР): 

Руководитель:  Булычев Д.Ю.  

  • Релизация генерирующих расширений в type-driven форме
  • Генерация реляционных программ для решения логических задач
  • First-class unification для Haskell

Узнать подробнее о данных темах Вы сможете здесь.


Руководитель: Подкопаев А.

  • A Redex-like framework for OCaml
  • An Operational Semantics for C/C++11 Concurrency and MiniKanren
  • Ostap, Kisa, and Sample-Based Formatting

Узнать подробнее о данных темах Вы сможете здесь.