Focuses on the three paradigms of programming: imperative, functional, and logic programming
Demonstrates not only how programming language concepts are used in language, but also how these concepts are implemented
Covers assembly language programming, C++, Standard ML, and Prolog
Updated and revised new edition, featuring new material on a Java implementation of the CoCo virtual machine
Dr. Kent D. Lee is Professor of Computer Science at Luther College, Decorah, Iowa, USA. He is the author of the successful Springer textbook
Python Programming Fundamentals and
Data Structures and Algorithms with Python.
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.
|
This clearly written and simple to follow textbook introduces the reader to the three styles of programming, examining object-oriented/imperative, functional, and logic programming. The focus of the text moves from highly preillegalscriptive languages to very deillegalscriptive languages, demonstrating the many and varied ways in which we can think about programming.
Designed for interactive learning both inside and outside of the classroom, each programming paradigm is highlighted through the implementation of a non-trivial programming language, demonstrating when each language may be appropriate for a given problem.
Topics and features: includes review questions and solved practice exercises, with supplementary code and support files available from an associated website; discusses the historical background to the models of computation used in implementing the programming languages we use today; provides the foundations for understanding how the syntax of a language is formally defined by a grammar; examines assembly language programming through a series of examples, using a Python Virtual Machine implementation called CoCo; introduces object-oriented languages through examples in C++, functional programming with Standard ML, and programming using the logic language Prolog; describes the development and implementation of a type inference system for the full-featured functional language Small.
Suitable for students of computer science at the undergraduate level, this engaging textbook takes an active learning approach to the next stage in understanding programming languages, once the reader has established some familiarity with an imperative language and the basics of data structures.
|
Focuses on the three paradigms of programming: imperative, functional, and logic programming
Demonstrates not only how programming language concepts are used in language, but also how these concepts are implemented
Covers assembly language programming, C++, Standard ML, and Prolog
Introduction
Syntax
Assembly Language
Object-Oriented Programming
Functional Programming
Compiling Standard ML
Logic Programming
Standard ML Type Inference
Appendix A: The JCoCo Virtual Machine Specification
Appendix B: The Standard ML Basis Library
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.
Introduction.- Syntax.- Assembly Language.- Object-Oriented Programming.- Functional Programming.- Compiling Standard ML.- Logic Programming.- Standard ML Type Inference.- Appendix A: The JCoCo Virtual Machine Specification.- Appendix B: The Standard ML Basis Library.
Über den Autor
Dr. Kent D. Lee is Professor of Computer Science at Luther College, Decorah, Iowa, USA. He is the author of the successful Springer textbook Python Programming Fundamentals and Data Structures and Algorithms with Python.
Inhaltsverzeichnis
Introduction.- Syntax.- Assembly Language.- Object-Oriented Programming.- Functional Programming.- Compiling Standard ML.- Logic Programming.- Standard ML Type Inference.- Appendix A: The JCoCo Virtual Machine Specification.- Appendix B: The Standard ML Basis Library.
Klappentext
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.
Focuses on the three paradigms of programming: imperative, functional, and logic programming
Demonstrates not only how programming language concepts are used in language, but also how these concepts are implemented
Covers assembly language programming, C++, Standard ML, and Prolog