「计算思维」第六话 | 老师们应该怎样传授计算思维?

上回说道:有了 Wolfram 语言和计算思维,孩子们也能轻松学会写代码!所以将 Wolfram 语言导入传统教育,学生们的思维及学习方式也会变得完全不同。

 

孩子们学习计算思维简直好处多多,数不胜数!但是也要良师益友的引导与传授!怎么个传授法?传授的关键是什么?以及当孩子们上瘾之后如何引导他们用 Wolfram 语言对各个领域进行探索?

让我们接着上一期继续了解 Wolfram 语言及计算思维的力量吧~

 

 

温故知新直升机 ↓

第一话:得“计算思维”者得天下

第二话:当孩子在敲代的时候,他在想什么?

第三话:你需要知道的关于 Wolfram 语言 的一切

第四话:“计算思维”如何与现行教育接轨?

第五话:为什么 Wolfram 语言是“计算思维”的入门首选?

 

传授计算思维的关键是什么?

 

感谢阿曹、菜根谭、顾天予和翼年的倾情翻译

怎样传授“计算思维”?

第六话

 1、引导孩子

通常我向孩子们演示计算思维和 Wolfram 语言的时候,我会去了解孩子们的兴趣点在哪里:他们喜欢什么?艺术?科学?历史?电子游戏?等等。然后我会想出某个和他们的兴趣有关的例子,然后用 Wolfram 语言执行它,从而得到图像或者可视化的结果。孩子们观察结果并思考,而且一般还会问:“这是怎么做出来的?” “我们试试做这个会怎么样?”  这十分令人欣慰!因为当孩子们开始提问时,他们是真的在认真地思考。

大多数学校里教的学科都是有限制的,虽然学生会问问题,但这些问题多半是帮助学生去理解现有事物的特征,而不是去探讨“新东西”。

有几次,我和孩子们开展了“科学知识随你问”的活动。孩子们问了许多问题:有些问题可以用大学物理知识来解答;而有些需要研究生水平的知识来解答;还有些问题即使用最前沿的知识都无法解答。这其中有一位孩子的问题我回答了,因为碰巧之前同世界级专家交谈过。

直到我与孩子们开展这样的活动,才发现回答孩子们的很多问题都很难。由此我悟出了一个道理: 除非学校配备有研究级别的教师,否则只有把传统科目的教学内容加以限制。

解决这个问题的一个好办法就是用 Wolfram 语言作为工具。因为有了 Wolfram 语言,老师不必知道问题的完整答案:他们只要有一定编写 Wolfram 语言的基础,并且懂得用计算的方式表述这个问题,而后 Wolfram 语言会自动计算出答案。这样学生和老师会一起寻求问题的答案,也增强了教学趣味性。

 2、激发潜能

我经常做一些“现场试验”(Live Experiments)的活动:用 Wolfram 语言尝试、探索一些观众提出来的或者我自己想到的主题,然后看看能发现些什么。由于 Wolfram 语言的性能和自动化水平近年来有了很大的提升,这一试验过程也变得越发容易。

我会时常开设包括“现场试验”的 Wolfram 暑期班,并承诺一个小时左右的课程物超所值,里面包含我们发现的一些新颖有趣的东西。

尽管这对我来说还挺伤脑筋的,不过大多数情况下 Wolfram 语言都表现得很出色。而且这是一件非常有教育意义的事情。 因为大多数人都不会意识到,在一个小时之内从零开始得到一个可发表的重大发现十分振奋人心!

尽管我个人所知道的关于计算思维和计算式研究的经验显然有一定优势,但对于任何人来说用一定的计算思维和 Wolfram 语言完成一次有趣的“现场试验”还是出乎意料地简单的。

儿时的我从不喜欢教科书上的练习。我并不认为去做一件很多人已经做过的事很令人激动,所以我总是试着去想一些我能探索的其他问题或者我能有新发现的领域。如今在拥有 Wolfram 语言的现代,做前人未曾做过的事情已变得超级简单。但不是所有孩子都有像我这样有积极性。

对于大多数人来说,自己研发创造而不是重复前人的劳动成果总会得到额外的满足感。 从实践层面来说,Wolfram 云端(Wolfram Cloud)更便于人们分享自己的创作成果,比如说有人做了一个自己的动态网页或者 APP,他可以直接将之展示给他的班级、朋友,或是全世界看。

 3、多领域探索

那孩子可以在哪些领域进行探索呢?答案是:任何领域! 即使是在一个像数学一样技术性的、高度发达的领域,依旧有无数数学实验可以去做、去探索。通常需要人们去处理准确数据的科学领域可能会有一定的障碍。当然 Wolfram 语言本身已含有很多数据,获取数据十分简单。

那人文领域呢?我们同样需要数据。而 Wolfram 语言内已包括很多相关数据(名家作品图片,名著文本,历史国家信息等)。当今世界,在网络上搜集数据然后将其导入 Wolfram 语言十分容易。尽管有时候会涉及到一些数据管理,不过在当今就算寻找几世纪前模糊的文件等资料也出奇地简单。

 4、基于项目学习

计算思维很适合于基于项目的学习。 每年的暑期计划中,我都会想到上百种适合孩子进行的项目。而且只要借助一点外力,孩子们便会有更多想法。在暑期计划中,已经有孩子能自己完成项目了,而且他们也能合作完成这些计划。

我们会为项目设置特定的目标:做一个演示,或一款网页 APP,或写一段描述,然后可能会将之发布在 Wolfram 社区。

当然,即使是曾经做过的项目,再做一次也会依旧有所不同。因为编写代码是一个创造性过程,不同人写出的代码不尽相同。如果项目中有一部分是可视化的或是用户界面,那每一个人都会以其创新的方式完成这些。

所有这些创造性的事物都是有益的,但是实际上很多教育不得不采取生产线般的模式,大量学生在某种程度上做同样的事情。但即使受到这样的约束,计算思维和编写 Wolfram 语言依旧能产生益处。

数学有一个简便的特点,那就是当人们做练习的时候,他们得到的是一个确定的、易于检查的答案。 而当人们写论文的时候,这些文章必须要真人去阅读(论文的目的是与人交流)。

当一个人在写一段代码时,他正在进行一项与写论文一样的创造性活动。但他写的东西是用来和电脑交流的,所以让电脑对其阅读并分析非常合情合理。尽管如此,我们依旧很难借此确认学生并非只是将最终答案置入他们写的代码里,而且代码的确能够表达出一种计算思想。虽然这需要高科技,但通过使用 Wolfram 语言的标志性特性,外加一些自动化定理证明和机器学习,实际上是可以被很好地实现出来的。

从某一层面上,我们可以从学生写的最后一段代码看出他做了些什么。即使有无数种不同的可行程序,我们依旧可以判断出哪些是正确的、高效的、优美的代码。不同于数学需要学生在草稿纸上来进行思考,编程的每一步都是在电脑上进行的,每一次敲击键盘都可以被捕捉到。

我是一个个人数据分析的狂热爱好者,有时会对编写或调试程序的过程做分析。对于教育来说蕴藏着巨大的机会,首先它可以提供详尽的教育分析法(在这一点上 Wolfram 语言和 Wolfram Cloud 可以成为其完美搭档),其次它可以适应每位学生的实际表现和学习过程方面产生深远影响。

 5、个性化教学

最后我们希望能实现针对每一个学生的一个准确的计算模式。配上 Wolfram 语言中现有的机器学习技术,我们正慢慢地实现这一点要素。有了这一模式之后,我们可能会去实际运行很多模拟场景,看看如果学生被要求去做一些事会发生些什么,尝试在任何时候都能决定出对他们而言最合理的阐释及练习。

对于基础数学这类领域,这种个性化服务能够借助简单的启发法得以轻松实现。但若针对的是编程或机器思维,问题就会复杂一点。但是通过良好的计算思维和系统内的复杂计算,我相信个性化也能有优异表现。

 6、勤学苦练

人们总疑惑于该分析什么才能检验一个人是否真的理解了某一事物。通过一个优秀的、针对每位学生的计算模式,我们对此会得到一个很复杂的答案。但在一些领域中,我们依旧要出很多种练习和测试给学生们去做。

最基础的练习(我写的《浅论》里满是这种练习)就是“写一串代码来实现某事”,但是也有其他的练习,如“简化这段代码”或“找到使这个函数不成立的值”。当然,也有类似于“这串代码能干什么”的练习。从某些方面来看这种练习有些蠢:毕竟只要运行这串代码就能知道答案。

现在我不得不说“像电脑一样思考”对人还是有好处的,特别是在理解计算和其运作过程时。但是这不值得经常做。我认为关键在于教育人们自己应该做些什么。目前我们有科技和自动化,而且这些会随着时间越来越多,因此人们去做电脑的工作是没有意义的, 我们需要知道的是如何尽可能地把电脑当做一种工具和搭档,做只有我们人类才能做的事情。

我曾经听说有人教孩子如何不用计算器进行计算,以防“万一我们在一座没有计算器的荒岛上”。现在我依旧听说有人在教孩子手算。但是,如果你在一座没有电脑的荒岛上,那你编程干什么呢?当然,当编程变得普及开时,情况可能会有所不同,因为在孤岛上的人可能要通过编写代码来解读自己。

所以到底什么才是应该被教授的?计算思维与思维相关。它是通过一种有结构的方式去构建想法,从而高效地和电脑进行沟通,接着实现一些有趣的事情。

但我们需要知道一些事实和理念。一些是关于抽象的计算过程,另外一些是关于世间事物是如何系统化的。 类似于“颜色是如何表达的”“地球上的点如何被详细说明的”“不同的人类语言的字形是如何被表现出来的”等等。几年前我们曾制作过一幅关于“数据系统化表现的历史”的海报。那幅海报的内容便足以开设一门有趣的课程。

 7、万事皆可转化为计算思维

如果有人对表现事物的方法和计算过程都略知一二,那他会学出些什么结果呢?根本目标就是要找到某一他想知道或是想做的东西,并将其转化成计算形式。

一般情况下都是“发明一个算法”,或者是“创造一个试探程序”。怎样有效比较罗马帝国的崛起和蒙古人的扩张?计算的正确方法是什么?正确演示方法又是什么?如何知道月亮两极附近是否有更多的火山坑?怎样从图片中有效识别出火山坑?

这类问题才是基本所有“计算 X”领域的发展核心。只有擅长处理这些问题的人才会成为这些领域的高手。在我们公司,“发明一个算法或者一个探试程序”是我们几乎每天都要解决的问题,这些也是这些年建设 Wolfram 语言和 Wolfram | Alpha 时被放入的很大一块组成部分。

一旦发明出算法或探试程序,接下来只需要电脑去执行。但是发明通常是去理解“什么需要以计算的方式被清晰结构化地组织起来”的首要一步。通过努力,我们可以创造出尽可能抽象的无实体练习。但是更常见且更有用的是拥有和外部世界相联系的问题。

类似于:对于一堆(x,y)应当采取何种有效算法决定其应当以分离的点来表示还是以一条连贯的线来表示”这样的问题完全取决于一个人的世界观。 从教育的角度来说,计算思维问题的好处在于它们多数情况下都不可避免地需要其他领域知识的应用。这也就迫使我们去形成一种广泛而综合的思维方式以及运用常识的习惯, 这对于人们要做的许多事情来说都意义非凡。

— 未完待续 —

 ▍下期预告  ▍

如何引导孩子用 Wolfram 语言对感兴趣的事情进行探索?
如何对孩子的学习过程进行评估?

 

如果你想知道更多如何入门 Wolfram 语言

大爆炸正在不断推出有关 Wolfram 的教学视频哦!

让我们先睹为快!

 

 

John 老师的 Wolfram Book 公开课

有毒的公开课

开光的公开课

更多 Wolfram Book 公开课视频将陆续推出

尽请关注

“创客大爆炸公开课”官方主页

http://www.makercollider.com/course 

让我们一起

好好学习

天天向上

为了让你的 Wolfram 学习之旅不再孤单

欢迎加入 Wolfram 学习小组微信群

和我们一起分享交流 Wolfram 语言 的学习感悟

一起徜徉在 Mathematica 的美妙世界

目前学习小组的人数已达到上限

想要加入的小伙伴请添加 Jane 为好友

我们将把你手动拖入学习小组微信群!

点此可以看到
How to Teach Computational Thinking  | 原文

 

发布者:Cara,转载请注明出处:http://www.makercollider.com/post/776

发表评论

登录后才能评论
QR code