niceowl
2021-07-30T15:32:59+00:00
(不知道该发到哪里, 就先发在这儿吧.)
以下是我提到的入门编程的一些资料的汇总(那个帖子被删掉了).
即使是小孩子也能学会的编程:
MIT有一个长期团队专门研究如何教会小孩子编程, 用尽量有趣, 不让孩子反感的方式.
他们的成果是一个叫scratch的语言, 它使用形象有趣的图画来表示编程的单元, 用拖拽的方式来编程, 用动物的动画来展现效果.
非常有趣!
对于零基础的人可以选择这个.
最好的网站(直接在网页上编程, 有很生动的tutorial, 但是需要翻墙): [[url]https://scratch.mit.edu/projects/editor/?tutorial=getStarted[/url]]
这个是国内能上的(这玩意还要注册, 大家凑合着用吧, 如果有更好的我会更新): [[url]https://www.kidscoding8.com/3695.html[/url]]
吐槽一下, 本来国内是能访问scratch的官网和资料的, 但台湾省有人建立了一个中文站, 在上面搞了些乱七八糟的事情, 然后导致整个都被墙了.
所以, 大家翻墙也最好别看那些繁体中文的scratch资料, 我感觉那些质量都挺低的, 不知道在说什么.
编程能力的培养:
我觉得计算机最重要的就是编程能力, 编程能力最重要的组成部分是抽象的思维方法, 所以我推荐这样的材料:
对于没有基础了, 但对计算机不陌生的, 建议学习南大的sicp python版的课程: [[url]https://nju-sicp.bitbucket.io/[/url]]
这个的好处是有完整的配套练习, 讲义, 答疑, 还有国外这门课的公开课视屏[[url]https://www.bilibili.com/video/BV1nJ41157p6[/url]]▸
这门课的最大好处就是通过课程计划, 一步一步的完成homework和project, 只要做完, 必然有很大的进步. 也可以判断是不是对自己太难,可以果断放弃.
如果是有一些计算机基础的, 那么建议学sicp的原版课程(大神级人物讲课, 艺术与理论的结合):[[url]https://www.bilibili.com/video/BV1Xx41117tr[/url]]▸
坏处是需要自学能力比较强, 习题只能做书中课后的习题, 也许最好要读一读英文原版的教材.
但这是收获最大的, 只需要学习前3章就终身受用了.
要学这个课程要先搜索"racket sicp"配置环境(一个知乎的帖子, 配置起来很简单).
根据我的经验, 只要学会上述任意一门课, 就能够不太害怕编程了. 而编程能力, 就是计算机学科的本质.
sicp所介绍的编程方法
只要是教授sicp的课程,最终都是要教授这样一种编程方法:bottom up(自底向上).
bottom up的方法,本质是是教给人们如何先实现一些很简单的功能,然后通过组合,最终实现一个复杂的功能。而在在这一系列实践的过程中,还要保持程序的清晰,控制复杂度,从而减少潜在的bug.
举一个bottom up的例子: (这大家还是直接看sicp吧, 我想了半天没想出合适又生动的例子, 头秃)
学会bottom up的方法,有两个方面的好处:
1 可以通过这种思路,分析别人的程序是如何写出来的,从而理解别人的编程思路。
2 通过这种方法,可以对自己写过的程序加以整理和抽象,从而达到,编程的经验越多,编程的水平就会更高的效果。
python的入门资料:
链接:[[url]https://www.liaoxuefeng.com/wiki/1016959663602400[/url]]
廖雪峰老师我学过其中的git课程, 基本上花个几个小时就能看完, 一直放在收藏夹里, 每次想不起来命令了就会去看看, 感觉非常好用!
他的其他课程有需要都可以看. 我觉得他的教程是最深入浅出的, 还配有练习, 而且文字量都不大, 非常简洁.
培养批判性思维:
我推荐这本书: <<学会提问—批判性思维指南>>, 现在我也正在看.
我觉得这本书并不是那种常规上的工具书, 告诉人要怎么怎么样, 你就能够得到什么云云.
这本书是有一些学术的气质的, 作者在其中会深入浅出的解释为什么有的人没有批判性思维, 运用批判性思维的目的是什么, 等等.
而且, 这本书已经更新到第7版了(恐怖), 有详细的配套练习, 我觉得是一种经过了实践检验的教学方法.
电子书链接(可能需要翻墙, 这个网站可以下很多电子书): [url]https://zh.1lib.net/book/11781625/0b9198[/url]
以下是我提到的入门编程的一些资料的汇总(那个帖子被删掉了).
即使是小孩子也能学会的编程:
MIT有一个长期团队专门研究如何教会小孩子编程, 用尽量有趣, 不让孩子反感的方式.
他们的成果是一个叫scratch的语言, 它使用形象有趣的图画来表示编程的单元, 用拖拽的方式来编程, 用动物的动画来展现效果.
非常有趣!
对于零基础的人可以选择这个.
最好的网站(直接在网页上编程, 有很生动的tutorial, 但是需要翻墙): [[url]https://scratch.mit.edu/projects/editor/?tutorial=getStarted[/url]]
这个是国内能上的(这玩意还要注册, 大家凑合着用吧, 如果有更好的我会更新): [[url]https://www.kidscoding8.com/3695.html[/url]]
吐槽一下, 本来国内是能访问scratch的官网和资料的, 但台湾省有人建立了一个中文站, 在上面搞了些乱七八糟的事情, 然后导致整个都被墙了.
所以, 大家翻墙也最好别看那些繁体中文的scratch资料, 我感觉那些质量都挺低的, 不知道在说什么.
编程能力的培养:
我觉得计算机最重要的就是编程能力, 编程能力最重要的组成部分是抽象的思维方法, 所以我推荐这样的材料:
对于没有基础了, 但对计算机不陌生的, 建议学习南大的sicp python版的课程: [[url]https://nju-sicp.bitbucket.io/[/url]]
这个的好处是有完整的配套练习, 讲义, 答疑, 还有国外这门课的公开课视屏[[url]https://www.bilibili.com/video/BV1nJ41157p6[/url]]▸
这门课的最大好处就是通过课程计划, 一步一步的完成homework和project, 只要做完, 必然有很大的进步. 也可以判断是不是对自己太难,可以果断放弃.
如果是有一些计算机基础的, 那么建议学sicp的原版课程(大神级人物讲课, 艺术与理论的结合):[[url]https://www.bilibili.com/video/BV1Xx41117tr[/url]]▸
坏处是需要自学能力比较强, 习题只能做书中课后的习题, 也许最好要读一读英文原版的教材.
但这是收获最大的, 只需要学习前3章就终身受用了.
要学这个课程要先搜索"racket sicp"配置环境(一个知乎的帖子, 配置起来很简单).
根据我的经验, 只要学会上述任意一门课, 就能够不太害怕编程了. 而编程能力, 就是计算机学科的本质.
sicp所介绍的编程方法
只要是教授sicp的课程,最终都是要教授这样一种编程方法:bottom up(自底向上).
bottom up的方法,本质是是教给人们如何先实现一些很简单的功能,然后通过组合,最终实现一个复杂的功能。而在在这一系列实践的过程中,还要保持程序的清晰,控制复杂度,从而减少潜在的bug.
举一个bottom up的例子: (这大家还是直接看sicp吧, 我想了半天没想出合适又生动的例子, 头秃)
学会bottom up的方法,有两个方面的好处:
1 可以通过这种思路,分析别人的程序是如何写出来的,从而理解别人的编程思路。
2 通过这种方法,可以对自己写过的程序加以整理和抽象,从而达到,编程的经验越多,编程的水平就会更高的效果。
python的入门资料:
链接:[[url]https://www.liaoxuefeng.com/wiki/1016959663602400[/url]]
廖雪峰老师我学过其中的git课程, 基本上花个几个小时就能看完, 一直放在收藏夹里, 每次想不起来命令了就会去看看, 感觉非常好用!
他的其他课程有需要都可以看. 我觉得他的教程是最深入浅出的, 还配有练习, 而且文字量都不大, 非常简洁.
培养批判性思维:
我推荐这本书: <<学会提问—批判性思维指南>>, 现在我也正在看.
我觉得这本书并不是那种常规上的工具书, 告诉人要怎么怎么样, 你就能够得到什么云云.
这本书是有一些学术的气质的, 作者在其中会深入浅出的解释为什么有的人没有批判性思维, 运用批判性思维的目的是什么, 等等.
而且, 这本书已经更新到第7版了(恐怖), 有详细的配套练习, 我觉得是一种经过了实践检验的教学方法.
电子书链接(可能需要翻墙, 这个网站可以下很多电子书): [url]https://zh.1lib.net/book/11781625/0b9198[/url]