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

斯坦福程序设计入门课:JavaScript实现百度网盘pdf下载

作者:
简介:本篇主要提供斯坦福程序设计入门课:JavaScript实现pdf下载
出版社:机械工业出版社自营官方旗舰店
出版时间:2021-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

编辑推荐

本书是由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类