学习目标
- 了解本系列课程的目标和学习形式
- 了解高效学习的方法论
- 了解提问及提交作业的方式
学习用时:10分钟
欢迎来到张砷镓的编程课堂!在接下来的日子里,我将为你一层层地揭开编程神秘的面纱,帮助你理解编程的核心基本概念,了解用编程解决实际问题的基本思路,并最终具备一定的编程实践能力。
本系列课程的设计对象,是** 对编程零基础的学习者**。当然了,如果你有一定的基础,也不妨温故而知新。
相比阅读文章来说,有些朋友可能更习惯通过听课的方式来进行学习。你可以关注微信公众号“编程镓教”,通过点击后台菜单“听课”来通过微课平台进行学习。
为了将我有限的精力用在更需要的学员身上,我创建了一个付费的学员群。我将优先回答群内的问题并批改群内的作业。想了解更多的朋友请关注微信公众号“编程镓教”,点击后台菜单“和我联系”——“付费学员群”。
至于为什么你需要学习编程,请查阅本系列的第一篇文章《为什么你应该开始学习编程了?》。
这是一门怎样的课程?
本系列课程侧重于帮助你理解核心概念和培养编程思维,而不是项目实战和技能培训。所以我不会去讲解任何编程语言的特性和语法,这些需要你自己去查阅参考手册。事实上,“查资料”可以说是现在绝大多数人最需要却也最缺乏的一项技能。
每堂课开始时,我都会设置一个或几个明确的目标,这些目标都是你在学习并掌握本课程的知识前很难甚至无法达成的。授课过程中我将秉承“学以致用”的原则,只讲授当下就要用到的概念,那些虽然重要却当下不用的东西,我将一笔而过或者干脆略过,在必要的时候再拿出来讲解。
每堂课中,我都会为你讲述一个编程中的核心基本概念。在讲述的过程中我将尽量避免使用业界的术语,并大量使用生活中的类比举例,用最通俗易懂的方式来讲解。在合适的时机,我会引入编程中需要遵循的各种基本原则,以及通过编程解决实际问题的思路。
每堂课都设计有实践环节,因为有些概念是不通过实践无法理解的,正如不跳进水里永远学不会游泳一样。任何课程都只能帮你启蒙,而真正的成长只会发生在你自己的实践中。
每堂课后,我会布置难度适中的作业。作业的目的是检验你是否真正掌握并理解了概念,并锻炼你的编程思维。你可以将用留言的方式来提交作业,我将在有精力的前提下,尽可能地回复。
在本系列的课程结束时,我将带领大家从无到有做出一个简单的“超级玛丽”小游戏来。游戏的界面大概是这样子的:
你可以点这里来体验一下这个小游戏。虽然它很简陋,很糙,但它确实是一个完整的游戏:有画面、有音乐、能操作、能过关、会死……
高效学习的方法论
一个人在某个领域的学习是否有效,取决于他脑中掌握了多少清晰、准确的概念,以及这些概念之间有多少正确、紧密的连接。而概念是如何在一个人的脑中形成的呢?
如果我们将任何一个学科的知识体系脉络梳理清楚,会发现其中的每个概念都有依赖的基础,就像搭积木一样。想要认知某个概念,需要先将其依赖的概念一一掌握,内化到自己的知识体系中才行。没有做好这个准备就去学习,那就如建造空中楼阁一般,难有成效。正如游戏中的技能树一样,只有依赖的低级技能都解锁了,更高级的技能才能被点亮。
对数之不清的概念进行归本溯源,最终总会归于几个基本概念。这些基本概念是在我们与世界进行持续交互的过程中,由主观意识建构而成的。随着不断重复某一动作,我们会对其进行抽象化,逐步将外在的动作逻辑内化成自己的内在思维逻辑。直到有一刻,那个概念会在脑中突然“涌现”出来,我们重新创造发明了它。
学习的过程,就是不断犯错误、改错误的过程。所谓的高效学习不外乎是:
1、在虚拟环境或一定的保护措施下,快速、大量地犯尽可能多的错误,并做好过程记录;
2、在高水平者的帮助下,仔细检视自己的过程记录,找到自己犯下的所有错误;
3、仔细分析这些错误,并对自己的思维和行动模式作出针对性的改良,采取实际的措施来避免再犯类似的错误;
4、重复以上过程,直到可以在无保护的真实环境中去犯错,然后再不断地重复以上两步。
作为老师,我会尽我的能力,让你在起步时少走一些弯路,就像你刚开始学自行车那样,扶着你让你走一段直线。当你已经可以靠自己摇摇晃晃地前进时,我就会放开手让你自己去尝试和探索。你可能会摔倒,可能会受伤,但这都是成长所必须经历的。只有当你把该犯的错误都犯过一遍后,才能真正理解你学习的东西。
遇到问题怎么办?
当你在学习的过程中遇到解决不了的问题时,你可以通过评论或者简信向我提问。付费学员可以在付费学员群内提问或者和我私聊,我会优先解答。
我希望你能珍惜自己和别人的时间,在提问之前先做功课(查搜索引擎和参考书),而不是选择做一名伸手党,张口就问“XXXX是什么?如果XXX该怎么办?” 永远不要问搜索引擎能够回答的问题!
我希望你在提问时,能说明你正在学习哪一课,问题出在哪一步骤,之前都做了什么,你期望的结果和实际发生的情况是什么,具体的错误提示是什么……有篇流传很广的文章叫做“提问的智慧”,希望你在提问之前先找来看一遍。
请记住,我不是你的私人教练或咨询顾问,我的时间非常宝贵,所以只能尽量回答你提出的问题,但我并没有这样做的义务。所以如果你有问题一定想得到我的答复,请付费对我进行提问(关注微信公众号“编程镓教”,并点击后台菜单“和我联系”中的“向我提问”)。
怎么提交作业?
直接在对应的课程里用评论的方式提交作业;
付费学员直接将作业内容(文本或代码链接)发到付费群内,务必注明作业对应的课程编号。
我会尽量批改大家提交的作业并给出反馈,但在精力有限的情况下,我只能优先照顾付费学员,敬请理解。