斯坦福程序设计入门课:JavaScript实现
- ISBN:9787111669425
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:388
- 出版时间:2021-01-01
- 条形码:9787111669425 ; 978-7-111-66942-5
本书特色
本书是由Eric S. Roberts新编写的一本斯坦福大学计算机科学入门课程(CS1)教材,面向没有编程经验及相关基础知识的学生,旨在通过JavaScript教授学生理解编程的基本概念。本书借鉴了许多优秀教师的教学经验,比如Richard Pattis采用的Karel机器人沉浸式教学法、Douglas Crockford推荐的编程指南。 深入浅出是本书的一大亮点。本书章节设置循序渐进,层次合理,不会给人一种强烈的“劝退感”。本书非常方便读者轻松阅读,向读者展示学习其他编码语言或从事计算机编程工作所需的基本技能,并帮助读者掌握编程的方法和基本原则。颇具趣味性是本书的另一亮点。每章开篇都会介绍计算机科学史上的一位重要人物,读者可以对计算机的发展历史有更多了解。本书的案例和练习题所涉及的主题和来源也丰富多彩,每章都有配套的用于学生自测的复习题和用于教师测验的练习题,并在本书配套的网站提供教学资源支持,在颇具趣味性的同时让人大开眼界。
内容简介
本书通过使用一门叫JavaScript的语言,教会你如何编写程序,引导你走上奇妙的计算机科学的旅程。JavaScript语言是基于Web的应用程序的核心语言。书中所有示例代码都可以在任何浏览器上运行,包括你手机上的浏览器。虽然本书是使用JavaScript来演示,然而,更重要的是,本书着重讲解的是编程基本原则,其中的道理可以用在任何其他语言中。本书旨在用于大学课程中的门编程课。它覆盖了传统计算机科学首门课程(通常称为CS1)的所有内容。
目录
写给学生的话
写给教师的话
致 谢
第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类
作者简介
埃里克·S.罗伯茨(Eric S.Roberts),斯坦福大学计算机科学的查尔斯·西蒙尼荣誉教授。在其整个职业生涯中,他是计算机科学教育领域认可的,并获得了许多国家和靠前奖项,包括计算机科学教育协会(ACM SIGCSE)颁发的计算机科学教育杰出贡献奖、计算机科学教育特别兴趣小组(KAR)颁发的计算机科学教育奖。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0 -
PREMIERE PRO 2023全面精通:视频剪辑+颜色调整+转场特效+字幕制作+案例实战
¥69.3¥99.0