Programming Languages: An Active Learning Approach introduces students to three programming paradigms: object-oriented/imperative languages using C++ and Ruby, functional languages using Standard ML, and logic programming using Prolog. This interactive textbook is intended to be used in and outside of class. Each chapter follows a pattern of presenting a topic followed by a practice exercise or exercises that encourage students to try what they have just read. This textbook is best-suited for students with a 2-3 course introduction to imperative programming.
Key Features: (1) Accessible structure guides the student through various programming languages. (2) Seamlessly integrated practice exercises. (3) Classroom-tested. (4) Online support materials.
Advance praise:
"The Programming Languages book market is overflowing with books, but none like this. In many ways, it is precisely the book I have been searching for to use in my own programming languages course. One of the main challenges I perpetually face is how to teach students to program in functional and logical languages, but also how to teach them about compilers. This book melds the two approaches very well." -- David Musicant, Carleton College
Rezensionen / Stimmen
From the reviews:
"This is a very nice textbook. . 'An active learning approach' gives a true picture of the style of presentation of the material. Each chapter ends with a list of problems to be solved . and with references to further reading. There is a web page of the book . offering supplementary material for students and teachers. The book is beneficial for self-study, too. It starts with an interesting concise survey of computers and computation history, mentioning the influence of mathematics on programming . ." (Antonín Ríha, Zentrablatt MATH, Vol. 1153, 2009)
"This is an excellent undergraduate-level textbook for courses devoted to understanding programming language concepts . . exercises with solutions allow the student work either individually or in a collaborative group. . the text will permit instructors to use any class time for problem solution, discussion, and collaborative learning, including writing codes. . highly recommended to those teaching undergraduate programming language courses, and as a self directed study guide for professionals who wish to enhance their understanding of some of the newer languages . ." (E. A. Unger, ACM Computing Reviews, March, 2009)