关于C语言课程的思考与探讨

2015-09-09 06:11吕静
电脑知识与技术 2015年16期
关键词:计算思维C语言任务驱动

吕静

摘要:作为一门最基础的计算机程序设计课程,C语言的地位和作用是非常重要的。很多高等院校将C语言作为理工科学生的必修课程。文章根据教学现状和教学要求,通过讨论实际教学中面临的一些问题,对如何教好该门课程进行探索。文章同时也从培养学生计算思维的角度,讨论如何提高学生分析问题解决问题的能力。

关键词:C语言;计算思维;教学方法;翻转课堂;任务驱动

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2015)03-0153-02

Thinking about the C Course Teaching

LV Jing

(School of Computer Science and Technology, Nanjing Normal University, Nanjing 210046, China)

Abstract: As one of the basic computer programming courses, the C language is very important. Many universities take the C language as a compulsory course for some engineering students. The paper based on the status quo of teaching, explores how to teach the course. At the same time, the paper also discusses how to improve the students ‘abilities by computational thinking.

Key words: C language; computational thinking; teaching methods; flip classroom; task-driven

1 C语言教学现状

1.1 学生现状

C语言可以说是许多常用程序设计语言的母语,学会了C语言再学习其他的程序设计语言可以达到事半功倍的效果。C语言不仅具备高级语言的特点,同时还具备汇编语言的优越性,因此具有极好的实用性。但在实际教学过程中,存在以下问题:(1)语言内容繁多,比如C语言有34种运算符,运算表达形式多种多样。数据类型有实型、整型、数组类型、结构体类型、指针类型等内容。学生面对繁多的知识内容,容易记不住,也会出现知识混淆的现象。例如在使用字符串赋值时,学生很容易混淆指针变量和字符数组的赋值方式。(2)语法规则琐碎,指针的应用又使得编程灵活多变。在调试程序过程中,一个分号的漏写,或是一个错误的数据类型的赋值,就可能导致程序产生很多错误,而刚接触C语言的同学,尤其是英文不好的同学,找出这样的疏忽比较困难时容易自暴自弃,从而导致学习兴趣减弱,不利于后续课程的学习。

1.2 教学模式

目前大部分教学模式都是课堂教学+上机实验。教师基本以课堂知识讲解为主,按照传统的先语法后程序设计的教学模式进行教学,容易使得内容枯燥无味。长期以往,学生会觉得学习C语言只是为了应付期末考试和等级考试,而不知道为什么C语言中有指针,结构体这些数据类型,从而失去学习兴趣,同时也会阻碍学生编程思维的发散,导致有些学生学完C语言仅仅只是能通过考试,没有实际解决问题的能力。在后续的课程中也不能有效衔接,学过就像没学的一样。上机实验以书本内容为主,缺乏适当的拓展。大部分学校都是一个老师带多名学生上机实验,很难面面俱到,帮助每个同学及时解决问题,造成部分同学在问题得不到及时解答时觉得程序设计很难,很枯燥乏味也很容易放弃。

2 课程教学探讨

2.1培养学生的计算思维能力

算法思维和系统思维是两种重要的计算思维,程序设计是提高计算思维能力的重要途径。在程序设计教学中要强化算法,弱化语法。算法是问题的求解过程,在设计过程中,对算法的可行性,时间空间代价的考虑,可以很好地培养学生的算法思维能力。当学生将算法用具体语言实现时,又很好地培养了系统思维。由于C语言是其他多种语言的基础,当学生真正搞清楚某类问题的解决方法时,再用其他语言可以很容易实现。但是学生在刚开始学习程序设计时,往往没有头绪,对着电脑无从下手。因此在实际教学过程中,讲透知识点内容,带着学生进行编程,一步步让学生从模仿到自己编程,逐渐提高学习兴趣。上机实验时让学生在实验之前画流程图,或是编写程序代码,然后上机调试,找出错误的原因。通过不断地编程学习,可以逐渐培养学生的计算思维能力。

2.2 设计好的教学方法

1)案例递进驱动教学法。在实际教学中教师设计教学案例时要根据思维规律,渐进式地分析问题,找出内在规律。题目不在于多而在于精。比如输入若干学生成绩,求最高分,最低分,平均分等。从基本输入输出开始,到数组,指针,文件,结构体都可以围绕该问题用不同方法进行求解,同时题目难度也可以逐渐增加。这样学生不至于觉得问题无从下手,能很自然地对熟悉的问题在不同方法下求解去比较异同,又从而达到对知识的掌握和运用。

2)任务驱动法。在实际教学中,教师的作用是一个引导者,而不再是传统的“满堂灌”。通过提出问题—设计算法—编写程序这一系列的过程,可以有效提高学生的学习兴趣。而在教学过程中提出有趣或实用的例子,可以活跃课堂气氛,提高学生的参与度。比如鸡兔同笼问题,点名程序,学生档案管理程序等既结合了书本知识点,又吸引了学生,通过自己编写程序提高决问题的能力。在教学过程中还可以结合如人脸识别系统,嵌入式系统开发等当前热点或是与学生专业相关的C语言的最新应用,要求学生查阅资料了解,拓宽自己的知识面。进一步吸引学生,同时也重视C语言这门课程。

3)翻转课堂模式。翻转课堂模式与传统的课堂模式最大的区别在于教学时间的分配环节。翻转课堂主要通过网络和现实课堂在教师引导和协助下,进行教师与学生之间、学生与学生之间的互动和交流。实现翻转课堂,需要搭建相关的网络教学平台,录制重点内容的微视频或推荐网上好的Mooc视频,将线上和线下学习有机结合。教师通过提问、讨论、网络测试等方式了解学生的课外学习情况,学生在课堂提出疑问,讨论,上机编写程序。这样既可以促进学生的学习主动性,更深入地思考问题,又可以通过分析教学数据,促进教师有效地改进教学过程。

3 结束语

在以后的教学过程中,教学方法主要从以教师为主向以学生为主转变,以课堂教学为主向课内外结合转变,以一张试卷定成绩向综合考核方向发展。通过设计好的案例激发学生的学习兴趣,提高学生自主学习的能力,从而训练学生良好的编程思维, 为学生在后续课程的学习中打下坚实的基础。

参考文献:

[1] 谭浩强.C 程序设计[M].北京:清华大学出版社,2001.

[2] 占德臣. “大学计算机”一一所有大学生都应学习的一门计算思维基础教育课程[J].中国大学教育,2011(4).

[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.

猜你喜欢
计算思维C语言任务驱动
基于Visual Studio Code的C语言程序设计实践教学探索
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
程序设计课程中计算思维和应用能力培养问题研究
民族高校C语言程序设计课程教学改革的研究
任务驱动式教学模式在电子技术课程中的应用
算法的案例教学探析
任务驱动教学法在《网络应用服务管理》教学中的应用
浅谈艺术专业学生计算思维能力的培养
任务驱动, 启发学生自学