首页 > 范文大全 > 正文

非计算机专业程序设计课程中学生创新能力的培养

开篇:润墨网以专业的文秘视角,为您筛选了一篇非计算机专业程序设计课程中学生创新能力的培养范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:本文结合非计算机专业程序设计课程教学实践,讨论了现阶段非计算机专业中影响培养学生创新能力的制约因素,提出了从教学内容、课堂教学、实验教学和考核方式四个环节进行教学改革,帮助学生逐步形成自觉创新的习惯,进而具有创新意识、创新精神与创新能力。

关键词:程序设计;创新;能力培养

中图分类号:G642 文献标识码:B

创新是人的基本特征,人类就是在不断地“首创前所未有”的过程中发展起来的,积极主动的创新意识、创新精神和创新能力需要后天的教育培养和实践锻炼,实施素质教育要以“培养学生的创新精神和实践能力为重点”。作为现代信息技术主体的计算机的产生,本身就是创新的结果。计算机软硬件的发展日新月异,使得计算机教学没有固定的教学内容和教学模式,而程序设计作为一门开阔学生视野、提高数据访问能力的课程,要求学生必须具有极强的动手能力,因此面向非计算机专业的程序设计课程可以作为培养大学生创新能力的工具,帮助学生在学习的过程中独立提出新问题、新思路、新方法、新见解。

1学生创新能力培养的制约因素

1.1教学内容滞后

目前存在多种程序设计语言,并且不断有新的程序设计语言被设计出来,集成化的快速开发工具也层出不穷,而高校中非计算机专业主要采用C语言作为程序设计课程的学习语言。对于一些工科专业(比如自动化、通信),C语言的学习存在必要性,但对大多数无需底层程序设计的专业而言,C语言的教学只是进行程序设计理论的学习,而学生学习完成后,离解决实际问题还有较大的差距,教学过程过分集中于具体语法的掌握,让学生觉得非常枯燥,难以吸引学生的学习兴趣。计算机基础课程教学中的一些教师忽视了对新的程序设计语言、开发环境和编程思想的了解和掌握,导致教学内容多年不变。教师对教学内容本身不进行创新,何来引导学生进行创新?

1.2教学方式老套

目前,程序设计课程一般采用课堂教学和实验上机两个教学环节,课堂教学以教师讲授知识点为主,而实验课程是学生针对一些知识点进行上机验证,这种教学方式最后一般采用理论考试成绩作为最重要的考核方式,这种教学方式对动手能力强,具有创新精神,不肯死记硬背的学生是不公平的,不利于培养学生的创新精神。

1.3理论与实践脱节

高校程序设计课程重理论轻实践,即使安排了大量的实验课程,实验课程的内容也脱离现实。学生可以学好理论课,并具有一定的编写程序的能力,但是一遇到编写程序解决实际问题时就无从下手。为了改善这种局面,我们不仅要增加实验课程的学时,还要对现有的实验教学内容进行改革,从现实生活中抽取实例,让学生进行练习,在实践中培养学生的创新能力。

2培养创新能力的教学改革

针对上述制约因素,我们在实际教学过程中进行了四个方面的改革,以培养学生的创新能力。

2.1教学内容的改革

(1) 程序设计语言的选择

目前,我校理工专业学生均以C语言作为程序设计教学语言,虽然C语言本身具有很多的优点,但作为非计算机专业学生(如我校的管理、数学、物理、土木、建筑、化工专业的学生)的程序设计语言存在两点不足:(1)C语言开发的程序运行在DOS环境,运行结果界面单一,教学过分集中于具体语法的掌握,让学生觉得非常枯燥,难以吸引学生的学习兴趣;(2)非计算机专业学生学习程序设计语言是为了能够编写快速处理信息并将结果进行可视化展现,这些需要编写的程序都是Windows环境下的程序,而C语言的学习虽然掌握了程序设计的基本理论,但对面向实际应用的程序编写还有较大的差距,因此我们选择C#最为程序设计课程的教学语言。C#是Microsoft开发的最新的程序设计语言,支持面向对象的程序设计方法,有完善的集成开发环境,可以用来开发各种类型(窗体程序、Web程序、数据库程序、网络程序)、不同规模和复杂程度的应用程序。选择C#语言,学生不仅可以学习程序设计的理论,还可以快速开发面向应用的Windows程序,开发出有意义、容易吸引学生的应用程序,让学生觉得这是一门可以解决实际问题的课程,激发学生学习热情。

(2) 教学内容的分层

教学内容分为两个层次:基础知识和核心实例。基础知识的内容要求简洁,便于学生快速掌握,比如窗体中直线、圆的绘制,让学生实现核心实例时觉得基础知识点比较熟悉,以降低学生对核心实例陌生程度。核心实例程序是面向实际的应用程序,教师对任务进行分解,讲解如何逐步完成整个任务,让学生体会解决实际问题的具体过程。比如“五子棋”中棋谱和棋子的绘制,不仅需要分别使用绘制直线和绘制的基本知识,还需要窗体发生改变后重绘棋谱、通过鼠标单击的位置决定棋子绘制位置的知识。由于核心实例程序比较复杂,通过一次教学使学生掌握存在困难,因此教师需要制作详细的课件,将核心实例分解为子任务,指导学生一步步实现子任务的功能。

2.2教学方式的改革

教学实践中引入“任务驱动”模式,“任务驱动”是一种建立在建构主义教学理论基础上的教学法,让学生在一个典型任务的驱动下展开学习,引导学生由简到繁、由易到难、循序渐进地完成一系列任务,将教材中的零散实例汇聚为核心实例。比如将简单控件(按钮、文本框、标签框、单选按钮等)的使用汇聚到基于窗体的计算器的设计。教师对核心实例的子任务分解,对功能实现进行详细的讲解,并实际使用Visual Studio2005进行代码实现。通过核心实例的教学帮助学生提高分析问题、解决问题的能力。

核心实例的选择必须从对学生的吸引力和实现难度两个角度考虑。源于学生现实生活中的核心实例能够吸引学生兴趣,比如简单游戏、个人信息管理、网络访问等方面的小应用,而且也可以让学生看到自己学习的技能能干有意义的事情。吸引力强的核心实例能激发学生的挑战困难的决心和斗志,让学生真正做到主动学习。核心实例的难度是一个必须考虑现实的问题,难度过高会打击学习积极性,而难度过低对学生动手能力的提高意义不大。核心实例实现难度的设置分为基本要求和高级要求两个层次,对于编程能力不强的学生,要求实现基本要求,而对具有较强编程能力的学生,要求掌握高级要求,并进行相应的奖励。例如教学过程开始时,我们构建了一个大型的任务:联机对战五子棋。这样的任务对计算机专业学生难度较低,而对非计算机专业的学生还是有一定挑战性的,并且能够吸引教学班中大多数学生的兴趣。完成该任务涉及数组的使用、程序的控制结构、窗体和控件的使用、图形绘制、网络访问等多个方面的子任务,而每个子任务又是一个小的核心实例,实现这些小的核心实例都需要学习相应章节的知识并进行综合应用。

2.3实验教学的改革

课堂教学中,教师把各个知识点串起来,并通过核心实例的讲解提高学生解决问题的能力,但是程序编写能力的培养不可能只靠课堂教学实现,还必须大力加强动手实践环节。相对于课堂教学,实验教学环节显得更为重要,将实验分为基础知识点练习和综合实例练习,但基础知识点的练习是为综合实例的实现进行知识储备。

实验内容应该面向实际应用,分为个人实验和小组实验两类。个人实验锻炼每个学生独立解决问题的能力,实验题目难度适中。小组实验锻炼学生的写作能力,实验内容由学生自己设计,但项目实现的功能由教师指定,难度由教师控制,应该有较大的难度,需要学生超越书本,查阅新知识解决问题。小组实验采用竞赛方式,以完成时间和项目质量作为评价指标,项目完成后,每个组对自己的项目进行展示和说明,并回答其他同学的提问。

2.4考核方式的改革

为培养学生的创新能力,我们抛弃传统的理论考试模式,采用上机直接编程的考核方法。考题是一个小规模的应用程序,学生必须在指定的时间内独立完成,教师根据实现的功能和完成的质量进行评分。考虑到非计算机专业的学生不可能花大量的时间进行程序设计,如果直接采用上机编程考试,会给学生带来巨大的压力,因此我们在考试之前给学生出20道较高难度的题目,比如冒泡排序中动态交换过程的可视化展示、能够实现加、减、乘、除功能的计算器实现、用户注册器的实现等。每道题目列出应掌握的知识点和正确答案(完成项目),这些知识点将会出现在考试项目中。这些程序复杂,篇幅巨大,机械记忆行不通,因此考核可以全面检测学生的动手能力,促使学生平时就要多上机、多实践,把创新能力的提高融入日常学习中。

3结束语

C#作为程序教学语言,给学生提供了快速编写Windows程序、解决实际问题的工具;核心实例让学生理解解决实际问题的过程和编程方法;实验环节让学生自由发挥,挖掘潜在的创造因子;考核方式让动手能力强、主动学习、勇于创新的学生获得积极地肯定,激励学生的创新欲望。通过这几方面的改革,程序设计课程可以作为培养非计算机专业学生创新能力的工具,让学生的创新思维在学习过程中获得全面提升,实现学生素质的提高。

参考文献:

[1] 赵利敏. 浅谈高校计算机教学中学生创新能力培养[J]. 教育与职业,2007(3):110-111.

[2] 孟淑琴,刘芬. 基于创新能力培养的计算机基础教学[J]. 中国职业技术教育,2006(30):48-49.

[3] 李芳,崔尚森,徐丽. 计算机教育中学生创新能力培养的探讨[J]. 教育与职业,2007(17):121-122.

[4] 赵飞,荆光辉,张润泽. 如何培养大学新生计算机语言编程能力[J]. 计算机教育,2007(5):13-15.