李秀香
(晋中师范高等专科学校,山西 晋中 030600)
[关键字] C语言程序设计;PBl模式;教学内容
C语言程序设计课是高等院校计算机类专业一门重要的专业课,也是计算机等级考试包含的种类之一,更是作为后续专业课程学习的前继课程。通过这门课程的学习,不仅要求学生掌握C语言基本的语法和编程思想及方法,更重要的是培养他们的逻辑思维能力和举一反三解决问题的能力。C语言程序设计课程作为一门典型的程序课,其本身枯燥、语法堆砌,会给学生造成一种只见树木不见森林的感觉。教师讲授这门课时,一般会发现内容多、学时短。兼顾上课进度,教师一般采用先讲授理论知识、随后上机演示操作、最后指导学生上机练习。这样,在课堂上学生仍然是被动接受知识,在很大程度上限制了学生的创新能力和应用能力的提高。大学的教育与中学不同,大学教师不应仅仅教授已成形的旧知识,还应让学生参与知识的拓展研究,培养学生的创新和研发能力。在大学中,研究、传授及学习三位一体,环环相扣,教师的传授与学生的学习,都是研究工作的重要环节。研究者不应仅仅研究,而应将研究成果传递给学生,教学内容应是正在研究的前沿的新知识。
随着信息技术的飞速发展,结合C语言程序设计课程的自身特点,本文主要探究将基于问题的学习模式(Problem-Based Learning)应用于C语言程序设计课程教学改革中,从教材的设计理念、课程内容的处理、采取的PBL教学模式等多个角度,针对C语言教学中存在的问题,对C语言传统教学模式进行改革。
PBL教学模式主要是以问题为基础,以学生为中心,以任务驱动为主线,以小组协作为主导。该教学方法是由美国神经病学教授麦克马斯特在加拿大提出来的,经过半个世纪的发展,如今已被延伸应用于各个教育领域,PBL的研究方向也已转向了基于网络平台的学习设计方面。PBL教学可以促进学生敢于表达自己的意见及观点,而对于教师及书本的观点,他们也敢于质疑及挑战。
笔者通过统计在中国知网上发表过的所有论文(包括博士、硕士和期刊),发现从2000年到现在共发表和PBL相关的文章共14656篇,其中有关教育领域的只占到不到20%,而医学领域的文章高达80%。由此说明PBL理论在医学研究领域研究的比较透彻、实践应用开展得较好,而在教育领域里发展还不够成熟,特别是在高校有关硕、博士论文对PBL研究非常有限。
针对PBL在我国各高校教学实践中的应用,如果将PBL教学引入C语言程序设计课程教学改革中,将会改变程序设计课的教学现状,提高教学质量,也为教师提供一种新的教学思路。
从社会需求的角度来看,C语言程序设计仍是持续火爆的编程语言之父,人才需求量稳居第一,掌握好它,有利于提高学生将来的就业竞争力。从应用的角度看,许多信息基础设施和重要系统都是用C开发的,C语言尤其在嵌入式、控制和数据库领域应用广泛,如运行效率要求较高的实时控制系统、设备驱动程序、嵌入系统;任何含有微处理器的设备都支持C语言;超过一半的热门方向直接或间接与C语言有关。从技术的角度看,C语言是一种高级语言,语法简单精练,概念少,效率高,并能较好地反映计算机的特点,且数据结构丰富,更易于体验程序设计的思想和算法的精髓。现在流行的C++、Java、C#等都借鉴了它的思想、语法,所以学好C语言是学习这些流行语言的基础。
C语言教材使用中常见的问题是:许多实例不实,是为解释语法而设计的。由于C语言本身语法较多,教师在讲授中偏重语法讲解,没有过多时间讲解调试程序过程中出现的错误分析。虽重视内容,但忽视内容的组织。
编写教材时,采用由底向上的程序设计方法到自顶向下的程序设计方法,由简单的数据结构到复杂的数据结构。教材编排如图1:
图1 C语言教材内容组织
(1)利用问题驱动,循序渐进地进行
借助现代化教学手段,设计选择典型问题,逐步引导学生自己分析解决问题,从而培养学生探究学习和协作学习的能力。如解决用C语言编写猜数游戏程序时,采用自顶向下的模块化程序设计。学生初看这个问题,确实有些难度,但是如果按图2步骤循序渐进地编程实现,会发现其实这个程序是很容易实现的。
一是建立健全绿色发展制度体系,让美丽“颜值”变成经济产值。率先在全国探索推行GDP与GEP双核算、双运行、双提升机制,实施绿色经济考评体系和绿色经济考评办法,制定实施重点领域、重点行业、重点产品绿色评价标准,全面开展生物多样性和生态系统服务价值评估工作,用制度把“绿水青山”量化为“金山银山”。探索环境保护联动执法机制和损害责任终身追究制,提起云南省首例环境污染民事公益诉讼,坚决打击破坏生态环境的违法行为。
图2 猜数游戏
解决上述猜数游戏中明确小组分工,由两位同学程序编写与调试,两位同学进行Word文档制作,另两位同学进行PowerPoint演示文稿制作。
(2)利用简单编程,进行启发诱导
用C语言的递归函数编写求n!时,在编写函数时对比使用自动变量和静态变量时得到的结果,让学生自己判断解决该问题时选用正确的变量。如求10!时函数返回值类型定义为长整型即可,提出挑战性的作业试求40!时,此程序是否可行,该如何解决。
(3)举一反三,达到融会贯通
在C语言的循环结构中,常见三种循环控制方式和编程方法,以解决不同类型的问题。第一种计数控制的循环用于求已知循环次数的,如类似于1+2+3+……+100。第二种是条件控件的循环,在这类程序中已给定循环结束的条件,如1-1/2+1/3-……+1/99-1/100+……,直到最后1项的绝对值<10e-4为止。第三种是标记控制的循环,如给定条件到输入数据为负数或0时为止。
在C语言程序设计教学中,使用PBL教学模式,根据每一个程序项目,从阅读程序项目起,到提出问题、确定算法,再到绘制流程图,直至编写出完整程序和编译调试程序,整个过程就是一个分析问题和解决问题的过程,在这个过程中学生通过小组协作讨论,相互交流学习,教师可以引导学生新的语法和知识点,帮助他们在做中学,学中做,引导学生开拓思路,启发学生在得到同一结果的同时提出多种解决方法。
(1)教案设计
在教案设计时,首先要明确教学目标,明确设计问题背景铺垫、展示或导入方法,明确发现问题的角度和方式;其次是明确研究进行的形式;最后要明确研究结果表现形式。
(2)发现问题
(3)面向问题的学习方法
面向问题的学习方法,也是面向问题的教学方法,是国内外大学普遍推崇并证明有实效的方法。目前大多老师采用的是面向主题的教学方法。面向问题的学习方法也是提升学生的学习空间,并培养思考、探索及解决问题的能力,以适应不断变化的学习环境。它是以一个个任务,通过教师的指导,小组协作方式进行的,通过不断分析、总结和测试,得出结果。
(4)改革考试方式
C语言杜绝传统的应试教育考试方式,尽量不用笔试;教师的考核尽可能在完成每个项目教学后,针对本项目,根据学生的掌握情况,分阶段考核学生,考试结果作为平时成绩。在此教学考核过程中合理地建立小组各成员的得分办法;有机制地认定特色或创新。
在我们实际C语言教学中,图3是PBL的具体实施过程:
图3 PBL实施流程
本文针对C语言程序设计课教学中存在的问题,引入PBL教学模式。从课程设置的目的、教材编写的理念、教学内容的组织、考核方式等多方面到PBL教学模式的具体实施进行阐述。PBL教学模式在程序设计课中的应用仍是今后研究的主要方向。