张富成
摘要:C语言是一门计算机常用语言,兼具高级语言与低级语言的优点,非常适合系统软件的编写。在信息时代的今天,C语言应该是每一位大学生所必须掌握的。在C语言教学中,经过不断的理论探讨和实践摸索,总结出了C语言的学习和教学的经验和方法。
关键词:C语言;教学过程;教学资源;教学评价
一、项目教学法简介
1.1什么是项目教学法
项目教学法,是师生通过共同实施一个完整的项目工作而进行的教学活动,其目的是在课堂教学中把理论与实践有机地结合起来,充分发掘学生的创造潜能,提高学生解决实际问题的综合能力。
项目教学法的教学过程,一般分为五个阶段,即下达任务、计划制定、项目实施、效果展示、项目评价。教师可以根据实际情况将每一个项目分成若干个课题,每一个课题可以作为一个教学小单元来组织教学。下达任务阶段,教师布置任务,帮助学生理解任务要求;计划制定阶段,学生一般以小组方式工作,寻找与任务相关的信息,制定学习(工作)计划;项目实施阶段,学生根据计划完成设计与模拟,做好有关文字记录;效果展示阶段,学生采取各种手段展示出任务完成的效果;项目评价阶段,学生自我评价、其他同学评价、教师评价。整个的教学过程,就是以学生动手为主,教师的作用就是一个被咨询者,回答学生遇到的各种问题,这种互动过程能极大地提高学生学习的积极性。
1.2项目教学法的特点
项目教学法是在教学过程中以项目为主线展开,把相关的知识点融入到项目的各个环节中,它具有如下特点:
1)项目过程以學生为主体。从项目计划的制定、项目的实施到项目的验收与评估都是以学生作为主体,极大地调动了学生学习的积极性,学生通过完成与专业相关的具体工作任务,培养了学生分析问题和解决问题的能力,从而提高了学生的专业能力。
2)项目内容与企业实际紧密结合。项目教学法的一个重要理念就是理论与实际紧密结合,按照真实性学习理论,以来源于企业的项目为载体组织项目课程,最大限度地发挥项目课程的功能,使学生了解真实的企业工作过程。
3)项目结果是学生完成的作品。从项目的计划、实施到验收都是围绕作品展开的,在完成作品的过程中学会分析问题、解决问题,最终达到掌握所学知识的目的,在效果展示阶段,学生可采取各种手段展示其按任务要求完成的作品和学习效果。
二、教学现状及教学中存在的问题
C语言语法、语义较多,概念抽象,运用灵活, 没有固定的模式和编程套路。目前,在教学中常采用课堂知识点讲授法、程序实例演示分析法、编程实验相结合的教学方法,按照教材中的章节和相应的程序实例来完成教学任务。课堂讲授中,采用多媒体讲解理论知识,由于内容抽象,难点多,很多 学生难以掌握课堂的知识点。上机练习中,学生独立编写程序的能力明显不足。因此怎样提高学生学习C语言兴趣,培养一定的程序设计能力是高校C 语言教学中一直探讨的问题。目前,在教学实践过程中存在的主要问题有:
三、C语言项目教学实施的方法与过程
项目教学是一个能灵活应用各种学习方式、能发挥学习者潜能的分布式开放系统。其教学过程强调学生之间和师生之间的人际交往,是一种信息互动与形成完善的学习过程。为此,我们在 C 语言项目教学实施过程中采取了阶梯式逐级提高的学习模式。
四、项目教学法在C语言课的应用
具体来说,教师可以这样实施,首先教师对该项目进行需求分析,并给出演示,然后按学生的兴趣给他们分配任务,以划分小组的形式,设计项目,使用模块化的方法, 每个组员完成一个较小的独立模块,协作学习,并最终以项目的总体完成情况来评定学生是否达到教学任务的方法。
4.1基本环节
在C语言教学过程中,由于该语言是初学者的入门语言,教学的好坏直接影响着学生对后续其他课程,像数据结构,操作系统,数据库,应用程序开发等的学习,所以这课程显得尤为重要。改变传统的教学模式,转入以项目引导教学,提高学生的积极性,兴趣度,让学生发挥更大的主动性,有着重要意义。
在开展项目教学法的时,确立合适的项目是一个关键。项目教学法的教学过程在于师生共同完成一个实际而有意义的项目开发,思考,最终定出一个详细的解决方案,编码实现。另外,模块与模块之间的联系程序需各组员之间进行协商,让整个项目能工作良好,减少不协调的现象出现。这样分工合作,人人参与,提高学生学习的积极性。组内合作是开展项目教学的基本组织形式。而教师从传统教学模式中知识的灌输者和技能的传授者转换为在项目教学中是学生自主学习的引导者、指导者和监督者。其主要任务包括:
(1)设计整个项目的功能,总体的框架及各个模块之间的连接函数。
(2)设计各个子模块的大体功能。
(3)整个项目的展示,演示。
4.2项目的实施与启发式学习相结合的教学过程
使用软件工程的理论和思路进行教学,不仅要“授之以鱼”更重要的是“授人以渔”。强调学生动手能力和兴趣的提高。在此教学过程中,教师的作用主要是引导,把握整个项目进展情况,进度。教师的教学过程如下:
(1)对项目进行模块化,分成多个子模块,然后对学生进行分组,让每组的小组长把各模块的任务协调分配到每位组员。在这过程中,教师把握住方向,主动启发学生发现问题,让他们共同讨论, 解决相关的难点,培养小组的团队意识、创新精神以及解决问题的能力。及时对每个阶段完成的项目进行总结,解决可能存在的问题,不仅有利于学生对知识的更深理解,也为下阶段项目完成作好准备。
(2)围绕项目的模块特征,引发学生思考该模块需要的知识,把需要的相应技术难点渗透到教学中。比如要编写具体某个模块程序要用到哪些章节的知识点,如何应用这些知识点。
(3)根据学生所学的知识,引导小组内自行解决具体的问题,设计出解决方案,以及程序的具体说明,并让小组成员编码实现相应的功能模块。教师应该确保每个学生都能积极参与,适时对他们进行指导,引导学生之间讨论遇到的困难。同时提出“养成良好编程习惯”的教学要求,强调程序的可读性和规范性。要求程序的提示语言清晰明确, 界面美观并且适用。同时记录学生在实施过程中遇到的问题,为下一步项目进展的评估和总结作准备。
结束语:培养学生学习C语言的兴趣,引导学生多读程序,鼓励学生进行实践上机练习,采用多种方法编写程序。同时也要鼓励学生进行思考、比较,总结C语言中的知识点,提高学生解决问题的能力。虽然学生的学习状况有所改善,但是随着教材的深入,知识点的复杂,学生的学习效果仍然不能保证,仍需要进一步的探索和改善。
参考文献:
[1]徐晓伟.“C语言程序设计”教学方法改革探折.软件导刊.2014.07.
[2]廖秋香.C语言课程教学改革的几点建议.梧州学院学报.2013.08.
[3]蔡晓丽.计算机C语言实验教学改革探讨.电脑知识与技术.2010.5.