Lecture: Reflections on Programming Methodology
Research in programming methodology led to the development of the principles and methods that underlie how modern software systems are designed and structured. At the center of this work are the notions of abstraction and modularity. These ideas are related: design is the process of inventing and identifying abstractions, and the implementations of the abstractions become the modules that make up the program. This talk will discuss our current understanding of abstraction and modularity and the research that got us to where we are today.