GitHubDaily/articles/又一神书面世:《无需计算机的计算机科学》!.md
2020-04-27 10:51:22 +08:00

91 lines
5.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p align="center">
<img src="https://mmbiz.qpic.cn/mmbiz_jpg/uDRkMWLia28hR7ISjk5UWwRuibia4qPJxXHT4NhbNMwJsnnVhVESVAib3FB2ZSDxCL6ru2d62Iz393vts2m2oh9Lsw/640">
</p>
大家好,我是小 G。
在文章开始之前,先给大家安利一波我们的公众号:**GitHubDaily**,目前每天都会在上面更新至少 3 篇文章,主要分享比较实用的开发工具与开源项目,偶尔也会聊聊技术圈内最近发生的新鲜事,感兴趣的小伙伴可以关注一下哈。
今天想跟大家分享下,昨日在 Hacker News 上看到的一本比较有趣的计算机编程书籍《CS Unplugged》直译过来就是《无需计算机的计算机科学》。
从名字上你大概就能猜到,这本书的作用,就是让你无需借助电脑,不用通过编程,就能理解计算机科学的一些基础理论知识。
这一切究竟如何做到?且听小 G 慢慢道来。
### 一场颇有意思的计算机科学教学活动
这本书,其实是梳理自国外一个名为 CS Unplugged 的公益教学活动。
该活动举办至今已有二十多年,在最早期的时候,是由来自不同大学的三名学生 Tim Bell、Ian Witten、Mike Fellows 所创建。发展到了今天,已颇具规模,坎特伯雷大学与 Google 都对该项目提供了赞助支持。
这个活动一开始对外推广的目的,是希望能借助一种更为亲民友好的教学方式,让广大对计算机科学感兴趣的学生和传统行业人士,更轻松的感受到这门学科的魅力。
在日常的教学活动中,授课老师会借助纸牌、绳子、蜡笔、拼图等道具,组织学生参与一场提前策划好的教学游戏。
在玩游戏的过程中,学生会慢慢潜移默化的学会如二进制数、算法、数据压缩等计算机科学基础知识。
下方附上一个时长为 3 分钟的演示视频,让大家感受下这个教学活动的独特之处。
https://www.youtube.com/watch?v=KOYy4kyLEHs&feature=youtu.be
从上面视频我们可以感知到,这样做教学的好处,在于能大幅提升学生的参与感,并且能让具体某个知识点的呈现变得更为直观、有趣,且互动性强。
到了今天二十多年过去了CS Unplugged 深深在全球各地影响了来自不同行业、不同年龄段的人群,为计算机科学这一行业的推广,有着不可磨灭的贡献。
如果你想了解该项目更多的信息,可前往以下页面查看:
https://link.springer.com/chapter/10.1007/978-3-319-98355-4_29
下面,我们接着聊回这本神书。
### 《无需计算机的计算机科学》
在上文我们已经提到过,这个活动是跨越了多个国家与地区同时进行的,因此与其相对应的书籍,也提供了多种不同语言版本。
除了英文书籍外,该书还被翻译成了阿拉伯文、法文、德文、日文、韩文、繁体中文等多个语言版本。
下面我们以繁体中文版本为例,跟大家聊聊书里大致都包含哪些内容。
在这本书中,作者共汇总了 21 次教学活动的分享内容,并将其划分为四个部分,每个部分具体包含的内容如下:
![img](https://mmbiz.qpic.cn/mmbiz_jpg/uDRkMWLia28hR7ISjk5UWwRuibia4qPJxXHu5bQMoibLTx9ThWzLULlsOQ4X6qYODAUbicgCzK7IrmWtQlEEaial54wA/640)
在对每个活动进行单独讲解之前,作者会很贴心的先将该活动的一些课程摘要、课程衔接、所学技能、适合年龄、所需素材先单独列举出来,以便读者先做好学习准备。
其它几项,大家接触的比较多,这里就不多做赘述了,我们关键来看下「所需素材」这一项。
前文说过,这里面的活动,不少是需要配合卡片、蜡烛、绳子、拼图等道具来完成的。因此,「所需素材」就是告诉你应该先准备好哪些道具,以配合后面课程的学习。
以二进制数字一章的教学为例,在教程开始之前,你需要先准备好一套如下所示的卡片:
![img](https://mmbiz.qpic.cn/mmbiz_png/uDRkMWLia28hR7ISjk5UWwRuibia4qPJxXHFICcHAWkkqpKyEptQI6YA095u2hqZWLiczTU2gOzSgRmLKBmoQOFKRA/640)
之后,配合这些卡片,便可以进行二进制数字的学习了。
当你学完一个章节之后,该书还会附上对应的作业,助你强化吸收知识点,巩固基础:
![img](https://mmbiz.qpic.cn/mmbiz_png/uDRkMWLia28hR7ISjk5UWwRuibia4qPJxXHpLCVvtZvtjgnTHmzymzfjgJQk6TkmGXP9mpia8SoDFozKxqvRoiaahZQ/640)
每一道作业题,均附有参考答案,方便你比对学习:
![img](https://mmbiz.qpic.cn/mmbiz_png/uDRkMWLia28hR7ISjk5UWwRuibia4qPJxXHz88E1IKQic6DDZXoM0oo25tExGrAdR0B7fDwRic01VTQQxxsSqjRAzbQ/640)
如果大家英文阅读能力不是很强的话,可以看繁体中文来学习。
繁体中文的翻译者,是来自台北的一名开发者 Franklin Weng最新翻译版本是 2016 年版,不过以目前技术发展的水平来看,里面提到的知识暂时还不算过时,大家还是可以参考学习一下。
小 G 已帮大家把该书繁体中文与英文版的 PDF 整理好了在公众号GitHubDaily后台回复关键词「**计算机**」即可快速下载。
参考链接:
- https://github.com/fweng322/CSUnplugged-zh_TW
- https://classic.csunplugged.org/
- https://csunplugged.org/
--
文末,照旧安利一波我们的公众号:**GitHubDaily**,目前每天都会在上面更新至少 3 篇文章,主要分享比较实用的开发工具与开源项目,偶尔也会聊聊技术圈内最近发生的新鲜事,感兴趣的小伙伴可以关注一下哈。
<p align="center">
<img src="https://raw.githubusercontent.com/GitHubDaily/GitHubDaily/master/assets/weixin.png">
</p>