有效设计中职生学习“程序”
2021-08-30宋庆军
宋庆军
摘要:数据库应用基础是一门综合应用类的科目,涉及程序编写的知识和技能。而在计算机应用专业的对口高考中,其所占分值是3门科目中最高的,加上往届学生对其学习难度的夸大渲染,学生容易产生畏难情绪,不利于教学活动的有效开展。为此笔者从“注重知识的积累”“促进专业的转化”“巩固教学的收获”几个层面谈如何克服这些难题,提高程序学习的效果,有效實现新时代职业教育的目标。
关键词:程序学习 注重积累 促进转化 巩固收获
近年来,对口本科扩招,应用型本科院校招生的职普比逐年提高,对中职生而言是一个新的机遇:提供更广阔的上升通道,增加更多深造的机会,为今后掌握更多的知识和技能提供了支持。这种利好的举措,也是对中职教育职能的有效提升和拓展。
计算机应用专业对口升学所学的专业课有3门:计算机基础、计算机原理、数据库应用基础(VFP)。比较这3门科目,从学习难度、对口高考所占分值来说,数据库应用基础都是首选,对学生而言应该是一门硬核科目。从学习难度来看,数据库应用基础是一门综合应用类的科目,学习的重点是通过结构化编程和面向对象编程进行数据处理,涉及程序编写的知识和技能,学生没有基础。从计算机应用专业的对口高考来讲,其所占分值是3门科目中最高的,理论200分占100分、技能250分占120分。再者,历届计算机专业的学生对学弟学妹不断夸大渲染,将VFP这个科目“神化”或“妖魔化”,人为地增加其神秘感,无形之中提高了它的学习难度。
笔者所学的专业是计算机科学与技术,从事数据库基础教学工作已有二十几年,就这门科目而言,有着丰富的知识沉淀和经验积累,现将教学过程中的点点滴滴分享出来与同行们共勉。
一、注重知识的积累
(一)贴近生活,解禁神秘
在我们生活中,有很多程序化的事情,在教学中要有目的地引导,让学生明白程序就在我们生活中,与我们生活息息相关。比如一年四季的变化,春季开始,冬季结束,完成年度更替;学生的课程表,每周执行一次,学年结束完成教学任务;上学无论是步行还是骑电车,或者乘公交车,方式不同,其目的都是来到学校;英语中的小作文,浏览一遍,你会发现,只是将汉语中的小作文用英语书写而已……这样的事例比比皆是,这就是生活中的程序。
数据库应用基础中的程序,是将完成的任务或操作,利用专业的结构化语句或命令,遵循程序规则,形成有序的集合。类似于英语中的小作文,只是将语言文字换成了计算机的专业命令而已。
(二)厘清思路,逐步过渡
在程序章节的教学中,前期讲解命令时,让学生仔细掌握每一个命令功能、达到的效果或完成的任务,多安排上机进行操作,留出充足时间让学生去体验、去领会,同步获得知识与技能。同时有目的地进行不同命令组合,强调不同的组合完成的任务是否相同或不同,有什么优劣。并且对有些组合可以多加强调,画成小方块,让学生感悟,一步一步引导学生进行程序化模块化思维,为程序教学做好前期知识储备。
在程序教学中,可以先安排2~3课时,编写汉字程序,让学生找感觉,整理思路,体验程序建构模型。比如找出XSCJ表中VFP成绩排前2名的学生:
●关闭人机对话,构建程序运行环境
●打开表文件XSCJ
●按VFP字段按降序排序或索引
●定位首记录
●显示姓名和VFP两个字段和2条记录
●关闭XSCJ
●打开人机对话方式,恢复原有系统状态。
多进行练习,让学生自己找出编程的一般结构,形成习惯性思维,并融入程序编写的规则和要求,对程序进行理解和感悟,激发学生自觉探讨、共同研讨,从而培养其学习兴趣。
二、促进专业的转化
(一)夯实基础,厘清结构
程序的前期学习应该说难度不大,顺序结构、选择结构贴近生活,学生易理解、编写程序得心应手,能够轻松掌握。这时在教学中引入流程图,让学生先画流程图,再写程序,让学生厘清程序逻辑结构、构建数据模型。同时有目的地逐步强化、逐步深入,将程序的基础思想“自上而下、模块化、逐步细化”渗透进学生的编程思维中,让学生明白程序整体结构如何构建、细节部分如何打磨。这样一来,进行循环结构教学时,学生就可以自然过渡,也不会感觉程序太难、找不到方向。
(二)注重结果,更注重过程
程序的运行和我们生活中处理问题,在时间上是不对等的。我们很难追溯程序执行的过程,得到的只是一个结果,所以我们必须准确知道程序执行的流程。只有注重过程、知道计算机运行程序的方式,才能更好地构建数据模型(构建的模型也不会是数学中的解题程式),准确编写计算机运行的程序。
用程序调试器检视程序执行可能存在的问题。将程序放到程序调试器内,逐步运行,中间变量实时反映程序运行结果,让我们跟进每一个命令、每一个步骤、每一个模块,观察与预设的结果是否匹配,从而找出程序中不和谐的因素、不吻合的模块。
理解了程序的运行过程,在检查编写的程序时,脱离计算机,在纸面上运行与调试,摆脱对计算机的依赖,让学生明白程序命令组合的因果关系、逻辑关系,从而更好地为结果服务,达到编程的目的。
(三)梳理思路,总结技巧
自上而下、逐步细化、模块化是编程的基本思想。对于编程,如果是一个小的问题,寻求的是一个简单的结果,可以利用前期命令教学中强调的小方块程序加上程序的开始和结束,按照程序的模块组合就可以了。但是难度系数比较大的问题不是一个小方块程序可以解决的,可能需要很好的小方块进行组合。
如何组织逻辑结构、语法结构,如何确定模块位置、模块的调用,如何发挥模块的功能等这些问题的处理类似于积木组合,不同的组合可以构建不同的建筑,程序的编写同样也有一定的技巧和组合规则。比如程序嵌套教学时,笔者先讲透基础知识,让学生掌握,然后程序中功能单一的小模块程序,代之以一句话或者一个图形,再让学生看程序的结构。学生不难发现其类似于前面学习的顺序结构,这样一来程序的逻辑结构就清楚了,学生就知道如何进行组合了。同时这也为后期的子程序、过程和自定义函数的教学打下了坚实的基础。