The Language of Mathematics: Utilizing Math in Practice
Transforming a body of text into corresponding mathematical expressions and models is traditional... more Transforming a body of text into corresponding mathematical expressions and models is traditionally viewed and taught as a mathematical problem; it is also a task that most find difficult. The Language of Mathematics: Utilizing Math in Practice reveals a new way to view this process—not as a mathematical problem, but as a translation, or language, problem. By presenting the language of mathematics explicitly and systematically, this book helps readers to learn mathematics and improve their ability to apply mathematics more efficiently and effectively to practical problems in their own work.
Using parts of speech to identify variables and functions in a mathematical model is a new approach, as is the insight that examining aspects of grammar is highly useful when formulating a corresponding mathematical model. This book identifies the basic elements of the language of mathematics, such as values, variables, and functions, while presenting the grammatical rules for combining them into expressions and other structures. The author describes and defines different notational forms for expressions, and also identifies the relationships between parts of speech and other grammatical elements in English and components of expressions in the language of mathematics. Extensive examples are used throughout that cover a wide range of real-world problems and feature diagrams and tables to facilitate understanding.
A Note on Transformations of Quadratic Equations in Algorithms in Mathematical Cuneiform Texts
"The goal of this examination of Babylonian and Mesopotamian algorithms for calc... more "The goal of this examination of Babylonian and Mesopotamian algorithms for calculating the positive roots of quadratic equations was to identify (1) the conditions under which a transformed equation was first solved and (2) what transformations were applied to the original equations. "
ABSTRACT The subject of this book is how to formulate a mathematical model from an English descri... more ABSTRACT The subject of this book is how to formulate a mathematical model from an English description of a problem and the requirements its solution must satisfy. This book views mathematical notation as a language and develops the implications of this view for translating English text into mathematical expressions and a mathematical model, which is a prerequisite for applying mathematics to a practical problem. By presenting the Language of Mathematics explicitly and systematically, this book helps its readers – engineers, technicians, managers, students, teachers and many others – to develop and improve their ability to apply mathematics beneficially in their own work. Transforming a body of text into corresponding mathematical expressions and models is traditionally viewed and taught as a mathematical problem; it is also a task that most find difficult. The Language of Mathematics: Utilizing Math in Practice reveals a new way to view this process—not as a mathematical problem, but as a translation, or language, problem. By presenting the language of mathematics explicitly and systematically, this book helps readers to learn mathematics and improve their ability to apply mathematics more efficiently and effectively to practical problems in their own work. Using parts of speech to identify variables and functions in a mathematical model is a new approach, as is the insight that examining aspects of grammar is highly useful when formulating a corresponding mathematical model. This book identifies the basic elements of the language of mathematics, such as values, variables, and functions, while presenting the grammatical rules for combining them into expressions and other structures. This book describes and defines different notational forms for expressions, and also identifies the relationships between parts of speech and other grammatical elements in English and components of expressions in the language of mathematics. Extensive examples are used throughout that cover a wide range of real-world problems and feature diagrams and tables to facilitate understanding.
The spine of software. Designing provably correct software: theory and practice
PROLOGUE: Komputema Simio, Computing Monkey of Moc Introduction THEORY: Basic Semantics of Comput... more PROLOGUE: Komputema Simio, Computing Monkey of Moc Introduction THEORY: Basic Semantics of Computer Programs and Programming Constructs Proof Rules for the Individual Programming Constructs Transfundamental Programming Constructs PRACTICE: The Analysis and Verification of Programs: Methods and Examples The Construction of Correct Programs EPILOGUE: The Practice of Software Engineering Tomorrow.
Table of Contents 1. Introduction 1.1 General 1.2 Overview of this book 1.3 Exercises 2. Mathemat... more Table of Contents 1. Introduction 1.1 General 1.2 Overview of this book 1.3 Exercises 2. Mathematical model of a program and its execution 2.1 Program variables 2.2 Data environments 2.3 Values of variables and expressions in the context of a data environment 2.3.1 The value of an ordinary variable in a data environment 2.3.2 The value of an expression in a data environment 2.3.3 The value of an array variable in a data environment 2.4 Boolean expressions and sets of data environments 2.5 Program statements and constructs as functions on ID to ID 2.5.1 The assignment statement 2.5.1.1 Assignment to an ordinary variable 2.5.1.2 Assignment to an array variable 2.5.1.3 Multiple assignment statement 2.5.1.4 The exchange statement 2.5.2 The declare statement 2.5.3 The release statement 2.5.4 The null (empty) statement 2.5.5 The sequence of statements 2.5.6 The if statement 2.5.7 The while loop 2.5.8 The subprogram call without formal parameters 2.5.9 Basic vs. compound program statements 2.5.10 Other loop structures 2.5.11 The subprogram call with formal parameters 2.5.12 Input/output 3. Preconditions and postconditions 3.1 Ordinary preconditions MRSD eTextbook Robert L. Baber-3-6. Designing correct programs 6.1 General 6.2 The interface specification 6.3 Applying the rules to deduce the program statement types 6.3.1 Assignment and declare statements 6.3.2 Sequence of program segments 6.3.3 If statement 6.3.4 While loop 6.3.4.1 The loop invariant 6.3.4.2 The initialization 6.3.4.3 The while condition 6.3.4.4 The loop body 6.3.5 The subprogram call 6.4 Design example: a program segment to sum the elements of an array 6.4.1 An informal design approach 6.4.2 A more formal design approach 6.5 Design example: partitioning with pointers, deriving a program from its specification 6.5.1 Specification for the subprogram "twopartition" 6.5.2 Overview of the design steps 6.5.3 The loop invariant 6.5.4 The initialization of the loop 6.5.5 The loop condition 6.5.6 The body of the loop 6.5.7 Other required parts of twopartition 6.5.8 The complete subprogram twopartition 6.5.9 Termination 7. Rules for strict preconditions 7.1 Rules for the assignment statement 7.1.1 Rule AS1 7.1.2 Rule AS2 7.2 Rules for the declare statement 7.2.1 Rule DS1 7.2.2 Rule DS2 7.3 Rules for the release statement 7.3.1 Rule RS1 7.3.2 Rule RS2 7.4 Rule NS for the null statement 7.5 Rule SS for the sequence of statements 7.6 Rules for the if statement 7
We describe our experience applying tabular mathematical approaches to software specifications. O... more We describe our experience applying tabular mathematical approaches to software specifications. Our purpose is to show alternative approaches to writing tabular specifications and to help practitio-ners who want to apply such methods by allowing them to pick the best one for their problem. The object for the case study is software used by Dell Products for testing the functionality of the key-boards on notebook computers. Starting from infor-mal documents, we developed a variety of tabular rep-resentations of finite state machine specifications and tabular trace specifications. We found that the disci-pline required by these methods raised issues that had never been considered and resulted in documents that were both more complete and much clearer. The vari-ous tabular representations are compared from a user’s point of view, i.e., clarity, consistency, unam-biguity, completeness, suitability, etc
We describe our experience applying tabular mathematical approaches to software specifications. O... more We describe our experience applying tabular mathematical approaches to software specifications. Our purpose is to show alternative approaches to writing tabular specifications and to help practitioners who want to apply such methods by allowing them to pick the best one for their problem. The object for the case study is software used by Dell Products for testing the functionality of the keyboards on notebook computers. Starting from informal documents, we developed a variety of tabular representations of finite state machine specifications and tabular trace specifications. We found that the discipline required by these methods raised issues that had never been considered and resulted in documents that were both more complete and much clearer. The various tabular representations are compared from a user’s point of view, i.e., clarity, consistency, unambiguity, completeness, suitability, etc
Translating English to Mathematics: A Linguistic View of Mathematics for Software Engineers Draft - readers' comments desired, please email to: Baber@McMaster.CA
Software engineering education: issues and alternatives
ABSTRACT Postgraduate degree programs in “software engineering” have been in existence for some t... more ABSTRACT Postgraduate degree programs in “software engineering” have been in existence for some time and now undergraduate degree programs with this title are beginning to appear. A number of questions and issues of only moderate importance with respect to the postgraduate programs now become critical and of overriding importance. While one could (and did) by and large gloss over these issues earlier, this will be much more difficult, and probably impossible, in the future. These issues must be resolved in a wider context than that in which they have been dealt with before, involving engineering in the universities and professional engineering societies in the larger social context. Much of the disagreement regarding these issues can, ultimately, be traced back to differing fundamental views and definitions of the term “engineering” and whether “software engineering” should be treated as “just” another engineering discipline or in a significantly and fundamentally different way. After examining two different definitions and views of “engineering,” this paper states and discusses a number of the questions and issues which planners of new undergraduate software engineering degree programs must deal with. Some pros and cons of various alternative answers are presented and a few answers suggested. The issues discussed here begin with questions of general policy and concept (e.g., which culture – that of the traditional engineering disciplines or that of computer science – should be instilled in the students in these new degree programs), include organizational matters (e.g., the position of the new degree program in the university hierarchy) and end with selected, more detailed questions regarding the curriculum (e.g., how to deal with programming, design and management topics). It is conjectured that, although the scientific foundation for the undergraduate software engineering degree programs must and will come from computer science, their culture and orientation must come from engineering if they and their graduates are to be successful in satisfying society's needs in the long term.
Uploads
Books by Robert L Baber
Using parts of speech to identify variables and functions in a mathematical model is a new approach, as is the insight that examining aspects of grammar is highly useful when formulating a corresponding mathematical model. This book identifies the basic elements of the language of mathematics, such as values, variables, and functions, while presenting the grammatical rules for combining them into expressions and other structures. The author describes and defines different notational forms for expressions, and also identifies the relationships between parts of speech and other grammatical elements in English and components of expressions in the language of mathematics. Extensive examples are used throughout that cover a wide range of real-world problems and feature diagrams and tables to facilitate understanding.
Papers by Robert L Baber