基于计算思维的“Access程序设计”教学研究

发布时间:2022-03-20 10:38:34   来源:作文大全    点击:   
字号:

摘要:计算思维能力是大学信息素养教育的需要,在程序设计课程的教学过程中,贯穿了计算思维能力的培养。结合教学经验,分析了“Access程序设计”课程的特点,提出了如何在教学过程中培养大学生的计算思维能力,并给出了具体实施方案

关键词:计算思维;逆向教学;实例库

作者简介:楚艳萍(1971-),女,河南叶县人,河南大学软件学院,副教授;何欣(1974-),男,河南开封人,河南大学软件学院,副教授。(河南 开封 475004)

基金项目:本文系河南省基础前沿项目(项目编号:132300410149)、河南大学第12批校级教学改革项目(项目批准号:校发[2012]237号)的研究成果。

中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2013)23-0078-02

一、计算思维的内涵

周以真教授于2006年提出了计算思维的概念,她认为计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类行为,涵盖了计算机科学的一系列思维活动。[1]计算思维是一种本质的、所有人都必须具备的思维方式,就像阅读、写字、算术计算一样,是人们最基础、最普遍、最适用和不可缺少的基础思维方式。在给出计算思维定义的同时,周教授还对计算思维进行了更为细致的阐述:计算思维是通过约简、嵌入、转化和仿真等方法,把一个困难的问题阐释为如何求解它的思维方法。计算思维是一种递归思维,采用并行处理,把代码译成数据又能把数据译成代码,是一种多维分析推广的类型检查方法。计算思维是一种采用抽象和分解的方法来控制庞杂的任务或进行巨型复杂系统的设计,是基于关注点分离的方法。计算思维是一种选择合适的方式陈述一个问题,或对一个问题的相关方面建模使其易于处理的思维方法。计算思维是按照预防、保护及通过冗余、容错、纠错的方式,并从最坏情况进行系统恢复的一种思维方法。计算思维是利用启发式推理寻求解答,即在不确定情况下的规划、学习和调度的思维方法。计算思维是利用海量数据来加快计算,在时间和空间之间、处理能力和存储容量之间进行折中的思维方法。[2]

西安交通大学冯博琴教授在《九校联盟计算机基础教学发展战略联合声明》一文中指出,[3]计算机基础教学是培养大学生综合素质和创新能力不可或缺的重要环节,是培养复合型创新人才的重要组成部分,应该彻底改变长期以来存在的“计算机只是工具”、“计算机就是程序设计”和“计算机基础课程主要是讲解软件工具的应用”等片面认识,把“计算思维能力的培养”作为计算机基础教育的核心任务,运用计算机科学的基础概念对问题进行求解、系统设计和行为理解,即建立计算思维。无论哪个学科,具有突出的计算思维能力都将成为新时期拔尖创新人才不可或缺的素质。

二、程序设计与计算思维

程序设计是训练大学生计算思维的最直接、最具操作性的平台。[4]对非计算机专业的学生来说,学习程序设计的目的不是成为程序员,而是通过编写程序,锻炼他们运用计算机分析问题和解决问题的能力,以及如何将抽象的问题转化为具体的、通过有限步骤在计算机上实现的能力,这是计算思维培养的重要内容。

反过来,计算思维能力的养成也会更进一步促进程序设计课程的学习。不仅如此,具备了运用计算思维进行思考的习惯,要比掌握一定的计算机技术强得多。学生在接受这种思维指导下的学习和训练后,可以学习计算机科学知识,也可以学习其他专业知识。只有坚持以培养学生的计算思维为核心,学生才会具有创新意识,增强他们在社会中的竞争力。

“Access程序设计”是一门应用性极强的课程,传统的教学体系以“知识点”为核心组织教学,采用“填鸭式”的教学模式,以集中授课为主,辅以实验、课程设计、毕业设计、实习等实践环节。学生上课无压力、教师教学无动力。虽然灌输给学生一大堆理论知识,但由于缺乏实践知识的支撑,最后难以充分发挥所学知识的价值。这种过分注重理论教学,缺乏创新能力的培养模式,已经不能适应程序设计课程的教学。另外,也会使学生感觉这门课程和自己后续本专业的课程学习没有关联,从而缺乏学习兴趣。

“Access程序设计”是非计算机专业的第一门程序设计课程,它包括七大模块:数据库、查询、窗体、报表、页、宏和模块。这些内容自成体系,很容易让学生觉得各部分内容联系不大,使得学生对课程学习的目的不明确;尤其是在模块部分,主要涉及的是程序,而程序设计中多包含以字母、符号、图形等形式呈现出来的抽象概念,使得学生在短时间内难以适应由大量抽象概念建立起来的理论体系,往往会觉得无所适从。

如何将计算思维融入程序设计的机教学之中,是需要研究的一个课题。一方面,程序设计课程可以为培养学生的计算思维能力提供一个很好的平台;另一方面,可以从计算思维层面梳理和组织程序设计的教学内容,从计算思维这个高度实施程序设计课程的教学。[5]

三、计算思维的教学模式

在“Access程序设计”课程中,可以采用计算思维的教学模式,具体实现方案如下。

1.逆向设计教材内容

以往的教学都是按部就班从第一章开始讲起,最后一章讲完才给学生布置要完成的综合练习作业,即设计一个完整的应用系统。这种方法有很多弊端,如学生上课没有主动性,对整个课程的实际应用没有充分的认识,只是一味地跟着教师听,完成教师布置的上机作业,没有自己的创新思维。另外,等到课程讲完,学期就快结束了,学生根本没有更多时间去思考自己的题目,更不用说完成了,而是敷衍了事,匆匆开始,匆匆结束,达不到所要求的教学效果。

逆向教学就是将以往的教学顺序反转一下,即在课程开始,可以就先讲两个应用系统实例,如设计一个教学管理系统(如表1所示)。[6]

首先向学生演示介绍系统的功能,然后介绍该系统按照设计要求可以分为多个不同的模块,即系统的组成,最后再简单介绍该系统是如何完成的,即设计步骤等,让学生站在课程的高度了解该课程的功能和实际应用,知道自己学这门课的目的是什么。然后再把要求学生设计的系统作业布置下去,这个大作业需要教师精心设计,可以按照不同的专业命题,也可以按照通常的应用出题,由学生自己挑选感兴趣的题目,让学生在学习的过程中思考并完成每一个模块。

这种教学模式的优点有三个。一是学习有目的,学生不再是被动地听,而是带着问题去听课,有了自己的思维,学生学习起来会更主动。二是通过系统开发,学生知道系统可以分为各级不同的模块,编写一个个功能单一的模块,从而组成一个完整的系统。认识到这点,由此可以推及到其他问题。在实际生活中,对比较大的问题,也可以像程序设计一样把大问题分成一个个细小的问题,然后再逐一解决,这正体现了计算思维的思想。通过这种方法不仅锻炼了学生分析问题、解决问题的能力,更使其思维能力得到进一步提高。三是时间充分,学生有更多的时间去思考并完成自己的任务,进而在完成的基础上还可以进一步美化,使其设计的系统功能更全、界面更加美观。

2.创建教学实例库

书中列出的实例是有限的,它只局限于一个方面。教师在上课过程中,如果可以根据不同专业从一个实例出发,举一反三推举出更多的实例,这将会对学生掌握该知识点有很大帮助,同时也拓展了学生的思路,使学生能在此基础上更有所创新。由此就需要教师做好充分的课前准备,通过相互讨论、查找资料、培训、听课等多种方式收集整理大量实例,创建为教学实例库。同一知识点的实例应该涵盖不同的专业领域,使学生认识到所学的知识还可以和自己的专业有联系,从而激发学生的学习兴趣,使得学习效果更佳。

3.提高实验教学效果

可以从两个方面提高实验教学效果。一是教师可以精心选择一些有趣味性的题目,[7]例如,学习了模块,可以让学生编程解决“百钱买百鸡”的问题,学习了窗体,可以让学生设计一个用于小学生进行数学加减法测试的题目。学生对题目感兴趣,就有动手实践的欲望,这样就可以很好地达到教学目的。更重要的是,通过上机实践,使学生掌握了如何将抽象的问题转化为能被计算机自动执行的程序,这也正体现了计算思维的本质即抽象与自动化。二是学生也可以自己设计题目,题目的设计不受任何局限,只要能够在计算机上实现都可以,对于比较典型的题目,教师可以在课堂上加以鼓励和表扬。这种方式可以激发学生的学习热情,从而更加主动、认真学习“Access程序设计”这门课。

4.完善考核机制

成绩的考核由两部分组成,一部分是平时成绩,由教师根据学生的平时表现进行评判,主要考查的是学生学习过程中所表现出来的对程序的理解能力及实现能力,这实际上也是在考查学生解决问题的能力。另一部分是期末考核,考查学生对课本知识的掌握程度。这种考核方式改变了传统的一卷定分数的现状,将学生的每一个学习环节纳入到最终的考核中去,使得最终的成绩更科学、更合理。

四、结束语

计算思维能力是新时代的要求,把这种能力的培养融入“Access程序设计”教学中,使学生能够在潜移默化中养成一种新的思维方式,为社会培养出复合型创新人才打下基础。

参考文献:

[1]Jeannette M Wing.Computational thinking[J].Communications of the ACM,2006,49(3).

[2]陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011,(1).

[3]冯博琴.九校联盟(C9)计算机基础教学发展战略联合声明[J].中国大学教学,2010,(9).

[4]臧劲松.培养学生计算思维的程序设计课程教学[J].计算机教育,2012,(2).

[5]常亮,徐周波,古天龙.离散数学教学中的计算思维培养[J].计算机教育,2011,(14).

[6]申石磊,季超,楚艳萍.Access程序设计[M].北京:中国科学技术出版社,2009.

[7]陈杰华.程序设计课程中强化计算思维训练的实践探索[J].计算机教育,2009,(20).

(责任编辑:刘辉)