非计算机专业C语言课程教学研究论文

非计算机专业C语言课程教学研究论文

非计算机专业C语言课程教学研究

杨梦

(中国矿业大学 (北京) 机电与信息工程学院,北京)

摘 要: C语言是一门重要的计算机基础课程,在非计算机专业的C语言教学中,由于注重语法教学,缺乏编写程序解决实际问题的能力的培养,使得教学结果未能令人满意。本文通过分析造成这些问题的原因,提出了相应的教学方法建议,将有利于增强教学效果,提高学生的编程能力。

关键词: C语言;编程能力;任务驱动教学

高等学校计算机基础教学是为非计算机专业学生提供计算机知识、能力与素质方面的教育,旨在使学生掌握计算机相关信息技术的基本知识,培养学生利用计算机分析问题、解决问题的意识和能力,提高学生的计算机素质,为将来利用计算机知识与技术解决自己专业实际问题打下基础[1]。C语言是一门重要的计算机基础课程,主要讲授程序设计语言的基本知识和程序设计的方法与技术,同时涉及数据结构、算法基础等方面的初步内容,学会使用C语言编写程序解决实际问题,有利于提高学生的思维和实践能力,也有利于计算机相关课程的学习[2]。大多数高校采用的教学模式是理论教学与实验教学交替进行,希望学生通过实验课程可以联系和掌握理论知识,进一步解决实际问题,但学生对这门课的理解和掌握程度不能令人满意,如何提高C语言教学效果一直是理论和实验教学工作中的重点和难点。本文从C语言教学现状出发,分析理论和实验教学中存在的问题,提出了相对应的教学方法,进行一系列的改革,从而提升教学效果。

一 C语言教学现状分析

(一) 缺乏学习兴趣

首先,对于非计算机专业学生,大多数不明确学习这门课的目的是什么,认为课程内容与自己所学专业没有联系,缺乏学习动力,导致上课不专注,实验的时候不认真。再者,C语言程序设计作为计算机编程的入门课,必然要讲授一些基本概念、术语,比如常量、变量、数据类型、函数、指针等,这些内容是编程的基础,需要学生深入掌握,才能应用。大量的概念和理论的讲解,使得学生普遍反映上课听的懂,自己编程就不知从何入手,并且随着教学内容的推进,学习内容难度加深,明显会有学生慢慢跟不上进度,失去对课程的学习兴趣。

(二) 语法格式难掌握,无法应用于实践

C语言程序设计有丰富的数据类型和各种算法,规则繁多但使用灵活、编程自由度大,这是C语言程序设计的特点及优势所在,但同时使得C语言程序设计内容较难掌握,增加了学生学习C语言的困难度[3],如果教师在讲述过程中没有主动认识到这一点,过分强调C语法,反而不利于程序设计技能的形成。C语言程序设计课程除了要学习C语言语法,还涉及对程序设计、数据结构、算法等概念以及计算机体系结构相关知识的学习,而学生大多是初次接触计算机编程,还未建立相应的知识体系,难以对概念有深度理解,无法融会贯通,无法将所学理论应用于实践。

二 C语言教学方法建议

针对非计算机专业学生学习动机不明,C语言教学中概念陌生,规则繁多,使用灵活,学生无法应用于实践的问题,本文提出一些应对方式。

(一) 明确课程目的,培养学习兴趣

C语言程序设计课程旨在培养学生通过C语言编写程序解决实际问题的应用能力,因此,第一堂课就需要明确学习目旳,并不是单纯计算机语言语法的学习,重点在用程序设计的思维方式分析问题进而利用计算机程序解决问题。 以实际应用为目的,激发学生学习兴趣。在绪论介绍过程中可以通过程序示例展示,比如杨辉三角形、简单的信息系统、一些小游戏,让学生间接获得编程解决问题的成就感,建立学习这门课的兴趣。在具体讲解理论概念之前先进行目录梳理,指出C程序学习的重点和难点,章节与章节之间的联系,让学生对之后的学习有所准备。

(二) 重点培养学生用计算机程序解决问题的能力

算法是分析问题后给出的明确的解决问题的步骤,算法是程序设计的灵魂。人们对现实问题的思维方式是具有跳跃性的,以解决问题为主,而程序是按照程序员明确设定的“过程”执行的[4],所以编程的前提是要了解计算机程序的执行特点,用“过程”的方式给出解决方案。在教学过程中,可以先解释计算机面向“过程”这一特点,在学生的头脑中建立一个最简单的以存储器为中心的计算机程序的执行过程,把求解问题的算法转化为利用存储单元进行的“取”、“计算”、“存”的过程[5],帮助学生形成以计算机的角度出发思考解题步骤,然后再将解题步骤翻译成为C语言的面向问题分析、面向过程求解的编程方式。当同学建立起基于存储器的执行方式后,对C语言中的其他难点问题,例如函数参数传递,数组、指针的理解也会比较容易。在授课过程中要更强调程序设计的方法,即从分析问题提出解题步骤,然后将步骤“过程化”,再把算法转化成为C语言。因此语法、规则可以理解性记忆,不再是晦涩难懂的概念术语。 在学生头脑中建立了基于存储器的计算模型后,还需要不断练习加深这种印象,提高学生阅读程序的能力。

在C语言学习进阶阶段,可以组织学生实现一个简单的项目,培养学生用模块化程序设计的方法解决复杂问题的能力。在学习完C语言基础知识之后,采用项目分解教学法,比如,将一个简易的图书管理系统逐步分解成各个实验内容,按照项目开发的流程,由浅入深、由易到难。随着项目任务的逐步实现和项目功能的不断完善,让学生体会通过编程解决实际问题的成就感,增强学生的自信心。例如,图书查询功能,可以让学生领会if…else选择结构的使用,图书编号排序功能可以让学生理解“冒泡”排序、for或while循环以及数组的使用,图书信息浏览功能可以让学生学会函数的使用、结构体的定义和文件指针的利用,加深学生对现实问题的分析、分解、实现的一般的软件开发流程。

C语言是注重实践的课程,实践也是初学者入门的一条捷径,在教学活动中应注重引导学生面对问题分析解题步骤并编写程序解决实际问题,来培养学生用程序解决问题的能力。

马来西亚在建设国家空间数据基础设施过程中采用了土地行政区划标准代码与名称——唯一地块识别码(UPI)、马来西亚地理信息标准的实施与采用——要素与属性代码(MS1759)、马来西亚元数据标准(MMS)、地理空间数据质量评估指南、地址标准化规范、道路标志与编号系统标准规范和地名数据库与国家地名字典中的地名标准化等标准。

(三) 以任务驱动教学,鼓励学生独立思考,提升编程能力

C语言规则繁多,使用灵活,容易出错,在教学中应针对C语言的特点,通过具体形象的程序实例让学生加以实践, 比如在程序实例上,再进行一些简单的修改,直观地展示不同条件造成的不同的结果,解释原因,然后在此基础上提出新的问题,引导学生思考如何修改,从而理解实际问题分析解决与程序设计之间的转换过程,在实验教学过程中,要鼓励学生用不同的方法来解决同一个问题,在正确编程的基础上尝试改进,这样可以让同学充分思考,提高独立思维能力,逐渐培养学生进行程序设计的正确思维模式,不断提升编程能力。

该品种春季幼叶黄绿色,夏季成熟叶片深绿色,椭圆形,叶面革质有光泽。树姿开张,枝条节间短,无针刺。幼树生长势较强,喜肥,干性强,枝条直立生长,进入结果期后,骨干枝自然开张,树势中庸。丰产期亩产可达4 200 kg。

(四) 有机结合多种教学手段

C语言教学一般都是以多媒体教学为主,比如可以动态的图示化演示程序执行过程, 但如果只是单一地使用多媒体辅助教学,容易使得学生信息饱和,影响学生的理解[6]。在教学过程中,可以将多媒体教学与程序窗口、板书、课堂讨论结合起来,由多媒体呈现理论知识点,程序窗口对程序进行部分改动验证结果, 而对于算法分析或程序的编写过程,就需要发挥板书的优势,分步讲解,再结合实际生活启发学生,将问题层层剖析深入。 除此之外,还可以课外充分利用网络资源,将大纲、习题等放在网上,供学生自行选用、讨论。

三 结论

在课程教学中,教师应具有不同的角色,课程处期,教师是引导者,以讲授法为主,构建程序设计解决问题的思维方式,培养学生的学习兴趣;课程前期,教师是讲授者,帮助学生接受C语言各种定义的方式和语法结构;课程中后期,教师是协助者,让学生成为课堂主体,面对问题进行分析提出解决方案。教师应设计好课前任务,及时获得反馈以调整课上活动,引导学生举一反三,研究规律,掌握方法,实现独立编程。

近年,贵州省骨干水源工程建设投资增长迅速,但主要还是依靠各级政府的财政投入。近年开工建设的项目中,仅黔中水利枢纽工程一期获得17.83亿元、8座中型水库获得11.91亿元贷款,其他融资渠道几乎缺失。因此,需要在确保各级财政投入稳定增长的前提下,进一步研究金融信贷支持政策,进一步拓宽融资渠道,加快推进水价改革,探索有利于建立骨干水源工程建设投入稳定增长机制的土地政策和税费减免新政策。

参考文献

[1] 教育部高教司. 关于进一步加强高校等学校计算机基础教学的意见[R]. 2006.

[2] 谭浩强. C程序设计(第四版)[M]. 北京:清华大学出版社.2010.

[3] 姚衡. 计算机C语言编程过程中的常见问题[J]. 电子技术与软件工程, 2018(1):246-246.

[4] 周英杰,张萍,郭雪梅,等. 微机原理、汇编语言与接口技术[M]. 人民邮电出版社, 2011.

[5] 陈洪涛,顾沈明,刘军.非计算机专业C语言程序设计的课堂教学实践与改进[J].计算机教育,2009(02):125-126.

[6] 李蕾. 多媒体和黑板式两种教学方式的比较[J]. 高等理科教育,2009,88(6):51-52.

本文引用格式: 杨梦.非计算机专业C语言课程教学研究[J]. 教育现代化,2019,6(71):108-109.

DOI: 10.16541/j.cnki.2095-8420.2019.71.036

作者简介: 杨梦,女,山西人,中国矿业大学(北京)机电与信息工程学院,讲师。

标签:;  ;  ;  ;  

非计算机专业C语言课程教学研究论文
下载Doc文档

猜你喜欢