Overflow 40
Overloading 97
Panel GUI class 80
Parent (of node in tree) 259
Parse tree 271
parseInt method 79
Parsing 269
Pascal 3 33
passwd command (Unix) 286
Password 284
Path (in tree) 259
Path name (Unix) 295
Payne, Jonathan viii
PDF files 302
Performance 225
Persistence 199
Pipe (Unix) 299
Planning 176
Polymorphism 189
Postcondition 134 197
Postorder traversal of tree 261 268
postorderTraversal method 261
PostScript files 303
Precondition 134 197
Preorder traversal of tree 261
preorderTraversal method 261
Prime number 65
Print method 203
println method 203
printPrimes method 67
printSubsets method 256
printTree method 260
PrintWriter class 203
Problem-based learning vii
professionalism 236
Programming by contract 175
Programming languages 3
Programming, computer 2
prompt (Unix) 285
Proposition 126
Propositional logic 131
Prototype 162
Pseudorandom numbers 76
PUBLIC 21
Pure parser 275
pwd command (Unix) 295
Python 3
Quadratic cost 229
Quality of code 164
QUEUE 99
Random numbers 76
read permission 300
readability 172
Reading from a file 200 212
Reading input from user 121
ReadLine method 200
ready method 201
Recurrence relation 242
Recursion 243
Recursive definition 242
Recursive descent parsing 274
Recursive methods 243
red command (Unix) 287
Reference (to object) 24
Removing a file (Unix) 289
Renaming a file (Unix) 288
Requirements analysis 162
Reuse 170
Right subtree 262
rm command (Unix) 289
rmdir command (Unix) 292
Root (of tree) 259
Root directory (Unix) 295
Rooted tree 259
RuntimeException class 72
saveDatabase example method 223
Scalability of performance 226
Scenario 163
Scientific notation 40
Scope (of variable) 32
Search problem 66
Security 240
SEQUENCE 96
Sequence (empty) 97
Sheridan, Mike viii
Sibling (of node in tree) 259
Signature 101
SimpleLexer class 272
Smalltalk 3
Software engineering 160
sort command (Unix) 302
space character 44
| Speed 225
Stack class 246
Standard error (Unix) 298
Standard input 77
Standard input (Unix) 298
Standard output 79
Standard output (Unix) 298
State (of computer) 9
State (of variable) 30
Statement 7
Static type 189
storyboard 163
Straight-line code 229
String class 44
Structural prototype 167
Structure of a program 161
style 172
SubExpression class 266
subsets 254
Subtree (of tree) 259
Sum of elements from a collection 112
Sun Microsystems, Inc. viii
Super 194
switch statement 57
Switching algebra 131
Symbol table 106
Synthesis 66
Tar (tape archive) files 303
tar command (Unix) 302
Tautology 129
tax method 49
Tax problem 146
Testing 145 163
Text editor 287
text file 200
Textfield GUI class 80
this 30
throw statement 70
Throwable class 72
Throwing an exception 70
Thurbon, Joseph viii
Time management 176
timestamp 299
Token 272
touch command (Unix) 290
Towers of Hanoi 252
Tracing 9
Traversal of a collection 111
Traversal of tree 261
Traversal with iterator 103
TREE 258
Tree class 259
Triangular array 106
TRUE 41
Truth table 126
try statement 71
Turing, Alan 2
two-dimensional array 105
Type (of variable) 6
Type conversion cast 98
Unchecked exception 74
undefined value 7 31
Understandability 168
Unicode 46
Unit testing 149
University of Sydney vii
Value (of variable) 6
van Hoff, Arthur viii
Variable 6
vi command (Unix) 302
Videostore example project 217
Void method 19
Void method call 19
Warth, Chris viii
wc command (Unix) 299
while statement 50
white-box testing 149
whoami command (Unix) 285
Wimalaratne, Kapila viii
Window GUI class 80
Windows 284
Word 4
Worst-case cost 228
Write method 203
write permission 300
writeln method 203
writing to a file 203 212
XML files 303
xpdf command (Unix) 302
Yellin, Frank viii
\ (escape character) 45
| | 43
|