第一篇 作为人类行为的程序开发 4
1 阅读程序 4
一个例子 6
机器的局限 7
语言的局限 8
程序员的局限 9
历史遗留问题 10
规范 11
小结 12
思考题 12
参考资料 13
本章评注 14
2 优秀程序的要素 16
技术规范 18
日程计划 20
适应性 21
效率 23
小结 26
思考题 26
参考资料 27
本章评注 28
3 如何研究程序设计 30
自省 31
观察 33
实验 36
心理学测量 39
利用行为科学中的数据 42
小结 44
思考题 45
参考资料 46
本章评注 50
第二篇 作为社会行为的程序开发 59
4 程序开发组 59
正式与非正式组织机构 59
自然环境与社会结构 62
错误与唯我独尊 65
无私式程序开发 69
建立与维护程序开发的环境 73
小结 78
思考题 78
参考资料 80
本章评注 81
5 程序开发团队 85
团队的组建 85
目标的设定与认同 90
团队的领导者及其领导方法 97
团队中可能出现的危机 104
小结 111
思考题 112
参考资料 114
本章评注 115
6 程序开发项目 119
在变化中保持稳定性 119
绩效评价 124
项目结构 130
大型项目中共同的社会性问题 134
小结 138
思考题 139
参考资料 141
本章评注 143
第三篇 作为个人行为的程序开发 150
7 程序开发任务的差异 150
专业的与业余的程序开发 150
程序员想要做什么 155
程序开发工作的不同阶段 162
小结 168
思考题 169
参考资料 170
本章评注 172
8 性格因素 174
疯狂的轰炸机 174
性格的改变 176
性格中经久不变的部分 179
关键的性格特征 182
性格测试 186
程序员的性格测验 190
小结 192
思考题 193
参考资料 194
本章评注 195
9 智力水平及问题求解能力 197
心理定势 197
问题求解的一些维度 201
程序开发的智力因素 203
智力测验 207
程序员的智力测验 209
小结 215
思考题 216
参考资料 217
本章评注 220
10 积极性、培训及经验 222
积极性 223
培训、课程学习与教育 228
学习的阻力 232
如何学习程序开发 237
小结 243
思考题 244
参考资料 245
本章评注 246
第四篇 程序开发工具 253
11 程序语言 253
程序语言与自然语言 253
程序语言设计 257
小结 261
思考题 261
参考资料 262
本章评注 264
12 程序语言设计的一些原则 266
一致性 266
简洁性 273
局部性与线性 279
传统与创新 283
专用的、多用的以及玩具式语言 289
小结 293
思考题 295
参考资料 296
本章评注 300
13 其他的程序开发工具 302
程序测试工具 302
操作系统 307
分时与批处理 315
文档管理 319
小结 328
思考题 328
参考资料 330
本章评注 334
第五篇 结语 344
图表索引 344