1 引言
    高职院校的计算机软件专业一般都开设了大量的程序设计类课程,从基础的C/C++、Java等语言类课程到可视化开发的Delphi、VB、JBuilder等开发工具类课程。学生对这些课程的学习存在的最大问题在于难以深入。这些课程本身区别于那些传统的知识型课程,而是蕴含着很多创造性的思维过程。所以这一类课程的教学也不能和知识型课程一样,必须另辟蹊径。笔者本学期担任《Delphi程序设计》和《Delphi应用开发》两门开发工具类课程的教学,在教学过程中积累了一些心得。

2 创造技法的理论
    所谓创造技法,就是人们根据创造性思维发展规律总结出来的创造发明的一些原理、技巧和方法。在实践中总结出这些创造技法还可以以在其他创造过程中加以借鉴使用,能提高人们的创造力和创造成果的实现率。自1938 年美国的A. F. 奥斯本创立头脑风暴法至今,已经有大约300 多种创造技法被公布于众。这些颇有成效的方法在经济、技术、生产领域的影响远远大于学术领域。
按照认知心理学的观点,知识分为陈述性知识和程序性知识,前者是关于事实的知识,后者是关于方法的知识。这两种知识学习的策略也是不同的,前者应该是接受性学习,而后者则应该创造性学习。接受性学习与传统的“知识传授”的教学模式是相吻合的。如果知识的全部内涵可以通过语言,依据逻辑进行传授的话,那么接受性学习当然是获取知识的合适的途径。然而,“知识传授”只能传授知识的部分内涵,因而接受性学习所习得的实际上也只是知识的部分内涵。对于程序设计类课程而言,程序设计语言的语法以及组件的属性、方法和实践甚至基本的程序设计技巧和方法都属于可以采用接受性学习方式的陈述性知识。而程序设计是一项典型的创造性活动,其主要的知识内涵是如何在现有的知识和方法论的基础上设计出不存在的知识作品(程序)。这就需要创造性的学习。
    所谓创造性学习并不是与接受性学习绝对对立的,它必须以接受性学习为基础和前提。创造性学习的主要特征就是以领会知识的全部内涵为目的,运用逻辑和非落辑思维,通过再创造的方式进行,将知识的学习过程变为知识的创造过程。

3 创造性技法的应用
    笔者在教学过程中,对于陈述性的知识,如语法、组件属性、组件事件的用法等采用的是一般的传授性学习的教学方法。传授性学习有一个特点就是易学也易望,解决这个问题的方法就是重复:重复地传授和重复地练习。但作为课堂教学环节来说,不可能也不允许一味地重复讲授。所以笔者将这些陈述性的知识用一个综合的简单程序实例来诠释,并且将这个实例程序的编制过程录制为屏幕录像形式的动画,在动画中用注解的方式将教师的讲解溶入其中,程序设计中的注意事项,要掌握的组件属性、方法和事件以及其中蕴含的编程技巧、程序的扩展思路和思考问题都在动画中得以体现。教师上课时可以播放动画并作针对性讲解,可以完全避免这类课程教学时教师边操作、边讲解的手足无措的现象。更重要的是,学生上课时如果没有听懂,可以下载动画课件在课后反复观看,如同老师在课堂上的讲解重现。这样就将课堂教学有效地延伸到了课堂之外,使得教师的知识传授和学生的接受性学习可以达到高效而持续的教学目的。笔者的演示课件一般是课堂主要实例的编制全过程录像加上文字解说,采用屏幕录像软件Adobe公司的RoboDemo制作。RoboDemo和一般屏幕录像软件的最大区别是给制作者更大的灵活性,可以全程录制也可以手动选择需要的画面帧,录制以后可以方便地剪辑、添加帧以及加入丰富多彩的注解形式,并且可以后期加入配音。更重要的是RoboDemo可以生成Flash格式的动画,使得课件尺寸大大减小,一般一个10分钟的屏幕录像课件不到一兆字节。而其他基于AVI格式的屏幕录像软件制作出来的演示文件动辄几十兆甚至一百多兆字节。
    学生仅仅掌握陈属性知识是远远不够的,还必须通过创造性的学习掌握程序性的知识。对于程序设计类课程而言,这些程序性的知识就是在反复的编程练习中形成完整的编程思想,进而解决教材中没有涉及到的问题。
    笔者在教学实践中采用了创造技法理论中的程控法教学。所谓程控法就是控制学生的思维方向,让思维按着严格的程序或步骤去解决课题。这类技法的最主要特点是:学生可以避免大量的无效的思维过程,而去快速逼近答案。因此,程控法是一种行之有效的教学方法体系。但需要说明的是,程控法是一种解决教学中问题的程序,它并不能代替具体的思考。同时,在执行程序的过程中,还可以对程序进行改造,以适应其它各类创造。程控法有着坚实的实践和理论基础。在具体的课堂实施中,笔者在陈述性知识教学的基础上,提出问题并且给出解决问题的思路,而具体的解决问题的过程留给学生去完成,教师在其中的作用就是正确的引导和纠正学生思维过程中的偏差。实践表明,学生在程控技法引导下解决问题的思维过程中可以迸发出巨大的创造潜能。
原武汉大学校长、著名教育学家刘道玉教授提出了大学实施创造教育的一种模式,称作“SSR模式”。第一个S是英文词组“Study independendy”的缩写,可译为自学或独立的学习,是由学习者自己完成学习的一种方式。第二个S是英文单字Seminar的缩写,指大学生在指导下进行课堂讨论的一种形式,有时也指讨论式的课程。R是Research的缩写,意思是研究、探索。它是由字冠Re和词根search组成的,因此也可译为再寻找、再探索。
    笔者在教学过程中探索性地运用“SSR模式”并且取得一定的阶段性的教学成果。对于软件专业的学生而言,自学是获得知识的最主要途径,它的重要性甚至超过课堂学习。笔者指导学生自学主要采用的是教师网站和自己创立的程序设计论坛。教学网站上包括教材全部的知识点和实例的讲解、源代码以及习题,学生完全可以通过这个网站完成初步自学的过程,这样就大大减轻了课堂教学的压力;程序设计论坛的作用更为明显,可以培养学生自己发现问题和解决问题的能力。学生在自学课程内容的同时可以利用论坛提出问题和浏览问题,学得比较好的同学可以经常为别的同学解答问题,教师每天定时将论坛上的问题解答、总结和归纳,并将其作为课程下一单元教学的一部分。另外通过趣味性和思想性很强的课后作业可以督促学生充分地利用图书馆、互联网等途径去学习教材中所没有的知识点、方法和技巧,最大限度地培养学生的学习能力。
课堂讨论式教学中,笔者采用的是一种“程序接力”的教学方式,将一个程序实例分为若干个有序而独立的子问题让学生自己思考,解决了一个子问题的同学可以上讲台演示和讲解,然后在此基础上进入下一个子问题,直至问题全部解决,完整的可运行的程序也就呈现出来。最后,教师对整个过程进行点评。在此过程中,每一个解决问题的学生必须根据上一个学生的思路来进行,也可以修正上一个同学的不合理的编码,台下的同学可以自由参与讨论或借鉴别人的经验,最终目的是每个学生完成一个完整的程序作品。
    再探索过程是通过课后作业环节来实现的。作业的题材包含教材知识点且高于知识点,作业要求也是分层次的。在作业和预习过程中遇到问题可以上教学论坛讨论,这样学习气氛一点点地就培养出来了。这些层次都是循序渐进、环环相扣的,既体现了程序设计的趣味性又将面向对象的编程思想融入到作业中,更重要的是学生从这些作业的创造性编程过程中体会到编程的乐趣和成就感,加深了他们对于程序设计的热爱,提高了他们的创新思维能力。在笔者的教学实施过程中,课后作业这一环节是非常重要的,它是培养学生学习能力和解决问题能力最主要的教学环节。

4 教师的创造性
    美国心理学家托兰斯研究发现,教师的创造性与学生的创造力之间存在一种正相关。有些教师在创造性动机及智力好奇心的测验中成绩在中等以上,他们的学生的创造性能力在三个月中亦有显著提高;而那些成绩在中等以下的教师,其学生便没有进步。这反映了教师的创造性对学生创造力的发展的影响。
教师对学生的信任、鼓励和爱护,可激发学生的思维,活跃学生讨论的气氛,给学生一种敢于表现、勇于创新的机会。良好的教育态度是教师的美德,也是培养学生创造力的有利保证之一。教师的人格特质对学生创造力的发展具有较大的影响作用,教师良好的人格特质是学生模仿和学习的榜样,教师的勤学好问、积极进取精神都能促进学生创造力的发展,是培养学生创造力不可缺少的因素。
    教师的智能结构包括知识结构和能力结构两方面。创造型教师的知识结构是一种三维立体结构模式,它由知识的广度、深度和获取知识的方法三个维度变量组成。知识的广度意味着创造型教师要具备广博的科学基础知识,特别是新兴的或边缘学科知识,能从多角度对自己的专业知识进行审视分析、类比演绎,并且能在多学科交叉的“无人区”发现新问题,开拓新领域。知识的深度意味着创造型教师要具备精深的专业知识,对本专业的新动向和新成果有清晰的了解,并对本专业的课题有一定深度的见解,引导学生进行科学研究与发明创造。获取知识的方法意味着教师不仅教给学生固定的知识,而且主要的是要教会学生获得知识的方法。这在现代科技知识日新月异的社会里,尤其显得重要。创造型教师就应当具备科学的方法论知识,让学生更快更有效地学习。
笔者在所担任课程教学的同时,不断加强学习,涉猎软件专业从软件工程、人工智能、数据挖掘到各种程序设计语言等各个领域,有效拓宽了自己的知识面和研究创造能力,形成扎实的技术功底,在课堂面对学生时才能自信而游刃有余,也才有能力带领学生进入深入的创造性学习的思维中。同时在自己的学习过程中尝试运用创造技法,使创造技法在课堂的实践可以循着一条可行的思路,做到有据可依。

5 青年教师的指导
    课程建设中一个重要的环节就是指导青年教师,使整体课程体系的教学有共同、实质性的提高。笔者近两年在指导青年教师的过程中取得了一定的成效。其实说起来很简单,还是将接受性学习和创造性学习加以区别对待。新教师最大的问题就是照本宣科,简单盲从教材而缺乏创造性,也就是传统的传授知识型的教学方式。笔者的指导方式有以下三个方面:(1)指出教学中存在的实质问题,将自己的教案、课件作为参考,从简单模仿开始;(2)将创造性的学习方式和教学方式转换为可以操作的课堂模式供新教师采用,进而形成自己的教学风格;(3)提高新教师的技术功底和实力,在课下除了教材知识之外,提出创造性的问题先和新老师展开探讨,使教师先熟悉和习惯这种思维模式,然后再进入课堂环节;(4)通过不断地交流和学习,提高教师自身素养。

6 结论
    知识是教师教学和学生学习的共同载体,将知识划分为陈述性知识和程序性知识而采取不同的学习和教学方法,是创造技法在大学教育中的重要应用原则。接受性学习和创造性学习各自适用于不同的知识内涵,而创造性学习和教师的创造能力是教学中培养学生创新能力的重要因素。

参考文献:
[1]李小平.创造技法的理论和应用[M].湖北:湖北教育出版社,2000
[2]刘道玉.关于大学创造教育模式的构建[J]. 新华文摘,2001;3
[3]李兴洲.非教学因素与学生创造力的培养[J].山东教育学院学报,2000,1

转载于:https://www.cnblogs.com/jplee/archive/2006/10/12/527291.html

程序设计类课程教学中创造技法的探索相关推荐

  1. 基于计算思维的python程序设计王彬丽期末考试题库_基于计算思维的程序设计类课程教学实践...

    基于计算思维的程序设计类课程教学实践 滕剑锋 王玉锋 王 猛 刘二林 [摘 要] 摘 要 很多专业开设了程序设计类课程.如何在该课程教学中培养学 生的创新能力是大家普遍考虑的问题.计算思维的提出对于解 ...

  2. 讲解c程序设计语言的比喻,《C语言程序设计》论文关于比喻在《C语言程序设计》课程教学中的应用论文范文参考资料...

    <C语言程序设计>课程教学中有关比喻的<C语言程序设计>论文范文参考资料 比喻的用法是将本质上相似的两个事物联系起来,通过熟悉的事物接近事物,实现让学习者更好地熟悉新事物的目的 ...

  3. c语言在中职的作用,微课在中职《C语言程序设计》课程教学中的应用探讨

    李晶 [摘 要]现代社会经济的高速发展对我国教育事业提出了更高的要求.在中职学校开展C语言程序设计教学活动时,有效应用微课能够进一步提升课堂教学效果,使学生更深入地理解相关知识.要通过建设课程体系.优 ...

  4. 湖南大学CG题库-(程序设计类课程教学辅助系统作业)【《HNU官方题解全集》】[绝密]—2021-2025

    前言:如果你是HUNER,你可以用它来作为你的程序设计作业参考,加以学习,相信这档[官方题解]必能让你的编程学习轻松很多:对非HUNER的朋友,也可以用它作为参考,作为拓展,作为自我提高. 说明: 此 ...

  5. 计算机 游戏化 论文,计算机程序设计类课程游戏化探究

    摘要:围绕教育信息化应用背景,在分析目前计算机程序设计类课程教学满意度现状的基础上,探究计算机程序设计类课程游戏化教学的影响因素.经调查分析得出,大部分学生都有学计算机程序设计类课程的经历和玩电脑游戏 ...

  6. 谈一下对c语言程序设计,谈《C语言程序设计》课程教学.doc

    谈<C语言程序设计>课程教学.doc 谈<C语言程序设计>课程教学 摘要:C语言作为入门级的编程语言,已经被越来越多的学生所重视,然而在当前的<C语言程序设计>课程 ...

  7. 数学模型转化为计算机语言,程序设计语言类课程教学选题方法探讨

    <程序设计语言类课程教学选题方法探讨>由会员分享,可在线阅读,更多相关<程序设计语言类课程教学选题方法探讨(6页珍藏版)>请在人人文库网上搜索. 1.程序设计语言类课程教学选题 ...

  8. java毕业设计程序设计类课程的课堂教学效果评价系统Mybatis+系统+数据库+调试部署

    java毕业设计程序设计类课程的课堂教学效果评价系统Mybatis+系统+数据库+调试部署 java毕业设计程序设计类课程的课堂教学效果评价系统Mybatis+系统+数据库+调试部署 本源码技术栈: ...

  9. 单片机c语言程序设计中可以不分大小写,论单片机课程教学中C语言编程的规范性...

    摘 要 文章针对"单片机C语言程序设计"教学中存在的编程困扰,提出在教学实践中重视引导学生进行模块化.规范性程序设计,强调规范化编程对学生理解程序的结构与功能的重要作用,并贯穿于课 ...

最新文章

  1. FCKeditor 在ASP.Net 中的使用说明
  2. 转://Oracle 复合压缩索引场景及性能对比
  3. 2020年市场最缺什么_2020年聚合氯化铝市场评述
  4. 【开发者成长】Vue.js 中有哪些性能陷阱
  5. DRBD 管理、故障处理部分
  6. Audio播放流程(三)---NuPlayer流程之setAudioStreamType以及prepare
  7. Android动画之补间动画详解
  8. pyhive 安装sasl
  9. 电磁仿真原理——1.0 电磁仿真原理简介
  10. Java方法的重载和重写
  11. 加性高斯白噪声 AWGN
  12. 前端轮播插件banner
  13. 前端性能优化 七个方面
  14. HNUCM-XP的点滴(水题)
  15. html 点击展开显示全部,多行溢出省略号显示及点击展开(css/js)实现!
  16. SQLServer As
  17. hanLP探索-语义距离计算的实现
  18. 仿百度搜索框自动下拉提示
  19. 淘宝天猫阿里巴巴京东速卖通亚马逊等电商平台API接口
  20. GEC210 烧写裸机程序到SD卡、flash

热门文章

  1. Spring Security源码分析十三:Spring Security 基于表达式的权限控制
  2. 浅析pinyin4j源码 简单利用pinyin4j对中文字符进行自然排序(转)
  3. HTML5基础01-网页的构造块
  4. 1000亿个整数,请找出其中最大的100个
  5. Oracle下绝对文件号和相对文件号区别
  6. 调试H3C MSR 20-20 PPPOE拨号
  7. 弹性分组环(RPR)技术特点及其在城域网中的应用
  8. sl中几个简单变量的获取
  9. windows server 2008虚拟化技术一览
  10. 双11大考 POLARDB分钟级弹性让企业轻松扩展