于 宁, 崔武子, 蔡 春, 戴 红
(1. 北京联合大学 应用文理学院, 北京 100191;2. 北京联合大学 电子信息技术实验实训基地, 北京 100101)
突出计算思维训练的VB程序设计实验教学
于宁1, 崔武子2, 蔡春1, 戴红1
(1. 北京联合大学 应用文理学院, 北京100191;2. 北京联合大学 电子信息技术实验实训基地, 北京100101)
针对当前高等院校将“计算思维能力的培养”作为计算机基础教育核心任务的定位,率先在北京联合大学VB程序设计课程进行改革,提出以实例导入、经典算法为基础,以上机训练、贯穿实例为提高,以综合设计、学科竞赛为应用的三位一体教学设计,并加以实践。
计算思维; VB程序设计; 实验教学
回顾历史,早在1981年,前苏联计算机教育学家叶尔肖夫就曾预言“人类必将会生活在一种程序设计的世界里。在这个世界里,人类文化与程序设计不仅并行存在,而且会互相联系,融合为一种全新的人类思想”[1]。事实上,当今的数字化、计算化、程序化的现实世界不仅诠释了叶尔肖夫的预言,也远远超越了程序设计的文化理念,以“数据抽象和自动化处理”为代表的计算方式已经渗透到人们生活与学习的方方面面,计算思维成为每个社会成员处理信息问题的重要思考方式[2]。在这种形势下,对高校计算机教育提出了新的要求,即计算机基础教学的内容不能仅仅着眼于软件工具的使用,而应有相对稳定的、体现计算机学科思想和方法的核心内容,同时需要更加突出学生的思维方式、思想方法、价值取向以及做人、做事、与人合作共处能力的培养,以提升学生多元能力——问题求解能力、实际应用能力、自我学习能力、沟通表达能力及团队合作能力。程序设计是公认的、最能直接有效地训练学生的思维能力、实践能力的课程之一。即便一个最简单的程序,从问题分析、确定方法、界面设计、编写代码到调试运行,整个过程都需要学生有条理地完成,这中间有问题分析、判断、推理的抽象思维和逻辑思维训练,也有设计、表达、操作等实践能力的培养。
VB程序设计课程是针对我校非计算机专业理科及部分文科专业开设的程序设计必修课程,也是高校计算机基础教育的核心课程之一。其教学目的,一方面使学生利用先进的开发环境,学会可视化程序设计工具的使用,能够设计简单实用的程序;另一方面对学生逻辑思维方法的训练、耐心细致的学习态度和严谨求实的科学作风的培养,提高学生的计算机素质,为今后工作打下有利基础[3]。针对培养目标,分析课程现状,我们认为现有教学模式,特别是实验环节存在着一些需要迫切解决的问题。
(1) 重视语法语句的讲授,忽视问题求解过程的引导和分析。现有的程序设计教学模式是将理论教学、实验环节分开进行的,教学过程比较重视语法语句的讲解,但忽视问题求解过程的引导和分析,在实验环节这个问题就突显出来了。面对要解决的问题和任务,学生不会分析,无从下手,不敢接受挑战,产生各种焦虑、畏难情绪,由此丧失学习的信心和兴趣。
(2) 实验设计没有为学生预留思考空间。实验设计为学生提供了详细、全面的上机实验过程。从题目、目标、步骤到程序代码,学生只要输入正确后程序就能正常运行,留给学生自己思考问题的空间不够,不能培养学生分析问题、发现问题及解决问题的能力。在实际编程中,可能遇到各种错误,每个问题求解可能有多种方法,也有最佳求解方案。但由于学生大多是机械地接受、记忆知识,思考问题不够,思维受限,出现问题时,不能很好地解决。
(3) 实验题目设计不够合理。实验题目实用性、趣味性不高,过于碎片化,缺少系统性和完整性。
美国教育家杜威认为,人类在日常生活中遇到困难或问题时,便开始运用自己的思想,设法解决这些困难或问题,这就是思想的起点。所谓奇异、惊奇、好奇、怀疑等,都是构成问题的要素,而这些要素就是引起学习活动的主要原动力[4]。鲁宾斯坦认为,正是问题性产生了人类的思维,当人们提出并解决生活中遇到的各种问题时,思维便悄然运行了。思维是从认识问题中获得自己的本源的[5]。
“计算思维”强调的是求解问题的“思维”方法,是在问题求解方法学的层面上培养学生解决问题的意识、思想、方法、能力等。对学生来说,并不是教学内容的难度加大了,反而是降低了,因为思想、方法比理论更容易理解[6]。按照建构主义的学习理论,作为学习主体的学生是在与创设符合教学内容要求的情境交互过程中构建自己的知识结构的。
基于现代学习理论和教育思想,根据我校课程培养目标、学生专业特点和认知能力,打破原有先讲授理论、后上机实验的传统教学方式,提出将教学内容全部放到实验教学中,以实例导入、经典算法为基础,以上机训练、贯穿实例为提高,以综合设计、学科竞赛为应用的三位一体教学设计。
2.1将抽象的知识组织成一个个相应实例
凝练VB程序设计中基本概念、基础知识和科学方法,重构教学内容,将VB所有教学内容组织成相应实例、上机实验素材,在讲授与阐明例题的过程中带出知识点,使学生通过一个个实例掌握基本概念、语法和编程技能,构建基于问题求解的教学方法。
将语法介绍和控件使用融为一体,克服了语法知识的枯燥性,分散了难点,使学生在学习有趣的例题中学习语法、了解对象的使用方法[7],如表1所示。
表1 部分章例题知识要点
将知识组织与技能训练结构化呈现给学生后,教学过程与方法要体系化。从教学层面来说,对于算法分析、程序设计概念等重要而又难以理解的内容,采用案例分析方法,按照问题引入、验证实现、排除错误、思考总结4个步骤引导学生理解问题需求、将问题变成计算机所能接受的表示方法,运用抽象、概括、分类、比较等思维活动,找出解决问题的方法及最有效的方案。对于趣味性、实用性较强的实例,采用任务驱动方法,引导学生去思考,尝试发现问题并设法求解。每当完成一个任务,要归纳总结,再一次强化教学活动的成果,将问题求解过程推广或移植到更广泛的问题中,促使学生把学会的东西内化成为自己的知识与信息素养[8]。最终借助计算思维去解决工作、学习和生活中的各种问题。教与学过程如图1所示。
图1 教与学基本过程
2.2强化上机训练,增设具有连续拓展性的贯穿实例
对程序设计而言,编程能力是计算思维和技能化知识的综合体现;只记住若干语句而不会解决实际问题,不能说具备了编程能力[9]。为此,每章提供上机训练环节,每道训练题给出题目、目标、编程点拨、主要步骤、拓展功能等要求。题目的设计主要考虑知识运用的综合性、实用性和适当的趣味性,尽可能让学生全身心参与到学习中。训练重点放在解题思路上,故增设了编程点拨,帮助学生读懂题目、找到问题、构思算法步骤等。针对每道题目,不直接将完整的程序呈现给学生,而是通过编程点拨、启发学生,给学生预留一些思考的空间后,让学生带着各自的理解和问题完成程序设计,同时鼓励学生从教材或互联网上获取更多求解问题的方法。
表2 部分章上机训练题目
在上机训练中,帮助学生分析问题与排除错误是一个重要环节,首先要让学生明白程序设计出错是正常的,要正确对待,不怕出错,其次要帮助学生学会如何调试程序,并对运行结果做正确与否的分析。VB程序设计中主要有系统能够自动检查语句的语法格式错误(如输入非法字符)、运行错误(如引用不存在的对象)以及系统不能自动检查的逻辑错误(如不符合自己设想的要求,没有实现预定的处理功能)。排除错误的方法主要是隔断错误,一个个过程、一个个模块进行排查,然后检查各个模块之间的关系。学生在经过多次训练后,增强了自己解决问题的信心和能力。
为保证程序设计的系统性、完整性,增设具有连续拓展性的贯穿实例“小型书店图书管理系统”(见图2),按章对系统提出要求,并随着各章的学习由浅入深、逐步完善,最终实现具有较强实用性的图书管理系统[7]3。贯穿实例由教师指导,学生在课后逐步完成。通过对贯穿实例的学习,学生不仅巩固了本章所学内容,而且训练了综合设计能力,培养严谨的设计思维。
图2 图书管理系统初始界面
2.3应用综合设计、学科竞赛全面提升学生综合素质
教学设计的前2个环节重点是引导学生在解题编程的实践中探索其中带规律性的认识,最终将感性认识升华到理性的高度。在教学的中后期,布置综合设计作品,要求2~3名学生为一小组,可自拟题目或选择教师指定的题目,开发具有一定实用性的应用程序。从选题、功能设计到代码编写,全部由学生课后自主或合作完成,从而进一步使学生全面综合运用所学知识,达到理论与实践互相渗透、有机结合的目的。
学校每年举办北京联合大学程序设计竞赛、北京联合大学计算机应用大赛等竞赛,为学生提供一个全面展示计算机综合应用能力的平台,同时也发挥优秀学生的带动作用和示范作用。在课程综合设计基础上,任课教师积极引导并组织有能力、感兴趣、愿投入的学生参加这些竞赛。在参赛作品的选题上,如何将先进的计算机技术与各专业有机结合,体现出作品设计的实用价值是设计之初要解决的重要问题。“文物中的鸟”“人文北京之北京传统饮食文化信息查询系统”“历代帝王墓葬发掘史展示系统”等都是学生结合专业特点开发出来的新颖独特、美观实用、信息丰富的优秀作品。从班级选拔到校级参加现场答辩,参赛学生感受颇多,一致表示,竞赛不仅亲身实践了课堂所学、课堂外拓展的知识,提高了动手能力,同时也锻炼了自我学习与协作学习、沟通表达的能力。在完成作品的过程中,通过小组成员间的互帮互助、查找相关资料、探索学习、克服困难,最终设计出较为理想的系统。现场答辩的形式也锻炼了学生的应变能力,培养了团队合作精神。
以综合设计、学科竞赛为应用的教学设计发挥了学生的主观能动性和学习积极性,解决现实生活和学习中的各方面问题,全面提升了学生综合素质。
计算机教育就其本质而言,它不是简单的知识教育、工具或技术教育,而是一种思维教育、能力教育。计算机教育,就是要使学生学会通过计算机原理和操作方法去处理知识、运用信息,得到思维的果实[10]。思维训练离不开亲身经历与体验,这也是VB程序设计课程改革之初以实验教学为突破口的原因之一。
重构VB教学内容,以实例导学、突出思维训练的实验教学开展后,教与学越来越顺畅了,学生学习积极性、主动性提高了。按照计算机基础教育改革的指导思想:坚持面向应用,切实提高学生应用能力,同时在教学中融入计算思维,注意培养学生科学思维能力[11]。课程的最终目的是使学生更深入地认识计算机知识背后的思维训练,从而学会应用计算机技术去解决问题的思路和方法,而在应用计算机过程中不断理解计算思维,逐步训练,从而使学生具备科学思维的能力,提高分析问题与解决问题的能力。
References)
[1] 王吉庆.信息素养论[M].上海:上海教育出版社,2000:118.
[2] 李峰,王吉庆.计算思维:信息技术课程的一种内在价值[J].中国电化教育,2013(8):19-23.
[3] 中国高等院校计算机基础教育改革课题研究组.中国高等院校计算机基础教育课程体系 2008[M].北京:清华大学出版社,2008.
[4] 激活思维,快乐学习[EB/OL].[2015-02-01] .http://www.doc88.com/p-9761827508974.html.
[5] 高文.教学模式论[M].上海:上海教育出版社,2002:494.
[6] 唐培和,徐奕奕,李威龙,等.关于计算思维教学改革面临的思考[J].工业和信息化教育,2013(6):82-86.
[7] 崔武子,齐华山,于宁,等.界面设计与Visual Basic[M].3版.北京:清华大学出版社,2014.
[8] 王吉庆,黄钢.信息技术课程与教学论[M].杭州:浙江教育出版社,2003:198.
[9] 吴文虎.我怎么讲好“程序设计基础”这门课[J].中国大学教学,2011(12):10-12.
[10] 李雁翎,李鹏谊.知识的内化:计算思维的培养与数据库教学[J].中国大学教学,2013(7):33-35.
[11] 谭浩强. 研究计算思维,坚持面向应用[J].计算机教育,2012(21):45-49.
Experimental teaching for VB Programming based on computational thinking training
Yu Ning1, Cui Wuzi2, Cai Chun1, Dai Hong1
(1. College of Arts and Science,Beijing Union University,Beijing 100191,China; 2. Electronic Information Technology Experiment and Practice Training Base, Beijing Union University,Beijing 100101,China)
The development of computational thinking ability is currently the key task of computer basic education in colleges and universities. In Beijing Union University, the VB Programming course were designed and practiced, based on instances teaching and classical algorithm,assisted with laboratory training,comprehensive design and competitions.
computational thinking; VB programming; experimental teaching
10.16791/j.cnki.sjg.2016.09.048
2016-03-10修改日期:2016-05-17
北京市属高等学校高层次人才引进与培养计划项目(CIT&TCD201404080)
于宁(1965—),女,北京,硕士,副教授,研究方向为计算机教育及应用.
E-mail:yuning@buu.edu.cn
G642.0
B
1002-4956(2016)9-0182-04