|
PART 1. PROGRAMMING AS HUMAN PERFORMANCE 2
Comments on Part 1 P1.i
1 Reading Programs 5
An example 6
Machine limitations 7
Language limitations 9
Programmer limitations 10
Historical traces 11
Specifications 12
Summary 13
Bibliography 14
Comments on Chapter 1 1.i
2 What Makes a Good Program? 15
Specifications 17
Schedule 19
Adaptability 20
Efficiency 22
Summary 25
Questions 25
Bibliography 26
Comments on Chapter 2 2.i
3 How Can We Study Programming? 27
Introspection 28
Observation 30
Experiment 32
Psychological measurement 35
Using behavioral science data 38
Summary 39
Questions 40
Bibliography 41
Comments on Chapter 3 3.i
PART 2. PROGRAMMING AS A SOCIAL ACTIVITY 44
Comments on Part 2
4 The Programming Group 47
Formal and informal organization 47
Physical environment and social organization
50
Error and ego 52
Egoless programming 56
Creating and maintaining the programming environment
60
Summary 64
Questions 64
Bibliography 65
Comments on Chapter 4 4.i
5 The Programming Team 67
How a team forms 68
Establishing and accepting goals 72
Team leadership and team leaders 78
The team in crisis 85
Summary 91
Questions 92
Bibliography 93
Comments on Chapter 5 5.i
6 The Programming Project 95
Stability through change 96
Measuring performance 100
Project structure 106
Common social problems of large projects 109
Summary 112
Questions 113
Bibliography 115
Comments on Chapter 6 6.i
PART 3. PROGRAMMING AS AN INDIVIDUAL ACTIVITY
118
Comments on Part 3 P3.i
7 Variations in the Programming Task 121
Professional versus amateur programming 122
What the programmer is trying to do 126
Stages of programming work 132
Summary 137
Questions 138
Bibliography 139
Comments on Chapter 7 7.i
8 Personality Factors 141
Personality changes 143
Personality invariants 145
Critical personality traits 148
Personality testing 153
Personality testing of programmers 156
Summary 158
Questions 158
Bibliography 159
Comments on Chapter 8 8.i
9 Intelligence, or Problem-Solving Ability
161
Psychological set 162
Some dimensions of problem solving 164
Facets of programming intelligence 166
Aptitude tests 170
Aptitude tests for programming 171
Summary 176
Questions 177
Bibliography 177
Comments on Chapter 9 9.i
10 Motivation, Training, and Experience 180
Motivation 181
Training, schooling, and education 184
Forces against learning 188
How to learn programming 193
Summary 198
Questions 198
Bibliography 199
Comments on Chapter 10 10.i
PART 4. PROGRAMMING TOOLS 202
Comments on Part 4 P4.i
11 Programming Languages 205
Programming language and natural language 206
Programming language design 211
Summary 214
Questions 214
Bibliography 215
Comments on Chapter 11 11.i
12 Some Principles for Programming
Language Design 217
Uniformity 218
Compactness 224
Locality and linearity 229
Tradition and innovation 232
Special-purpose, multipurpose, and toy languages
237
Summary 241
Questions 242
Bibliography 243
Comments on Chapter 12 12.i
13 Other Programming Tools 246
Program testing tools 247
Operating systems 251
Time sharing versus batch 259
Documentation 262
Summary 270
Questions 270
Bibliography 272
Comments on Chapter 13 13.i
PART 5. EPILOGUE 275
Comments on Part 5 P5.i
Index 281
Return to Book Page
|