教师不会用计算机,为什么芬兰教师教编程不用电脑?只因他们这么看编程

2023-11-10 01:50

本文主要是介绍教师不会用计算机,为什么芬兰教师教编程不用电脑?只因他们这么看编程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原标题:为什么芬兰教师教编程不用电脑?只因他们这么看编程

看点人工智能时代的到来,让编程成为必学的技术之一。但是枯燥代码排列如何能让孩子们理解并能运用呢?芬兰教师的做法带给我们极大的启示:编程不仅仅是一门技术,更重要是它是一种思维方式。从思维方式的角度切入,编程还可以游戏化,真正做到寓教于乐。

文丨李璨 屠莉娅编辑丨黄晔

教室里,老师正领着学生们做“西蒙说”游戏——

老师与学生们面对面站立,每个学生都全神贯注地等待着老师的指令。

“西蒙说,7 !”听到指令后,学生们迅速地坐到了地上。

“西蒙说,12 !”接到下一条指令后,学生们又立刻将手放到了头上。

根据教师的规定,当“西蒙说”后面的数字为奇数时,学生要立刻坐在地上;当“西蒙说”后面的数字为偶数且该数字大于10 时,学生则要将手放在头上;如果两者都不符合,学生则保持原状不动。

如果哪个学生听到指令后做了错误动作,他就要出局。随着教师的语速越来越快,出局的学生越来越多,坚持到最后的一到两名学生将赢得这场游戏。

看到这里,你可能在想,这大概是一节教学生判断奇偶数的数学课。但事实上,这却是芬兰的一节教学生体会“IF 语句”的计算机编程课。

这只是芬兰编程课的一个片段,让我们来看看芬兰思维下的编程课是如何进行的!

从技术到思想

芬兰思维下的电脑编程课程

eab712a7cf1aaa6f596a05c63bfd4876.png

电脑编程在信息化的今天已经成为学校课程中不可或缺的部分,而将技术教育作为国家目标之一的芬兰,更是高度重视对学生的编程教育。

大部分人常识中的编程课依旧是一门传统的计算机技术课程,学生要通过编程课程了解程序设计的基本概念,掌握程序设计中的基本技巧和常用算法,建立起程序设计的基本思路,以最终通过计算机程序设计语言来控制计算机完成某种特定的任务。但对走在教育改革和创新前沿的芬兰来说,编程课程要达到的教学效果远不止这些。

关注学生的可持续性发展和重视学校学习联系生活实际是芬兰教学最显著的两个特点。芬兰相信,学习的目的除了掌握知识本身,更要让学生能够主动地思考和灵活地运用知识以解决更多实际的问题和更好地应对未来多变的生活。受这样的教育理念的影响,芬兰认为编程课程要做的绝不仅仅是对学生的技术训练,学校更应该关注如何让学生理解和掌握编程背后的思想。

fe98921afb0bb79f1e9b10fb5b22611a.png

因为如果将编程学习仅当做一门技术来学习,那学生最终获得的就将是使用计算机的能力;但如果将编程学习看做是计算机编程思想的学习,那学生所获得的就将是计算机编程的本质原理和可迁移的思维方式,而这种思维方式也将能够被用来开展更多的研究和解决生活中更为复杂的问题。

例如,计算机编程的过程实际是通过抽象和分解来完成复杂任务的过程,传统的以技术学习为目标的编程课更关注的可能是具体的语句编写、程序调试和最终的运行结果。

但如果将编程看做是一种思想来学习,那除了基本的程序设计,教学还应该关注编程过程中给学生带来的思维方式的启示。如何将复杂而庞大的问题系统分解为一个个具体的问题单元,如何用合适的方式来阐释和归纳同类型的问题,如何选择恰当的方法对问题进行转换以使其更易处理等,都是编程课应当关注的内容。

如此一来,学生除了学习到了具体的编程技术,更培养了化整为零的思维习惯。这种习惯一旦养成,受益的将不仅仅是编程学习,其能够为学生生活的各个方面带来积极的影响。因此,芬兰希望学校的编程教育要能够做到:教授相关编程知识的同时,有意识地对编程思想进行解释,构建其与学生生活之间的各种联系,让学生体验到科技与生活是息息相关的,实现用编程和代码来激发学生各方面的学习兴趣。

创想无极限

没有电脑的编程课

一提到学习编程,多数人脑中出现的画面一定是学生一边听老师的讲解,一边敲击键盘进行练习的画面。但学习编程真的要用到电脑吗?我们不妨先看看芬兰的教师们是如何做的。

85bd9d312d623b02c107efb71f38d62e.png

案例一:人体B-Box

这是一节学习循环结构的编程课。循环结构是对某一算法的重复执行,其大大减少了相同语句重复书写的工作量,是最能发挥计算机设计特长的程序结构之一。很多看似复杂的程序设计,实则都是由一个个循环运行的循环体构成的。

就如同现实生活中很多看似复杂的大工程,其实也都是由各个小工作任务按照不同的方式循环而成的,B-Box 音乐就是一个典型的例子。

B-Box 是口技的一种形式,人们利用唇、齿、舌等不同的部位模仿出不同乐器的声音,再按照一定规律对不同的声音元素进行重复和叠加以汇编成一段富有节奏感的音乐。得益于B-Box 和循环结构所体现出的相似的工作原理,教师设计了这样一个人体B-Box游戏来帮助学生更好地领会循环思想——

如下图所示,教师先对学生进行分组,每组学生负责演奏一种声音,如第一组学生负责拍手,第二组学生负责用嘴发出“哔哔”声,第三组同学负责用嘴发出“嘣嘣”声等。而后为每组学生设计一个演奏图式,并给出图式的循环次数和开始下一个动作循环的指令。

bd148b344e87287210ec3ebd93b2e9c5.png

根据上图的要求,整个演奏从负责拍手的小组开始,并在拍手小组完成一个循环体后,负责发出“哔哔”声的第二小组加入进来;第二小组完成一个循环体后,负责发出“嘣嘣”声的第三小组再加入进来,从而实现不同声音的叠加和重复,形成了一段完整的B-Box 音乐。

在熟悉了游戏规则后,学生可以自己添加其他的平行循环或嵌套循环,或是改变各组的演奏图式和循环方式,创作出自己喜欢的音乐。

案例二:机器人操场

“IF 语句”是计算机编程中最常用的判断语句之一,其要按照给定的判断要求,根据判断结果的真假来执行对应的操作步骤。“IF 语句”对学生的逻辑思维能力提出了较高的要求,如何用简洁明了的判断条件及其对应的操作步骤来代替重复而烦琐的单个执行语句是学生在学习“IF 语句”的过程中要重点掌握的内容。

在这节课的教学过程中,芬兰教师带领学生做了个名为“机器人操场”的游戏——

教师将学生分为两组,一组学生扮演机器人,另一组学生扮演机器人的操控者,帮助机器人越过各个障碍物。

首先,教师带领学生来到空旷的操场,并让学生共同完成对障碍训练场的布置。他们可以利用如下图所示的直观的引导符号,也可以利用学校里的桌椅板凳等设施来布置供“机器人”穿越的障碍训练场。各个障碍物布置好以后,学生分成两组,一组学生扮演机器人,一组学生扮演机器人的操控者。其中扮演机器人的学生要将眼睛蒙起来,这样他们就真的像机器人一样——缺乏操控者的指令就无法行动。

f9e47758de3f6bbc4ab14bcb8dce36cc.png

“机器人操场”引导符号

与一般的游戏不同,该游戏中教师要求学生用简短的“IF 语句”来代替繁杂而重复的独立语句。例如,一般情况下操控者可能会对机器人说:“先前走两步,而后从板凳上爬过去,再前走三步,接着从桌子下面钻过去。”但在这个游戏里,教师要求学生用这样的“IF 语句”向机器人发出指令:“接下来你要面对六个障碍物,在碰到下一个障碍物之前你先保持直走,如果那个障碍物很高,你就从它下面钻过去;如果比较矮,你就从它上面爬过去。”

在这两个教学案例中,学生所看到的、学到的不仅仅是“Do…”或“IF…Else…”等直白的计算机语句和编程技术,他们更理解了如何在解决具体问题的过程中使用循环思想和条件判断来对问题进行加工和处理。

第一个案例中,学生最后要共同创作出一段B-Box 音乐。一段音乐里有不用的乐器和音节的排列组合和重复,看似是个十分复杂的工程。但通过最开始教师指导下的“循环程序”的演示,学生知道再复杂的任务也是由一个个部分组成。要形成完整的音乐,就要先找到音乐里所包含的各个元素和片段,而后对这些小的部分进行重复和循环设计,便能形成最后的完整的乐章。

第二个案例中,学生被要求用尽量简短的“IF 语句”来发号施令,这使得学生不仅仅学到了“IF 语句”的一般用法,更从走一步、看一步、做一步的短视性思维转换为从整体出发的全局性思考,无形中锻炼了学生的逻辑思维能力。

13e2e48584f439580959112ec96dabbf.png

值得一提的是,芬兰教师并不反对在编程教学中使用计算机。在学生掌握了编程背后的思想之后,芬兰教师也会让学生在电脑上进行相关程序的编写练习。他们只是强调,不要让计算机限制了编程学习的范围。除了常规的编程技术的学习,编程过程中所体现出的各种思维方式和解决问题的方法也是教学过程中应当关注的内容。

“学编程真的要用到电脑吗?”到这里,这个问题的答案已经显而易见了:

如果将计算机编程看做是门单独的技能学科,那么计算机编程当然得有电脑才能学习。如果认为学习计算机编程更为重要的是理解其背后的概念,理解计算机与生活的关系,理解计算机与人的思维方式的区别,那么就要先在生活中理解和体会计算的本质,然后再去用像计算机这样的工具来实现计算目标,这样才算是达到了学习目标。

打破课程的窠臼

发现学习的乐趣

659260e3a9950af86b720634cd5bf858.png

75154d0ccbf659a68bf020306582f794.png

芬兰的教学注重创新、注重学生兴趣

与传统的计算机编程课相比,这种没有电脑的编程课因不受授课形式的约束而大大增添了学生学习的趣味性。游戏化课程是芬兰编程课的最常见形式,在游戏的过程中,学生全身心投入。一个个精心设计的与学习目标相关的游戏任务,除了让学生在轻松的氛围中自然而然地学习和体会到编程背后的本质思想之外,还充分调动起了学生的脑力、创造力和动手能力。这种寓教于乐的教学方式,在增强学生的学习参与度的同时,让学生收获了愉快的学习体验,从而让学生更加积极地投入到学习过程中来。

除了增强课程本身的趣味性外,让学生发现学习与其自身的联系和意义,也是帮助学生发现学习乐趣、提高学习积极性的重要方式。曾在美国波士顿公立学校工作过的亚冉• 明茨在哈佛大学教育研究生院攻读博士学位时,对美国26 个州共110 所中学的81,499 名学生进行了调查,她发现,大约三分之二的在校学生有厌学的情绪。

0a6d640712842070f8f367d3eebb3a42.png

为什么会这样呢?最主要的原因是学习材料枯燥无味,缺乏针对性,挑战性也不强。有的学生说:“学校学习很乏味,大家昏昏欲睡,一点都提不起劲来。”更有60% 的学生说:“我不知道课堂上学习这些东西有什么用。”

同样地,如果只将编程作为一门技术来学习,多数在校学生,尤其是低年级的学生,仍然难以理解学习编程于其自身的意义所在。这时学习就会变成一种机械的、被动的行为,一旦脱离了学校的环境和教师的指导,学生将不再想要学习,甚至对学习感到无从下手。这种学习与芬兰所追求的可持续性的学习显然是相悖的。

因此,芬兰的编程课程关注程序背后的原理,将编程学习与学生的实际生活联系起来。原本孤立而深奥的编程语句,因为一个个与学生相关并让学生真实参与进来的活动而变得亲切又充满生气。此时的编程课程或许依旧神秘,但是对学生而言它已经充满吸引力,因为学生开始理解编程背后的原理和依据了,学习编程已经变成一项有趣而有意义的事情。

正如最初开发Linux 系统的芬兰人林纳斯• 托瓦兹所说:“程序就像是一种魔法,由你来开发程序以告诉计算机要做什么。如果你要理解的是编程的本质,那学校的编程教育就将会是一件有趣的事,而不再是一件因为大家都要学所以我也必须要学的事情。”

本文转载自公众号 第一教育(ID:diyijiaoyu)

限额120人

Python编程冬令营—进阶课程开启!

从面向对象的编程技能

到编写图形用户界面

再到做出具有动画效果的APP

做出人工智能的小项目

Python编程进阶课

由佩恩教授带你走进

专业性与实用性兼备的Python应用世界

责任编辑:

这篇关于教师不会用计算机,为什么芬兰教师教编程不用电脑?只因他们这么看编程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/379723

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

Go Playground 在线编程环境

For all examples in this and the next chapter, we will use Go Playground. Go Playground represents a web service that can run programs written in Go. It can be opened in a web browser using the follow

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

函数式编程思想

我们经常会用到各种各样的编程思想,例如面向过程、面向对象。不过笔者在该博客简单介绍一下函数式编程思想. 如果对函数式编程思想进行概括,就是f(x) = na(x) , y=uf(x)…至于其他的编程思想,可能是y=a(x)+b(x)+c(x)…,也有可能是y=f(x)=f(x)/a + f(x)/b+f(x)/c… 面向过程的指令式编程 面向过程,简单理解就是y=a(x)+b(x)+c(x)

Java并发编程之——BlockingQueue(队列)

一、什么是BlockingQueue BlockingQueue即阻塞队列,从阻塞这个词可以看出,在某些情况下对阻塞队列的访问可能会造成阻塞。被阻塞的情况主要有如下两种: 1. 当队列满了的时候进行入队列操作2. 当队列空了的时候进行出队列操作123 因此,当一个线程试图对一个已经满了的队列进行入队列操作时,它将会被阻塞,除非有另一个线程做了出队列操作;同样,当一个线程试图对一个空