美文网首页编程镓教
编程镓教・入门篇|000 旅程的起点

编程镓教・入门篇|000 旅程的起点

作者: 张砷镓 | 来源:发表于2017-03-07 17:12 被阅读652次
    题图来自网络

    学习目标

    • 了解本系列课程的目标和学习形式
    • 了解高效学习的方法论
    • 了解提问及提交作业的方式

    学习用时:10分钟

    欢迎来到张砷镓的编程课堂!在接下来的日子里,我将为你一层层地揭开编程神秘的面纱,帮助你理解编程的核心基本概念,了解用编程解决实际问题的基本思路,并最终具备一定的编程实践能力。

    本系列课程的设计对象,是** 对编程零基础的学习者**。当然了,如果你有一定的基础,也不妨温故而知新。

    相比阅读文章来说,有些朋友可能更习惯通过听课的方式来进行学习。你可以关注微信公众号“编程镓教”,通过点击后台菜单“听课”来通过微课平台进行学习。

    为了将我有限的精力用在更需要的学员身上,我创建了一个付费的学员群。我将优先回答群内的问题并批改群内的作业。想了解更多的朋友请关注微信公众号“编程镓教”,点击后台菜单“和我联系”——“付费学员群”

    至于为什么你需要学习编程,请查阅本系列的第一篇文章《为什么你应该开始学习编程了?》

    这是一门怎样的课程?

    本系列课程侧重于帮助你理解核心概念和培养编程思维,而不是项目实战和技能培训。所以我不会去讲解任何编程语言的特性和语法,这些需要你自己去查阅参考手册。事实上,“查资料”可以说是现在绝大多数人最需要却也最缺乏的一项技能。

    每堂课开始时,我都会设置一个或几个明确的目标,这些目标都是你在学习并掌握本课程的知识前很难甚至无法达成的。授课过程中我将秉承“学以致用”的原则,只讲授当下就要用到的概念,那些虽然重要却当下不用的东西,我将一笔而过或者干脆略过,在必要的时候再拿出来讲解。

    每堂课中,我都会为你讲述一个编程中的核心基本概念。在讲述的过程中我将尽量避免使用业界的术语,并大量使用生活中的类比举例,用最通俗易懂的方式来讲解。在合适的时机,我会引入编程中需要遵循的各种基本原则,以及通过编程解决实际问题的思路。

    每堂课都设计有实践环节,因为有些概念是不通过实践无法理解的,正如不跳进水里永远学不会游泳一样。任何课程都只能帮你启蒙,而真正的成长只会发生在你自己的实践中。

    每堂课后,我会布置难度适中的作业。作业的目的是检验你是否真正掌握并理解了概念,并锻炼你的编程思维。你可以将用留言的方式来提交作业,我将在有精力的前提下,尽可能地回复。

    在本系列的课程结束时,我将带领大家从无到有做出一个简单的“超级玛丽”小游戏来。游戏的界面大概是这样子的:

    我们将要做的小游戏

    你可以点这里来体验一下这个小游戏。虽然它很简陋,很糙,但它确实是一个完整的游戏:有画面、有音乐、能操作、能过关、会死……

    高效学习的方法论

    一个人在某个领域的学习是否有效,取决于他脑中掌握了多少清晰、准确的概念,以及这些概念之间有多少正确、紧密的连接。而概念是如何在一个人的脑中形成的呢?

    如果我们将任何一个学科的知识体系脉络梳理清楚,会发现其中的每个概念都有依赖的基础,就像搭积木一样。想要认知某个概念,需要先将其依赖的概念一一掌握,内化到自己的知识体系中才行。没有做好这个准备就去学习,那就如建造空中楼阁一般,难有成效。正如游戏中的技能树一样,只有依赖的低级技能都解锁了,更高级的技能才能被点亮。

    对数之不清的概念进行归本溯源,最终总会归于几个基本概念。这些基本概念是在我们与世界进行持续交互的过程中,由主观意识建构而成的。随着不断重复某一动作,我们会对其进行抽象化,逐步将外在的动作逻辑内化成自己的内在思维逻辑。直到有一刻,那个概念会在脑中突然“涌现”出来,我们重新创造发明了它。

    学习的过程,就是不断犯错误、改错误的过程。所谓的高效学习不外乎是:

    1、在虚拟环境或一定的保护措施下,快速、大量地犯尽可能多的错误,并做好过程记录;
    2、在高水平者的帮助下,仔细检视自己的过程记录,找到自己犯下的所有错误
    3、仔细分析这些错误,并对自己的思维和行动模式作出针对性的改良,采取实际的措施来避免再犯类似的错误
    4、重复以上过程,直到可以在无保护的真实环境中去犯错,然后再不断地重复以上两步。

    作为老师,我会尽我的能力,让你在起步时少走一些弯路,就像你刚开始学自行车那样,扶着你让你走一段直线。当你已经可以靠自己摇摇晃晃地前进时,我就会放开手让你自己去尝试和探索。你可能会摔倒,可能会受伤,但这都是成长所必须经历的。只有当你把该犯的错误都犯过一遍后,才能真正理解你学习的东西。

    遇到问题怎么办?

    当你在学习的过程中遇到解决不了的问题时,你可以通过评论或者简信向我提问。付费学员可以在付费学员群内提问或者和我私聊,我会优先解答。

    我希望你能珍惜自己和别人的时间,在提问之前先做功课(查搜索引擎和参考书),而不是选择做一名伸手党,张口就问“XXXX是什么?如果XXX该怎么办?” 永远不要问搜索引擎能够回答的问题!

    我希望你在提问时,能说明你正在学习哪一课,问题出在哪一步骤,之前都做了什么,你期望的结果和实际发生的情况是什么,具体的错误提示是什么……有篇流传很广的文章叫做“提问的智慧”,希望你在提问之前先找来看一遍。

    请记住,我不是你的私人教练或咨询顾问,我的时间非常宝贵,所以只能尽量回答你提出的问题,但我并没有这样做的义务。所以如果你有问题一定想得到我的答复,请付费对我进行提问(关注微信公众号“编程镓教”,并点击后台菜单“和我联系”中的“向我提问”)。

    怎么提交作业?

    1. 直接在对应的课程里用评论的方式提交作业;

    2. 付费学员直接将作业内容(文本或代码链接)发到付费群内,务必注明作业对应的课程编号。

    我会尽量批改大家提交的作业并给出反馈,但在精力有限的情况下,我只能优先照顾付费学员,敬请理解。

    相关文章

      网友评论

      • 一页一生:马里奥的小游戏怎么玩?画面怎么不动呢?
        张砷镓:@一页一生 点击画面开始
      • a34213546204:付费学员群怎么进?费用多少呀?:smile::heart_eyes:
        张砷镓:@安_博 关注「编程镓教」微信公众号,点击菜单「和我联系」——「付费学员群」
      • 瀚维:程序:为了实现一个需求而设计的逻辑流程—婚礼纪实摄影
        语言:编写程序所使用的语言—相机镜头
        需求:程序完成的目标—一组纪实摄影相册
        编写者:程序的作者—摄影师
        拥有者:负责改进程序者—相机的主人
        执行者:负责执行程序者—摄影师
        调用者:要求执行程序者—新人
        张砷镓:@瀚维 本文已改为课程说明,请移步这里发布作业:http://www.jianshu.com/p/a40853ea7b44
      • 积累达人青雨: 我试着类比,类比……(哗众取宠&好玩)

        程序(program):为了实现一个需求而设计的逻辑流程 —— 避孕套制作流程

        需求(purpose):程序完成的目标 —— 安全且体验好的套

        语言(language):编写程序所使用的语言 —— 行业操作用语

        编写者(writer):程序的作者 —— 可现代化生产的橡胶避孕套发明者

        拥有者(owner):负责改进程序者 —— 工厂里的设计师

        执行者(runner):负责执行程序者 ——流水线的员工

        调用者(caller):要求执行程序者 —— 避孕套质检员(或者说是使用者,间接要求执行程序😄)

        😀😀😀

      • 4ef17bd4cad1:程序(program):为了实现一个需求而设计的逻辑流程 —— 产品工艺流程图
        需求(purpose):程序完成的目标 —— 提高生产效率及良品率
        语言(language):编写程序所使用的语言 ——图表和相关术语
        编写者(writer):程序的作者 —— 工艺工程师
        拥有者(owner):负责改进程序者 —— 工程主管
        执行者(runner):负责执行程序者 —— 生产操作人员
        调用者(caller):要求执行程序者 ——产品客户
      • Nicolois:程序(program):为了实现一个需求而设计的逻辑流程 —— 提单
        需求(purpose):程序完成的目标 —— 货物出口
        语言(language):编写程序所使用的语言 —— 英语
        编写者(writer):程序的作者 —— 船公司、机场、或者是国际物流代理公司
        拥有者(owner):负责改进程序者 —— writer
        执行者(runner):负责执行程序者 —— 国际物流代理公司的操作员
        调用者(caller):要求执行程序者 —— 外贸公司或工厂的外贸部的业务人员
      • 整理教练周周:程序(program):为了实现一个需求而设计的逻辑流程 —— 调研问卷
        需求(purpose):程序完成的目标 —— 收集数据
        语言(language):编写程序所使用的语言 —— 各种题型和答案选项
        编写者(writer):程序的作者 —— 调研项目负责人
        拥有者(owner):负责改进程序者 —— 项目管理人
        执行者(runner):负责执行程序者 —— 调研项目目执行人
        调用者(caller):要求执行程序者 ——被访者
        张砷镓:@NEW周周 调用者应是发放问卷者,执行者应是被访者,你说呢?
      • Cheng_47b1:程序(program):为了实现一个需求而设计的逻辑流程 —— 方法论
        需求(purpose):程序完成的目标 —— 实现想法
        语言(language):编写程序所使用的语言 —— 专业术语
        编写者(writer):程序的作者 —— 相关专家
        拥有者(owner):负责改进程序者 ——相关从业人士
        执行者(runner):负责执行程序者 —— 相关从业人士
        调用者(caller):要求执行程序者 —— 提出想法的人
        Cheng_47b1:@张砷镓 看了@龙虎马牛的回答感觉总结的特别好,所以也试着总结了一下,从逻辑上又加深了理解,确实有些抽象了><
        张砷镓:@Cheng_47b1 有点太抽象了,作业要求的是生活中的案例噢
      • 402bcee3339c:program:标准楼房的设计图纸
        purpose:建造出楼房
        language:图纸的线条(或者建筑设计的方法)
        writer:楼房设计师
        owner:建筑公司
        runner:建筑师(工人)
        caller:住进楼房者
        张砷镓:@彭东建发美酒汇 nice
      • 龙虎马牛:程序(program):为了实现一个需求而设计的逻辑流程 —— 工艺流程图
        需求(purpose):程序完成的目标 —— 生产合格的产品
        语言(language):编写程序所使用的语言 —— 生产用语
        编写者(writer):程序的作者 —— 工艺工程师
        拥有者(owner):负责改进程序者 —— 生产工艺部门
        执行者(runner):负责执行程序者 —— 调机员
        调用者(caller):要求执行程序者 —— 客户的订单
        张砷镓:@龙虎马牛 明白了,就是操作工人?
        龙虎马牛:@张砷镓 调剂员是具体把工艺参数输入到生产设备上并跟着设备一起生产的人,允许它们在工艺范围内微调参数;现有工艺参数范围外的调整属于工艺工程师的权限
        张砷镓:@龙虎马牛 看着不错,就是不知道调机员是什么
      • 5分钟区块链:1.从国家益角度看法律

        程序—法律条款

        需求—巩固统治阶级的统治

        语言—律师或当事人在为原被告所运用的书面和口头语言—诉状和法庭辩论用语

        编写者—立法机构——法律专业人士

        拥有者—立法机构

        执行者—执法机构

        调用者—法院

        2.从公民个人利益角度看法律 (思考五月花号上的立法过程)

        程序—法律条款

        需求—维护公民个人利益

        语言—律师或当事人在为原被告所运用的书面和口头语言—诉状和法庭辩论用语

        编写者—受法律约束的个人

        拥有者—受法律约束的利益共同体

        执行者—执法机构

        调用者--法院
        张砷镓:@写作改变世界 我觉得不管从哪个角度看,事物本质都不应该发生变化。或者你讨论的是中国法律和西方法律?
      • 沐银华:看了本文后我想起了一些关于儿童英语教育的培训机构,以摆脱对名师的过度依赖。
        程序(program):为了实现一个需求而设计的逻辑流程 —— 教案
        需求(purpose):程序完成的目标 —— 交给学生英语知识
        语言(language):编写程序所使用的语言 —— 英语课堂用语
        编写者(writer):程序的作者 —— 培训机构
        拥有者(owner):负责改进程序者 —— 培训机构及教研组负责人
        执行者(runner):负责执行程序者 —— 教师
        调用者(caller):要求执行程序者 ——学生
        沐银华: @张砷镓 现在有一些机构就研究一种类似公共教案的教案,尤其是少儿英语,他们的目标就是让老师按照一个固定的流程去上课,老师能够自由发挥的空间很少,有点类似肯德基麦当劳里的员工,每一步都有模板。
        张砷镓:@沐银华 我进入it圈之前,在一家英语远程教育机构工作了八年。据我所知,教案的编写者是教师,拥有者是培训机构,调用者是家长,执行者是教师和学生
      • 活在未来007:跟着你学了
        张砷镓:@活在未来007 作业呢?
      • c4b87f83d420:程序(program):为了实现一个需求而设计的逻辑流程 —— 药方
        需求(purpose):程序完成的目标 —— 治好病人的病
        语言(language):编写程序所使用的语言 —— 医药术语
        编写者(writer):程序的作者 —— 医生
        拥有者(owner):负责改进程序者 —— 科室主任
        执行者(runner):负责执行程序者 —— 护士
        调用者(caller):要求执行程序者 ——病人
        张砷镓:@潮明 另外,调用者感觉应该也是医生。病人应是执行者:缴费、取药、找护士打针、按时吃药……
        c4b87f83d420:@张砷镓 哎呀,对哟,应为处方。是觉得"药方"哪里不对,忘记了该叫"处方"。药方是静态的,处方才是有动态意义的程序。
        张砷镓:@潮明 药方应为处方,否则其他概念就都不对了。
      • a34213546204:@张砷镓 那是建造楼的过程?
        a34213546204:@张砷镓 哈哈。:beer::beer:
        张砷镓:嗯,这差不多
      • a34213546204:程序---一栋楼
        需求---漂亮的家
        语言---钢筋、水泥、砖
        编写者---建筑工程师
        拥有者---开发商
        执行者---包工头
        调用者---购买者
        张砷镓:@安_博 程序是一个流程,楼可不是哦

      本文标题:编程镓教・入门篇|000 旅程的起点

      本文链接:https://www.haomeiwen.com/subject/wjupwttx.html