电子类专业C语言程序设计课程教学改革的探索
2015-12-10季玉茹王德忠
季玉茹+王德忠
摘要:该文依据电子类专业的培养目标及C语言在电子类专业教学过程中的作用,针对传统的教学过程中存在的问题,重点从教学理念、教学内容、教学方法、实践教学及教学环境入手,提出了提高教学质量的具体改革措施,实践证明这些措施在教学中取得了较好的教学效果。
关键词:C语言;教学改革;电子类专业
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2015)26-0115-02
To Explore the Teaching Methodology Reform in C-Language Software Programming Classes
JI Yu-ru, WANG De-zhong
(Jilin Institute of Chemical Technology, Jilin 132022, China)
Abstract: This paper follows the target objective of traditional Software Programming curriculum, and studies the effect of Software programming class teaching methodology to target and investigate the inherent problems in traditional teaching process. This paper focuses on the interaction between teaching philosophy, teaching content, teaching methodology, practical training and teaching environment, and proposed detailed reform steps for fundamentally improving the teaching quality throughout. The reform steps proposed in this paper has demonstrated substantial improvement in the practical classroom settings.
Key word: C-language programming; teaching methodology reform; software programming
自20世纪90年代以来,C语言在全世界得到迅速的普及推广,无论是中国还是在世界各国,C语言程序设计始终作为高等院校的计算机基础教育的一门必修课程,在计算机教育和计算机应用中发挥着重要的作用。学习好C语言对于理工类的学生尤其是电类学生尤其重要,因为该课程是进一步学习计算机和本专业课程的基础课,所以如何提高C语言课程教学质量非常重要。
1 C语言在电子类专业中的课程重要性
C语言既具有高级语言的优点,又有低级语言的许多特点,它功能丰富、表达能力强,使用上灵活方便、应用面广,而且目标程序效率高,同时具有良好的可移植性。适合于解决某些小型程序的编程,在编写底层的设备驱动程序和内嵌应用程序时,选择C语言更有效一些。
对于电子类专业的学生来讲,C语言程序设计是进入高校接触的第一门计算机语言类课程。学生通过学习程序设计,能够更好地了解计算机的工作原理,更好地应用计算机并掌握计算机处理问题的方法,提高学生分析问题解决问题的能力。同时因为学生具备了编制程序的初步能力,将来工作中能够与程序开发人员更好地沟通和合作,开发与本领域相关的应用程序。
针对不同专业的学生对相同的课程有着不同的侧重和要求,我们对电子类专业的培养目标和相应的专业课程进行了调查和研究,我校电子类专业有电气工程、自动化、测控技术、电子信息工程等,以C语言作为先行课的课程主要有单片机原理、自动控制原理、可编程逻辑控制器、嵌入式系统、计算机网络、接口技术、DSP原理及应用、计算机仿真技术等等。因此C语言作为专业主干课程对于学生是否能学好这些后续课程非常重要,这就要求授课教师要根据课程目标及专业要求,更好地设计和组织教学内容[1]。
2 教学中存在的问题
2.1 重视语言的语法学习忽视了学生程序设计能力的培养
C语言程序设计是一门应用性较强的课程,以往教师习惯于按课程章节的安排重点讲解各种语法知识,忽视了学生的程序设计能力的培养,使学生在学习这门课程时一是感觉晦涩难懂,另外觉得对自己以后的学习和工作没有任何帮助,导致学习热情不高。
2.2 教学内容的组织和安排不合理
传统的教学内容的组织上基本上是以语法知识为主线,课程的考核是以平时作业加上期末上机考试的综合方式进行评价,这种方式下学生只掌握了各个章节的基本概念或简单记忆了教材中典型例题,学生不知学为何用,只是记忆教师提出的各章节的重点,而不是如何掌握计算机编程思想及程序设计的能力,使学生能够利用计算机技术解决本专业的应用问题[2]。
2.3 对学生创新精神培养不够
本课程一般都是在大学一年级开设的,学生刚刚踏入大学校门,对大学的学习方式还没有融入,而每个学生掌握的计算机基础知识也有很大的差异,这使得C语言的教学很难兼顾到每个学生的需要。导致一些学生的学习积极性不高,自主学习能力较弱。
3 教学改革及教学方法探讨
3.1 根据课程目标,精心设计和组织教学内容
根据电子类专业的培养方案,按照应用型人才的培养目标,我们摒弃了传统的先讲语法知识,再给出编程实例来论证的教学组织形式,采用案例教学的方式,选择一个实际的项目案例,通过对其软件开发过程的设计,使学生既学习了程序设计语言也了解了软件设计的过程,从而达到教学目的。
教学内容主要依托一个学生成绩管理系统案例,按照软件工程的方法,划分软件的各个功能模块,在每个章节的开始都提出一个和本案例有关的需求。通过对案例的数据录入引入输入/输出语句的使用,让学生了解和掌握数据录入基本界面的设计方法;通过对案例所涉及的数据描述引入了数据类型的概念,让学生理解和掌握各种数据类型以及运算符和表达式的基本知识;通过对案例中各种数据的处理和管理,使学生掌握程序的三种控制结构和数组的概念;通过对案例的各个模块功能算法的分析引入函数的概念;通过本案例大量的数据的输入、输出和存储方式使学生理解和掌握文件的概念和使用。通过这种教学组织形式,我们将以教师为中心的传统教学方式转变为以学生为中心的教学方式,以教材为中心的教学转变为以“项目”为中心的教学[3]。
同时我们又根据电子类专业的特点,在授课内容上有所侧重,除了讲授C语言的基本知识,又将一些中断、串口、接口技术介绍给学生,让学生了解如何使用C语言进行底层资源的控制,以便于他们后续课程的学习。
3.2 教学方法形式多样
C语言程序设计是门比较抽象的课程,为了提高教学质量,激发学生的学习兴趣,我们采用了灵活多样的多种教学方式,例如引入式教学、启发式教学、案例式教学等等。引入式教学模式是教师提出问题,学生在教师引导下独立完成,能够培养学生探索问题和解决问题的能力,提高学生的创新能力。启发式教学可以调动学生的思维,激发学生的学习热情,鼓励学生创新思维并给予学生正确的引导,使学生能得到个性化的发展。
同时还应该充分利用各种教学辅助工具,有效地提高教学效果。充分利用好多媒体教学手段,既增加了课堂教学的信息量还能创建多样化的学习情境,使枯燥的教学变得生动有趣。
3.3 应用多层次的实践教学
C语言程序设计是门实践性很强的课程,必须花费大量的时间进行编程实践,而课内的学时很有限,因此我们根据学生的特点采用了多层次实践教学方法,实践内容分成必做、选做和综合练习三个层次。必做练习要求学生必须在学校安排的教学时间内完成,是针对上课内容和知识点进行安排的;学生在完成课内任务后可以根据自身的特点和兴趣,选择一些应用性较强的题目来完成,这样可以充分发挥学生的特点,培养他们的自学能力。综合练习是在课程结束后,学生利用课余时间以团队的形式选择合适的“虚拟项目”进行合作完成,不仅要编程实现,还要完成纸质报告,这样可以培养学生的团队合作意识和分析问题解决问题的能力[4]。
在整个实践教学过程中,要采用以教师为主导、学生为主体的教学模式。教师要具有指导、监督的职责,使学生能够应用所学知识解决实际问题,培养学生的创新精神、实践能力、自学能力、团队合作能力。
3.4 丰富多元化的学习交流平台
充分利用多种网络手段开展课外交流活动,如利用校内教学平台、QQ、BQQ等网络手段,使教师与学生及不同学生之间能够进行交流讨论、辅导答疑。丰富网上教学资源,同时利用微课、慕课等教学形式完成网上自主学习、测试、作业、讨论、辅导、答疑等教学任务,对课内理论实践教学进行补充和扩展,有效地促进了课程的教学改革[5]。
同时我们鼓励学生参加各种课外兴趣活动小组,进一步激发学生的学习热情,同时鼓励学生参加各种竞赛,例如电子竞赛、ACM竞赛、互联网+竞赛等。这些课外平台的交流以学生为主体,教师进行引导,使学生的程序设计能力和自学能力进一步得到了提高,同时增强了学生的自信心与成就感,学生的团队合作意识也得到加强。
4 结束语
目前我国的高等教育趋于大众化,而学生的就业竞争压力很大,高校要想提高学生的就业率和竞争力对于各个高校来讲尤其重要,那么就需要我们教师要根据学校和自身的特点,不断地更新教育教学理念,积极进行教学改革,探索新的教学模式,使培养的学生能够满足社会的发展需求。
参考文献:
[1] 刘莉, 陶强. C语言在电子类专业教学过程中的地位和作用[J]. 计算机教育, 2012(8): 47-50.
[2] 余小燕. C语言程序设计教学方法探讨[J]. 计算机教育, 2009(10): 136-138.
[3] 姜枫. 浅析C语言程序设计教学改革与实践[J]. 科技信息, 2007(33): 226-252.
[4] 彭旭东. 侧重实践, 分散难点一谈“C语言程序设计”课程的改革[J]. 计算机教育, 2007(10): 67-69.
[5] 林淑玲. C语言程序设计教学探讨[J]. 科技经济市场, 2007(9): 15-16.