如何通过 Scratch 教小朋友编程思维?
寒假的时候,我带着自己的小孩学 Scratch,希望通过这种图形化的语言来训练他的编程思维。开学之后,很多事情需要处理,所以拖到现在才写总结。希望对大家有所启发。
在介绍如何做这件事情之前,先介绍一个学习方面的基本认知“库伯学习圈”。
这个理论,是由心理学家、教育专家大卫·库伯,在综合了杜威、皮亚杰等人的思维模式之后,所提出的学习基本结构。
他认为,学习的起点,首先来自于 经验,亦即体验。通过经验,我们积累了大量的原始素材,下一步,再对这些素材进行 「反思性观察」 —— 回想,思考,反省,整合,从中抽象出有价值的收获和心得。
接着,再把这些心得进行 抽象概括,上升到理论的层次,使之形成一个系统,这就是「概念化」的过程。
最后,再把这些已经成型的理论,用来指导实践,把知识进行巩固和迁移,检验自己是否真的学以致用。
在这个巩固和迁移的过程中,势必会遇到新的问题,发现新的情境,获得新的经验,那么,再对这些新的经验,进行反思观察、抽象概括,不断向上总结,这就构成了一个循环。
这就是 —— 整个学习的循环过程。
这个理论,奠定了整个「体验学习」和「行动学习」流派的基础,也是迄今为止广受认同的学习模式。
有了以上的认知,我们首先要做的就是让小朋友有充分的体验,通过一个个案例来教他们,而非传统的上来就介绍变量、常量、运算符、表达式、赋值语句、条件语句、循环语句、开关语句、数组、函数、链表、栈、队列、树、图、排序、搜索、事件、消息映射、广播等等。
以下是我当时用的一些案例:
- 顺序结构:快乐的小齐
- 循环结构:畅游海底世界
- 分支结构与全局变量:神枪手
- 逻辑运算符与条件表达式:贪吃的小齐
- 绘制背景与造型:神奇的画室
- 模拟乐器:水果钢琴
- 计算机制图:魔法画笔
- 消息广播机制:奇妙的火星之旅
- 响应鼠标事件:接苹果
- 响应键盘事件:摘星星
- 函数与形参:算术小达人
- 综合应用:猴子大闯关
- 其它:Scratch3.0如何设置造型中心点?
我们其次要做的就是,在每个案例中设置一些问题,引导小朋友去拆解、去模仿想办法去解决。比如小齐踢足球,怎样让足球动起来?海底世界的鱼儿们怎样来来回回的游动?小猴子在跳跃的过程中如何检测到是否碰到了火焰等等。在解决这些问题的过程中,让小朋友们明白一个复杂的问题,看起来千头万绪没有思路,但可以把它拆解成一个个简单的问题,再进行逐个击破。
我们接着要做的就是,和小朋友们一起复盘,把所做案例中涉及的概念整理出来。比如针对哪些经常被重复使用到的运算过程,就可以写成一个函数,需要时直接调用,根据调用的场景、前提条件不同相应地改动输入参数即可,不用每次都重新编写。
等做的案例多了,小朋友们就会发现,在做下一个案例的时候,需要先做设计,搭架构,而非想到哪里做到哪里,不行了在重新来。慢慢的他们也会提出一些问题,想办法去解决。这样完整的库伯学习圈就建立起来了,这个时候,我们就可以放手让小朋友们自己去发挥了。
培养小朋友编程思维的步骤看起来简单,但让这个学习圈转起来考验的是家长们的耐心。做任何事情都不会一蹴而就的,更何况培养人呢!希望我的方法能够给大家以启发。就这样吧,See You!
对了,我把上面的案例打包了,大家可以下载下来结合上面的图文来培养自己的小孩。
Scratch 是一款由麻省理工学院(MIT) 设计开发的少儿编程工具。其特点是:使用者可以不认识英文单词,也可以不使用键盘,就可以进行编程。构成程序的命令和参数通过积木形状的模块来实现。用鼠标拖动指令模块到脚本区就可以了。
Scratch下载地址:
https://scratch.mit.edu
下载《教小朋友编程思维 - Scratch案例》
关注公众号,后台回复
20190406
相关文章:

零基础怎么学习UI设计?有哪些简单的学习方法?
UI设计近几年的就业前景是非常好的,所以很多人都想要学习UI设计,那么零基础怎么学习UI设计?有哪些简单的学习方法?下面小编就给大家做下详细的介绍。 零基础怎么学习UI设计?有哪些简单的学习方法? UI设计行业是很注重技术的,零基础如果直…

让资源管理器不显示最近常用文件夹
右键点任务栏,点“属性”->Startmenu->在Privacy框中,把第二个√ 去掉,如下图所示:

C# 写Windows服务
服务是一个运行在后台的程序,他没有界面,不能交互,只能孤独的独自运行。 在开始->运行->输入services.msc可以打开服务管理器,这里可以查看和管理服务 很多时候都会用到服务,因为服务简化了我们的操作&#…

技术图文:如何利用 C# 爬取 ONE 的交易数据?
投资一个金融产品,最基本的就是拿到这个金融产品的交易数据,对这些数据进行可视化来判断趋势。去年,我在听 李笑来 讲区块链的课程上知道了 BigOne 这个由 INB 投资的交易所,而 ONE 是 BigOne 的平台币,持有 ONE 可享受…

java程序猿必读的学习书籍,良心推荐!
每年都有很多人想要学习java技术,有的是自学,有的是报班学习,但是都免不了要看书籍学习,书籍学习带来的知识更加牢记,也可以随时做笔记,下面小编就为大家推荐java程序猿必读的学习书籍,希望能帮…

Autools学习总结(一)
一、Makefile 简介 在编写C/C程序的时候,我们经常需要编译并运行代码。在程序规模较小的情况下,可以简单地直接调用编译器来完成这项工作。然而,在很多情况下程序往往包括大量的代码文件,手动调用编译器变得麻烦无比。尤其要命的是…

简单的实现IOCP服务器模型
其实已经有很多大佬将原理讲的十分详细了,所以就不花费时间将原理再一次重复讲一遍,有需要的可以自行去查看。 http://blog.csdn.net/beyond_cn/article/details/9336043 这篇文章是我看的,原理介绍十分详细。不过有一些操作感觉比较复杂因此…

资料分享:送你一本《数据结构与算法JavaScript描述》电子书!
数据结构 是掌握计算机编程必须具备的技能。通常情况下,我想掌握一门编程语言所用的方法就是利用这门语言把数据结构中线性表、栈、队列、字符串、动态数字、整数集合、树、图、搜索、排序等涉及的算法全部写一遍。写完之后,基本上就把这门语言搞定了。 …

Python中爬虫框架或模块的区别
Python中爬虫框架或模块的区别,我们在Python的学习过程中,需要不断的总结知识点,这样我们才能进步的更快一些。 (1)爬虫框架或模块 Python自带爬虫模块:urllib、urllib2; 第三方爬虫模块:requests,aiohttp;…

SQL SERVER 2000写存储过程出现列名无效的解决方法
举一个Northwind的例子。DECLARE m_LastName nvarchar(20) DECLARE Sql varchar(256)SET m_LastName Fuller SET Sql SELECT * FROM Employees WHERE LastName char(39) m_LastName char(39) EXEC(Sql) 注意,要加上char(39)就可以了。转载于:https://www.cnblo…

如何利用 C# + Python 破解猫眼电影的反爬虫机制?
在 如何利用 C# 爬取「猫眼电影:最受期待榜」及对应影片信息! 这篇图文中可以看到猫眼电影对“本月新增想看人数” 和 “总想看人数”进行了字符集加密。 在 如何利用 C# 爬取「猫眼电影:国内票房榜」及对应影片信息! 这篇图文中也…
ZooKeeper学习笔记1-----------安装启动
ZooKeeper是一套协作服务,主要用来构建分布式架构的应用,通过ZooKeeper我们可以安全的处理分布式应用下的局部故障问题。我们知道ZooKeeper就是Hadoop中的分布式协作服务组件。下面我们进入ZooKeeper的安装部署。 安装Zookeeper https://zookeeper.apach…

软件测试培训完就业方向怎么选择
软件测试技术在近几年的发展前景是非常好的,越来越多的人都想要学习软件测试技术,报班是大多数人的选择,但是大家对于“软件测试培训完就业方向怎么选择”这个问题比较迷茫,我们来看看下面的详细介绍。 软件测试培训完就业方向怎么…

LeetCode实战:合并两个有序链表
题目英文: Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. Example: Input: 1->2->4, 1->3->4 Output: 1->1->2->3->4->4 题目中…

Apache反向代理设置【转载】
编译Apache时要进行的设置./configure --enable-mods-shared"all proxy"1>修改 httpd.conf 文件中:LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_connect_module modules/mod_proxy_connect.soLoadModule proxy_http_module modules…

Suricata的输出
不多说,直接上干货! 见官网 https://suricata.readthedocs.io/en/latest/output/index.html 总的来说,Suricata采集下来的数据输出分为:EVE 、 Lua Output 、 Syslog Alerting Compatibility 、 Custom http logging 、 Custo…

快速提高你的UI设计水平的一些小技巧
UI设计师这个岗位在最近几年的缺口是比较大的,很多企业都在招UI设计人员,想要学习UI设计或者提升UI设计技术的同学,可以看看小编分享的以下内容,善用这些UI设计小技巧,快速提高你的设计水平! 快速提高你的UI设计水平的…

hibernate join fetch
那天去了达内,试听了2个小时的课,刚好讲的他们的当当网项目,讲hibernate表关系映射这段来了,不过也够呛,投影仪看的眼睛点都不舒服,当时讲的也没认真听,听了个大概,就记住那个老师一…

Java IO 字节流与字符流 (三)
概述 IO流用来处理设备之间的数据传输 Java对数据的操作时通过流的方式 Java用于操作流的对象都在IO包中 流按操作的数据分为:字节流和字符流 流按流向不同分为:输入流和输出流 IO流常用基类 字节流的抽象基类 InputStream,OuputStream 字符流…

LeetCode实战:两两交换链表中的节点
题目英文 Given a linked list, swap every two adjacent nodes and return its head. You may not modify the values in the list’s nodes, only nodes itself may be changed. Example: Given 1->2->3->4, you should return the list as 2->1->4->3.…

在UI设计中如何正确使用颜色
在我们进行UI设计时,颜色往往是我们表达理念重要的一点,但也是我们常常会忽视的一点。颜色其实如同语言一样,我们可以通过颜色的变化组合,来表达不同的情绪。 正确使用颜色不单能让我们吸引到客户,也能更好地表达我们的…

如何用Python做Web开发?——Django环境配置
用Python做Web开发,Django框架是个非常好的起点。如何从零开始,配置好Django开发环境呢?本文带你一步步无痛上手。 概念 最近有个词儿很流行,叫做“全栈”(full stack)。各大IT培训机构几乎都在宣传这一概念。告诉你只需要交1XXXX…

LeetCode实战:旋转链表
题目英文 Given a linked list, rotate the list to the right by k places, where k is non-negative. Example 1: Input: 1->2->3->4->5->NULL, k 2 Output: 4->5->1->2->3->NULL Explanation: rotate 1 steps to the right: 5->1->2…

blog地址:
blog地址: blog地址: http://blog.csdn.net/q107770540posted on 2010-11-19 08:36 Tim_ 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/q107770540/archive/2010/11/19/1881399.html

Spring MVC框架有哪些优点
Spring MVC是Spring提供的一个实现了Web MVC设计模式的轻量级Web框架。它与Struts2框架一样,都属于MVC框架,但其使用和性能等方面比Struts2更加优异。 Spring MVC具有如下特点: 是Spring框架的一部分,可以方便的利用Spring所提供的…

MVC+Ninject+三层架构+代码生成 -- 总结(四、數據層)
1.數據層使用了SqlSugar 庫類 。 數據層使用了SqlSugar 庫類 ,有興趣的 可以學習 http://www.codeisbug.com/Doc/8/1133,個人覺得比EF 簡單,容易上手,推薦1。 數據層使用代碼生成,所以考慮得比較多。 1.GetAllList()-…

台湾前十大科技公司拼不过三星(往后一点三星都不要买啦!)
台湾前十大科技公司拼不过三星,往后一点三星都不要买啦!本来还可以买它的内存和液晶,不过现在是一点都不能买了,再买就真反了他了! 三星像糖果也像毒药,让台湾LED类股1年涨3倍,但也让鸿海市值一夜之间消失350亿元(新台币,下同)。从来没有一刻…

技术图文:如何利用 C# 向 Access 数据库插入大量数据?
背景 通常我们在做数据分析与处理之前,需要把从网站爬取的数据或者从 甲方 系统中导出的数据存入到自己的数据库中。如果数据量小,直接利用 SQL的 Insert 语句逐条插入就好。可是数据量上万条之后,再利用这样的方法就会奇慢无比,…

Web前端面试自我介绍对话技巧注意事项
大家在学会了web前端技术后,当然是要准备找一个适合自己的web前端工作了,那么面试环节是必不可少的,有一个良好的自我介绍表述,在HR心中也能加分不少,接下来小编就为大家介绍一下Web前端面试自我介绍对话技巧注意事项。…

Android使用ListView控件问题
Android使用ListView控件问题: The application has stopped unexpectedly, please try again。 开发环境:android 1.6 最低兼容 4.0 报错代码如下: main.xml 代码 1 <?xml version"1.0" encoding"utf-8"?>2 <…