|
We believe that writing computer programs is the fundamental act of
computer science, and that programming languages are therefore our
fundamental tool.
We seek a deeper understanding of this fundamental tool and how it
should be used, and we seek to apply this understanding to novel
applications, to improving the programming and design process, and to
improving computer science education.
We take a multi-faceted approach to the study of programming
languages and programming methodology, incorporating elements of design,
mathematics, experimental science, engineering, and education.
We conduct research on all aspects of programming, including
- the development of small and large programs
- the design, implementation, and analysis of programming languages
- programming environment tools, and
- the pedagogy of programming.
Our research program is deeply integrated with its undergraduate
teaching mission. We also participate in the widely visible TeachScheme!
outreach project.
Our research program is also deeply integrated with our graduate
teaching mission. We aim to provide an environment that is both
nurturing and challenging in order to give our PhD students the best
possible scientific education. |