From f7c97d602230b3a21148b5c7d292887a42f90bb7 Mon Sep 17 00:00:00 2001 From: YSoer Date: Sat, 25 Apr 2020 18:05:17 +0800 Subject: [PATCH] Update articles --- articles/cs-unplugged.md | 91 ++++++++++++++++++++++++++++++++++++++++ articles/partner.md | 87 -------------------------------------- 2 files changed, 91 insertions(+), 87 deletions(-) create mode 100644 articles/cs-unplugged.md delete mode 100644 articles/partner.md diff --git a/articles/cs-unplugged.md b/articles/cs-unplugged.md new file mode 100644 index 0000000..062e665 --- /dev/null +++ b/articles/cs-unplugged.md @@ -0,0 +1,91 @@ +

+ +

+ +大家好,我是小 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?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1) + +在对每个活动进行单独讲解之前,作者会很贴心的先将该活动的一些课程摘要、课程衔接、所学技能、适合年龄、所需素材先单独列举出来,以便读者先做好学习准备。 + +其它几项,大家接触的比较多,这里就不多做赘述了,我们关键来看下「所需素材」这一项。 + +前文说过,这里面的活动,不少是需要配合卡片、蜡烛、绳子、拼图等道具来完成的。因此,「所需素材」就是告诉你应该先准备好哪些道具,以配合后面课程的学习。 + +以二进制数字一章的教学为例,在教程开始之前,你需要先准备好一套如下所示的卡片: + +![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 篇文章,主要分享比较实用的开发工具与开源项目,偶尔也会聊聊技术圈内最近发生的新鲜事,感兴趣的小伙伴可以关注一下哈。 + +

+ +

\ No newline at end of file diff --git a/articles/partner.md b/articles/partner.md deleted file mode 100644 index d513968..0000000 --- a/articles/partner.md +++ /dev/null @@ -1,87 +0,0 @@ -今天跟大家推荐小 G 认识的一位大神朋友:玉刚,人称刚哥。 - -专家工程师,技术 leader,现居北京,待过腾讯和百度,10 年编程经验,目前是国内某顶尖独角兽公司的首席架构师。 - -热衷开源,[GitHub](https://github.com/singwhatiwanna) 累积有 16000 star 以及 6800+ Followers。 - -个人职场发展堪称开挂,不仅对编程和架构设计有丰富经验,还深谙职场晋升规则。 - -这两年,他开通了微信公众号,跟读者分享一些自己的经验和想法,比如学习技巧、架构心得、职场跃迁秘诀等,如果你有什么困惑,可以咨询他。 - -我自己也是一名忠实的读者,所以把他的公号推荐给大家: - -![img](https://mmbiz.qpic.cn/mmbiz_jpg/zKFJDM5V3WzCuhM7bh0WpabAiaMbd751zTAGoIKtXXxbhH5GiaykRAKJfcKJic2Yq8nuO1bdu51WXl0z377M93Jsw/640) - -下面是几篇他写的文章: - -- [论程序员成长的正确姿势](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 千人的限制),大家抓紧啦! - -![img](https://mmbiz.qpic.cn/mmbiz_jpg/zKFJDM5V3WzCuhM7bh0WpabAiaMbd751zTAGoIKtXXxbhH5GiaykRAKJfcKJic2Yq8nuO1bdu51WXl0z377M93Jsw/640) \ No newline at end of file