• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site
Article
Statistical testing of segment homogeneity in classification of piecewise-regular objects

Savchenko A., Belova N. S.

International Journal of Applied Mathematics and Computer Science. 2015. Vol. 25. No. 4. P. 915-925.

Article
Reconstruction of a word from a finite set of its subwords under the unit shift hypothesis. I. Reconstruction without for bidden words1

Smetanin Y., Ulyanov M.

Cybernetics and Systems Analysis. 2015. Vol. 50. No. 1. P. 148-156.

Article
VTMine Framework as Applied to Process Mining Modeling

Sergey Andreevich Shershakov.

International Journal of Computer and Communication Engineering. 2015. Vol. 4. No. 3. P. 166-179.

IDE Development

2021/2022
Academic Year
RUS
Instruction in Russian
5
ECTS credits
Type:
Elective course
When:
3 year, 1, 2 module

Instructor

Vasilyev, Andrew

Vasilyev, Andrew

Программа дисциплины

Аннотация

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

Цель освоения дисциплины

  • Ознакомление студентов с алгоритмами, структурами данных и методами, лежащими в основе работы современных IDE и средств статического анализа
  • Получение студентами навыков исследовательской работы, предполагающей изучение и разработку новых специфических алгоритмов, необходимых для решения задач, возникающих в ходе разработки IDE
  • Получение студентами практических навыков решения прикладных задач, возникающих в ходе разработки IDE
Планируемые результаты обучения

Планируемые результаты обучения

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

Содержание учебной дисциплины

  • Инструментальные средства разработки. Введение в историю и архитектуру IDE.
  • Структуры данных для работы с текстом. Текстовый редактор и разметка документа.
  • Виртуальная файловая система, понятия модели PSI и проектной модели.
  • Введение в теорию формальных языков.
  • Лексический анализ.
  • Синтаксический анализ, абстрактные синтаксические деревья.
  • Семантический анализ, таблицы символов и разрешение ссылок.
  • Введение в системы типов и вывод типов.
  • Введение в статический анализ.
  • Абстрактная интерпретация, анализ потока управления и анализ потока данных.
  • Межпроцедурный анализ и граф вызовов.
  • Помощь при наборе и автодополнение кода. Поиск и навигация по коду.
  • Модификация абстрактного синтаксического дерева. Генерация кода на основе абстрактного синтаксического дерева. Автоформатирование. Автоматический рефакторинг.
  • Отладчик и отладочные символы, вычисление выражений во время отладки.
  • Инструментирование, профилирование и трассировка.
Элементы контроля

Элементы контроля

  • неблокирующий Домашний проект 1
    Разработка группой студентов небольшого текстового редактора с подсветкой синтаксиса. Выполняется группой в 2-3 студента.
  • неблокирующий Домашний проект 1
    Разработка группой студентов плагина с анализом для JetBrains IDE. Выполняется группой в 2-3 студента.
  • неблокирующий Экзамен
Промежуточная аттестация

Промежуточная аттестация

  • 2021/2022 учебный год 2 модуль
    Результирующая оценка вычисляется по формуле: О_результирующая = min(0,4*О_экзамен + 0,4*О_проект1 + 0,4*О_проект2; 10)
Список литературы

Список литературы

Рекомендуемая основная литература

  • Pierce, B. C. (2002). Types and Programming Languages. Cambridge, Mass: The MIT Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=70966

Рекомендуемая дополнительная литература

  • Aho, A. V., Lam, M. S., Sethi, R., & Ullman, J. D. (2014). Compilers: Pearson New International Edition : Principles, Techniques, and Tools: Vol. Second edition. Pearson.