Overview
The Programming Languages group studies the design, implementation, and formalization of programming languages. Our research includes work on language design, type systems, functional programming, and visual languages. We specialize in developing domain-specific languages that support solving and communicating difficult problems in a particular area by raising the level of abstraction, focusing on essential complexity, and empowering domain experts who may not be professional programmers. We also apply programming language techniques to solve problems in software engineering and end-user programming.
Sub Areas
- Functional Programming
- Domain-Specific Languages
- Type Systems
- Language Design
- Visual Languages
Related Courses
- CS 581: Programming Languages I
- CS 582: Programming Languages II
- CS 583: Advanced Functional Programming
- CS 584: Human Factors of Programming Languages
- CS 585: Domain-Specific Languages
- CS 589: Special Topics in Programming Languages
Faculty
Martin Erwig
ProfessorStretch Professor of Computer Science Electrical Engineering and Computer Science Programming Languages | Computer Science Education
Affiliated Faculty
Margaret Burnett
Distinguished ProfessorElectrical Engineering and Computer Science Software Engineering and Human-Computer Interaction | Computer Science Education
Liang Huang
ProfessorElectrical Engineering and Computer Science Data Science and Engineering | Artificial Intelligence and Robotics | Theoretical Computer Science | Health Engineering