TODO
Discusses the significance and components of Integrated Development Environments (IDEs), covering topics like code editing, debugging, and version control.
Delves into understanding plain text, text editing, rendering, and text editor workflow, establishing a foundational understanding for working with text in IDEs.
Extensive exploration of text editor functionalities within IDEs, including syntax highlighting, error highlighting, code navigation, and document markup among others.
Focuses on project models, Virtual File Systems (VFS), Program Structure Interface (PSI), caching, and unit of work in IDEs, essential for managing and organizing software development tasks.
Introduces finite state automatons, formal languages, abstract syntax trees, lexical and syntax analysis, crucial for understanding and processing programming languages in IDEs.
Dive into the intricacies of semantic analysis, explore the role of symbol tables in programming languages, and understand how IDEs manage symbol resolution and scopes.
Delve into syntax-directed translation, explore type systems and type checking, elucidating their pivotal roles in IDE development and programming.
Lecture explores polymorphism, type inference and introduces static analysis, crucial for understanding programming languages and their application in IDE and compiler design.
Lecture is covering topics such as performance profiling, memory profiling, and test coverage to understand and optimize a program's runtime behavior.
Lecture offers an in-depth exploration of debugging in software development, encompassing the evolution, types, techniques, and modern trends of debugging tools within IDEs.
An exploration of advanced IDE features focusing on smart search, navigation, code refactoring and code completion tools.
To be continued...
Assigns the development of a mini-IDE for IDELang, emphasizing core text editing, syntax highlighting, error detection, and modern development environment features, providing hands-on experience in IDE development.
Andrew Vasilyev, also known as “retran”, embarked on his programming journey at a young age of five. Throughout his school years, he was deeply involved in competitive programming.
He honed his skills in enterprise, e-commerce web development, and Service-Oriented Architecture (SOA) early in his career. His development tools experience began in 2013 at Acumatica, extending later to 1C Company, leading to his tenure at JetBrains from 2018, contributing to ReSharper and Rider.
Between 2011 and 2014, he taught courses about “High-Level Language Programming” and “Pattern Recognition and Machine Learning” at the Moscow Aviation Institute (MAI). He also shared his knowledge on “IDE Development” at the Higher School of Economics and mentored at Practicum by Yandex during 2021-2022.