一、C语言程序设计课程教学现状
C语言程序设计课程在本校已开设多年,经过多年的教学改革和实践,取得了较好的教学效果,但在本课程的实际教学中,依然存在如下几方面的问题:(1)学生对该课程的学习目的和意义不甚了解。在实际教学工作中笔者等人发现,由于公共课课时一再压缩,教师在授课时急于追赶进度,按照教材的章节顺序将各个知识点逐一教授给学生。学生对于一些知识点似懂非懂,一知半解,许多学生并不明白其学习的目的和意义。学生只是机械地学习,而不是自主、有目的地学习,因而难以将整个知识体系融会贯通,导致应用计算机解决专业问题的能力较弱。(2)课程理论与实践脱节。传统的教学模式是先进行理论教学,后进行实践操作,让学生按照实验教材进行实践操作,二者不能互相融为一体。此外,学生的层次不一,对于理论知识难以内化,这必然使学生在理论课中感到语法句法的枯燥乏味,同时感觉算法的内容难度过大,难以对这门课程的学习产生兴趣。(3)教学方法单一。大部分教师在讲授C语言时,往往把C语法规则等相关理论知识的讲解作为教学重点,不太注重算法的分析和设计。在讲解例题时多关注语言的语法解析,和实际生活偏离太远,课程与学生专业背景结合不紧密,学生学习兴趣不高,学习积极性差。针对以上问题我们试图从增加辅导课时、举办竞赛等途径进行改善,但收效不明显。而计算思维的培养恰恰是解决这一问题的有效途径。
二、基于计算思维能力与信息应用能力培养的教学改革实践
计算思维能力培养的教学方法大体有问题启发式教学法、案例教学法和项目教学法。对于学生解决问题的能力和科学行动能力的培养,也常以案例教学法和项目教学法作为其教学方法。因此教师必须要认真研究和思考如何在教学中开展案例教学和项目教学。C语言程序设计课程中的许多知识点都适合培养学生的计算思维能力,特别是分析设计程序时如何科学分析问题并进行数学抽象,如何对问题进行符合逻辑的算法设计、编程与调试以及生成可执行的程序,都是对计算思维的很好的诠释。因此,在培养学生计算思维能力方面最理想的课程之一就是C语言程序设计。
(一)理论教学
(1)以案例为线索重新安排教学内容。认真分析学生的认知规律和专业背景,遵循“理论为辅,实践为主”的教学原则,通过教学案例重新设计教学内容和章节顺序。在课堂教学中应尽量淡化语法规则,通过实例应用一些实用的语法,让学生从实用的角度出发有选择性地学习语法规则,而不是死记硬背。通过案例尽早引入函数和指针等概念分散教学难点,符合学生的认知规律。在讲解具体程序时多采用单步调试执行程序的方式,让学生能清晰地体会程序的执行过程,为后续复杂程序的学习奠定良好的基础。(2)通过案例教学法培养学生解决问题的能力。在讲解案例时从计算思维的角度出发,引导学生体会分析、解决问题的基本思路,求解问题的已知信息、中间结果和最终结果,学会抽象化地描述问题,然后逐步明晰解决问题的方法和步骤,即算法的设计,最后利用C语言完成代码的编写、调试和执行,最终实现该算法,达到解决问题的目的。在这个问题的求解过程中,将解决问题的过程提升到培养计算思维的高度,让学生更深刻地理解计算思维的本质。(3)设计使用多种方式将程序与学生的专业领域内容相融合。比如以与专业相关的项目为出发点进行基础内容的介绍等。在具体的教学过程中只要求学生具备基本的编程素养和解决本专业应用问题的能力,不同专业的项目要以相关专业领域的应用为基础、以程序设计方法为主线,目的是培养学生的应用能力和提高学生的学习兴趣,让学生多从各种角度去了解和掌握C语言以及程序设计的精髓。例如,数学类、管理类专业的学生可以重点学习与数据库交互处理的技术。
(二)实践教学
实践教学是巩固理论知识、积累实践操作经验的重要环节。在此环节的教学中应重点训练学生运用计算思维方法去解决实际问题。在教学内容设计方面应注意由浅入深、循序渐进,因此笔者分别设置初级、中级和高级3种类型的实验项目。在初级和高级实验教学环节,我们着力做好以下几个方面的工作:(1)按步骤上机实践。教师在每次上机实践课前,给学生布置实验课的中级项目内容,要求学生利用课余时间分析问题并设计拟定好算法,画出流程图,写出代码。上课时教师适时抽查学生完成这部分工作的情况。上机课第一项工作是要求学生完成初级项目的测试,测试由无纸化考试系统支持,测试通过后,剩余时间让学生完成中级项目的程序调试工作,在调试过程中,教师及时对学生存在的疑问进行解答。规范化的上机实践工作让学生养成一个良好的学习和训练习惯,全面提高学生在遇到问题时独立分析问题和解决问题的能力。(2)教师上机指导。上机实践中程序的调试主要是排除代码的语法和逻辑错误。因此在每次上机过程中,对于程序编译链接时出现的错误,要求学生记录错误信息并分析原因,避免再犯同样的错误。教师对常见的错误集中进行讲解,教给学生规避错误的基本方法,逐步培养学生独立调试程序的能力。对学生算法方面的疑问,不直接为学生指出代码中的问题,而是逐步引导学生自己找出问题。这样有利于培养学生独立发现问题、分析问题的能力。(3)总结上机实践。每次上机实践课结束后,要求学生在课后对本次上机实践的工作进行及时归纳和总结,对各个环节出现的问题进行总结和反思。对于普遍存在的问题,教师集中讲解答疑。及时、有效的总结和反思可以有效地提升学生的计算思维能力。(4)高级实验项目驱动。通过高级项目的实际开发过程,引导学生创造性地运用知识发现问题、研究问题和解决问题,促使学生在这个过程中积累知识、培养和锻炼思维能力。建立学生学习互助小组,培养学生协作学习的能力。教师也可以在项目实践中真正了解教与学的缺陷,推进教学模式转变。[3](5)结合学生专业背景,维持学习积极性。将C语言融入专业应用中,可以有效地提升学生的学习积极性。教师在授课中应结合学生的专业应用方向,精心选择、准备与学生专业相关的项目案例进行教学设计。选择的项目要具备针对性、典型性和实践性的特点。[4]例如,对于信息类专业,可以选用各种信息系统的项目引导课程的教学。
(三)课程考核
本课程结合实际应用,引入企业项目化考核方式,更加注重对学习过程的考核。建立以自动评测系统和实践能力考核为主的多元化考核体系。期末总成绩由期末机试成绩(40%)、实验项目考核成绩(40%)和平时成绩(20%)组成。实验项目成绩由中级项目和高级项目两项实验成绩组成。即从项目的实施情况记录、小组项目的成果展示、实验报告的总结以及小组成员的合作态度等各个方面评定学生成绩。平时成绩依据课堂表现、考勤情况和小组协作三方面组成。这样做的目的是让学生的最终成绩能更客观地反映学生的学习过程和学习效果,突出能力培养目标,减轻学生的考试压力。四、结语培养科学行动能力,提升计算思维能力是应用型本科院校非计算机专业的计算机课程的教学目标。实践证明,在教学中应该有意识地在理论教学和实践教学的各个环节中融入计算思维的培养。在实践课的教学环节,通过分级项目的形式由易到难地把学生融入项目达标与设计实现的过程中,不仅仅有助于学生理解计算机分析解决实际问题的思想,更有助于提高学生利用计算思维方式来解决实际问题的能力与团队协作能力。
作者:刘红霞 单位:榆林学院
相关专题:云南课程教材教学研究 九江学院