Abstract
This paper discusses several problems in teaching programming languages. A language tends to indoctrinate its users and desensitize us to its problems and limitations. In addition, many language issues don't arise until programs reach a certain scale, which can be difficult to do in a one-semester course. No solution is proposed; instead the focus is to better understand the difficulty of designing an effective curriculum. One way to cut through the accidental combination of surface features in programming languages is to focus on semantics and programs themselves as object of study.
- Jr. Allen B. Tucker and Robert E. Noonan. Programming Languages: Principles and Paradigms. McGraw-Hill Higher Education, 2001. Google Scholar
Digital Library
- William R. Cook. Object-oriented programming versus abstract data types. In Proc. of the REX Workshop/School on the Foundations of Object-Oriented Languages (FOOL), volume 489 of Springer LNCS, pages 151--178, 1990. Google Scholar
Digital Library
- William R. Cook. Applescript. In Proc. of the The Third Conference on History of Programming Languages (HOPL III), 2007. Google Scholar
Digital Library
- John C. Mitchell and Krzysztof Apt. Concepts in Programming Languages. Cambridge University Press, December 2001. Google Scholar
Digital Library
- Michael L. Scott. Programming language pragmatics. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2000. Google Scholar
Digital Library
Index Terms
High-level problems in teaching undergraduate programming languages
Recommendations
Teaching programming languages in a post-linnaean age
Programming language "paradigms" are a moribund and tedious legacy of a bygone age. Modern language designers pay them no respect, so why do our courses slavishly adhere to them? This paper argues that we should abandon this method of teaching languages,...
An aspect-oriented approach to the undergraduate programming language curriculum
Three key forces are shaping the modern Computer Science (CS) curriculum: (1) new topics/courses are squeezing out existing ones; (2) a focus on "big picture" and interdisciplinary aspects of CS is leading to curricula in which the traditional core ...
Programming languages in a liberal arts education
Liberal arts curricula emphasize breadth of a student's educational experience, critical reasoning, and intellectual discourse to a greater degree than pre-professional training or engineering programs. This substantially impacts how the topic of ...






Comments