Computing That Serves

Teaching Programming both Broadly and Deeply or Network-Transparent Distributed Programming in Mozart


Wednesday, November 9, 2005 - 10:00am


Peter Van Roy, Professor of Computing Science, Université catholique de Louvain, Belgium

>Teaching Programming Both Broadly and Deeply: The Concepts-Based Approach

The purpose of this talk is to present our main insights and experience in teaching programming both broadly and deeply. By broadly we mean that it covers all major programming paradigms and concepts in a simple framework that shows exactly how they relate to each other.   By deeply we mean that we give a simple formal semantics that covers the whole framework and that can be understood and used by second-year students to reason about programs. Our approach is practical as well: we use an interactive programming system that runs all the programs in the framework, so the students can build intuition as well as deep understanding.

>Network-Transparent Distributed Programming in Mozart: Principles, Practice, and Protocols

We show how to greatly simplify distributed programming by starting with an appropriate language, Oz, and distributing it with network transparency. In the network-transparency approach, a program can be distributed over many nodes without changing its source code.  The semantics of the program's execution does not depend on how the program is distributed.  This can work well because the Oz language clearly distinguishes between stateless (immutable), stateful (mutable), and single assignment entities.  We then choose a distributed protocol to implement each language entity.  By choosing the protocol wisely, we can obtain an efficient and predictable network behavior.


Peter Van Roy received an Engineering degree from the Vrije Universiteit Brussel in 1983, a Ph.D. in Computer Science from UC Berkeley in 1990, and a Habilitation à Diriger des Recherches from the Université Paris VII in 1996. His research interests started in logic programming and Prolog compilation and then migrated to network-transparent distributed programming, with a continued interest in programming language design and implementation.  Published works include a comprehensive textbook on computer programming with his colleague Seif Haridi.  His current interests include programming language concepts, teaching programming, and distributed programming with structured overlay networks and concurrent components.