Foreword by an Academician |
Preface |
Acknowledgments |
About the Author |
Introduction to Computers / 1: |
What Is a Computer? |
Bits and Bytes |
Components of a Computer |
Hardware-CPU, RAM, Bus, and System Clock |
CPU |
Bus |
RAM |
System Clock |
Input/Output Devices |
Software |
Firmware |
Operating System |
Processor Management |
Memory Management |
Device Management |
Information Management |
Network Management |
Miscellaneous Utilities |
Application Software |
What Can Computers Do? |
How Do Computers Work? |
Final Words |
Introduction to Data and Data Types / 2: |
What Is Data? |
Basic Data Types |
Character Data |
Numeric Data |
Special Data Types |
Data Classes |
Local Data |
Global Data |
Use of Data in the Programs |
Data Storage and Retrieval / 3: |
Storage of Data |
Magnetic Disks |
Records |
Data Files |
Sequential-Access Data Files |
Random-Access Data Files |
Indexed Sequential-Access Data Files |
Database Management System |
Introduction to Computer Programs / 4: |
Introduction |
Components of a Program |
Program Statements |
Source Code, Object Code, and Executable Code |
Computer Programming |
How Does a Computer Execute a Program? |
Programming Styles |
Readability of Programs |
Introduction to Program Structure |
Semantics and Syntax |
Algorithms and Flowcharts / 5: |
Algorithm |
Developing Algorithms |
Flowcharts |
Handling Data in Real-Life Programs |
Statements and Assignment Statements / 6: |
Syntax |
Types of Statements |
Assignment Statements |
Utility of Assignment Statements |
Best Practices in Writing Assignment Statements |
Arithmetic, Relational, and Logical Expressions / 7: |
Introduction to Expressions |
Types of Expressions |
Arithmetic Expressions |
Precedence Rules of Evaluation |
Best Practices in Forming Arithmetic Expressions |
Relational Expressions |
Best Practices in Forming Relational Expressions |
Logical Expressions |
Best Practices in Using Logical Expressions |
Control Statements / 8: |
Goto Statements |
Goto Label/Statement Number |
If … Then … Else Statements |
Switch … Case Statements |
Utility of Switch … Case Statement |
Precautions for Using Switch … Case Statement |
Loops |
Counting-Based Loops |
Utility of FOR Loops |
Precautions for Using the FOR Loop |
Condition-Based Loops |
WHILE Loop |
Precautions for Using the WHILE Loop |
DO … WHILE Loop |
Best Practices in Programming Loops |
Input Statements / 9: |
How Data Comes into the Computer |
Opening of Files and Tables for Input |
Form |
Frame |
Text Box |
Combo Box |
List Box |
Grid |
Radio Buttons |
Check Boxes |
Command Button |
Labels |
Links |
Input Statements within Programs |
Data Validation |
Receiving Data from Cars, Rockets, Airplanes, and Machines |
Output Statements / 10: |
Output versus Enquiry |
Structure of Output Statements |
Output to Flat Files |
Output to Database Tables |
Establish a Connection to the Database on the Database Server |
Open the Database Table |
Insert a New Record |
Modify the Contents of an Existing Record |
Output to Files Like Excel, Word, PDF, and So On |
Sending Output to Machines |
Output to the Screens |
Bulk Outputs to Screen |
Output to Enquiries |
Output to Printers |
Control Statistics |
Output onto Internet |
Sending Information over Other Networks |
Other Statements / 11: |
Documentation Statements |
Starting and Ending Statements |
Declaration Statements |
System Calls |
API Programming |
Inter-Program Communication |
Interrupt Handling |
Device Handling Statements |
Error Handling / 12: |
Errors, Defects, Faults, and Failure |
Facilities Provided by the OS to Handle Faults |
Errors and Defects |
Error Prevention |
Handling Errors |
Possible Alternative Actions for Error Handling |
Handling User Mistakes |
Responsibility for Error Handling |
Inter-Program Communication through Disk Files / 13: |
Facilities Available for Inter-Program Communication through RAM |
Coding, Debugging, and Performance Tuning / 14: |
Coding |
Testing |
Debugging |
Getting a Wrong Result in Arithmetic Operations |
Results Getting Truncated |
Getting Wrong Data in Retrievals |
Getting Wrong Results in Printing |
Debugging Erroneous Communication |
Performance Tuning |
Performance Tuning in Databases |
Subroutines / 15: |
Characteristics of a Subroutine |
Function |
Methods |
Objects and Classes of Object-Oriented Methodology |
Data Used inside a Subroutine |
Argument Passing |
Message Passing |
Advantages of Using Subroutines |
Best Practices in Programming Subroutines |
Pitfalls in Programming Subroutines |
Building and Using Libraries / 16: |
Types of Libraries |
Building Libraries |
How to Use Libraries |
Document the Routines in the Library |
Organizational Role in Building and Using Libraries |
Programming Device Drivers / 17: |
What Is a Device? |
Functions Performed by a Device Driver |
Coding the Core Functionality Actions |
Coding the Ancillary Functionality Actions |
Programming Multi-Language Software / 18: |
Attributes of a Multi-Language Software |
Methods of Achieving Multi-Lingual User Interface |
Make the Software Amenable for Use in One Language Only but Customizable |
Make the Software Amenable for Use in English and One Other Language |
Make the Software Amenable for Use in Multiple Languages |
Limitations |
Programming Languages and Their Evolution / 19: |
Evolution of Programming Languages |
Conference or Committee on Data System Languages |
4th Generation Languages |
Programming Standards / 20: |
Some Quotable Quotes on Coding |
Introduction to Standards |
Standards and Guidelines |
Scope of These Guidelines |
Ease of Understanding and Maintenance Guidelines |
Naming Conventions |
Formatting Source Code |
Distinguishing the Principal Statements from the Subordinate Statements |
Limiting the Length of the Line Such That It Becomes Easily Readable |
Separating Segments of the Code |
Inline Documentation and Commenting |
Commenting Style |
Program Header Example |
Example of Revision History Documentation |
Example of Loop Control Documentation |
Special Inline Documentation |
Efficient Use of Resource Guidelines |
Defect Prevention Guidelines |
Computational Statements |
Efficiency Guidelines |
Effectiveness Guidelines |
Personal Software Process / 21: |
Productivity |
Quality |
Schedule |
Data Collection |
Methodology |
Coding Methodology |
Peer Review Methodology |
Testing Methodology |
Housekeeping |
Index |
Foreword by an Academician |
Preface |
Acknowledgments |