Foreword by an Academician |
|
xi | |
Preface |
|
xiii | |
Acknowledgments |
|
xv | |
About the Author |
|
xvii | |
|
1 Introduction to Computers |
|
|
1 | (14) |
|
|
1 | (1) |
|
|
2 | (1) |
|
|
3 | (1) |
|
Hardware---CPU, RAM, Bus, and System Clock |
|
|
3 | (1) |
|
|
3 | (1) |
|
|
4 | (1) |
|
|
5 | (1) |
|
|
5 | (1) |
|
|
5 | (2) |
|
|
7 | (1) |
|
|
7 | (1) |
|
|
7 | (1) |
|
|
8 | (1) |
|
|
9 | (1) |
|
|
10 | (1) |
|
|
11 | (1) |
|
|
12 | (1) |
|
|
12 | (1) |
|
|
12 | (1) |
|
|
13 | (1) |
|
|
13 | (1) |
|
|
14 | (1) |
|
2 Introduction to Data and Data Types |
|
|
15 | (8) |
|
|
15 | (1) |
|
|
15 | (1) |
|
|
16 | (1) |
|
|
17 | (2) |
|
|
19 | (1) |
|
|
20 | (1) |
|
|
20 | (1) |
|
|
20 | (1) |
|
Use of Data in the Programs |
|
|
21 | (2) |
|
3 Data Storage and Retrieval |
|
|
23 | (8) |
|
|
23 | (1) |
|
|
24 | (1) |
|
|
25 | (1) |
|
|
25 | (1) |
|
Sequential-Access Data Files |
|
|
25 | (2) |
|
|
27 | (1) |
|
Indexed Sequential-Access Data Files |
|
|
27 | (1) |
|
Database Management System |
|
|
28 | (3) |
|
4 Introduction to Computer Programs |
|
|
31 | (12) |
|
|
31 | (1) |
|
|
32 | (1) |
|
|
33 | (1) |
|
Source Code, Object Code, and Executable Code |
|
|
33 | (2) |
|
|
35 | (1) |
|
How Does a Computer Execute a Program? |
|
|
36 | (2) |
|
|
38 | (1) |
|
|
39 | (1) |
|
Introduction to Program Structure |
|
|
40 | (1) |
|
|
40 | (3) |
|
5 Algorithms and Flowcharts |
|
|
43 | (10) |
|
|
43 | (1) |
|
|
43 | (4) |
|
|
47 | (1) |
|
|
48 | (4) |
|
Handling Data in Real-Life Programs |
|
|
52 | (1) |
|
6 Statements and Assignment Statements |
|
|
53 | (8) |
|
|
53 | (1) |
|
|
54 | (1) |
|
|
55 | (2) |
|
|
57 | (2) |
|
Utility of Assignment Statements |
|
|
59 | (1) |
|
Best Practices in Writing Assignment Statements |
|
|
60 | (1) |
|
7 Arithmetic, Relational, and Logical Expressions |
|
|
61 | (12) |
|
Introduction to Expressions |
|
|
61 | (1) |
|
|
61 | (1) |
|
|
62 | (1) |
|
Precedence Rules of Evaluation |
|
|
62 | (3) |
|
Best Practices in Forming Arithmetic Expressions |
|
|
65 | (1) |
|
|
66 | (3) |
|
Best Practices in Forming Relational Expressions |
|
|
69 | (1) |
|
|
70 | (2) |
|
Best Practices in Using Logical Expressions |
|
|
72 | (1) |
|
|
73 | (14) |
|
|
73 | (1) |
|
|
74 | (1) |
|
Goto Label/Statement Number |
|
|
74 | (1) |
|
|
74 | (2) |
|
|
76 | (3) |
|
Utility of Switch Case Statement |
|
|
79 | (1) |
|
Precautions for Using Switch -- Case Statement |
|
|
79 | (1) |
|
|
79 | (1) |
|
|
80 | (1) |
|
|
81 | (1) |
|
Precautions for Using the FOR Loop |
|
|
81 | (1) |
|
|
81 | (1) |
|
|
82 | (1) |
|
Precautions for Using the WHILE Loop |
|
|
83 | (1) |
|
|
84 | (1) |
|
Best Practices in Programming Loops |
|
|
84 | (3) |
|
|
87 | (18) |
|
|
87 | (1) |
|
How Data Comes into the Computer |
|
|
87 | (2) |
|
Opening of Files and Tables for Input |
|
|
89 | (2) |
|
|
91 | (1) |
|
|
91 | (1) |
|
|
92 | (1) |
|
|
93 | (2) |
|
|
95 | (1) |
|
|
96 | (1) |
|
|
96 | (1) |
|
|
96 | (1) |
|
|
97 | (1) |
|
|
98 | (1) |
|
|
98 | (1) |
|
|
98 | (1) |
|
Input Statements within Programs |
|
|
99 | (1) |
|
|
100 | (2) |
|
Receiving Data from Cars, Rockets, Airplanes, and Machines |
|
|
102 | (1) |
|
|
103 | (2) |
|
|
105 | (20) |
|
|
105 | (1) |
|
|
105 | (1) |
|
Structure of Output Statements |
|
|
105 | (1) |
|
|
106 | (4) |
|
Output to Database Tables |
|
|
110 | (1) |
|
Establish a Connection to the Database on the Database Server |
|
|
110 | (2) |
|
|
112 | (1) |
|
|
113 | (1) |
|
Modify the Contents of an Existing Record |
|
|
114 | (1) |
|
Output to Files Like Excel, Word, PDF, and So On |
|
|
115 | (1) |
|
Sending Output to Machines |
|
|
116 | (1) |
|
|
117 | (1) |
|
|
118 | (1) |
|
|
119 | (1) |
|
|
119 | (2) |
|
|
121 | (1) |
|
|
122 | (1) |
|
Sending Information over Other Networks |
|
|
123 | (1) |
|
|
123 | (2) |
|
|
125 | (10) |
|
|
125 | (1) |
|
|
125 | (2) |
|
Starting and Ending Statements |
|
|
127 | (1) |
|
|
128 | (2) |
|
|
130 | (1) |
|
|
131 | (1) |
|
Inter-Program Communication |
|
|
131 | (1) |
|
|
131 | (1) |
|
Device Handling Statements |
|
|
132 | (1) |
|
|
133 | (2) |
|
|
135 | (12) |
|
Errors, Defects, Faults, and Failure |
|
|
135 | (1) |
|
Facilities Provided by the OS to Handle Faults |
|
|
136 | (1) |
|
|
137 | (1) |
|
|
138 | (2) |
|
|
140 | (1) |
|
Possible Alternative Actions for Error Handling |
|
|
141 | (1) |
|
|
142 | (2) |
|
Responsibility for Error Handling |
|
|
144 | (3) |
|
13 Inter-Program Communication |
|
|
147 | (6) |
|
|
147 | (1) |
|
Inter-Program Communication through Disk Files |
|
|
148 | (1) |
|
Facilities Available for Inter-Program Communication through RAM |
|
|
148 | (5) |
|
14 Coding, Debugging, and Performance Tuning |
|
|
153 | (18) |
|
|
153 | (1) |
|
|
153 | (3) |
|
|
156 | (5) |
|
|
161 | (1) |
|
Getting a Wrong Result in Arithmetic Operations |
|
|
162 | (2) |
|
Results Getting Truncated |
|
|
164 | (1) |
|
Getting Wrong Data in Retrievals |
|
|
164 | (1) |
|
Getting Wrong Results in Printing |
|
|
165 | (1) |
|
Debugging Erroneous Communication |
|
|
166 | (1) |
|
|
167 | (3) |
|
Performance Tuning in Databases |
|
|
170 | (1) |
|
|
171 | (10) |
|
|
171 | (1) |
|
Characteristics of a Subroutine |
|
|
171 | (1) |
|
|
172 | (1) |
|
|
173 | (1) |
|
Objects and Classes of Object-Oriented Methodology |
|
|
173 | (1) |
|
Data Used inside a Subroutine |
|
|
173 | (1) |
|
|
174 | (2) |
|
|
176 | (1) |
|
Advantages of Using Subroutines |
|
|
176 | (2) |
|
Best Practices in Programming Subroutines |
|
|
178 | (1) |
|
Pitfalls in Programming Subroutines |
|
|
179 | (2) |
|
16 Building and Using Libraries |
|
|
181 | (8) |
|
|
181 | (1) |
|
|
181 | (2) |
|
|
183 | (1) |
|
|
184 | (1) |
|
Document the Routines in the Library |
|
|
185 | (1) |
|
Organizational Role in Building and Using Libraries |
|
|
186 | (3) |
|
17 Programming Device Drivers |
|
|
189 | (6) |
|
|
189 | (1) |
|
|
189 | (1) |
|
Functions Performed by a Device Driver |
|
|
190 | (1) |
|
Coding the Core Functionality Actions |
|
|
191 | (1) |
|
Coding the Ancillary Functionality Actions |
|
|
192 | (3) |
|
18 Programming Multi-Language Software |
|
|
195 | (6) |
|
|
195 | (1) |
|
Attributes of a Multi-Language Software |
|
|
196 | (1) |
|
Methods of Achieving Multi-Lingual User Interface |
|
|
196 | (1) |
|
Make the Software Amenable for Use in One Language Only but Customizable |
|
|
197 | (1) |
|
Make the Software Amenable for Use in English and One Other Language |
|
|
197 | (1) |
|
Make the Software Amenable for Use in Multiple Languages |
|
|
198 | (1) |
|
|
199 | (2) |
|
19 Programming Languages and Their Evolution |
|
|
201 | (8) |
|
|
201 | (1) |
|
Evolution of Programming Languages |
|
|
201 | (1) |
|
Conference or Committee on Data System Languages |
|
|
202 | (3) |
|
|
205 | (4) |
|
|
209 | (16) |
|
Some Quotable Quotes on Coding |
|
|
209 | (1) |
|
Introduction to Standards |
|
|
209 | (1) |
|
|
210 | (1) |
|
|
211 | (2) |
|
Scope of These Guidelines |
|
|
213 | (1) |
|
Ease of Understanding and Maintenance Guidelines |
|
|
213 | (1) |
|
|
213 | (1) |
|
|
214 | (2) |
|
Distinguishing the Principal Statements from the Subordinate Statements |
|
|
216 | (1) |
|
Limiting the Length of the Line Such That It Becomes Easily Readable |
|
|
216 | (1) |
|
Separating Segments of the Code |
|
|
217 | (1) |
|
Inline Documentation and Commenting |
|
|
217 | (1) |
|
|
217 | (1) |
|
|
218 | (1) |
|
Example of Revision History Documentation |
|
|
218 | (1) |
|
Example of Loop Control Documentation |
|
|
218 | (1) |
|
Special Inline Documentation |
|
|
218 | (1) |
|
Efficient Use of Resource Guidelines |
|
|
218 | (1) |
|
|
219 | (1) |
|
Defect Prevention Guidelines |
|
|
219 | (1) |
|
|
219 | (2) |
|
|
221 | (1) |
|
|
222 | (1) |
|
|
223 | (1) |
|
|
224 | (1) |
|
21 Personal Software Process |
|
|
225 | (12) |
|
|
225 | (1) |
|
Personal Software Process |
|
|
226 | (1) |
|
|
227 | (2) |
|
|
229 | (1) |
|
|
230 | (1) |
|
|
230 | (2) |
|
|
232 | (1) |
|
|
233 | (1) |
|
|
234 | (1) |
|
|
234 | (1) |
|
|
235 | (2) |
Index |
|
237 | |