Foundations of Programming Languages

  • Kent D.┬áLee

Part of the Undergraduate Topics in Computer Science book series (UTICS)

Table of contents

  1. Front Matter
    Pages i-xiv
  2. Kent D. Lee
    Pages 1-30
  3. Kent D. Lee
    Pages 31-56
  4. Kent D. Lee
    Pages 57-110
  5. Kent D. Lee
    Pages 111-177
  6. Kent D. Lee
    Pages 179-234
  7. Kent D. Lee
    Pages 235-276
  8. Kent D. Lee
    Pages 277-304
  9. Kent D. Lee
    Pages 305-335
  10. Kent D. Lee
    Pages 349-367
  11. Back Matter
    Pages 369-370

About this book


This clearly written textbook provides an accessible introduction to the three programming paradigms of object-oriented/imperative, functional, and logic programming. Highly interactive in style, the text encourages learning through practice, offering test exercises for each topic covered. Review questions and programming projects are also presented, to help reinforce the concepts outside of the classroom. This updated and revised new edition features new material on the Java implementation of the JCoCo virtual machine.

Topics and features:

  • Includes review questions and solved practice exercises, with supplementary code and support files available from an associated website
  • Presents an historical perspective on the models of computation used in implementing the programming languages used today
  • Provides the foundations for understanding how the syntax of a language is formally defined by a grammar
  • Illustrates how programs execute at the level of assembly language, through the implementation of a stack-based Python virtual machine called JCoCo and a Python disassembler
  • Introduces object-oriented languages through examples in Java, functional programming with Standard ML, and programming using the logic language Prolog
  • Describes a case study involving the development of a compiler for the high level functional language Small, a robust subset of Standard ML

Undergraduate students of computer science will find this engaging textbook to be an invaluable guide to the skills and tools needed to become a better programmer. While the text assumes some background in an imperative language, and prior coverage of the basics of data structures, the hands-on approach and easy to follow writing style will enable the reader to quickly grasp the essentials of programming languages, frameworks, and architectures.

Dr. Kent D. Lee is Professor of Computer Science at Luther College, Decorah, Iowa, USA. He is the author of the successful Springer textbooks Python Programming Fundamentals and Data Structures and Algorithms with Python.


Assembly Language Programming C++ Imperative, Functional, and Logic Programming Prolog Standard ML

Authors and affiliations

  • Kent D.┬áLee
    • 1
  1. 1.Luther CollegeDecorahUSA

Bibliographic information

Industry Sectors
Finance, Business & Banking
IT & Software
Consumer Packaged Goods
Oil, Gas & Geosciences