张建生 张小红
【摘 要】通过这种启发式教学方式,最大限度地诱导学生对编程语言的认知建构以及达到灵活运用,帮助学生本质地理解编程,培养延展思维精神和发现创造能力,把握住了程序设计思想的灵魂,学生就可以深入到算法设计的核心。
【关键词】增减变异;步步扩展;模式
How to use heuristic education in programming language
Zhang jiansheng Zhang xiaohong
Jiangxi University of Engineering, Xinyu 338029 China
【Abstract】Through this heuristic education, we can fully lead the students to recognize the programming language so as to use neatly and help the students to understand programming basically and cultivate their creative ability. If the soul of program design is grasped, the students will be deep into the core of algorithm design.
【Key words】 Increase or decrease the variation Step growth Model
引言
在多年的高职院校教学实践中,针对学生文化基础普遍偏低的特点,笔者探索出以下几种方法,可以最大限度地诱发学生的创新思维,现以可视化VB编程语言为蓝本,结合具体例子加以印证。
1.增减变异法
概述:引导学生增减源程序代码或调换代码句的次序,使之产生不同的结果。这种方法比较适合于初学编程的学生。初学编程时,学生对某一程序设计的思路往往是比较清晰的,但是编写程序代码时就会感到茫然,即使在教师的指导下完成代码的编写,对程序代码的函数使用、语法结构和代码的次序等也是知其然而不知其所以然。在教学中,我们让学生对源程序代码进行增减,对代码的次序进行变换,使学生悟出怎样编写代码才能达到程序设计目标 的道理,诱发学生的创新思维。例如,在讲授一个“二维圆孔色彩动画”的程序设计之后,我们让学生增减代码和变换代码的次序,结果有三种类型的结果较有新意:
教师讲授例
Private sub command1_click()
Dim i as integer
For G=0 to 255
For i =200 to 1300
Circle(1400,1400),i, RGB(0,G,0)
Next
Next
End sub
Private sub command2_click()
Unload me
Private sub command1_click()
Dim i as integer
For G= 0 to 255
For i=200 to 1300 step 50
Circle(1400,1400),i,RGB(0,G,0)
Next
Next
End sub
Private sub command2_click()
Unload me
End sub
2.步步扩展法
概述:以某一讲授内容为中心,运用旧知识使所讲授的内容逐步延伸。这种方法可是使学生在获取新知识的同时,一方面巩固已学过的知识,另一方面培养广阔性的思维,诱发创新思维。从人的思维品质诸多因素来看,广阔性是一个重要的因素,广阔性的程度越高,发散思维频率就越高,发散思维频率越高,创新性思维的成分就越大。
例如,讲授“Timer控件”的使用,我们不是简单地讲格式时间的呈现,而是运用其他的控件、图片和文字等一步一步拓展,引导学生设计一个主要由“Timer控件”主导的文字动态的程序。
程序如下:
Private sub check1_click()
‘设置label1背景为透明
Label1.backstyle=0
‘设置Label1为无边框格式
Label1.borderstyle=0
If check1=1 then form1.width=8000: label1.width=6000
Label1.height=1000:label1.left=1000:label1.top=1100
Label1.caption=”知识就是力量”:label1.font=”黑体”
Label1.fontsize=30
Label1.forecolor=Qbcolor(15)
Label1.visible=true:check2=0
If check1=0 then form1.width=4000
Label1.visible=false :check2=0
End sub
Private sub check2_click()
Dim i, j as integer
If check2=1 then label1.top=1
For i=10 to 110
For j=1 to 120
se=1:label1.top=format(se,”00”)
if check2=0 then Timer1.Enabled=false
Next
Next
End sub
Private sub Timer1_Timer()
Static se as integer
Timer1.interval=1000
End sub
3.總结
学生的延展性思维强度往往大于成年人,但是学生的思维扩展性又往往是非取向的、跳跃式的,这又会在一定程度上影响思维的质量,特别是影响创新思维的发展。究其原因,一是与知识、生活经验的积累有关;二是与运用知识的能力有关;三是与思维的密度和思维的系统性有关。我们的教学就是要针对这些原因有的放矢,使学生的创新思维得以不断发展。
基金项目:本文系2019年江西省高等学校教学改革研究课题: 基于学习通平台的“线上+线下”混合式教学应用研究-以C语言为例(立项编号:JXJG-19-28-4 ); 江西省高校人文社会科学研究2019年度项目基于学习通平台的”翻转课堂”教学模式研究-以Java课程为例(立项编号:JY19113 )阶段性研究成果。
作者简介: 张建生(1973~ ),男,江西峡江人,副教授,软件工程硕士,研究方向:计算机编程。
张小红(1974~),男,江西新余人,副教授,研究方面:计算机软件。