Programming Languages An Active Learning Approach /

Lee, Kent.

Programming Languages An Active Learning Approach / [electronic resource] : by Kent Lee. - XIV, 282p. online resource.

Introduction -- Specifying Syntax -- Object-Oriented Programming with C++ -- Object-Oriented Programming with Ruby -- Functional Programming in Standard ML -- Language Implementation in Standard ML -- Logic Programming -- Formal Semantics -- Appendix A: The C++ Scanner Class Implementation -- Appendix B: The Ruby Scanner Class Implementation -- Appendix C: Standard ML Basis Library -- Appendix D: SML Calculator Compiler -- Appendix E: The Factorial Program's Code -- Appendix F: Small Action Semantic Description.

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: Accessible structure guides the student through various programming languages Seamlessly integrated practice exercises Classroom-tested Online support materials Advance Praise for Lee's Programming Languages: An Active Learning Approach "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

9780387794228 99780387794228

10.1007/978-0-387-79421-1 doi


COMPUTER SCIENCE.
LOGIC DESIGN.
ALGEBRA--DATA PROCESSING.
COMPUTER SCIENCE.
SYMBOLIC AND ALGEBRAIC MANIPULATION.
LOGICS AND MEANINGS OF PROGRAMS.
PROGRAMMING LANGUAGES, COMPILERS, INTERPRETERS.