START Conference Manager    

Programming Languages: Fundamental Concepts for Expanding and Disciplining the Mind

Mitchell Wand and Daniel Friedman

(Submission #7)


Summary

We view the undergraduate course on programming languages as a primary means of expanding the student’s horizons beyond the Java monoculture. We aim to make the student dissatisfied with the status quo, and thereby create an audience for new and better programming tools.

In this white paper, we propose a list of essential concepts of programming languages, and discuss the techniques we have used to teach these concepts, both in our courses and in the new edition of our textbook, Essentials of Programming Languages.

Keywords

connection with other computer science curriculum
proliferation of widely-used general-purpose languages
acceptance of type-safe languages
growth of domain-specific languages
essential programming language concepts
programming versus programming language instruction
acceptance of managed runtimes (virtual machines)

File(s)

[Paper (PDF)]  

START Conference Manager (V2.54.6)