APP下载

浅析高职院校程序设计类课程的教学改革思路

2013-08-15

湖北开放大学学报 2013年11期
关键词:程序设计教学法能力

刘 亮

(酒泉职业技术学院,甘肃 酒泉 735000)

1.高职院校程序设计教学现状

目前,在高职院校传统程序设计教学中,所采用的教材大多是按计算机语言的知识结构组织内容的,此类教材存在难点集中、跨度大的问题,要求学生记忆大量的语法规则、语句格式,容易使学生产生畏难情绪;教师在授课时,采用讲授和案例练习相结合的教学模式,没有软件工程思想的体现,脱离实际应用,使学生缺乏自主探索知识的能力,缺乏运用知识解决实际问题的能力;在课程考核时,对学生的学习评价方式单一,大多以卷面笔试和案例操作为成绩依据,忽略了学生平时完成项目时的形成考核,很难客观体现学生的实际应用能力。

2.程序设计课程改革思路

在程序设计课程的教学中,以培养学生逻辑思维能力、分析问题能力、解决问题能力作为主线,以发挥学生的学习主观能动性和创造性为目标,逐步引入语言知识,提高语言应用能力。因此,需打破原有的以语言知识为主线、先理论后实践的教学体系。

3.提高程序设计教学效果的方法和措施

3.1 科学合理设置课程,形成知识和能力体系

课程设置的合理性直接影响到学生的能力成长。不同的职业、不同的岗位对高级技能人才的培养目标和能力要求是不尽相同的。以职业能力和岗位目标要求为前提,确定程序设计课程在专业中的地位。合理的课程体系,培养学生自主构建知识体系的能力。

3.2 教学内容改革

(1)以能力培养为主线,整合课程内容

将教学内容融入教学项目。高职学生一般不擅长抽象思维和逻辑分析,以理论讲解为主的课堂教学效果不理想。因此在设计和制定项目的教学任务时,把知识点和需要部分掌握的内容融入其中,使学习过程成为学生参与的创造实践活动,注重的不是最终的结果,而是完成项目的实践过程。进行教材内容的整合使学生有明确的学习的目的和内容,能将知识迅速转化为实际能力。

怎样完成教学项目。为了学生有目的有计划地操作实践,编写与讲义配套的实训指导书,针对性地提供接近实际要求的、较为完整的程序案例。以实际任务为驱动完成各知识内容的学习,这样学生得到的不再是点点滴滴的操作方法,而是学会了一个实际任务完成的方法,而操作方法已不再是教学的核心内容,怎样完成实际项目成了教学的主要目的,极大提高了学生的实际应用能力。

在教学过程中将素质培养、知识学习和技能训练相结合,为进一步提升教学效果。如在VB程序设计课程的教学过程中,设计“图书借阅管理系统”等综合项目,涉及到VB程序设计基础、窗口控件使用和数据库链接更新等教学内容;分析分解项目,学生以小组为单位完成子任务,团队协作、与人交流、与人合作等方面素质能力将得到提升;学生为完成子任务,需加强相关知识基础学习,不断巩固VB程序设计语言的使用方法、VB程序设计语言开发应用程序步骤;而教师不断启发、辅导,提示实际问题的解决途径,诱导学生有目标、有计划按照步骤完成任务,锻炼解决实际问题能力。

(2)以综合项目主导教学,分散课程重点和难点

对程序设计内容进行重新整合,整合的原则是要有助于尽早在学生头脑中建立面向编程的思维模式。根据学生的认知规律,以程序设计为主线,语言知识为辅,从应用出发,以进阶式教学方式,分散难点和重点。

以 C语言程序设计为例,把具体教学内容重新组合成三大部分。其整合的要点主要有:

对于初学者来说,数据类型等C语言基础内容较抽象,语法规则多而复杂,不易领会。首先,将这些内容分散到各个应用模块中。在讲授时不注重知识的全面性,而是在程序理解中从使用计算机语言出发,强调实际应用为主,为程序设计的运用来理解、领悟语法。

其次,将程序结构语句、函数、指针等内容模块化、情境化。例如,在简单程序设计阶段就对函数的定义和调用进行学习,一方面使培养学生模块化设计思想贯穿于整个教学阶段,另一方面也对函数这个教学难点进行了分散,使学生通过长时间的训练达到熟练掌握函数的目的。

再次,引入软件工程思想与软件测试技术,培养学生软件工程素质。例如,第一模块中的软件开发方法中就以简单程序为例体验了从问题分析、算法设计、编码到测试的软件开发的过程,让学生尽早地知晓软件工程的基本思想。并分析每个例程的测试用例的设计方法,有助于学生重视测试环节。

3.3 教学方法改革

在程序设计课程教学过程中,如果采用传统的教学方法,如满堂灌的单项式教学法,或者按照从易到难,从简单到复杂的顺序渐进地进行教学,学生容易感到枯燥乏昧,不能充分调动学习的积极性,课 堂教学中没有突出课程本身的特色,没有给学生提供一个充分进行创 造思维的空间,不利于学生能力的提升。这就要求教师一方面能够准确把握授课内容,同时也要求教师注意应用相应的教学方法.以此提高教学质量。

(1)任务驱动教学方法

大多数学生反映计算机语言概念众多,许多知识点抽象且难以理解,学生不能理论联系实际,即使记忆了所有计算机语言概念、语法规则,学生也不会使用这些知识,更谈不上应用所学知识解决实际问题了。

任务驱动教学法是一种建立在建构主义学习理论基础上的教学法,它将以往以传授知识为主的传统教学理念,转变为以解决问题、完成任务为主的教学理 念;将再现式教学转变为探究式学习,使学生处于积极的学习状态;教师引导帮助学生完成一系列程序“任务”,每一位学生都能根据自己对当前问题的理解,运用共有的知识和自己特有的经验提出方案、解决问题,把知识的学习和知识的应用有机地融合在一起,达到融会贯通、一点带面的效果。

比如循环结构教学时,按任务驱动教学模式不是孤立地介绍格式、作用和使用方法,而是将这部分内容设计为“计算1+2+3+…+100=?”这一具体的任务。首先,教师通过提出“任务”:学生把握教学内容,头脑里对前而的所学内容进行回顾,然后对任务进行剖析思考。接下来教师举例说明循环结构在解决类似问题时的优势。学生仿照举例,完成该任务。

(2)项目教学法

项目教学法作为让学生在教师指导下通过完成一个完整的“工作项目”而进行学习的教学方法,它将传统的学科体系中的知识内容转化为若干个“教学项目”,围绕着项目组织和开展教学,使学生直接全程参与,体验、感悟、论证、探究。具体包括:(1)师生通过共同实施一个完整的“项目”工作来进行教学活动。(2)学生在教师的主持下以小组合作工作形式,自行组织完成项目。(3)工作要主动,学习过程成为一个人人参与的创造实践活动,注重的不是最终结果,而是完成项目的过程。

(3)案例教学法

案例教学法是基于建构主义理论的一种教与学的模式,是一种综合性的教学方法。在课堂教学中要强调学以致用,以提高学生的探究兴趣为原则。

在我们设计的各个教学内容模块的教学过程中,以程序设计作为贯穿各模块的主线,采用逐步引导的方式,精选出既能体现关键语法知识点,又有实用性和趣味性的程序实例,以实例驱动的方式进行讲解,从问题的提出、分析、算法的设计到最终编码测试,让学生了解程序开发的全过程。教师在案例的分析与要点的讲解过程中导入知识点,再对知识点展开讲解。

例程的设计要注意以下两点:

一是要有明确的针对性目标,能凸显关键知识点,并且符合学生的特点,难易适中,结合实际。

二是要有连续性、渐进性和层次性,使例程承前启后,由简到繁。

例如,以一个整数的倒序数的构造为案例,在简单顺序结构的程序设计阶段,例程只要求用主函数实现对一个三位整数构造其倒序数,目的是加强学生对“/”与“%”运算符的理解;接着在整型有参函数定义的开始阶段,例程中三位数的倒序数构造是由一个自定义函数实现,目的是初步建立模块化设计思想及掌握函数的声明、定义及调用方法;在随后的循环结构的程序设计阶段,例程中实现的是一个任意位数的整数构造倒序数的功能,目的是训练学生 do-while循环结构语句的使用方法,采用自定义函数实现。然后再要求求出该数的位数,进一步强调 return语句只能返回一个值,同时引出问题思考,被调函数向主调函数返回两个以上的值的解决途径是什么。在后续指针变量部分仍然可使用该案例,实现自定义函数传回倒序数和位数两个值的目标。

杨紫从网上购买了一些关于衣品方面的专业书籍,报了几门相关的课程,还参加了一些衣品沙龙,非常认真地学习服装色彩和款式搭配的知识,还注意搜集市面上的各种时装杂志,研究里面模特的时装搭配。每天,杨紫都会对着镜子仔细打扮一番,将学到的着装知识在自己身上“实践”。

(4)比较教学法

计算机语言中的概念比较抽象复杂,语法规则繁多.而且内容前后联系紧密,教学过程中教师通过对比的方式对相关的概念或类似的程序代码进行比较,进而明确差异,然后进行归纳总结,方便学生理解,将会收到事半功倍的效果。典型的有冒泡排序、选择排序、插入排序等,求解方程的根的算法也有多种,有迭代法、牛顿迭代法、二分法和弦截法等。这些算法之间既有联系又有区别,讲清楚了算法的联系和区别,也就解决了整个问题。

3.4 教学手段改革

(1)常规教学与网络教学相结合,传统教学手段与现代化教学手段相结合

在教学实践中,采用多媒体、实际编程演示和板书相结合的教学方法,来调动学生的积极性。例如:实际编程演示是借助于编译系统进行程序从编辑、编译、链接、运行到测试与调试的整个过程的演示,从而增强了教学的直观性和感性认识。

设计、建设网络课程资源。资源平台为学生提供了课程简介、课程教案、课程标准、习题、开放实验项目、在线测试、在线交流等网络教学资源,为开展教学和课程辅导提供有利条件,以弥补课堂教学的不足:通过网络教学平台能实现师生互动,能引导学生自主性学习,大大活跃和丰富教学活动。

(2)多渠道延伸课堂教学 提高教学质量

教学质量的保证远远不是课堂100分钟的作用,我们还要充分利用多种渠道延伸课堂教学。

以赛促教。组织相关程序设计的比赛,以比赛为契机,提升学生学习兴趣,拓展课堂教学内容,夯实教学效果,同时也给同学们一个展现自我才能的舞台。

校外实训。在校外和相关企业建立校外实训基地,选送学生进入企业学习,了解当前计算机技术发展的最新动态,提高学生做项目的实际能力。

共享协作设计。课程学习的最终任务是以小组形式来完成,因此在学习中需要进行资源的共享协作,新的设计方法和思路以及优秀学生作品可以随时放入平台进行共享,对于遇到的困惑和难题也同样进行相互协作解决问题。

4.小结

在实施上述实验教学改革后,学生普遍反映较好,学生学习程序设计类课程的兴趣和自信心大大增强,从被动学习走向主动学习,同时也培养了学生分析与解决实际问题的能力,真正实现了计算机语言程序设计课程的教学目标。

以上是笔者近年来程序语言教学中的教学心得与体会,实践证明,取得了不错的效果。只要教师在具体教学过程中,能够与时俱进,采用得当的方法和手段,不断丰富自己的教学和实践经验,相信一定能够取得理想的成效。

[1]张皓明. 职业技术教育中行动导向教学模式的研究[D]. 华东师范大学,2006.

[2]张悦. 项目驱动教学法在 C语言课程中的应用[J]. 职业教育研究,2007.

[3]张艳明. C语言程序设计教学体会浅析[J]. 电脑知识与技术,2010.

[4]谭浩强. C程序设计[M]. 北京:清华大学出版社,2010.

猜你喜欢

程序设计教学法能力
消防安全四个能力
批注式阅读教学法探究
基于Visual Studio Code的C语言程序设计实践教学探索
实施“六步教学法”构建高中政治高效课堂
从细节入手,谈PLC程序设计技巧
大兴学习之风 提升履职能力
你的换位思考能力如何
高职高专院校C语言程序设计教学改革探索
PLC梯形图程序设计技巧及应用
开放引导式阅读教学法描述