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

斯坦福程序设计入门课:JavaScript实现
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Eric S.Roberts)
2021-01
版次: 1
ISBN: 9787111669425
定价: 119.00
装帧: 其他
开本: 16开
纸张: 胶版纸
页数: 388页
字数: 200千字
4人买过
  • 本书通过使用一门叫JavaScript的语言,教会你如何编写程序,引导你走上奇妙的计算机科学的旅程。JavaScript语言是基于Web的应用程序的核心语言。书中所有示例代码都可以在任何浏览器上运行,包括你手机上的浏览器。虽然本书是使用JavaScript来演示,然而,更重要的是,本书着重讲解的是编程基本原则,其中的道理可以用在任何其他语言中。本书旨在用于大学课程中的*门编程课。它覆盖了传统计算机科学首门课程(通常称为CS1)的所有内容。 译者序

    写给学生的话

    写给教师的话

    致 谢

    第1章 轻松入门 …… 1

    1.1 Karel介绍 …… 2

    1.1.1 Karel的编程 …… 2

    1.1.2 Karel的世界 …… 3

    1.1.3 Karel的内置函数 …… 3

    1.2 教Karel解决问题 …… 4

    1.2.1 开始起步 …… 4

    1.2.2 定义函数 …… 5

    1.2.3 完善程序 …… 6

    1.2.4 使用库函数 …… 7

    1.2.5 分解策略 …… 7

    1.3 控制语句 …… 9

    1.3.1 条件语句 …… 9

    1.3.2 循环语句 …… 11

    1.3.3 解决通用问题 …… 13

    1.4 逐步求精法 …… 15

    1.4.1 一个逐步求精法的练习 …… 15

    1.4.2 自上而下设计的原则 …… 15

    1.4.3 求精第一个子问题 …… 16

    1.4.4 编写下一层代码 …… 17

    1.4.5 完成 …… 18

    1.5 Karel世界里的算法 …… 19

    总结 …… 20

    复习题 …… 22

    练习题 …… 22

    第2章 JavaScript简介 …… 34

    2.1 数据和类型 …… 35

    2.2 数值数据 …… 35

    2.2.1 JavaScript中数字的表示 …… 36

    2.2.2 算术表达式 …… 36

    2.2.3 优先级 …… 38

    2.3 变量 …… 38

    2.3.1 变量声明 …… 39

    2.3.2 赋值 …… 39

    2.3.3 自增和自减操作符 …… 40

    2.3.4 命名约定 …… 41

    2.3.5 常量 …… 41

    2.3.6 顺序计算 …… 42

    2.4 函数 …… 42

    2.4.1 用JavaScript实现函数 …… 43

    2.4.2 库函数 …… 45

    2.5 字符串数据 …… 46

    2.5.1 字符串操作 …… 47

    2.5.2 编写简单的字符串函数 …… 48

    2.6 在浏览器中运行JavaScript …… 49

    2.6.1 “Hello World”程序 …… 49

    2.6.2  JavaScript和Web …… 51

    2.6.3  JavaScript程序的HTML模板 …… 51

    2.7 测试和调试 …… 53

    2.7.1 防御式编程 …… 54

    2.7.2  成为一名优秀的调试者 …… 54

    2.7.3  编程的各个阶段 …… 54

    2.7.4  心理障碍的一个例子 …… 57

    2.7.5  编写有效的测试程序 …… 58

    2.8  软件维护 …… 60

    总结 …… 61

    复习题 …… 63

    练习题 …… 65

    第3章 控制语句 …… 68

    3.1  布尔数据 …… 69

    3.1.1  关系操作符 …… 69

    3.1.2  逻辑操作符 …… 70

    3.1.3 短路求值 …… 72

    3.2 if语句 …… 73

    3.2.1  if语句的其他形式 …… 74

    3.2.2  “?:”操作符 …… 75

    3.3  switch语句 …… 76

    3.4  while语句 …… 78

    3.5  for语句 …… 81

    3.5.1 for和while的关系 …… 84

    3.5.2 嵌套的for语句 …… 84

    3.6  算法编程 …… 86

    3.6.1  早期的平方根算法 …… 87

    3.6.2  寻找最大的公约数 …… 89

    3.6.3  欧几里得算法 …… 90

    3.7 避免使用模糊的真假值 …… 92

    总结 …… 93

    复习题 …… 94

    练习题 …… 95

    第4章 简单图形 …… 100

    4.1 图形版“Hello World” …… 101

    4.2  类、对象和方法 …… 102

    4.2.1  创建对象 …… 102

    4.2.2 向对象发送消息 …… 103

    4.2.3  引用 …… 104

    4.2.4  封装 …… 105

    4.3  图形对象 …… 105

    4.3.1  GRect类 …… 105

    4.3.2  GOval类 …… 108

    4.3.3  GLine类 …… 109

    4.3.4  GLabel类 …… 109

    4.4  图形窗口 …… 114

    4.5  创建图形化应用程序 …… 115

    4.5.1  指定坐标和大小 …… 115

    4.5.2  使用简单的分解策略 …… 117

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

    4.5.4 返回图形对象的函数 …… 121

    总结 …… 122

    复习题 …… 123

    练习题 …… 124

    第5章 函数 …… 132

    5.1 快速回顾函数 …… 133

    5.1.1 函数定义的语法 …… 133

    5.1.2 传递参数 …… 134

    5.1.3 可选参数 …… 134

    5.1.4  谓词函数 …… 135

    5.2 程序库 …… 136

    5.2.1 创建自己的程序库 …… 136

    5.2.2 信息隐藏原则 …… 137

    5.2.3 接口概念 …… 138

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

    5.3.1  设计RandomLib.js库的接口 …… 139

    5.3.2 实现RandomLib.js库 …… 140

    5.3.3 使用RandomLib.js库 …… 142

    5.4 函数调用的机制 …… 144

    5.4.1 调用函数的步骤 …… 144

    5.4.2 组合函数 …… 145

    5.4.3 跟踪组合函数 …… 146

    5.5 递归函数 …… 149

    5.5.1 fact的递归公式 …… 149

    5.5.2?跟踪递归过程 …… 150

    5.5.3 递归的信仰之跃 …… 153

    5.5.4 斐波那契函数 …… 153

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

    5.5.6 在递归实现中获得信心 …… 155

    5.5.7 递归实现的效率 …… 155

    总结 …… 158

    复习题 …… 159

    练习题 …… 160

    第6章 编写交互式程序 …… 164

    6.1 一等函数 …… 165

    6.1.1 将函数声明为数据值 …… 165

    6.1.2 传递函数作为参数 …… 166

    6.2 一个简单的交互式示例 …… 167

    6.3 控制对象的属性 …… 169

    6.4 响应鼠标事件 …… 170

    6.4.1 简单的画线程序 …… 171

    6.4.2 在画布上拖动对象 …… 173

    6.5  基于计时器的动画 …… 175

    6.5.1  setTimeout和setInterval函数 …… 175

    6.5.2  动画的简单示例 …… 176

    6.5.3 跟踪动画的状态 …… 177

    6.6  扩展图形库 …… 179

    6.6.1 GArc类 …… 179

    6.6.2  GPolygon类 …… 181

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

    写给学生的话

    写给教师的话

    致 谢

    第1章 轻松入门 …… 1

    1.1 Karel介绍 …… 2

    1.1.1 Karel的编程 …… 2

    1.1.2 Karel的世界 …… 3

    1.1.3 Karel的内置函数 …… 3

    1.2 教Karel解决问题 …… 4

    1.2.1 开始起步 …… 4

    1.2.2 定义函数 …… 5

    1.2.3 完善程序 …… 6

    1.2.4 使用库函数 …… 7

    1.2.5 分解策略 …… 7

    1.3 控制语句 …… 9

    1.3.1 条件语句 …… 9

    1.3.2 循环语句 …… 11

    1.3.3 解决通用问题 …… 13

    1.4 逐步求精法 …… 15

    1.4.1 一个逐步求精法的练习 …… 15

    1.4.2 自上而下设计的原则 …… 15

    1.4.3 求精第一个子问题 …… 16

    1.4.4 编写下一层代码 …… 17

    1.4.5 完成 …… 18

    1.5 Karel世界里的算法 …… 19

    总结 …… 20

    复习题 …… 22

    练习题 …… 22

    第2章 JavaScript简介 …… 34

    2.1 数据和类型 …… 35

    2.2 数值数据 …… 35

    2.2.1 JavaScript中数字的表示 …… 36

    2.2.2 算术表达式 …… 36

    2.2.3 优先级 …… 38

    2.3 变量 …… 38

    2.3.1 变量声明 …… 39

    2.3.2 赋值 …… 39

    2.3.3 自增和自减操作符 …… 40

    2.3.4 命名约定 …… 41

    2.3.5 常量 …… 41

    2.3.6 顺序计算 …… 42

    2.4 函数 …… 42

    2.4.1 用JavaScript实现函数 …… 43

    2.4.2 库函数 …… 45

    2.5 字符串数据 …… 46

    2.5.1 字符串操作 …… 47

    2.5.2 编写简单的字符串函数 …… 48

    2.6 在浏览器中运行JavaScript …… 49

    2.6.1 “Hello World”程序 …… 49

    2.6.2  JavaScript和Web …… 51

    2.6.3  JavaScript程序的HTML模板 …… 51

    2.7 测试和调试 …… 53

    2.7.1 防御式编程 …… 54

    2.7.2  成为一名优秀的调试者 …… 54

    2.7.3  编程的各个阶段 …… 54

    2.7.4  心理障碍的一个例子 …… 57

    2.7.5  编写有效的测试程序 …… 58

    2.8  软件维护 …… 60

    总结 …… 61

    复习题 …… 63

    练习题 …… 65

    第3章 控制语句 …… 68

    3.1  布尔数据 …… 69

    3.1.1  关系操作符 …… 69

    3.1.2  逻辑操作符 …… 70

    3.1.3 短路求值 …… 72

    3.2 if语句 …… 73

    3.2.1  if语句的其他形式 …… 74

    3.2.2  “?:”操作符 …… 75

    3.3  switch语句 …… 76

    3.4  while语句 …… 78

    3.5  for语句 …… 81

    3.5.1 for和while的关系 …… 84

    3.5.2 嵌套的for语句 …… 84

    3.6  算法编程 …… 86

    3.6.1  早期的平方根算法 …… 87

    3.6.2  寻找最大的公约数 …… 89

    3.6.3  欧几里得算法 …… 90

    3.7 避免使用模糊的真假值 …… 92

    总结 …… 93

    复习题 …… 94

    练习题 …… 95

    第4章 简单图形 …… 100

    4.1 图形版“Hello World” …… 101

    4.2  类、对象和方法 …… 102

    4.2.1  创建对象 …… 102

    4.2.2 向对象发送消息 …… 103

    4.2.3  引用 …… 104

    4.2.4  封装 …… 105

    4.3  图形对象 …… 105

    4.3.1  GRect类 …… 105

    4.3.2  GOval类 …… 108

    4.3.3  GLine类 …… 109

    4.3.4  GLabel类 …… 109

    4.4  图形窗口 …… 114

    4.5  创建图形化应用程序 …… 115

    4.5.1  指定坐标和大小 …… 115

    4.5.2  使用简单的分解策略 …… 117

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

    4.5.4 返回图形对象的函数 …… 121

    总结 …… 122

    复习题 …… 123

    练习题 …… 124

    第5章 函数 …… 132

    5.1 快速回顾函数 …… 133

    5.1.1 函数定义的语法 …… 133

    5.1.2 传递参数 …… 134

    5.1.3 可选参数 …… 134

    5.1.4  谓词函数 …… 135

    5.2 程序库 …… 136

    5.2.1 创建自己的程序库 …… 136

    5.2.2 信息隐藏原则 …… 137

    5.2.3 接口概念 …… 138

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

    5.3.1  设计RandomLib.js库的接口 …… 139

    5.3.2 实现RandomLib.js库 …… 140

    5.3.3 使用RandomLib.js库 …… 142

    5.4 函数调用的机制 …… 144

    5.4.1 调用函数的步骤 …… 144

    5.4.2 组合函数 …… 145

    5.4.3 跟踪组合函数 …… 146

    5.5 递归函数 …… 149

    5.5.1 fact的递归公式 …… 149

    5.5.2?跟踪递归过程 …… 150

    5.5.3 递归的信仰之跃 …… 153

    5.5.4 斐波那契函数 …… 153

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

    5.5.6 在递归实现中获得信心 …… 155

    5.5.7 递归实现的效率 …… 155

    总结 …… 158

    复习题 …… 159

    练习题 …… 160

    第6章 编写交互式程序 …… 164

    6.1 一等函数 …… 165

    6.1.1 将函数声明为数据值 …… 165

    6.1.2 传递函数作为参数 …… 166

    6.2 一个简单的交互式示例 …… 167

    6.3 控制对象的属性 …… 169

    6.4 响应鼠标事件 …… 170

    6.4.1 简单的画线程序 …… 171

    6.4.2 在画布上拖动对象 …… 173

    6.5  基于计时器的动画 …… 175

    6.5.1  setTimeout和setInterval函数 …… 175

    6.5.2  动画的简单示例 …… 176

    6.5.3 跟踪动画的状态 …… 177

    6.6  扩展图形库 …… 179

    6.6.1 GArc类 …… 179

    6.6.2  GPolygon类 …… 181

    6.6.3 GCompound类 …
查看详情
12
相关图书 / 更多
斯坦福程序设计入门课:JavaScript实现
斯坦福学习法 有效提升孩子能力的8个方法
[日]星友启
斯坦福程序设计入门课:JavaScript实现
斯坦福大学奇幻地理:科学、艺术与想象
[法]让-克里斯托夫·拜伊
斯坦福程序设计入门课:JavaScript实现
斯坦福数据挖掘教程 第3版
[美]尤雷·莱斯科夫;阿南德·拉贾拉曼;杰弗里·大卫·厄尔曼
斯坦福程序设计入门课:JavaScript实现
斯坦福社会创新评论.11
《斯坦福社会创新评论 》中文版编辑部
斯坦福程序设计入门课:JavaScript实现
斯坦福大学写作课
华莱士·斯泰格那 著
斯坦福程序设计入门课:JavaScript实现
斯坦福极简经济学2
蒂莫西·泰勒 著
斯坦福程序设计入门课:JavaScript实现
斯坦福的鸭子:告别工作焦虑,建立团队韧性
[美]阿德里安·高斯蒂克 (美)切斯特·埃尔顿 (美)安东尼·高斯蒂克
斯坦福程序设计入门课:JavaScript实现
斯坦福社会创新评论12
《斯坦福社会创新评论》中文版编辑部
斯坦福程序设计入门课:JavaScript实现
斯坦福高效决策课:培养领导者 员工决策能力的实用方法
[日]笼屋邦夫
斯坦福程序设计入门课:JavaScript实现
斯坦福创意课
蒂娜·齐莉格 著
斯坦福程序设计入门课:JavaScript实现
斯坦顿红宅之谜(《小熊维尼》之父的推理小说,与《东方快车谋杀案》《特伦特最后一案》并称为“黄金时代三大奇书”!)
[英]A.A.米尔恩
斯坦福程序设计入门课:JavaScript实现
斯坦福大学沟通课:学会讲话与写作
[美]J.D.施拉姆(J.D. Schramm)(美)卡拉·莱维(Kara Levy) 著;包丽歌 译
您可能感兴趣 / 更多
斯坦福程序设计入门课:JavaScript实现
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
斯坦福程序设计入门课:JavaScript实现
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
斯坦福程序设计入门课:JavaScript实现
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
斯坦福程序设计入门课:JavaScript实现
爱情心理学(新编本)
[美]罗伯特·J. 斯腾伯格 (美)凯琳·斯腾伯格 倪爱萍 译
斯坦福程序设计入门课:JavaScript实现
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
斯坦福程序设计入门课:JavaScript实现
汤姆·索亚历险记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]马克 吐温
斯坦福程序设计入门课:JavaScript实现
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
斯坦福程序设计入门课:JavaScript实现
意大利文艺复兴新艺术史
[美]迈克尔·韦恩·科尔 著;[美]斯蒂芬·J·坎贝尔;邵亦杨
斯坦福程序设计入门课:JavaScript实现
汤姆素亚历险记:中小学生课外阅读快乐读书吧 儿童文学无障碍有声伴读世界名著童话故事
[美]马克·吐温
斯坦福程序设计入门课:JavaScript实现
老人与海 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]海明威
斯坦福程序设计入门课:JavaScript实现
养育的觉醒:全面激发孩子自驱力,教你如何心平气和做妈妈
[美]凯文·莱曼 著;唐晓璐 译;斯坦威 出品
斯坦福程序设计入门课:JavaScript实现
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译