技术教育社区
www.teccses.org

斯坦福程序设计入门课:JavaScript实现

封面

作者:[美]埃里克.S.罗伯茨 (Eric S

页数:388

出版社:机械工业出版社

出版日期:2021

ISBN:9787111669425

电子书格式:pdf/epub/txt

内容简介

本书通过使用一门叫JavaScript的语言,教会你如何编写程序,引导你走上奇妙的计算机科学的旅程。JavaScript语言是基于Web的应用程序的核心语言。书中所有示例代码都可以在任何浏览器上运行,包括你手机上的浏览器。虽然本书是使用JavaScript来演示,然而,更重要的是,本书着重讲解的是编程基本原则,其中的道理可以用在任何其他语言中。本书旨在用于大学课程中的门编程课。它覆盖了传统计算机科学首门课程(通常称为CS1)的所有内容。

作者简介

埃里克·S.罗伯茨(Eric S.Roberts),斯坦福大学计算机科学的查尔斯·西蒙尼荣誉教授。在其整个职业生涯中,他是计算机科学教育领域认可的,并获得了许多国家和靠前奖项,包括计算机科学教育协会(ACM SIGCSE)颁发的计算机科学教育杰出贡献奖、计算机科学教育特别兴趣小组(KAR)颁发的计算机科学教育奖。

本书特色

本书是由Eric S. Roberts新编写的一本斯坦福大学计算机科学入门课程(CS1)教材,面向没有编程经验及相关基础知识的学生,旨在通过JavaScript教授学生理解编程的基本概念。本书借鉴了许多优秀教师的教学经验,比如Richard Pattis采用的Karel机器人沉浸式教学法、Douglas Crockford推荐的编程指南。
深入浅出是本书的一大亮点。本书章节设置循序渐进,层次合理,不会给人一种强烈的“劝退感”。本书非常方便读者轻松阅读,向读者展示学习其他编码语言或从事计算机编程工作所需的基本技能,并帮助读者掌握编程的方法和基本原则。颇具趣味性是本书的另一亮点。每章开篇都会介绍计算机科学史上的一位重要人物,读者可以对计算机的发展历史有更多了解。本书的案例和练习题所涉及的主题和来源也丰富多彩,每章都有配套的用于学生自测的复习题和用于教师测验的练习题,并在本书配套的网站提供教学资源支持,在颇具趣味性的同时让人大开眼界。

目录

译者序

写给学生的话

写给教师的话

致 谢

第1章 轻松入门 1

11 Karel介绍 2

111 Karel的编程 2

112 Karel的世界 3

113 Karel的内置函数 3

12 教Karel解决问题 4

121 开始起步 4

122 定义函数 5

123 完善程序 6

124 使用库函数 7

125 分解策略 7

13 控制语句 9

131 条件语句 9

132 循环语句 11

133 解决通用问题 13

14 逐步求精法 15

141 一个逐步求精法的练习 15

142 自上而下设计的原则 15

143 求精第一个子问题 16

144 编写下一层代码 17

145 完成 18

15 Karel世界里的算法 19

总结 20

复习题 22

练习题 22

第2章 JavaScript简介 34

21 数据和类型 35

22 数值数据 35

221 JavaScript中数字的表示 36

222 算术表达式 36

223 优先级 38

23 变量 38

231 变量声明 39

232 赋值 39

233 自增和自减操作符 40

234 命名约定 41

235 常量 41

236 顺序计算 42

24 函数 42

241 用JavaScript实现函数 43

242 库函数 45

25 字符串数据 46

251 字符串操作 47

252 编写简单的字符串函数 48

26 在浏览器中运行JavaScript 49

261 “Hello World”程序 49

262 JavaScript和Web 51

263 JavaScript程序的HTML模板 51

27 测试和调试 53

271 防御式编程 54

272 成为一名优秀的调试者 54

273 编程的各个阶段 54

274 心理障碍的一个例子 57

275 编写有效的测试程序 58

28 软件维护 60

总结 61

复习题 63

练习题 65

第3章 控制语句 68

31 布尔数据 69

311 关系操作符 69

312 逻辑操作符 70

313 短路求值 72

32 if语句 73

321 if语句的其他形式 74

322 “?:”操作符 75

33 switch语句 76

34 while语句 78

35 for语句 81

351 for和while的关系 84

352 嵌套的for语句 84

36 算法编程 86

361 早期的平方根算法 87

362 寻找最大的公约数 89

363 欧几里得算法 90

37 避免使用模糊的真假值 92

总结 93

复习题 94

练习题 95

第4章 简单图形 100

41 图形版“Hello World” 101

42 类、对象和方法 102

421 创建对象 102

422 向对象发送消息 103

423 引用 104

424 封装 105

43 图形对象 105

431 GRect类 105

432 GOval类 108

433 GLine类 109

434 GLabel类 109

44 图形窗口 114

45 创建图形化应用程序 115

451 指定坐标和大小 115

452 使用简单的分解策略 117

453 在图形应用程序中使用控制语句 119

454 返回图形对象的函数 121

总结 122

复习题 123

练习题 124

第5章 函数 132

51 快速回顾函数 133

511 函数定义的语法 133

512 传递参数 134

513 可选参数 134

514 谓词函数 135

52 程序库 136

521 创建自己的程序库 136

522 信息隐藏原则 137

523 接口概念 138

53 一个支持随机选择的程序库 138

531 设计RandomLibjs库的接口 139

532 实现RandomLibjs库 140

533 使用RandomLibjs库 142

54 函数调用的机制 144

541 调用函数的步骤 144

542 组合函数 145

543 跟踪组合函数 146

55 递归函数 149

551 fact的递归公式 149

552?跟踪递归过程 150

553 递归的信仰之跃 153

554 斐波那契函数 153

555 计算斐波那契序列中的项 154

556 在递归实现中获得信心 155

557 递归实现的效率 155

总结 158

复习题 159

练习题 160

第6章 编写交互式程序 164

61 一等函数 165

611 将函数声明为数据值 165

612 传递函数作为参数 166

62 一个简单的交互式示例 167

63 控制对象的属性 169

64 响应鼠标事件 170

641 简单的画线程序 171

642 在画布上拖动对象 173

65 基于计时器的动画 175

651 setTimeout和setInterval函数 175

652 动画的简单示例 176

653 跟踪动画的状态 177

66 扩展图形库 179

661 GArc类 179

662 GPolygon类 181

663 GCompound类

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《斯坦福程序设计入门课:JavaScript实现》
Article link:https://www.teccses.org/1229285.html