程序设计类课程教学改革初探

  • 投稿无非
  • 更新时间2015-09-23
  • 阅读量868次
  • 评分4
  • 22
  • 0

崔彩峰 彭晏飞

(辽宁工程技术大学电子与信息工程学院,辽宁 葫芦岛 125105)

【摘要】本文针对目前计算机相关专业的程序设计类课程,以C语言程序设计课程为例,从教学大纲、教学过程和方法等方面指出了存在的不足,并给出对应的改革建议,尤其在教学方法中,提出“理论进阶”思想。新的教学大纲的制定方法和教学方法的改革,有助于提高教学质量,增强学生学习兴趣和积极性,有助于学生不断建立计算思维,提升学生的编程能力,奠定专业理论和实践基础。

教育期刊网 http://www.jyqkw.com
关键词 程序设计;教学大纲;理论进阶;计算思维

0 引言

程序设计类课程,是计算机相关专业的主要专业课程,是其他专业课程和延生课程的基础。C语言程序设计,作为专业基础课,是计算机相关专业的专业核心课程,一般安排在大学一年级授课,此课程是学生了解计算机专业的入门课程,也是后期其它专业类课程例如C++语言程序设计、数据结构、编译原理、图形学等的前导课程。程序设计类课程作为计算机专业的核心课程,主要是为了让学生不断建立计算思维[1],掌握计算机语言的基础理论、基本算法和结构化程序设计方法,利用计算思维来分析并解决问题。因此,C语言程序设计课程的掌握至关重要。

目前对类似C语言程序设计这样的课程的授课,普遍存在教学大纲制定局限性强、教师授课理论性强而实践性弱、学生掌握困难等问题。究其原因,主要是依托大纲,限制了教师的教学内容,脱离了理论实践相结合,从而使得学生在学习的过程中,没有目的性。因此,使得整个课程从教到学,都不能得到很好的效果。

本文以C语言程序设计课程为例,阐述教学各环节存在的问题,以及如何提高学生的学习效果,提出了一些建议。尤其是在教学方法的改革中提出“理论进阶”思想,通过“课堂任务驱动[2]”的讲授方法,加“课下综合训练项目”的实施,使教学内容实际化,提高学生的学习兴趣和积极性,综合多种方面,作为教学改革的初试。

1 目前程序设计类课程存在的问题

1.1 教学大纲

课程的教学大纲是指导课程教学的纲领性文件[3],是根据教学计划的要求,课程的性质、目的以及在教学计划中的作用和地位,而对课程的内容和范围做出的基本纲要规定。是进行教学和教学质量评估的依据,也是指导学生学习和制定考核说明的指导性文件。然而目前的教学大纲往往都是以某本教材为依托而制定的内容和范畴,偏离了教学大纲纲领性的本意,使得教师在授课过程中对授课内容受到范围的牵制,不能依据实际情况弹性的调整内容和教学手段,从而限制了教学质量的整体提升。

1.2 教师授课

C语言程序设计,是学生入学接触的第一门专业性质的基础课程,其内容理论性强,概念复杂,语法规则繁琐,基本算法也较多,这就使得教师在授课过程中,需要多方面考虑内容的安排和授课的方式。然而目前大部分的教师在讲授过程中只一味的理论讲解,稍显乏味,不能很好的激发学生的学习兴趣,也不能让学生很好的理解课程在专业中的重要性和实际应用方法。

当前计算机专业的专业类课程,相互之间都存有一定的联系和依托,教师在授课过程中,过分的依赖教学大纲限定的内容,依赖教材,使得授课过程单调化、授课内容过分理论化且具有应用领域的局限性,一味的理论基础的讲解,会让学生产生学习的惰性,偏离了计算机专业化思维的建立途径。

1.3 学生掌握情况

兴趣调动积极性,教师在授课过程中的过分理论化和脱离实践,使得学生对于所学内容没有足够的认识,只一味的理论学习,对于大量的程序代码和语法规则,缺乏积极性和兴趣,因此并不能很好的掌握。而对于C语言程序设计课程,作为其他专业课的先导课程,不能打下很好的基础,也为以后其他专业类课程的学习造成了困难。

2 教学改革初探

2.1 教学大纲的设计

作为纲领性的文档,大纲的设计至关重要。C语言程序设计课程,是其他专业课程的先导课程,也是学生初次接触计算机语言类课程,需要让学生全面理解和掌握计算机的存储机制、编程语言的语法、思维和简单算法。因此,大纲的设计需要以此为目的设计和制定,综合参考多本教材,而不是依托某本教材。并在设计过程中,需要考虑与后期其他专业课程的联系。内容上设计好之后,还需依据内容的编排,给出具体授课的方式,例如是综合案例授课还是讲授等等。

2.2 教学内容及方法改革

C语言程序设计,包含了计算机语言类课程的基本语法和规则等内容,在讲授过程中,依据内容主要可分为三个部分。第一部分是计算机语言的初步认识和基本语法;第二部分是简单结构化程序设计方法,包括顺序、选择和循环;第三部分是构造类型数据的存储和处理。

针对知识点不断综合化的内容的安排,在讲授过程中,每一个知识点都附带实际案例,以任务来驱动知识点的掌握,将此种方法,作为“理论进阶”思想的第一步。

任务驱动法,具体方法是在每个章节的开始,设定一个任务,分析出解决任务需要的关键知识点以及如何利用已经掌握的知识。以C语言程序设计课程的数组一章内容为例,设计如下任务:

任务题目:比高矮

具体要求:200个学生不按身高排成10行、20列的长方形队伍。在每一列中选出一个最矮者。然后再所选出的 20 个矮人中挑出最高者一人,叫做“矮人中的高个子”,而后,令这 20 个矮人各回原位。再在每一行中选出一个最高者,又从这 10个高人中挑出最矮者一人, 叫 “高个子中的矮人”。请问“矮人中的高个子”和“高个子中的矮人”这两人中哪个高?

分析之后,可以得出,以上问题隐含有如下需要掌握的知识点。

隐含知识点:

(1)数组的定义和使用——处理批量数据

(2)数组的简单排序算法——解决身高的排序问题

(3)循环语句的使用——对批量数据读取时采用的方法(复习)

经过这样的任务驱动方法,可以让学生在课堂带着问题,去学习老师讲授的内容,也会对内容有进一步实际的认识,从而提高学习的兴趣和积极性。

作为其他专业类课程的先导课程,在C语言程序设计课程的讲授过程中,也需要找准切入点,带入对其他相关专业课的认识,让学生对未来要学习的课程有前期的一定认识,也让其明白当前所学课程在后期的实际应用时的作用。

2.3 综合训练设计与实施

理论联系实际,才能让理论更好的被掌握。针对C程序设计课程较强的理论性,也为使得学生不断建立计算思维,提高独立分析问题和解决问题的能力,在整个授课过程中,依据授课进程和内容,为学生安排3到4个综合型训练项目,将此方法作为“理论进阶”思想的第二步。

针对每一个训练项目,都尽量包含一个阶段内讲授的所有关键知识点,综合运用所掌握的知识,学生自行设计并编程实现每个训练项目。以C程序设计课程为例,讲授完结构化程序设计的三种方法之后,设定如下综合训练项目。

综合训练项目:简单计算器

目的和要求:通过对顺序、选择及循环结构程序设计方法的学习,完成简单的计算器的实现程序,用户根据菜单的提示,选择要进行的运算,通过输入数据,可完成加、减、乘、除、开方等各种运算。要求计算器可重复使用。通过此训练项目,使学生不断建立编程思想;进一步学习设计、完成并调试程序。

成果形式:源程序及项目报告书。

以上的综合训练项目,几乎涵盖了此项目之前所讲授的所有重要知识点,并需要学生有效融合掌握的内容,使理论具体化、实际化。对于给出的训练项目,都由学生课下完成。为配合学生的学习,教师安排一定的答疑指导时间。针对训练项目的工作量,可灵活安排学生组成项目小组,在规定时间内完成之后,提供一个课堂学时,对学生进行答辩,小组内各成员都将参加答辩,对所完成的训练项目,所有学生参与讨论,指出需改进的地方或值得学习的设计方法。对训练项目的设计和完成情况,加之答辩和答疑情况,对学生进行打分,作为平时成绩的考核依据。

3 结束语

程序设计类课程在计算机相关专业中的地位至关重要,为了提高学生最终对专业课程的掌握,本文通过对教学大纲、授课方式、授课内容的安排等方面,提出了教学改革的方法,尤其在教学方法方面,提出“理论进阶”思想,由“课堂内容任务驱动”加“课下综合训练项目”,分两步来提高程序设计课程的教学质量,促进学生的掌握。经过实际教学来看,此种方法对学生自身编程能力和计算思维的培养,都有积极的影响,也极大的提高了学生对专业课程的学习兴趣,同时也为程序设计类课程的讲授提供一定的授课经验。

C语言程序设计,作为专业基础课程,对于其重要的地位,以及为夯实学生计算机专业理论基础,建立计算思维,提高独立分析问题并解决问题的能力以及具备良好的专业素养,还在不断的摸索,不断的改进和提高与此相关的各项工作。

教育期刊网 http://www.jyqkw.com
参考文献

[1]黄静,高延英,等.基于计算思维的程序设计课程教学模式研究[J].计算机教育,2013(5):51-54.

[2]彭晏飞.程序设计类课程教学模式研究[J].福建电脑,2014,30(2):55-56.

[3]邢红.成人高等教育课程教学大纲的指导作用探析[J].湖北大学成人教育学院学报,2011(4):46-47.

[责任编辑:杨玉洁]