Use Concurrent Programming Models to Motivate Teaching of Programming Languages by Gary T. Leavens Abstract Undergraduate computer science students typically have only a limited understanding of their favorite languages and no inkling of other programming paradigms. Yet modern programmers typically work with several languages, and the availability of cheap concurrency is exposing fundamental problems in standard concurrent programming techniques (mutable objects and threads). This situation presents a great opportunity: by exploring nonstandard techniques for gaining intellectual control over concurrent programs, one can motivate and teach important semantic concepts (such as scoping) and important programming concepts (such as functional abstraction). Such a curriculum stimulates student interest in exploring new programming paradigms. Keywords: Programming language curriculum, concepts, concurrency, computational models, programming models, paradigms 2008 CR Categories: K.3.2 [Computers and Education] Computer and Information Science Education --- curriculum. To appear in the proceedings of the Programming Languages Curriculum Workshop, May 28-29, 2008, Cambridge, Mass.