Prolog Experiments in Discrete Mathematics, Logic, and Computability

This book contains programming experiments that are designed to reinforce the learning of discrete mathematics, logic, and computability.

**Tag(s):**
Logic Programming

**Publication date**: 01 Jan 2005

**ISBN-10**:
n/a

**ISBN-13**:
n/a

**Paperback**:
158 pages

**Views**: 26,044

**Type**: Book

**Publisher**:
n/a

**License**:
n/a

**Post time**: 16 Apr 2008 02:15:34

Prolog Experiments in Discrete Mathematics, Logic, and Computability

This book contains programming experiments that are designed to reinforce the learning of discrete mathematics, logic, and computability.

Excerpts from the Preface:

This book contains programming experiments that are designed to reinforce the learning of discrete mathematics, logic, and computability. It is the outgrowth of the experimental portion of a one-year course in discrete structures, logic, and computability for sophomores at Portland State University. The course has evolved over the last ten years from a standard course into a course that uses programming experiments as part of the required activity. Most of the experiments are short and to the point, just like traditional homework problems, so that they reflect the daily classroom work. The experiments in the book are organized to accompany the material in Discrete Structures, Logic, and Computability, Second Edition, by James L. Hein.

In traditional experimental laboratories, there are many different tools that are used to perform various experiments. The Prolog programming language is the tool used for the experiments in this book. Prolog has both commercial and public versions. The language is easy to learn and use because its syntax and semantics are similar to that of mathematics and logic. So the learning curve is steep and no prior knowledge of the language is assumed. In fact, the experiments are designed to introduce language features as tools to help explore the problems being studied.

The instant feedback provided by Prolog's interactive environment can help the process of learning. When students get immediate feedback to indicate success or failure, there is a powerful incentive to try and get the right solution. This encourages students to ask questions like, "What happens if I do this?" This supports the idea that exploration and experimentation are keys to learning.

The book builds on the traditional laboratory experiences that most students receive in high school science courses. i.e., experimentation, observation, and conclusion. Each section contains an informal description of a topic—with examples as necessary—and presents a list of experiements to perform. Some experiements are simple, like using a program to check answers to hand calculations, and some experiements are more sophisticated, like checking whether a definition works, or constructing a small program to explore a concept.

This book contains programming experiments that are designed to reinforce the learning of discrete mathematics, logic, and computability. It is the outgrowth of the experimental portion of a one-year course in discrete structures, logic, and computability for sophomores at Portland State University. The course has evolved over the last ten years from a standard course into a course that uses programming experiments as part of the required activity. Most of the experiments are short and to the point, just like traditional homework problems, so that they reflect the daily classroom work. The experiments in the book are organized to accompany the material in Discrete Structures, Logic, and Computability, Second Edition, by James L. Hein.

In traditional experimental laboratories, there are many different tools that are used to perform various experiments. The Prolog programming language is the tool used for the experiments in this book. Prolog has both commercial and public versions. The language is easy to learn and use because its syntax and semantics are similar to that of mathematics and logic. So the learning curve is steep and no prior knowledge of the language is assumed. In fact, the experiments are designed to introduce language features as tools to help explore the problems being studied.

The instant feedback provided by Prolog's interactive environment can help the process of learning. When students get immediate feedback to indicate success or failure, there is a powerful incentive to try and get the right solution. This encourages students to ask questions like, "What happens if I do this?" This supports the idea that exploration and experimentation are keys to learning.

The book builds on the traditional laboratory experiences that most students receive in high school science courses. i.e., experimentation, observation, and conclusion. Each section contains an informal description of a topic—with examples as necessary—and presents a list of experiements to perform. Some experiements are simple, like using a program to check answers to hand calculations, and some experiements are more sophisticated, like checking whether a definition works, or constructing a small program to explore a concept.

Tweet

About The Author(s)

No information is available for this author.

Book Categories

Computer Science
Introduction to Computer Science
Introduction to Computer Programming
Algorithms and Data Structures
Artificial Intelligence
Computer Vision
Machine Learning
Neural Networks
Game Development and Multimedia
Data Communication and Networks
Coding Theory
Computer Security
Information Security
Cryptography
Information Theory
Computer Organization and Architecture
Operating Systems
Image Processing
Parallel Computing
Concurrent Programming
Relational Database
Document-oriented Database
Data Mining
Big Data
Data Science
Digital Libraries
Compiler Design and Construction
Functional Programming
Logic Programming
Object Oriented Programming
Formal Methods
Software Engineering
Agile Software Development
Information Systems
Geographic Information System (GIS)

Mathematics
Mathematics
Algebra
Abstract Algebra
Linear Algebra
Number Theory
Numerical Methods
Precalculus
Calculus
Differential Equations
Category Theory
Proofs
Discrete Mathematics
Theory of Computation
Graph Theory
Real Analysis
Complex Analysis
Probability
Statistics
Game Theory
Queueing Theory
Operations Research
Computer Aided Mathematics

Supporting Fields
Web Design and Development
Mobile App Design and Development
System Administration
Cloud Computing
Electric Circuits
Embedded System
Signal Processing
Integration and Automation
Network Science
Project Management

Operating System
Programming/Scripting
Ada
Assembly
C / C++
Common Lisp
Forth
Java
JavaScript
Lua
Rexx
Microsoft .NET
Perl
PHP
R
Python
Rebol
Ruby
Scheme
Tcl/Tk

Miscellaneous
Sponsors