一些有趣的事实:

  • 至少一半的编程学习者在有学习编程想法的第二天放弃
  • 剩下的一半多会在安装学习环境的时候放弃
  • 剩下的一半多会在运行"Hello World!"后放弃
  • 剩下的一半多会在学完一次课程后放弃

最终,只有不到5%的学生能够坚持到第3天,而95%的学生会进入到下一个循环,直到机缘巧合下进入到下一个淘汰赛阶段。换句话说,你至少需要有20次尝试学编程的冲动,才有有一次幸运的真正开始编程的学习。

如果,有一个环境,可以在你有学习想法的时候第一时间满足你的要求,无疑,这将大大减少你需要的冲动次数。

ICODE就是这样一个编程学习平台。https://home.icode.org.cn/?

全称是“国际青少年编程竞赛”,别担心,这是一个“假”竞赛,他实际上是一个学Python的平台,而且是完全免费的。

怎么学编程

提到学编程,学python,你可能第一印象是这样的:一个黑乎乎或者白兮兮的窗口,上面写满了奇怪的符号。

但是如果我告诉你,可以这样学习Python、学习编程,你是不是会感到很惊讶?

如何开始

点击https://home.icode.org.cn/?v=zhihu开始注册,注册时学校填“知乎”就可以了,所有填“知乎”的学员都会在同一个战队里出现,可以帮助大家相互监督。在右下角,选择Python关卡后,开始挑战,就开始了我们的Python学习之旅。

ICODE的Hello World代码

看完背景故事后,我们知道了我们的任务。开始执行第一行代码。看来Dev就是这个可爱的小机器人了,step好理解,就是走路的意思。Dev离目标有4个格子的距离,所以要走4步,默认代码都已经帮我们写好了,只要点击右下角的RUN按钮就可以成功执行了。

Hello World 和核按钮

“Hello World!”第一次被代码输出的时候是在48年前,它大概是想不到48年后的今天,仍活跃在编程一线,被无数编程学员一遍又一遍的输出来。

对大部分新学员来说,输出Hello World和按下核按钮并没有什么区别,都是无法直观理解的。

我们需要知道的是:我们可以通过代码控制电脑,这个过程不管是输出一个“Hello World!”还是控制核武器,或者是控制这么一个虚拟的角色,都是编程的过程。

编程和数学

编程和数学一样,是一个工具,脱离不了实际的应用。在第5关,我们遇到了这样一个问题,Dev的前后左右都有能量,我们应该怎么移动才能保证步数最少呢?

我们稍微模拟一下就可以发现,从上一个能量到下一个能量都要经过出发点,所以,每条路径都要走两次,除非是最后一个能量,只需要走一次。那么我们只需要把最长的路径留到最后就可以了,这是其中一种解法。

循环

经过前面6关的铺垫,我们已经知道怎么运行代码,怎么控制Dev了,马上就进入到了真正的编程概念,也是编程最核心的第一个概念:循环。

看到任务的第一瞬间,我们几乎就可以得到“重复”这样的概念:

  • 【右转->前进】 -> 【右转->前进】-> 【右转->前进】

换成人话,就是:

  • 重复3次右转前进

正如人类的自然语言,在不同编程语言里,重复3次写法也有所差异。在Python中,我们使用下面的语句来重复执行代码。

for i in range(3):Dev.turnRight()Dev.step(4)

对人类来说,视觉是学习中最重要的部分。在一般的编程学习中,循环的第一个例子往往是重复输出一堆文字,或者是一堆数字,枯燥的数字和文字并不能带来直观的“循环”概念。在这里,用一张图就清晰的表达出了“循环”这个重要的概念。

对象和类

面向对象编程可以说是编程中最重要的概念了,非常难以学习。直到我看到了这一关,一个新的“对象”。

同样的step方法,我在第一时间就明白了它如何运作,或许它并没有完整的解释对象是什么,却让我知道原来可以如何方便的使用对象的方法。

关于类、对象的学习

定义一个类对几乎所有初学者来说都是一件奇怪的事情,大部分初学者认为定义一个类是把代码变复杂了,而不是所谓的“简化”了。

相反的是,在类和对象的使用上,几乎所有人都认可这一抽象的概念非常的有用,所以ICODE在这里,使用了类、对象、属性的概念而不涉及到如何去定义它,我觉得是对初学者非常友好的做法。

数组

数组是什么?数的组合?Array从来都只表示数字的组合。它还可以是这样的:

一排的飞板,也可以是一个数组。从这一关我们就可以学到这些知识:

  • 数组的序号是从0开始的
  • 数组的元素往往具有相同的属性

数组是不是可以和循环结合起来

没错!数组天然和循环结合的非常完美,在后续的关卡中我们可以看到非常完美的结合。

更多的编程知识

在这里,我不想大篇幅的去一关关介绍,抽象的文字介绍远远比不上视觉化的效果,在ICODE平台中,提供了非常多的学习资料,而且更重要的是,不仅仅是编程知识。

写在最后

我不认为ICODE能帮助你学习所有的编程知识,但是这是你开始学习编程的第一步。在网页上浏览再多的《如何学习编程?》问题并不能帮你掌握编程,开始动手永远是学习编程的第一步,从ICODE开始,把冲动变为现实。

如何用ICode来学习Python相关推荐

  1. 没学过编程可以自学python吗-完全没学过编程的人学习 Python前应该掌握些什么?...

    在众多高大上的自学指导中,尝试做一股清流,把要讲清楚的都讲清楚,除了一堆资料之外,你能在学之前就有一个非常明显的结果倾向. 本文以<小白带你学Python>为内容方向,试图在繁杂的信息里, ...

  2. 零基础学python多久可以工作-零基础学习python,要多久才可以学好并且找到工作?...

    原标题:零基础学习python,要多久才可以学好并且找到工作? 零基础的你想学习python肯定很关注学习python的最短时间是多久,怎样才能快速学习python等问题,今天就为大家详细地回答一下这 ...

  3. python编程基础与应用-有哪些适合零编程基础的人学习Python的书?

    筛选了2年内优秀的python书籍,个别经典的书籍扩展到5年内. python现在的主流版本是3.7(有明显性能提升,强烈推荐) 3.6, 不基于这两个或者更新版本的书,慎重选择.很多库已经不提供py ...

  4. python工作招聘-爬了招聘网站之后,给你几点学习Python的建议

    原标题:爬了招聘网站之后,给你几点学习Python的建议 Python语言相关的岗位非常多,有运维,有自动化测试,有后端开发,有机器学习,如果想要快速上手,并且有不错的就业,那就推荐数据分析. 用Py ...

  5. 学python需要多久-零基础学习python,要多久才可以学好并且找到工作?

    原标题:零基础学习python,要多久才可以学好并且找到工作? 零基础的你想学习python肯定很关注学习python的最短时间是多久,怎样才能快速学习python等问题,今天就为大家详细地回答一下这 ...

  6. 怎么学python-如何系统的学习python?

    你好同学,我是IT培训从业者,也是一名Python的讲师. 在这里我们建议大家用知识投资的<道.法.器.术.势>五个工具来完美的执行和落地自学Python,好了,废话不多说,我们来开始: ...

  7. 小白学python买什么书-终于明白小白学习python怎么学

    Python作为一门新型的编程语言(一般常用作脚本语言)很受欢迎,毕竟相对其他的编程语言(Java ,C#等)来说比较容易入手.那么,在刚开始学习Python时有哪些疑难点需要掌握呢?以下是小编为你整 ...

  8. python主要用途-学习Python的三大主要用途

    如果你想学Python,或者你刚开始学习Python,那么你可能会问:"我能用Python做什么?"这个问题不好回答,因为Python用途太多了,以至于小编不知道如何回答,但是我可 ...

  9. python自学 知乎-学习Python的迷茫,如何高效有趣地学习Python?

    美国20世纪最重要的实用主义哲学家约翰·杜威提出一个学习方法,叫做:Learning By Doing,在实践中精进.胡适.陶行知.张伯苓.蒋梦麟等都曾是他的学生,杜威的哲学也影响了蔡元培.晏阳初以至 ...

  10. 初学者先学python语音好吗_献给Python初学者 零基础学习Python能学会吗

    献给Python初学者 零基础学习Python能学会吗 时间:2018-01-08     来源:零基础学习Python方法讲解 零基础学习Python能学会吗?这个问题几乎是所有初学Python的小 ...

最新文章

  1. Tomcat手动配置简述【查询留存】
  2. 关于AxWebBrowser关闭网页时的关闭提示
  3. 当数据库结构改变时,需要将数据库删除再创建
  4. supesite之空间篇
  5. mfc实现秒表小项目
  6. Reference和ReferenceQueue
  7. DCMTK:checkStringValue()方法的测试程序
  8. azure多功能成像好用吗_Azure持久功能简介:模式和最佳实践
  9. 【转】The underlying connection was closed
  10. Linux基本操作(6)——Linux 重写rm 命令 实现回收站功能
  11. 树堆(Treap)图文详解与实现
  12. python 多线程读写文件_python多线程写入文件问题
  13. 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_06-新增页面-前端-新增页面...
  14. adb shell dunpsys SurfaceFlinger
  15. CODEVS 2491 玉蟾宫
  16. 微信扫码提示在浏览器中打开的遮罩代码
  17. 互联网时代的B2B电商系统到底意味着什么
  18. 水溶性InP-ZnS量子点|基团:PEG-NH2、PEG-COOH、MPA-COOH、GSH
  19. android手机铃声文件夹里,Android手机储存卡上的文件夹铃声不显示是怎么回事
  20. My-Blog搭建过程:如何让一个网站从零到可以上线访问

热门文章

  1. 【REDIS】redis安装
  2. iOS动画之CAAnimation
  3. 程序员英文简历范例(Java, Python)
  4. 百度搜索风云榜Rss
  5. 微信小程序熊猫抽奖盒子panda_luckybox3.3.1多开版
  6. 【利用Arduino 、GPS模块、OLED制作GPS车速仪】
  7. MFC动态加载OCX控件
  8. linux将时钟放在桌面上的,天气预报时钟插件加入你的Ubuntu桌面中
  9. 2023南京邮电大学计算机考研信息汇总
  10. redis列表list常用命令大全