程序设计基础实践教学模式的分类评价与应用
2011-12-31卢玲陈媛王晓云
计算机教育 2011年24期
摘 要:程序设计基础面向的学生群体非常广泛。由于不同专业的培养目标不一致,因此其实验教学模式既有共性,又有个性。文章结合教学实践,针对计算机专业、理工科非计算机专业、高职高专计算机应用专业这三类学生群体,从实验教学的过程控制、实验教学的内容设置以及实验的考核三个方面进行阐述,分析和比较不同教学模式的特点及适用范围,提出针对不同类别学生群体的、行之有效的实验教学模式以及可参考的具体手段,这些手段在教学实践中运用,均取得了非常好的教学效果。
关键词:程序设计基础;实践教学;过程控制;考核
程序设计基础课程以讲授一种程序设计语言为线索,以掌握一种程序设计方法为手段,以培养程序调试的技能及简单算法分析的能力为目标,是一门理论性和实践性兼备的基础课。目前,许多高校的计算机类和非计算机类理工科专业,均开设了程序设计基础课程。实践中将教学对象分成三类,其教学目标各有不同:
1) 计算机专业。熟练掌握程序设计的基本技能、学习并运用程序设计思想、培养计算思维能力;面向软件人员水平考试;为培养计算机专业的研究型人才打下基础。
2) 高职高专计算机应用。熟练掌握程序设计的基本技能;学习并运用程序设计思想;面向培养应用型、技能型人才。
3) 理工科非计算机专业。学习程序设计的基础理论,理解程序设计思想;面向计算机二级等级考试;为程序设计的工程应用打下基础。
显然,由于各专业面向的学生群体不同、培养目标不同,所以教学模式既有共性,也有个性。在实践教学环节,由于教师与学生是一对一的指导,因此教学模式的差异性表现得尤为突出。下面针对上述三类学生群体,对各类实验教学模式进行综合分析和比较。
1 实验教学的过程控制
1.1 实验教学方法
1.1.1 边讲边练,边学边做
这种教学方法表现为:“演示→练习→再演示→再练习……”,教师可通过多媒体网络教学平台演示编程过程,再要求学生模仿完成相应的练习,采取教师演示与学生实验交替进行的方式。为控制学习进度,应设定时间,例如,每5~10分钟完成并提交一个程序,然后再进行下一次的演示和练习。这种方式要求教师具有很强的课堂控制能力,能够较好地把握演示时间、选择有代表性的演示内容。其主要特点是:
1) 教学全程以教师为主导,学生独立思考的时间较少,所以适用于验证性的实验,例如基础语法的练习。
2)“边讲边练”,使学生能够快速上手,因此适用于面向计算机等级考试、要求在有限的课时内熟练掌握基础知识的理工科非计算机专业。
3) 讲授的时间较长,教学进程较慢,适用于实验课时较多的专业。例如,高职高专计算机应用类专业,其实验课的比重一般较大,采用“边学边练”的方式也是可行的。
作者简介:卢玲,女,讲师,研究方向为嵌入式系统、计算机应用技术研究。
1.1.2 先讲后练,任务驱动
这种方法表现为,知识及技能的传授应以完成典型“任务”为主[1]。将“演示→练习→演示→练习”变成“演示+练习”的模式。要注意教师讲解的时间不宜过长,例如控制在15分钟左右,其余的时间由教师辅导、学生独立支配时间进行练习。“先讲后练”一定要通过“任务驱动”,预先安排好实验任务,提出具体的目标,例如工作量以及任务提交的时间等。这种方式的特点是:
1) 是典型的以教师为主导、学生为主体的方式,注重引导学生独立思考、培养学生独立分析和解决问题的能力。因此,这种方式适用于设计性的实验,例如,有关程序结构类的练习、简单算法分析的练习等。
2) 由于有教师演示,学生能很快地把握问题的关键点及难点。同时,“任务驱动”使教学目标明确,实验过程“有的放矢”,实验的效率较高。
3)“任务驱动”注重思维能力的锻炼,能较好地发展学生独立研究、独立解决问题的能力。由于计算机专业肩负着为培养计算机领域的研究型人才做准备的重任,所以尤其适合大量采用“任务驱动”的模式。
1.1.3 项目驱动,全程实践
所谓全程实践,是指教师只提出实验目标,实验时间完全由学生支配。这种方式最好以“项目驱动”,项目涉及的知识面应比较宽,任务量应足够大。例如,设计某类信息管理系统。项目一般可能需要几次实验课来完成,这些实验课时完全由学生支配。在全程实践中,教师担负着指导的作用,可将学生划分成项目小组,每组2~3人,安排项目组长,组织项目实施。这种方式的特点是:
1) 项目的工作量一般都较大,属于综合性的实验内容,适合在阶段性的学习结束后进行。由于涉及的知识面广泛,主要培养综合运用知识的能力,因此尤其适合高职高专以及计算机类本科专业。
2) 这种方式注重培养学生分析问题的能力,以及组织、协作的能力,是提升学生综合素质的重要手段,就这一方面而言,也适合在各个专业中进行运用。
1.2 各种教学方法的综合运用
上述教学方法,分别适用于教学的不同阶段。在综合运用时,针对不同专业的培养目标,其课时分配的比例也有所不同。如图1所示,是结合教学实践所总结的参考指标。
2 实验教学的内容设置
2.1 实验内容的分类
一般地,实验分为验证性,设计性和综合性实验三类。根据各专业的特点,实践中采用的参考比例如图2所示。值得注意的是,非计算机类本科的验证性实验比例非常高,一个很重要的原因是这类学生面临着计算机等级考试。由于等级考试侧重于考查应试人员计算机应用知识与技能[2],因此,在教学中,既要考虑等级考试对学生的重要性,又要兼顾发展学生应用能力、培养思维能力。为了促进两方面的整合,实践中为这类学生安排了大量的设计性实验,而综合性实验的比例则较低,因此其程序设计的综合能力很难有质的提升。这也是程序设计基础课程建设中所面临的一项重要课题。
2.2 实验内容设置的原则
在实验内容的设置上,根据各专业的教学目标不同,一般有如下两类指导原则。
2.2.1 原则一:实验与理论并行
实验与理论并行,互为补充,两者并重。这种方式最明显的特征是:实验课不是理论课堂的延伸,而是另一种形式的课堂,其比重非常大,其作用举足轻重。实验内容的设置有如下特点:
1) 以引导的方式切题,学生独立编程的方式进行。
2) 实验内容侧重从宏观的角度分析和解读程序,进行计算思维能力的培养。
3) 实验的量非常大。
显然,这种原则注重发展编程技能,培养学生的计算思维能力,因此适用于计算机本科各专业,也适用于实验课时比较多的高职高专计算机应用专业。
2.2.2 原则二:实验是理论的延伸
将实验课看成是理论课堂的延伸,通过实验辅助学生理解所学的知识点并加以巩固。实验内容的设置有如下特点:
1) 以“跟我学”的方式切题,通过教师引导,“边讲边练”的方式逐步进行,为多数问题指定解决方案。
2) 以熟练掌握基础语法为目标,侧重于从微观的角度分析和解读程序,注重对语法细节的学习。
3) 实验课时的比重较小。
显然,这一原则将关注点较多地放在了语法基础、基本编程技能上,更适用于需要参加计算机等级考试的非计算机类专业。
2.3 实验内容设置举例
上述两类原则在具体实施时,其形式有明显的不同。下面以两个示例来说明。
1) C语言的格式符。
对计算机专业,一般习题涉及%d、%f、%c、%s这几类格式符就可以了,以此为基础的