摘 要:C语言程序设计课程作为一门基础的计算机程序设计课程,其对于计算机教学具有重要的意义,同时也是许多院校理工科学生的必修课程。本文阐述了C语言程序设计课程的教学目标,从学生学习现状和教师教学模式两个方面分析了C语言程序设计课程的教学现状,同时从有效培养学生计算思维能力和科学运用先进教学手段方法两个方面提出了C语言程序设计课程的教学策略。
关键词:C语言程序设计课程;教学目标;教学现状;教学策略
1 C语言程序设计课程的教学目标
C语言程序设计课程的教学目标主要可以分为情感目标、能力目标以及认知目标几个方面。具体而言,一是体验C语言程序设计的编程思想,激发和保持对C语言程序设计课程的求知欲,形成积极主动地学习和参与C语言程序设计课程探究活动的态度;二是能够辩证地认识C语言程序设计对社会发展、科技进步和日常生活学习的影响;三是获得亲自参与研究探索的积极体验、培养严谨的科学态度;四是能够从日常生活、学习中发现或归纳可以利用C语言程序设计解决的问题,通过问题分析确定程序功能;五是能够根据任务的要求,确定所需信息的类型和来源,并鉴别信息的真实性、准确性和相关性;六是掌握计算机程序的基本概念,理解并掌握C语言程序设计语言的基本知识,包括语句、数据类型、变量、常量、表达式、函数等,熟悉语言的语法规则,熟悉计算机程序执行的基本过程;七是了解C语言程序设计语言,掌握编写程序、编译程序、连接程序以及程序开发环境等基本知识,掌握调试、运行程序的基本方法与技巧等。
2 C语言程序设计课程的教学现状
1、学生学习现状
C语言作为许多常用程序设计语言的母语,可以说学会了C语言以后,再进行其他程序设计语言学习能够达到事半功倍的效果。C语言不仅具备高级语言特点,同时具备汇编语言的优越性,因此具有极好的实用性。然而实际教学过程中,其仍然存在一些现实问题:一是语言内容繁多,例如C语言有34种运算符,运算表达形式多种多样。数据类型有实型、整型、数组类型、结构体类型、指针类型等内容。学生面对繁多的知识内容,容易记不住,也会出现知识混淆的现象。例如在使用字符串赋值时,学生很容易混淆指针变量和字符数组的赋值方式;二是语法规则琐碎,指针的应用又使得编程灵活多变。在调试程序过程中,一个分号的漏写,或是一个错误的数据类型的赋值,就可能导致程序产生很多错误,而刚接触C语言的同学,特别是英文不好的同学,找出疏忽较为困难时容易产生自暴自弃思想,造成学习兴趣不浓,对于后续课程学习将产生不利影响。
2、教师教学模式
从目前来看,许多院校C语言程序设计课程教学模式都是课堂教学+上机实验为主。教师基本以课堂知识讲解为主,按照传统的先语法后程序设计的教学模式进行教学,容易使得内容枯燥无味。长此以往,学生会觉得学习C语言只是为了应付期末考试和等级考试,而不知道为什么C语言中有指针,结构体这些数据类型,从而丧失学习兴趣,阻碍学生编程思维的发散,造成部分学生学完C语言只能通过考试,却不具备实际解决问题的能力。在后续课程中也无法进行有效衔接,学过和没学一样。上机实验以书本内容为主,缺乏适当拓展训练。大部分学校都是一名教师带多名学生上机实验,无法面面俱到,帮助每名同学及时解决问题,造成部分同学在问题得不到及时解答时觉得程序设计很难,很枯燥乏味因而丧失学习信心和兴趣。
3 C语言程序设计课程的教学策略
1、有效培养学生计算思维能力
计算思维中算法思维与系统思维是两种重要的思维,而程序设计是提高计算思维能力的重要途径。程序设计教学过程中,应强化算法,弱化语法。算法是问题的求解过程,在设计过程中,对算法的可行性,时间空间代价的考虑,能够更好地培养学生的算法思维能力。当学生将算法用具体语言实现时,又很好地培养了系统思维。由于C语言是其他多种语言的基础,如果学生真正弄清楚问题的解决方法时,再用其他语言更容易实现。然而学生学习程序设计之初,大都没有头绪无从下手。因此,实际教学过程中,教师应讲透知识点内容,带着学生编程,逐步让学生从模仿到自己编程,培养C语言学习兴趣。上机实验时让学生在实验之前画流程图,或是编写程序代码,然后上机调试,找出错误原因。通过不断地编程学习,能够培养学生的计算思维能力。
2、科学运用先进教学手段方法
一是运用案例递进驱动教学法。实际教学过程中,教师设计教学案例时应根据思维规律渐进式地分析问题,找出内在规律。题目不在多而在精。例如输入若干学生成绩,求最高分,最低分,平均分等。从基本输入输出开始,到数組,指针,文件,结构体都可以围绕该问题用不同方法进行求解,同时题目难度也可以逐渐增加。这样学生不至于觉得问题无从下手,能很自然地对熟悉的问题在不同方法下求解去比较异同,又从而达到对知识的掌握和运用目的。
二是运用任务驱动法。实际教学过程中,教师应作为引导者而非传统的“满堂灌”方法。通过提出问题—设计算法—编写程序这一系列的过程,能够有效提高学生的学习兴趣。教学过程中可以提出一些有趣或实用的例子,活跃课堂气氛,提高学生参与度。例如鸡兔同笼问题,点名程序,学生档案管理程序等既结合了书本知识点,又吸引了学生,通过自己编写程序提高决问题的能力。教学过程中还可以结合如人脸识别系统,嵌入式系统开发等当前热点或是与学生专业相关的C语言的最新应用,要求学生查阅资料了解,拓宽自己的知识面。从而吸引学生,加强C语言这门课程的学习。
三是翻转课堂教学模式。翻转课堂模式相比传统课堂模式在教学时间的分配环节具有较大区别,翻转课堂主要通过网络和现实课堂在教师引导和协助下,进行教师与学生之间、学生与学生之间的互动和交流。实现翻转课堂,需要搭建相关的网络教学平台,录制重点内容的微视频或推荐网上好的Mooc视频,将线上和线下学习有机结合。教师通过提问、讨论、网络测试等方式了解学生的课外学习情况,学生在课堂提出疑问,讨论,上机编写程序。这样既能够促进学生的学习主动性,积极深入地思考问题,又能够通过分析教学数据,帮助教师有效改进教学过程,提高教学质量。
4 结语
总之,今后的实践教学过程中,C语言程序设计课程的教学应以学习主根本,有效培养学生计算思维能力,通过科学运用先进教学手段方法,达到有效教学的目的。
参考文献
[1] 林冬梅, 冉清. C语言实训教程[M]. 北京:高等教育出版社,2011.
[2] 何钦铭, 颜晖. C语言程序设计[M]. 北京:高等教育出版社,2008.
[3] 耿国华.程序设计能力培养模式的探索与实践[J].中国大学教学,2009(3) : 30-32.
[4] 祁俊.《C语言程序设计》课程对学生思维能力的训练[J].青海大学学报:自然科学版,2009(10):91-93.
[5] 王红光,都丽霞.C程序设计教学方法改革实践[J].城市建设理论研究:电子版, 2013,4(32):252-253.
[6] 王颖,杨文莲,刘丽娟.C语言教学中不容小觑的思维能力培养[J].中国科技信息,2011(2):212-213.
作者简介
张越男(1978-),女,工程硕士,讲师,研究方向计算机多媒体方向。