The following are Professor Parhami's early books that were written in Persian. For a list of his more recent books in English, consult his Web page on teaching and textbooks.
B. Parhami, Computer Appreciation (in Persian), Published by the author, Tehran, 1984. Original Persian title: Aashnaa'ee baa Computer.
From the Preface
This book covers basic concepts in computer programming, systems, and applications. The selection and presentation of material make the book a suitable text for high-school seniors and entering college students as well as for self-study by the scientifically curious. Wherever possible, simple analogies and familiar examples from daily encounters are used to describe modern computing concepts. In teaching a first course, it is imperative that instructors focus on the simplicity of computing concepts, rather than the intricacies of hardware and the inner workings of a computer. The five chapters of the book comprise about 20 sections and 60 topics, making the division of material into lectures quite simple. It is hoped that with proper attention on the part of instructors, foundations of this new field are presented in a systematic and engaging manner. Ensuring appropriate application of the computer technology and establishing the national infrastructure in this field would be impossible otherwise.
Brief Table of Contents
Introduction: Why read this book? 1
Chapter 1. What's an Algorithm? 5 ~ 1.1. Defintion and simple examples 5 ~ 1.2. Algorithm execution and executor 9 ~ 1.3. Useful methods in algorithm design 14 ~ 1.4. Expressing or representing algorithms 21 ~ 1.5. Exercises & problems 34
Chapter 2. Describing Algorithms for the Computer 39 ~ 2.1. Programs and programming 39 ~ 2.2. Foundations of the BASIC language 46 ~ 2.3. Other BASIC statements 54 ~ 2.4. Data and data structuring in BASIC 64 ~ 2.5. Exercises & problems 72
Chapter 3. Information and Its Processing 79 ~ 3.1. Introduction to information and data 79 ~ 3.2. Representing and organizing data in a computer 83 ~ 3.3. Information processing in BASIC 91 ~ 3.4. Designing a computerized payroll system 95 ~ 3.5. Exercises & problems 109
Chapter 4. Computer Systems 115 ~ 4.1. Hardware and the central processing unit 115 ~ 4.2. Peripheral subsystems of a computer 127 ~ 4.3. Software, systems, applications 139 ~ 4.4. Exercises & problems 147
Chapter 5. Computers and Society 155 ~ 5.1. Computers in the service of society 155 ~ 5.2. Social impacts of computers 172 ~ 5.3. Pitfalls of computer application 178 ~ 5.4. Past, present, and future 185
Appendix: Glossary and Subject Index 197 ~ A.1. Subject index and Persian/English glossary 197 ~ A.2. English/Persian glossary 206
B. Parhami, Computer Organization, Volume One—Basics of Hardware (in Persian), was to be published by Bahman Press in the early 1980s, but due to the post-revolutionary climate in Iranian universities and the subsequent departure of the author from Iran, it never appeared in print; the 800-page manuscript was used as lecture notes at several institutions. Original Persian title: Saazmaan-e Computer, Jeld-e Avval—Mabaanee.
Computer technology is advancing at such a rapid pace that any book on computer hardware and organization appears out of date by the time it is available in print. Despite this peril, I have endeavored to put together a three-volume series that covers the basics of computer organization and serves as a guide for the study of the latest developments scattered in numerous technical sources. The book that you now hold is the first volume in the series and encompasses six of the 18 planned chapters:
Volume One—Basics of Hardware: 1. Introduction and Background; 2. Information Representation; 3. Logic Circuits; 4. Memory and Storage; 5. A Model Computer; 6. Peripheral Devices.
Volume Two—System Integration: 7. The Processing Unit; 8. The Memory Unit; 9. The Control Unit; 10. Computer Characteristics; 11. Common Case Studies; 12. Computer Technology.
Volume Three—Advanced Concepts: 13. Concurrent Processing; 14. Resource Sharing; 15. Reliable Systems; 16. Novel Architectures; 17. Advanced Case Studies; 18. New Frontiers.
The books are suitable for use as texts for a three-course (3 units each) or two-course (4-5 units) sequence or as resources for self-study. Volume One is intended as a general introduction to computer hardware for all science and engineering students, while Volumes Two and Three are primarily for those who specialize in computer science and engineering. Each chapter in this volume contains about 70 graded problems as well as dozens of references that provide historical context or pointers for more advanced studies.
Brief Table of Contents for Volume One
Note: Each chapter ends with problems and references.
Chapter 1. Introduction and Background ~ 1.1. What is computer organization? ~ 1.2. Classification of computer systems ~ 1.3. General-purpose digital computers ~ 1.4. A history of computer organization ~ 1.5. Programming and algorithm specification ~ 1.6. Computer organization as a discipline
Chapter 2. Information Representation ~ 2.1. Historical perspective ~ 2.2. Unsigned integer representations ~ 2.3. Signed integer formats ~ 2.4. Real number representations ~ 2.5. Representing nonnumeric information ~ 2.6. Data structures
Chapter 3. Logic Circuits ~ 3.1. Why do we need logic circuits? ~ 3.2. Logic functions and their representations ~ 3.3. Combinational logic circuits ~ 3.4. Some useful combinational circuits ~ 3.5. Elements for sequential logic circuits ~ 3.6. Some useful sequential circuits ~ 3.7. Applications of logic circuits
Chapter 4. Memory and Storage ~ 4.1. The nature and properties of memory ~ 4.2. Types and characteristics of memory elements ~ 4.3. Semiconductor memories ~ 4.4. Magnetic elements for main memory ~ 4.5. Surface-recording magnetic memories ~ 4.6. Other memory technologies
Chapter 5. A Model Computer ~ 5.1. The programmer's view ~ 5.2. Data transfers and associated paths ~ 5.3. The control unit ~ 5.4. Input and output devices ~ 5.5. The arithmetic and logic unit ~ 5.6. Details of control circuits ~ 5.7. Adding more advanced features
Chapter 6. Peripheral Devices ~ 6.1. Input and output operations ~ 6.2. Data preparation and entry devices ~ 6.3. Computer input devices ~ 6.4. Computer Output devices ~ 6.5. Computer terminals ~ 6.6. Input and output handling
Glossary and Index
B. Parhami and V. Daie, Preliminary Glossary of Computers and Informatics (English/Persian), a Publication of the Informatics Society of Iran, Tehran, 1981. This glossary was used extensively for over a decade and was reprinted many times. A committee of ISI revised/updated the glossary, issuing a new edition in 1994. Original Persian title: Vaazhehnaameh-ye Mogahddamaati-ye Computer va Informatic.
This 6000-term glossary contains the Persian equivalents for English computing terms and their derivatives. We are issuing this glossary in preliminary form to satisfy the urgent need of computing specialists, particularly those engaged in the translation of technical books. A few terms have been listed with no Persian equivalent to solicit suggestions; for certain other terms, several equivalents are provided, one of which may be chosen at a later time as the preferred option; admittedly, some of the proposed equivalent terms are somewhat unpleasant. We hope that with help from members of the Informatics Society of Iran and other computing professionals, this work can be transformed into a more useful and comprehensive reference book.
From the Preface to the 1994 Edition
The preliminary edition of this glossary was warmly received and widely used. However, from the outset, the Informatics Society of Iran was cognizant of the need to form a committee charged with reviewing, improving, and updating the glossary. The aforementioned committee has worked off and on for many years, with its efforts intensifying since 1990. This revised edition is the result of three years of selfless work by the volunteer members of ISI's Glossary Committee. It is noteworthy that many established Persian computing terms, currently used in university instruction, original or translated books on computing, and other technical communications of our field, were proposed in the preliminary version of this glossary for the first time.