第197篇文章


老丁的课程

在正式开始这套课程之前,依照老丁的习惯,还是要给大家白话下东西,该怎么学?

本节课,来讲讲我对于学习这个软件(包括和EV3配合起来)的一些看法。同时,也给小朋友们一些编程学习规划上的建议。

还是那句话!理解!

你对于一个事物的理解,是决定你能走多远的关键!

首先哦,我可能要说一句不太能被别人认同的话,但还是要说:

虽然Scratch学起来简单,也很好玩,但如果真的有一些小朋友要学习编程的话,在这个上面停留的时间,还是越少越好。

这里解释一下,不然又有人要误读了。本文就事论事,没有一点点批判Scratch的意思,而且,扪心自问,我很喜欢这个社区。


我指的少,不是因为Scratch不好,而是简单易学,也很容易能够上手到一定程度。如果按照Scratch的研发目标“让孩子能够体验到编程的乐趣”来说,这点上就足够了。

而我们要学习的本身其实是Scratch带来的操作,和对于一些方法的理解。

当然,这句话对于很多把Scratch做成几年课程的朋友,可能是不公平的,所以说明一下哈,所以这只是我个人的观点。

我认为,Scratch用来作一些启蒙接触,挺好的。但这个软件我们可以理解为是一个多媒体编辑器。你并不能完全把它理解为是一种编程。相反,如果单纯说编程的话,我认为mindstorms,更加配得上“编程”两个字。

为什么这样说?

可能我在之后的课程里面一步步会给大家证明这一点。

mindstorms,是一种逻辑上的锻炼,逻辑不清,可能根本无法做出一个“正常”的程序。Scratch的优势是,它的操作更加方便,你能够很容易的做出一个属于自己的动画短片,小游戏等等。要知道,这些在mindstorms是一件很累人的事情……(你可以看看本号内关于贪吃蛇的一套课程)

正是因为scratch编程的操作太方便,很容易通过拖拽等等方式去完成一些必要的内部逻辑的关联,操作画面也挺好看。所以往往会把小朋友的注意力给吸引掉,也容易忽略掉编程中重要的编程思想和编程的“抽象性”

注意,编程是一个抽象的工作!这点很重要。

我们有编程思维的人,往往能够把一些想象中的事情给梳理和分析气你给出,从而得到一些解决方案。这一步很关键很关键,也是我们学习编程后,能够锻炼到的很重要的一个潜在能力!

这也就是为什么一些常年使用mindstorms编程的朋友,上手Scratch如此之快,并且能够迅速精通的原因。因为长期的mindstorms使用中,把内功给修炼到位了,有了心法,换个招式,只是一种熟练工啦~

再说明一下,老丁很喜欢Scratch,只是我个人觉得,很多人在做这样的课程里面,太过于注重案例本身了。案例千千万,但这都是鱼,而不是渔。编程思想应该是每个人的,所以,我们要培养的其实是思想,而不是操作本身。

综上所述,我认为,Scratch可以作为一种锻炼和练习的工具,帮助理解一些编程思想,但学的其实不是编程,也不是如何做一个游戏玩玩。关键是,如何用它的各种功能处理一些问题。你学习Mindstorms和LOGO语言也是一样的。编程思想,才是关键!


说到解决问题,这一点又可以白话一下了。

其实解决问题并不难,难的是“提出问题”,“找到问题”。

我们市面上大多数的编程教育,都在教如何解决问题。这就是我不愿意看到的。

有一块木板,木板上有根钉子,要把钉子弄进去。怎么做?

Scratch就像是一把榔头,直接敲不就行了?

Mindstorms就像是你先要确定用榔头,然后你的解决方案是做好这把榔头,再敲进去。(有很重要的流程设计要求)

代码类的编程,就像是有一堆物体,你先要确定你是否一定需要一把榔头?明白吗?

方便,不是一切,也并不是求真态度下的追求。

上面这个问题的本身,其实包含了很多问题。

1、你用什么方法让钉子进去?

砸进去?拍进去?或者你可能不需要任何东西,把木板倒过来往地上敲,一样能把钉子敲进去,根本不需要其他任何东西的辅助,地面可能就是你最大的帮手。

2、当你确定需要一样工具时,你是否需要的是榔头?

这不是你能拍脑门决定的事情,你需要创造一样最适合的,最方便创造的东西出来帮你。这个时候榔头不一定是第一选择!主要要看你的场景和你能利用的东西。

……等等,我们还可以想象的更加细致。

发现没?这都是抽象的,甚至可以想出一些超越平时认知的方法,去实验某一些不同的“可能性”。

那么这些,我们就放到后面的课程里面,慢慢体会。


那么短暂停留之后干嘛呢?

当然,你就可以选择一些真正的编程语言来学习啦。

Python

应用需求极大,并且超级广泛。

这个语言甚至已经超过了人们对于中文的需求度,被称为人工智能时代的全球用语。

老丁可以很负责的说,在未来几年,这个编程语言会成为一种生活技能。或许你现在不信,就像2012年左右,我对一些朋友说乐高机器人会火一样没人信,甚至有人问我,玩具也能拿来做教育产品?

这里我也再做出一个预言:未来几年,Python会成为最热门的IT技能敲门砖,一定会低龄化;哲学也会成为一项青少儿必修课,以应对信息传递越来越快的成长价值观和人生观的个体认知基石。

请收藏这篇文章,我们2~3年后来看看我的语言成真没有。


C++:

精通C++的工程师无疑是贴上了IT界的牛人标签。

这个语言可能是当今语言中,最灵活、最复杂、最难学的语言。

会当凌绝顶一览众山小,学会了这个东西,再看其他语言,都是小菜一碟!如果你还具备产品思维,那么……

C++用在操作系统、游戏、数据处理、医疗数据、教育数据、金融!等等几乎所有你能想到的跟数据有关的领域,岂止于大数据!那是巨数据!

如果小朋友有机会参加:

Intel科技奖软件作品的竞选(MIT这样的学校几乎是保送的感觉);

世界顶级noip,NOP大赛(卡耐基梅隆我来啦!);

信息奥赛(清华北大?我考虑一下哈……哪个离家近点呢……);

……

这,都是必备技能。


JavaScript:

这个玩意用来做网页动效的,也就是我们俗称的JS语言,我们网页上看到的这些动效啥的,都是由这个来完成的。这玩意一般就被我们叫做“前端”。

诶?编辑网页不是用HTML5嘛,要学JS干嘛?

这样解释一下,HTML5其实是指HTML语言在2014年的第五次重大改版。一般我们讨论这个重大改版要涉及3个语言。

HTML,就像是人的骨骼,器官,是一个网页的结构;

CSS,就像是人的皮肤,是一个能看到样子,换句话说,这两样加起来,就做成了一个“植物网(人)”;

JS,就是灵魂,这个网页对于人们浏览他的各种反应,可以思考,可以换装,等等等等……

明白了?还是不明白对吧。那就是了,学了你就明白了!

总之,你学会了这个,就可以自己做出一个自己的网页,相当于生了一个自己的孩子一样。这孩子怎么打扮,怎么成长,都可以由你来控制和喂养。

说不定高中开始做的网页,到了大学,当你真正认知了这个社会,这个市场,它就变成了你未来人生一辈子的事业!


以上这些,就是老丁对于Scratch学习的一些学习目标浅谈和未来的规划建议。

当然,兴趣是一切的开始!即便你以后不做IT工作,也可以学会很多编程思维。就从这里出发吧!

【Scratch】它跟Mindstorms,有什么区别?的更多相关文章

  1. linux主要的发行版及其区别和联系

    1. 主要发行版 linux主要发行版有3类: (1).Debian (2).Slackware (3).Redhat (1)Debian Ubuntu 针对桌面和服务器 knopix 以安全著称 ( ...

  2. Linux的发行版,不同发行版之间的联系和区别

    Linux 主要作为Linux发行版(通常被称为"distro")的一部分而使用.这些发行版由个人,松散组织的团队,以及商业机构和志愿者组织编写.它们通常包括了其他的系统软件和应用 ...

  3. 介绍 Scratch 3.0:扩展编码创造力

    在过去十年中,全世界数百万儿童使用Scratch编写自己的互动游戏,故事,动画等. 这种磅礴的创造力激励我们继续扩展和改进Scratch,让世界各地的孩子都有新的机会用新技术创造性地表达自己. 今天, ...

  4. tensorflow函数解析:Session.run和Tensor.eval的区别

    tensorflow函数解析:Session.run和Tensor.eval 翻译 2017年04月20日 15:05:50 标签: tensorflow / 机器学习 / 深度学习 / python ...

  5. Scratch 少儿编程之旅(四)— Scratch入门动画《小猫捉蝴蝶》(中)

    本期内容概括: 了解Scratch的更多操作,用[无限循环]来更改“小猫”角色的代码: 添加[碰到边缘就反弹]积木块指令: 更改角色的旋转模式和造型,让”小猫”走路更生动: 两种[循环]语句的区别: ...

  6. scratch少儿编程第一季——01、初识图形化界面编程的神器

    各位小伙伴大家好: 说到2018年互联教育的热门事件,那就不得不提Scratch. 相信各位不关注信息技术领域的各位家长也都听说过这个东西. 对于小学阶段想要接触编程或信息技术学生来说,Scratch ...

  7. 少儿编程 | 01.Scratch 3.0简介

    欢迎参加这套Scratch3.0少儿编程课程的学习.本系列课程将通过视频和图文的方式进行(视频制作中,后续会发布).如果喜欢本系列课程,欢迎点击订阅关注或者转发. 这是本系列课程的第一课,主要是给家长 ...

  8. 【Scratch】编程?一节课就教会你!其实我们不用一个个学习如何使用代码。

    第199篇文章 老丁的课程 在很多教程里面,大家都喜欢把模块拿出来一个个讲述其功能. 这样做的好处是,可以把每个代码模块的功能讲的很清楚.但最最讨厌的问题也随之而来…… 举个例子,当你学习英语的时候, ...

  9. Scratch 3.0,新在哪里?

    大家期待已久的Scratch 3.0,已经上线一段时间了. 学生们可轻松通过连接WeDo2.0和EV3机器人 进行scratch编程学习啦! 或许有些朋友还不太了解Scratch,没关系,小乐今天就为 ...

随机推荐

  1. 关于 Win10 下使用 IETester 的问题

    真没想到,现在都用上Win10了,居然还会有使用 IETester 的需求,今天一个客户反应界面出现变形.错位的情况,于是又想到了这个老古董,去它的官网一看,果然N年没更新了! 抱着试试看的心理,下载 ...

  2. Lucene4.2源码解析之fdt和fdx文件的读写——fdx文件存储一个个的Block,每个Block管理着一批Chunk,通过docID读取到document需要完成Segment、Block、Chunk、document四级查询,引入了LZ4算法对fdt的chunk docs进行了实时压缩/解压

    前言 通常在搜索打分完毕后,IndexSearcher会返回一个docID序列,但是仅仅有docID我们是无法看到存储在索引中的document,这时候就需要通过docID来得到完整Document信 ...

  3. pc电源cpu插座和显卡插座

    cpu插座是8口的,一般4+4 显卡插座是6口的,也有8口的用6+2 6+2的中2有一个小边,组合成8口也不能插入cpu插座.

  4. 【Canvas】勾画调和级数Harmonic series 曲线 y=1+1/2+1/3+1/4+1/5+1/6+1/7+1/8+....

    相关资料:https://baike.baidu.com/item/%E8%B0%83%E5%92%8C%E7%BA%A7%E6%95%B0/8019971?fr=aladdin 调和级数(英语:Ha ...

  5. 【转载】 第四范式首席科学家杨强:AlphaGo的弱点及迁移学习的应对(附视频)

    原文地址: https://www.jiqizhixin.com/articles/2017-06-02-2 ============================================= ...

  6. ISO/IEC 9899:2011 条款5——5.2.3 信号与中断

    5.2.3 信号与中断 1.函数应该被设计为它们可以被一个信号在任一时刻打断,或是被一个信号处理所调用,或是两者都发生,对于初期不发生改变,但仍然处于活动状态,调用的控制流(在中断之后),函数返回值, ...

  7. 几种主流浏览器内置http抓包工具软件使用方

    对于学习网站的人或者相关编程人员,经常需要用到http抓包工具来跟踪网页,但主流抓包软件如httpwatch.httpanalyzerstdv都是收费的,破解版往往也不稳定.实际上现在很多浏览器都内置 ...

  8. Vue.js学习之简介(待续)

    Vue.js 渐进式JavaScript 框架 易用:已经会了 HTML.CSS.JavaScript?即刻阅读指南开始构建应用! 灵活:不断繁荣的生态系统,可以在一个库和一套完整框架之间自如伸缩. ...

  9. Centos7彻底删除PHP

    查看php版本命令: #php -v 下面的命令是删除不干净的 #yum remove php 因为使用这个命令以后再用 #php -v 还是会看到有版本信息的..... 必须强制删除,使用下面命令查 ...

  10. asp.net core swagger使用及注意事项

    Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.是一款RESTFUL接口的文档在线自动生成+功能测试软件.主要目的是构建标准的.稳定的.可重 ...