The role of language paradigms in teaching programming

  • Authors:
  • Peter Van Roy;Joe Armstrong;Matthew Flatt;Boris Magnusson

  • Affiliations:
  • Univ. cath. Louvain, Louvain-la-Neuve, Belgium;SICS, Kista, Sweden;University of Utah, Utah;Lund University, Lund, Sweden

  • Venue:
  • SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

The purpose of this panel is to confront the wide variety of opinions on the role of language paradigms in teaching programming. We have selected four divergent opinions:Armstrong says that concurrent programming is considered difficult because it is taught in the wrong paradigm, namely imperative or object-oriented programming. Instead, concurrency should be taught using a paradigm that makes it simple.Flatt says that everyone should be taught how to program, not just computer science majors. Further, programming should be taught as an extension of what students already know, which is algebra. More important than a particular paradigm, however, is teaching students a design process.Magnusson says that object-oriented programming must be the first and principal paradigm, because it is best for teaching how to analyze problems and structure solutions. Other paradigms can be taught after students have a solid understanding of OO.Van Roy says that programming should be taught in terms of concepts, not paradigms. Common paradigms (functional, OO, etc.) then appear naturally, depending on the concepts used..The panel will confront these opinions to enrich our understanding of how to teach programming.