IDE Development Course - 2023

Course Overview

This course provides a comprehensive exploration of Integrated Development Environment (IDE) architecture and implementation. It covers both theoretical foundations and practical aspects of IDE development.

Students will learn about text editing systems, project management, language processing pipelines, symbol resolution, type systems, and performance optimization techniques that power modern IDEs. The course combines lectures with hands-on assignments to build a functional mini-IDE.

Prerequisites
  • Programming fundamentals
  • Basic understanding of data structures and algorithms
  • Familiarity with at least one programming language
Learning Outcomes
  • Deep understanding of IDE architecture
  • Knowledge of language processing techniques
  • Ability to implement IDE features
  • Skills to contribute to IDE development projects

Lectures

Practical Assignment

Lecturer

Andrew Vasilyev (online alias "retran") started programming at the age of five. During his school years, he participated in programming competitions.

His career includes work in operations research, service-oriented architecture, and enterprise software development. Since 2013, he's focused on development tools, including frameworks, DSLs, and IDE development. He worked at Acumatica and 1C Company before joining JetBrains in 2018, where he now leads the ReSharper AI team.

Andrew has extensive teaching experience. He taught "High-Level Language Programming" and "Pattern Recognition and Machine Learning" at Moscow Aviation Institute (2011-2014), "IDE Development" at Higher School of Economics (2021), and at Constructor University in Bremen (2023). He also mentored students at Practicum by Yandex on algorithms and data structures (2021-2022).

Andrew Vasilyev's Photo