Modern Programming Languages: A Practical Introduction

Modern Programming Languages:
A Practical Introduction

Adam Webber

ISBN 1-887902-76-7, $77.00

 

Contents

  1. Language Families PDF file
  2. Defining Program Syntax PDF file
  3. Where Syntax Meets Semantics
  4. Language Systems
  5. A First Look at ML
  6. Types
  7. Polymorphism
  8. A Second Look At ML
  9. Memory Locations For Variables
  10. A Fourth Look At ML
  11. A First Look At Java
  12. Object-Oriented Programming
  13. A Second Look At Java
  14. Parameters
  15. A Third Look At Java
  16. Memory Management
  17. A First Look At Prolog
  18. A Second Look At Prolog
  19. Cost Models
  20. A Third Look At Prolog
  21. Formal Semantics
  22. A History of Programming Languages

Overview

Typical undergraduate CS/CE majors have a practical orientation: they study computing because they like programming and are good at it. This book has strong appeal to this core student group. There is more than enough material for a semester-long course. The level of presentation does not require a knowledge of computer architecture, operating systems, formal languages and automata theory, mathematical logic, or inductive proof techniques. A course using this book need not be placed at the end of a long chain of prerequisites. This makes it more useful in a wider variety of CS/CE curricula.

The challenge for a course in programming language concepts is to help practical students understand programming languages at an unaccustomed level of abstraction. To help meet this challenge, the book includes enough hands-on programming exercises and examples to motivate students whose primary interest in computing is practical. It does not assume the reader has a high level of mathematical maturity. It is designed to lead students to think about abstract programming language concepts, starting from a foundation of simple programming exercises.

The book has two distinct kinds of chapters: practical and philosophical. The practical chapters are self-contained primers in three programming languages. It is important for students to experience programming in several different language families. Therefore there are introductions to programming ML, Java and Prolog. The philosophical chapters present the theoretical side: the underlying principles of programming languages. They are interleaved with the practical chapters in an order that allows ideas to be illustrated using examples in the newly learned languages, and allows theoretical topics to be covered when their relevance to programming practice will be most evident.

Back to Our Catalog