潜在影响:中等
时间跨度:中期(2-5年)
谈及计算,我们学习它的原则和语言时,还培养了问题解决能力。这些合在一起,就被称为计算思维。这些技能及与之有关的概念、实践和视角的价值,已经获得广泛认可。
有些国家正在将计算思维列入学校重点科目名单中。在英国,国家教学课程大纲(National Curriculum)指出,儿童应该接受高质量的计算教育,以培养他们具备计算思维和创造力,以便理解与改变世界。在教育之外,很多大公司如谷歌、微软研究院都将计算思维视为软件工程师必备的基本问题解决能力和技术。
计算思维使用同样的步骤来解决各种各样的问题。
1、分解——将大问题分解成若干小问题;
2、模式识别——识别出这些小问题与已解决问题之间的关联;
3、抽象——辨别并搁置不重要的细节;
4、算法设计——辨别和精炼达成解决方案的必需步骤;
5、调试——精炼那些步骤。
“计算”并不意味着要将人们教育成缺乏想象力的机器那样进行思考,并只有当输入一系列指令时才会解决问题。计算思维是一种当人们尝试去解决问题时所采用的一种思考方法。该方法设定一系列清晰的步骤,但是分解和操纵这些步骤是人类创造性的活动。
尽管这种思维方法是在计算机程序和电脑科学背景下产生的,但其应用范围越来越广。计算思维提供了一种形成问题及解决问题的方式。它让人们能够自信地处理错综复杂、开放式的问题。当开发计算机应用程序时,人们很有必要具备这种思维,但是在其他学科中也有其重要价值。
在课堂中,计算思维能与基于问题的学习相结合。这种教学法是回应专业实践的需求而形成的,确保学生不仅仅能够通过考试,而且也能将所学概念运用到实践中。
为了让基于问题的学习发挥作用,教师需要确保学生熟悉相关技能和概念,学生在运用问题解决策略时能够得到指导。这可能涉及到:
1、检查案例并澄清术语;
2、识别问题;
3、分析问题;
4、拟定一个解释性模型;
5、确立学习目标;
6、独立工作收集附加信息;
7、应用并讨论附加信息。
例如,医学专业学生查看某位病人的一系列信息。他们在弄清楚细节之后,列出关键症状及可能病因,指出哪些地方可能会出现误诊。为了弄清楚诊断是否正确,他们需要确定还需要查明什么,之后进行一系列检查,然后使用一些附加数据做出确切诊断。
这是课堂问题解决教学的系统化方法。该方法聚焦于单一问题,同时包括学习目标。它从小组合作转移到个体研究上,最后再回到班级。尽管个人工作量大,但实质上它是有时限的方法。在现实世界中,此过程会进一步延伸,因为方案测试和完善需要经历很长时间。
计算思维不同于基于问题的学习,因为计算思维源自一个急需解决的实际问题,而不是完成预先准备好的练习。它将一个初始问题分解成多个小问题,然后将这些问题与以往已解决的问题联系起来。它假定解决方案将被不断测试和精炼,直至成为一个可接受的方案。因此,在实践中计算思维比基于问题的学习方法更有用,但它可能不太适合解决人文和社会问题,因为这些问题不易拆解成子问题。
在计算背景下,学会解决问题与技能发展有关。研究者对孩子们如何参与Scratch编程环境展开调查,他们证实技能、技能转变与计算机思维相关:
1、实验与迭代——开发某个程序,反复尝试,然后开发出更多程序。
2、测试与调试——工作时发现和解决问题。
3、重用与演绎——建立在已有项目或者想法上。
4、抽象和模块化——探索整体与部分之间的关联。
5、表达——认识到以这种方式工作是一个创造性活动。
6、连接——认识到与他人一起创造和为别人创造的力量。
7、质疑——认为有权提出与世界有关的问题。
这些发现都强调计算思维更像是解决问题的一套步骤。它不仅仅是一种思维方式,也是一种工作和处理问题的方式。
图1 捉迷藏游戏中部分Scratch代码
(Screen captured from scratch.mit.edu /projects/10128368/#editor)
学习计算远远要超过学习代码。通过从具体实例中定义模式和归纳,计算思维能够帮助学习者发展自身抽象能力。计算思维引入多种信息处理方式和信息呈现方式。它要求学习者系统地识别并删除错误。可能也是最重要的一点是,它提供一种分解问题的方式,并努力在生活的每个领域中解决它们。
资源:
1) The importance of computational thinking and how it can be in corporated with in the curriculum for children aged 5–11:Berry, M. (2013). Computing in the National Curriculum: a guide for primary teachers. Bedford,UK:Computing at School, www.computingatschool.org.uk/data/uploads /CASPrimaryComputing.pdf
2) Computational Thinking: Teacher Resources from The International Society for Technology Education (ISTE) and the Computer ScienceTeachers Association (CSTA): www.csta.acm.org/Curriculum/sub/CurrFiles/472.11CTTeacherResources_2ed-SP-vF.pdf
3) Google for Educators offers a curated collection of resources related to computational thinking: www.google.com/edu/resources/programs/exploringcomputational-thinking/index.html#!resources
4) What is Computational Thinking? A framework developed by Harvard, based on studies context of the Scratch programming environment: www.scratched.gse.harvard.edu/ct/defining .
5) Scratch programming environment for children: www.scratch.mit.edu
6) A framework that includes lesson planning, classroom techniques and assessment Curzon, P., Dorling, M., Ng, T., Selby, C.,Woollard, J.(2014). Developing computational thinking in the classroom: a framework.
7) Computing at School, www.community.computingatschool.org.uk/files/3517/original.pdf
8) A detailed review of publications on computational thinking: Grover, S., & Pea, R. (2013). Computational thinking in K–12: a reviewof the state of Educational Researcher, 42(1), 38-43.