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.