欢迎来到天天文库
浏览记录
ID:31499812
大小:114.50 KB
页数:11页
时间:2019-01-12
《基于计算思维的小学程序设计教学研究与实践》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于计算思维的小学程序设计教学研究与实践 【摘要】计算思维起源于计算科学,程序设计是理解计算思维的最佳途径。基于计算思维的小学程序设计教学,从学科思维层面重新建构了以Scratch和Logo为基础,以机器人和FreeBASIC为拓展的小学程序设计课程体系,归纳和优选了关注点分离、计算参与、案例教学、模式建构等系列化的程序设计教学策略与方法,希望学生能够像计算机科学家一样去思考和解决问题,提高发现和解决问题的能力。 【关键词】计算思维;程序设计;教学研究;教学实践 【中图分类号】G434【文献标识码】B
2、 【论文编号】1671-7384(2016)12-0039-04 研究缘起 长期以来,我国的中小学程序设计教学更多定位于程序设计语言的学习,学生无法形成计算科学特有的理解问题和分析问题的思维方式,存在问题如下。 1.乏味的形式化教材体系,泯灭了学习的兴趣 计算机诞生于西方,因此程序设计语言都明显带有西方文化的演绎思维特征,如使用巴科斯范式或语法图等形式化的方式描述语法规则,并影响到了教材的编写。这种抽象的向学生灌输程序设计语言语法知识的教材编写方式,脱离了具体的生活情境,忽视了学生自身的学习特点,容易
3、使他们丧失学习的兴趣。[1]11 2.单一的演绎式教学策略,消磨了学习的能力 受教材的影响,无论是BASIC,还是Logo,中小学程序设计教学都是采用讲授式的教学方式,教师“灌”,学生“听”,学生只能处于被动接受的状态,几乎没有动手实践的机会,课堂上大多数时间都掌控在教师的手中。这种演绎式教学策略,让学生能够在较短的时间内掌握所学的知识,却不能使学生掌握获取知识的方法,以及进一步学习的能力。 3.文本的专业化编程环境,阻碍了学习的进程 程序设计离不开编程环境的支持,然而,各种专业的编程环境,包括面向儿
4、童的编程语言Logo,都是基于文本和符号的编程方式,学生必须自己输入指令,各种各样的语法错误往往导致学生寸步难行,大大延长了程序设计学习的时间,影响了程序设计能力的提高。 思想的源泉 近年来,从学科思维层面构建课程结构和内容逐渐成为人们的共识[2]。这里所说的思维,是指科学思维,主要分为逻辑思维、实证思维和计算思维三类[3]。计算思维起源于计算科学,2006年,卡内基?梅隆大学周以真教授在计算机科学协会(ACM)年会报告中,首次明确提出计算思维的概念:“计算思维是运用计算机科学的基础概念去求解问题、设计系
5、统和理解人类的行为。它包括了涵盖计算机科学之广度的一系列思维活动。”她认为:“计算思维就是通过约简、嵌入、转化和仿真等方法,把一个看起来困难的问题重新阐释成一个我们知道怎样解决的问题。”[4]11 计算思维不是今天才有的,只是计算机出现后,计算思维才逐渐被认识和强化。当前,计算思维已经超越了传统的计算机环境,适用于信息技术渗透的每一个角落,但是程序设计仍然是理解计算思维的最佳途径。在设计问题求解方法时,会用到递推法、迭代法、递归法等;用计算机语言描述求解过程时,会涉及顺序、分支和循环三种基本结构;考虑如何响
6、应和处理各种意外情况时,就要用到冗余、容错、纠错的方法;在维护和修正程序的过程中,要用到测试和调试的技术。这些技术都是计算思维中的核心概念[5]。 实践的历程 1.建设程序设计教学课程资源 现有的程序设计书籍都是基于演绎思维编写的,更多适用于成人学习。从2008年起,我们着手编写适合青少年需要的《程序设计应用》校本教材,努力使其成为小学生爱看、好读、易懂的程序设计书籍。主要从以下几个方面进行了尝试。 一是从教学出发选择工具,突破复杂编程环境的壁垒。从计算思维的角度看,程序设计语言是描述问题的工具,在设
7、计程序之前,首先要选好工具。通过多年的探索与实践,我们认为BASIC语言仍然是适合小学生学习的程序设计语言。FreeBASIC(简称FB)既保持了BASIC语言简单易学的传统,也提供了程序设计开发工具所应具备的输入、编辑和调试功能,菜单简洁、清晰,可以较好地突破复杂编程环境造成的学习壁垒。11 二是将演绎与归纳相结合,促进知识的主动建构。人类的思维方式一般有两种:归纳与演绎。归纳是指从各种特殊事例中抽象概括出一般规律;而演绎则是从一般原理出发,通过推导得出个别结论。演绎法是西方文化的内涵,而归纳法反映了东方
8、文化的内涵。受西方演绎思维框架的影响,目前的程序设计教材都是直接从语句的基本格式出发,展开到各个局部细节知识。这对一直接受东方文化熏陶的中国学生来说,理解上有一定的困难。为此,我们从两个方面采取措施,融合两种文化差异所带来的问题:一是用自然语言的体系结构类比程序设计语言的体系结构,首先让学生从整体上把握程序设计语言的结构,并由此过渡到具体内容的学习[6];二是对于基本语句,先通过一个学生学习和生活中
此文档下载收益归作者所有