mirror of
https://github.com/GitHubDaily/GitHubDaily.git
synced 2026-04-24 18:50:10 +08:00
Update articles
This commit is contained in:
91
articles/cs-unplugged.md
Normal file
91
articles/cs-unplugged.md
Normal file
@@ -0,0 +1,91 @@
|
||||
<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 次教学活动的分享内容,并将其划分为四个部分,每个部分具体包含的内容如下:
|
||||
|
||||

|
||||
|
||||
在对每个活动进行单独讲解之前,作者会很贴心的先将该活动的一些课程摘要、课程衔接、所学技能、适合年龄、所需素材先单独列举出来,以便读者先做好学习准备。
|
||||
|
||||
其它几项,大家接触的比较多,这里就不多做赘述了,我们关键来看下「所需素材」这一项。
|
||||
|
||||
前文说过,这里面的活动,不少是需要配合卡片、蜡烛、绳子、拼图等道具来完成的。因此,「所需素材」就是告诉你应该先准备好哪些道具,以配合后面课程的学习。
|
||||
|
||||
以二进制数字一章的教学为例,在教程开始之前,你需要先准备好一套如下所示的卡片:
|
||||
|
||||

|
||||
|
||||
之后,配合这些卡片,便可以进行二进制数字的学习了。
|
||||
|
||||
当你学完一个章节之后,该书还会附上对应的作业,助你强化吸收知识点,巩固基础:
|
||||
|
||||

|
||||
|
||||
每一道作业题,均附有参考答案,方便你比对学习:
|
||||
|
||||

|
||||
|
||||
如果大家英文阅读能力不是很强的话,可以看繁体中文来学习。
|
||||
|
||||
繁体中文的翻译者,是来自台北的一名开发者 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>
|
||||
@@ -1,87 +0,0 @@
|
||||
今天跟大家推荐小 G 认识的一位大神朋友:玉刚,人称刚哥。
|
||||
|
||||
专家工程师,技术 leader,现居北京,待过腾讯和百度,10 年编程经验,目前是国内某顶尖独角兽公司的首席架构师。
|
||||
|
||||
热衷开源,[GitHub](https://github.com/singwhatiwanna) 累积有 16000 star 以及 6800+ Followers。
|
||||
|
||||
个人职场发展堪称开挂,不仅对编程和架构设计有丰富经验,还深谙职场晋升规则。
|
||||
|
||||
这两年,他开通了微信公众号,跟读者分享一些自己的经验和想法,比如学习技巧、架构心得、职场跃迁秘诀等,如果你有什么困惑,可以咨询他。
|
||||
|
||||
我自己也是一名忠实的读者,所以把他的公号推荐给大家:
|
||||
|
||||

|
||||
|
||||
下面是几篇他写的文章:
|
||||
|
||||
- [论程序员成长的正确姿势](http://mp.weixin.qq.com/s?__biz=MzIwMTAzMTMxMg==&mid=2649492475&idx=1&sn=43a56a491d8d332b29b5d5375a083231&chksm=8eec8004b99b09122b91e69e6f2ea649b55244483c62c2624b6ff34d0436a55a88b42b4d6c2a&scene=21#wechat_redirect)
|
||||
- [程序员谈薪指北](http://mp.weixin.qq.com/s?__biz=MzIwMTAzMTMxMg==&mid=2649493282&idx=1&sn=1cb065726ff7c1cf756b80f72f82086d&chksm=8eec84ddb99b0dcbfabb0481dd61b8a0a9264138ef90856edb04c68d4bbc82df9f3c3911d1ad&scene=21#wechat_redirect)
|
||||
- [从百度的 PPT 文化看程序员晋升](http://mp.weixin.qq.com/s?__biz=MzIwMTAzMTMxMg==&mid=2649493364&idx=1&sn=26a7c2e359ac77b8fb05225b56e70ddc&chksm=8eec848bb99b0d9d2ecf0b7b38e87aeddd2f462819aec627cde73bd13d2eb4ae35eb010519f4&scene=21#wechat_redirect)
|
||||
- [程序员如何写高质量简历?](http://mp.weixin.qq.com/s?__biz=MzIwMTAzMTMxMg==&mid=2649493682&idx=1&sn=e6f541fbe7b20eb3e8b3fb40ffe56ea3&chksm=8eec9b4db99b125b5ffd85039fc4382a702ee2aeaf313f715536c978e86f4a15b05e96ddc969&scene=21#wechat_redirect)
|
||||
- [谈谈面试技巧](http://mp.weixin.qq.com/s?__biz=MzIwMTAzMTMxMg==&mid=2649493704&idx=1&sn=50cb1d36564cc8f704f5169b771552a4&chksm=8eec9b37b99b122180f9736e62dcd9413e6eba8ac9320669e1517649a4d3893b5d7a86b7c200&scene=21#wechat_redirect)
|
||||
- [普通人如何提高格局?](http://mp.weixin.qq.com/s?__biz=MzIwMTAzMTMxMg==&mid=2649494021&idx=1&sn=f819f552d7274f2706055454e2de9eea&chksm=8eec99fab99b10ec1a9c25fd752d80454d6c770dab9929ece23a5a066d0e69da75760e2b6da6&scene=21#wechat_redirect)
|
||||
- [如何通俗理解设计模式及其思想?](http://mp.weixin.qq.com/s?__biz=MzIwMTAzMTMxMg==&mid=2649492895&idx=1&sn=1bb90c14d5e9693e819d3b0366f28da4&chksm=8eec8660b99b0f760790dfead84f6ab4095207d60e0ad5739c0f0724519ad1dc41dc738166a6&scene=21#wechat_redirect)
|
||||
|
||||
下面是一些节选:
|
||||
|
||||
### 《谈程序员成长的正确姿势》节选
|
||||
|
||||
很多人对成长有误解,在他们眼中,随着工作年限的提高,成长是理所当然的事情,这其实是一个误区。两个程序员同时工作 3 年,难道他们两个的成长就完全一样吗?其实是不一样的。很多岗位在招聘的时候都要求 3 年以上工作经验,这个 3 年工作经验是指持续成长的三年,而不是指浑浑噩噩混日子的三年。下面举个通俗易懂的例子,大家一定能理解。
|
||||
|
||||
这里拿盖大楼举例,比如某大公司发布了如下一个招聘需求,招聘资深建筑工程师,提供具有行业竞争力的薪酬,要求如下:
|
||||
|
||||
- 5 年房屋建设工作经验;
|
||||
- 对房屋建设的各个阶段有深刻了解;
|
||||
- 熟悉各种类型的砖头、钢筋、水泥等原材料的使用方式;
|
||||
- 要求持有国家二级以上建造师证书;
|
||||
- 吃苦耐劳优先。
|
||||
|
||||
看到这个 jd 后,只要是有 5 年经验的建造师都跃跃欲试,都觉得自己可以。
|
||||
|
||||
其实这个岗位是干什么的呢?这家大公司想盖一栋 50 层的高端商业写字楼,需要招一个资深工程师来完成整个高楼的地基、框架和外形的设计,还需要考虑容灾和抗震等级。
|
||||
|
||||
而来应聘的一大部分建筑工程师,他们虽然工作了 5 年,可是他们平时都在做什么呢?大概是这样的:
|
||||
|
||||
- 搬砖、和水泥、砌墙等;
|
||||
- 建过的房子不超过 6 层;
|
||||
- 从来没有考虑过地基的搭建、框架和外形的设计,因为他们不需要考虑,只要按照已有的方案来干就行。
|
||||
|
||||
就这样工作了 5 年,在自己的工作领域(搬砖、和水泥、砌墙)驾轻就熟,觉得建房子不就这么简单嘛,觉得自己已经精通了建房子。
|
||||
|
||||
但事实上,他们真的能够胜任 50 层高楼的建筑工作吗?很显然,不能!(未完,可以在公众号阅读全文)
|
||||
|
||||
### 《程序员面试技巧》节选
|
||||
|
||||
然后再说下面试前的自我介绍,大部分时候面试官都会要候选者来一段自我介绍。这个环节有两个作用,一个是面试前的缓冲,避免尴尬,因为面试官需要看你的简历,你总得给他留点时间呀。另一个角度,候选者可以抓住这几分钟的时间来展现自己的闪光点。这个时候就不要照着简历读了,简历上都写那么清楚了,面试官自己会看,建议简明扼要地说一下自己在之前公司的重要产出以及技术追求,必要时还可以吹嘘一波目标公司,从而迅速获得面试官的好感,这很重要,招人就好比谈恋爱,第一印象很重要。
|
||||
|
||||
接着再和大家说一个技巧。如果面试官问了你一个问题,但你不会,你会怎么做呢?
|
||||
|
||||
**对话 1**
|
||||
|
||||
你:我不会
|
||||
|
||||
面试官内心 OS:你不会,那我还招你作甚?
|
||||
|
||||
**对话 2**
|
||||
|
||||
你:随便说一个答案,面试官质疑,你闪烁其词,反正就是不说自己不会
|
||||
|
||||
面试官内心 OS:你他么到底会不会?别浪费我时间
|
||||
|
||||
**对话 3**
|
||||
|
||||
你:灵光一闪,对问题不置可否,一顿胡扯将话题引到你熟悉的领域
|
||||
|
||||
面试官内心 OS:mmp,你能不能把刚才那个问题回答一下?
|
||||
|
||||
**对话 4**
|
||||
|
||||
你:说实话我不了解这个问题,但是我可以尝试分析一下,如果有不对的地方希望得到您的指正。
|
||||
|
||||
面试官内心 OS:此人会思考,有分析问题的头脑,谦虚好学
|
||||
|
||||
所以,你们是哪一种?(未完,可以在公众号阅读全文)
|
||||
|
||||
限于篇幅,他还有很多不错的文章,现在关注他,还有机会添加他的个人微信号,进行一对一的交流,坑位有限 (微信号有 5 千人的限制),大家抓紧啦!
|
||||
|
||||

|
||||
Reference in New Issue
Block a user