期刊大全 杂志订阅 SCI期刊 投稿指导 期刊服务 文秘服务 出版社 登录/注册 购物车(0)

首页 > 精品范文 > c语言程序设计论文

c语言程序设计论文精品(七篇)

时间:2023-03-20 16:16:21

c语言程序设计论文

c语言程序设计论文篇(1)

关键词:移动学习,C语言程序设计,教学

 

1 移动学习

移动学习(M-Learning)是借助移动互连技术,使用移动计算设备(智能手机、PDA、移动电话等)实现学习者随时随地进行不同目的、不同方式的学习[1]。移动的内涵包括:形式上是移动的,即学习者不再受时间、空间和有线网络的限制,可以随时随地进行不同需求、不同方式的学习;学习环境是移动的,学习资源和学习者也是移动的;内容上是互动的,进行教学活动的双方实时交流,教育信息、教育资源与教育服务依靠移动计算技术和互联网技术实现双向“移动”,教与学相互促进,才能更充分的体现移动学习的优越性;实现方式上是数字的,移动学习是基于无线移动设备进行的数字化学习,它是在数字化学习的基础上发展起来的,是远程学习发展的一个新阶段[2] 。

现阶段的移动学习受技术条件的制约,通常作为高校教学的一种辅助学习模式,主要应用于管理和为学习支持服务提供“交互”通道,学生和教师通过使用移动设备(如手机等)方便、灵活地实现交互式教学活动。高校移动学习的主要应用模式分为三大类:基于短信息的在线移动学习,基于连接的在线移动学习以及存储移动学习模式[3]。基于短信息的在线移动学习具有使用费用低,设备普遍支持等优点,主要应用于通信数据少并且可用简单文字描述的学习活动和学习服务,可用于向学习者发送课程安排、考试安排和考试成绩等信息,提供指导、激励和支持等作用。基于连接的在线移动学习和存储移动学习,需要建设WAP站点,提供能够支持移动设备访问和下载的学习资源,着重选取能够贴近学习者生活和工作同时又较为时尚和流行的主题作为学习内容。存储移动学习和基于短信息的在线移动学习将是目前在高校中最切实可行的移动学习应用模式[4] [5]。

2 C语言程序设计课程特点

C语言作为当今最为流行的程序设计语言之一毕业论文范文,不仅是计算机专业的必修课,也是很多

非计算机专业的学习课程。随着计算机的普及,学生运用计算机的能力越来越强,但计算机程序设计课程因其较复杂的语法、编程等知识,依然是众多学生学习上的“拦路虎”。

C语言程序课程知识点琐碎,概念繁多,理论不易掌握;概念抽象且复杂,包含的数据类型和运算符丰富,需预习与复习相结合才产生较好学习效果;对应的规则繁多且易混淆,使用较为灵活,容易出错,使得学生容易产生畏难、厌倦情绪;理论与实验教学学时分布不均衡,导致课堂教学中,对如何分析和解决问题讲得不够充分,学生编程思路不清楚;实验过程中,不能将理论知识应用自如,在处理实际问题时往往不知从何入手,需要在平时教学中注意培养学生动手能力[6][7]。

C语言程序课程的这种特点,适合采用移动学习作为其辅助教学方式。针对C语言理论性强的特点,可以在课前课后发送定时短信,提示预习摘要求较高,不好的缩进格式影响其呈现效果,结构化风格使得程序占用篇幅往往较长等等,这些因素均会制约移动设备的可读性。

3移动学习在课程教学中的应用

根据上述分析,设计移动学习方式如下:总体原则,以传统教学方式为主,移动学习方式为辅,移动学习方式充当课堂教学的重要补充,能够实现课堂知识的延伸,指导和激励学生进行更深层次的学习和实践。实现方式,主要采用基于短信息的在线移动学习方式,配合基于连接的移动学习空间、论坛,以及存储移动学习资源建设。针对课堂教学,精心设计课前案例,提出驱动式问题,相关预习提示,课后设计相关重点回顾,知识点延伸,以短信形式发给学生,对于短信不能很好显示的内容可以邮件形式发送给学生,或者放在相关网站上,以消息的形式提醒学生查收。软硬件支持:考虑到学生普遍拥有设备的程度,将移动设备限定在普通移动手机,软件使用中国移动飞信校园版(EFetion_campus)[10],可以支持PC端向移动手机的短信群发,通过飞信、群、语音、邮箱、空间等多种方式实现互联网、移动网间的无缝互通毕业论文范文,还可以使用日程提醒,邮件提醒等功能打造个性化的学习指导。移动学习具体实现方式如图1。

图1 移动学习应用模式图

3.1功能模块介绍

移动学习做为一种辅助教学模式,能够参与到C语言课堂教学的课前准备,课后辅导以及实验指导等方面。

3.1.1短消息学习模块

(1)课前预习提示。可将每节的学习目标、重点、难点发送给学生,也可发一典型程序,加驱动式问题,发送到邮箱里,同时设置邮件提醒功能。

(2)课堂内容回顾。对前面课程学习过的知识内容以短信形式发给学生,提醒其回顾。

(3)作业提示、阶段测试。也可仿照上述短信设置方式,定时群发给所有的学生。

3.1.2移动学习空间或论坛

移动学习空间既可以方便学生在线浏览,也要努力适应基于连接的移动学习访问,其资料下载模块提供的学习资源,也要支持移动终端设备。移动学习论坛,实现学生自由交流空间。在移动学习论坛上定期设置讨论专题,既可以是关于某个错误进行分析,也可以针对相关程序选题集思广益,还可以是对当前教育进行探讨等等。

(1)课堂内容延伸。可提供诸如:MSDN使用介绍,帮助学生自如设计C/C++程序等;CSDN论坛介绍,提供同资深程序员交流学习的平台。

(2)常见错误提示分析。提供调试程序基本步骤,常见错误解读及可能出错原因。

(3)课程设计选题。设计相关程序选题,使其能够体现课程各个阶段的进度,并且具有一定的实用性,趣味性,能够调动学生的学习积极性。

(4)测试空间。提供一些历年试题,可以帮助学生巩固理论学习。

(5)教育思考。定期对教学进行总结,寻求更好的教学方式,也可以一些高校精品课程网站链接。

(6)资料下载。课程内容的各种学习资源,如PPT课件、多媒体课件、部分课程的录音、录像等;有关课程的各种辅导资料,如各章节的知识要点、课程设计任务库、程序设计案例库、试题库等都可以作为下载的资料。

3.2移动学习内容设计

在高校教育中,学生同时需要进行多门课程的学习,如果在针对某一门课程实施基于短信息的移动学习方式时,设计过多的短信内容,或者发送较多的次数,都将会给学生造成信息轰炸,带来过重的信息负担。配合C语言程序课堂教学,在课前课后发送两条飞信,每次不超过5页,对于无法以短信内容呈现的资源就发送到邮箱,同时以短信形式提醒学生注意查收。程序设计课程所涉及程序对格式要求较严格,一个程序案例通常占用较多篇幅,此时以邮件的方式发送较为合适,同时在相关论坛上设置讨论专题,根据学生回答设置最佳答案,统计学生活跃度,作为平时成绩参照。图2为课前预习的飞信基本内容设计。

图2 飞信基本内容设计

把课程内容按照“章-节-知识点”的层次模式进行组织,整理出每章每节的学习目标、重点、难点、学习指导、参考资料等内容毕业论文范文,并概要总结出每个知识点的核心内容和若干测试题目,学习者可以通过短信息随时随地自由学习、复习这些重要的知识点,并对学习的效果进行测试。设计短信内容时需考虑程序格式问题,屏幕显示行数,尽量控制在8行*5屏=40行,每行8字以内,不要以图片的形式发送(涉及彩信资费问题)。

另一方面,为课程的核心内容提供文档、PPT课件、课程录音、课程录像等多种媒体格式、适合多种移动终端的学习资源,满足学习者不同的学习需求和学习习惯。学习者只要把这些资源通过教学网站,下载到自己的移动终端上,当他们在教室外面、公共汽车上等地方时,都可以通过移动终端来浏览这些学习内容,充分享受移动学习的便捷与方便,而且不需要承担高昂的移动通讯费用。但是供下载的资料要充分考虑移动学习的特点,不仅要考虑学生的设备支持程度,还要考虑移动学习的片段性特点,对其中的部分资料需要进行特殊处理使其适合移动学习方式,主要处理原则,按知识点,将文档,影音资料都处理成片段,确保一个片段一个知识点,每个片段持续10分钟左右。

4 实验分析

借助中国移动飞信校园版,上述大部分移动学习方式都可以实现,从PC端到手机客户

端可以方便的实现短信群发,只要不超过一定数量,免费且易于操作。学生也分常乐意参与到这种形式的移动学习中来,非移动用户除了在接收短信受限之外,也可以加入飞信校园版PC端,可以共享资源。实验证明,使用移动学习方式作为程序设计课程的辅助教学方式能够大大调动学生学习的积极性。但是在学生中间出现了两级分化的现象,部分同学兴趣高涨,能够充分利用提供的学习资源,学习进度甚至出现超前现象,另外一部分同学上课时也在查看手机,学习不仅没有进步,反而沉迷于手机上网。这种现象提醒大家不仅应该注意实施移动学习的方式,同时还要加强大学生的思想教育,使其认识到网络资源的便利性和危害性,能够主动的去寻求有益的资源来提高自己。

使用飞信实现移动学习还有以下必须注意的地方:(1)飞信中涉及大量广告,容易分散学生注意力。(2)短信数量过大,易给学生造成信息轰炸,要限制性的使用。(3)需警惕不法分子盗取飞信或手机号,进行诈骗。可以利用飞信的二次开发功能,屏蔽其他模块,使其更适合校园使用。

移动学习对学习者也要有一定要求毕业论文范文,比如说需要一定的自学能力,自制能力,以及较强的学习动机等[8][9]。现阶段的移动学习在高校教学中应该起辅助作用,但不能排除其对研究生,博士生及在职人员充电的作用,所以还是要做好移动资源的建设工作,注意打上数字签名保护知识产权。

5 结论

当前,移动学习是教育界的研究热点。将移动学习方式引入语言类课程的教学中已取得较大进展,但将其应用到C语言程序设计课程教学中来,还属于尝试阶段。移动学习给教学改革注入新鲜活力,其对高校教学的促进作用,不仅依赖教师的合理使用和学生的大力配合,还依赖于软件平台的设计。本文所使用的飞信校园版,受到发送短信条数,广告绑定等不利因素的限制,不仅要考虑课程特点,还要考虑软件的使用规则,不能充分发挥移动学习的优势。下一步需要改进的地方,不仅在于移动学习资源的建设,还要建设实施移动学习的软件平台,不仅要适合移动终端在线浏览,还要能够与校园各个系统整合,充分利用现有资源,更加适应程序设计课程的要求。

参考文献:

[1]德斯蒙德·基更.移动学习:下一代的学习[J].开放教育研究.2004

[2]刘豫钧,鬲淑芳.移动学习——国外研究现状之综述[J].现代教育技术.2004

[3]王建武.3G网络下基于彩信的被动式移动学习实践研究[D].西安:陕西师范大学.2009

[4]张珑,王建华,张军,邸佳奇.移动学习在高等学校教学改革中的应用[J]. 计算机教育.2010(6):34-37

[5]王伟,钟绍春,吕森林.大学生移动学习实证研究[J].开放教育研究,2009,15(2):22-27.

[6]张素芹,吴连生.独立学院“C语言程序设计”教学改革实践[J]. 计算机教育.2010

[7]顾钧.程序设计语言课程的概念体系及教学策略探讨[J].中国成人教育.2010

[8]李望秀.高校教学中的移动学习[D].长沙:湖南师范大学.2008

[9]徐楠.M_Learning在现代远程开放教育中的应用研究[D].南京:南京师范大学.2005

[10]http://efeixin.10086.cn/product/category_15.html

c语言程序设计论文篇(2)

关键词:C程序设计;课题研究型教学模式;实例教学模式;实用性程序教学模式;双语教学模式

中图分类号:G642文献标识码:A文章编号:1009-3044(2012)13-3116-02

Study on the Teaching Mode of C Program Design in Agricultural University

LIU Li-qun, WANG Lian-guo, HAN Jun-ying, LIU Cheng-zhong

Abstract: To resolve the flaws of the traditional teaching, by combining the characteristics and advantages of agricultural university, the paper researches the teaching mode of C program design. It discusses new four teaching modes including project study teaching mode, instances teaching mode, practicable program teaching mode and bilingual teaching mode. Its purpose is to resolve the practical teaching problems of C program design in agricultural university, and improve the students’computer program designing ability.

Key words: C program design; project study teaching mode; instances teaching mode; practicable program teaching mode; bilingual teaching mode

1高等农业院校C程序设计教学现状

“C程序设计”是一种被广泛学习、普遍使用的计算机程序设计语言。它的高级语言形式、低级语言功能具有特殊的魅力,是高等农业院校理工科类学生必修的基础课程。目前,高等农业院校C程序设计教学主要存在以下问题[1-3]:1)只为了“学习语言”而学习,注重语言的语法学习,而忽视用软件作为工具去解决实际问题的本质。2)学生的学习兴趣不浓,不能积极主动的投入到学习中,自身的思维能力得不到发挥。3)学生的学习应用能力很差,只能理解例题以及相近似的问题,自己不能独立分析问题解决问题。

2高等农业院校C程序设计课程教学新模式

以上传统教学的弊端是C程序设计课程教学工作中普遍存在的现象,因此在教学中必须结合农业院校的特色采用新的教学模式。

2.1课题研究型教学模式

课题研究型教学模式是指基于网络教学平台,精讲多练,以学生在课题研究中探索式地学习为主,以网站答疑讨论为辅,试题库在线测验为补充的教学模式。1)实行“精讲多练”,教师只作入门性的、重点的、带有启发性的讲授,而不仔细讲授细节,指导学生通过自己看书,在网络教学平台上用多媒体课件或其它各种学习资料进行自学,大部分学时进行上机实验教学,充分利用上机练习等掌握所学的内容。2)调整传统教学内容的先后顺序,在上课前先给每个学生,或若干学生一组,布置一项程序开发课题,该课题力求既结合生产实际,又能涵盖课程教学的要求。教师提出学生自学和开发、研究的进度,设计教学进程,让学生在课题开发的过程中利用在线学习平台学习基础理论和程序开发的思路与方法,学期结束前完成该项目,其成绩记入操作设计分。3)上机教学时,教师跟踪辅导,根据学生上机操作的情况,了解学生对课程学习的进度和深度,为每个学生打平时表现分,记入学生平时成绩库。4)建立计算机基础课程教学网站,网站的主要内容是:在线学习平台、辅导答疑论坛、在线考试试题库。5)参考全国计算机等级考试的题型,设置在线考试试题库,根据安排的教学进度,每个重要学习单元都要求学生利用课余时间进行上机测试,达到熟练掌握基本理论和基本概念。然后,教师组织学生在线考试,现场打在线测验分,并记入平时成绩库。6)网络教学平台的辅导答疑论坛,各教师负责解答学生提出的问题,根据学生在答疑论坛发表见解的次数和见解深度,打答疑讨论分,并记入平时成绩库。7)学生最终的学习成绩由平时成绩、期末成绩和上机考试成绩构成,其中平时成绩又由在线测验分、答疑讨论分、平时表现分、操作设计分按照一定的权重构成。

2.2实例教学模式

针对传统C语言教学的弊端,提倡基于“任务驱动”的“实例教学模式”[4]。以任务驱动的方式,通过实例讲授程序设计的基本概念、基本方法,把重点放在解题思路上。从开始就使学生将注意力集中在所解决的问题领域,从具体实例理解C语言的开发特点和程序总体框架,通过实例本身既学会某一类问题的解决方法和算法设计,又掌握了C语言的基本语法、语句。即在C语言的环境下,针对实际问题进行分析、构建数学模型、设计算法、最后编程实现。

在学习的不同阶段设计不同针对性的实例。1)开始阶段设计的实例是将学生的注意力吸引在C语言的总体功能和程序的总体框架上。2)在学习中间阶段设计针对某些数据类型或应用特点的实例、针对模块分解和组合的实例、针对算法分析与设计的实例等。3)在学习的后期进行综合课程设计,将所学知识融会贯通。

2.3实用性程序教学模式

在教学内容上,增加了如猜数游戏、身高预测、体型判断、洗扑克牌等兼具趣味性和实用性于一体的程序实例,并补充了代码风格、函数封装、流、程序调试、常见错误分析等现代程序设计必备的知识,重视在新形势下的新方法、新规则和新思想的传授,把程序设计领域最新、最有价值的思想和方法渗透到C语言中,着重培养学生无论以后在学习、工作中使用什么语言编程,都能灵活应用这些思想和方法的能力。

2.4双语教学模式

作为程序设计语言,本身的语法表达采用的就是简单而含义明确的英文单词,语言的控制结构、语法关键词、数据类型、函数名称等都是采用英文单词表示。而C的上机操作环境均采用英文信息显示,如英文菜单、操作提示信息和编译错误提示信息等,因此计算机与英语言之间有着密不可分的关系[5]。在C程序设计课程的教学中加入适当的计算机及程序设计方面的英文专业词汇,部分或全部教案采用英文形式,将有助于学生专业英语水平的提高和尽快熟悉、适应以英文信息为基础的软件开发环境。

3结束语

传统的教学观念以C语言语法为主,忽视程序设计能力的培养。结合高等农业院校自身的特色和优势,以创新教育为导向、深化农业院校学生计算机程序设计能力培养的教学体系建设为目标,提出了四种新的教学模式,解决了实际的教学问题,教学效果良好。

参考文献:

[1]王方.C语言教学模式:“简单任务+归纳法”[J].安庆师范学院学报:自然科学版,2011,17(3):112-116.

[2]刘彩虹,郭政,于建海,等.C语言教学探讨[J].信息与电脑,2011(2):113.

[3]王圆妹.非计算机专业C语言教学改革的探讨[J].长江大学学报:自然科学版,2009,6(2):385-386.

c语言程序设计论文篇(3)

关键词:《C语言程序设计》;教学内容;实验内容;课后思考;考核方式

中图分类号:G642文献标识码:A文章编号:1009-3044(2011)20-4917-01

《C语言程序设计》在各高等院校广泛开设。不同学校的学生对这门课程要求不一样,对一般本科院校的学生来说,这门课程难度偏大,学习起来有一定困难,不易学习!随着课程教学的改革,许多学校对这门课程课时进行了压缩,教师根据课时也进行教学调整,随着课时减少,很多学生没有养成自学的习惯,导致教学效果不理想。《C语言程序设计》对大部分学生,是接触的第一门计算机语言课程;它学不好,直接影响到学生后面对计算机学科的学习,数据结构、算法分析等课程也就很难开展。根据以上现象,本文拟从教学内容、实验内容、课后思考以及考核方式等方面进行探讨,提出《C语言程序设计》教学改革方案;期望跟任课教师交流学习,共同提高教学质量,培养学生C语言的编程能力。

1 教学内容调整

由于C语言涉及的概念比较复杂,规则繁多,使用灵活,容易出错,不少初学者感到困难,迫切希望能找到一本容易入门、容易学习的C语言教材。对目前国内各高校使用教材分析发现,C语言教材章节安排一般如下:C语言概述,算法,数据类型、运算符与表达式、顺序程序设计、选择程序设计、循环控制、数组、函数、预处理命令、指针、结构体与共用体、位运算、文件等[1]。这样的安排很符合学习逻辑,但很多教材数据类型、运算符与表达式论述过多,弄的很复杂,在没有计算机组成原理的知识背景下对数据类型、码制等问题的学习,几乎不可能做到真正理解;如果在这些内容花过多篇幅描述,或花过多时间讲解,会把学生刚从第一章中学习了几个C程序例子激发学C语言的激情慢慢抹灭,甚至有的学生因为理解不了,对学C语言产生害怕的心理,不利以学生的学习。

针对上述问题,对教学内容调整如下。第一章概述精细讲解几个例子(输出、2个数加法、2个数最大数),第2章只精细讲解一个例子(5!阶乘),其他的例子简单讲解,第3章讲解数据类型时,只要求学生掌握基本数据类型定义,对基本类型存储、范围、类型转换可以后面章节例题中讲解。顺序结构可以跟基本数据类型合并起来讲解,使学生上机、实验都有了练习的内容,持续了学生学习C语言的热情。一般院校学生的学习主动性不是太好,保持学生的学习兴趣很重要。

2 实验内容思考

实验是提高学生实践能力的主要途径之一。在学习C语言过程中,经常会听到学生说:“上课我能听懂老师所讲的,下课让我自己编写程序,我就不知道怎么入手了。”这样的现象在刚开始学C语言的学生中普遍存在;这种现象会打击学生的积极性,也不利教师教学。在刚开始教学的章节,教师可以固化下简单程序编程的步骤。如一个程序体有4部分组成,变量声明(变量定义)部分、输入部分、数据加工、输出部分;通过输出思考程序输入,通过输入、输出来确定程序的变量,再通过原始数据推导数据加工。当学生把这几个问题都弄清楚了,也就能顺利写出程序。经过前面章节简单程序的编写,到函数章节时,再提高学生对复杂程序编写能力。

实践教学内容的设计上,以巩固和综合运用课程上讲解的主要知识点为主线,内容应该具有趣味性和实用性,以从简单到复杂的任务驱动方式,要求学生从一个代码较短的程序开始逐渐完成一个代码较长的实验程序的设计。要求题目可以如下:身高预测、模拟计算器、猜数游戏、小学生算术测试、餐饮服务质量打分、学生成绩管理、模拟数字式时钟等[2]。

3 课后习题思考

随着课程教学的改革,C语言课时也大大被缩减;但是编程能力提高唯一的方法就是多读程序多写程。一般院校学生学习的自觉性普通不高,这就要求教师督促和施压;因此,课后习题布置和课后指导学习是很有必要的。课后习题的布置,可以不局限于课本;比如国家计算机等级考试二级C语言的历年真题、国家软件资格水平考试程序员级别的历年真题等都是很好的题材;程序员考试的题目更注重学生的编程能力和程序的实用性。面授时间短、学生多等原因是教师不能回答每个学生的问题,所以教师也可以建立教学网站,方便随时跟学生交流、答疑,也方便教师把课程资源共享。

4 考核方式改革

编程能力是这门课程考查的重点。什么样的考查方式能更科学地反映学生的编程能力?一直是广大教育者思考的问题。传统的考核方式主要是以笔试,理论考试为主,这经常会出现“高分低能”的现象。

C语言的考试可以不进行理论笔试;期末考试以实践环节的考核加答辩的方式。 做到不仅考理论, 同时还要考实际编程能力。平时成绩、实践考核成绩、期末考试成绩按 20%: 20%: 60%的比例评定综合成绩。

实践考查方式如下。学生可以根据自己的能力选择相应题目,进行协作完成;考查题目:1)贪吃蛇游戏;2)蓝黄棋游戏;3)五子棋游戏;4)推箱子游戏;5)骑士游历问题;6)八皇后问题;7)C语言课程设计综合应用实例――学生成绩管理;不懂的学生可以通过跟其他同学协助讨论、查找资料实现程序;对学生考查,采用答辩的方式;从4个方面进行考查: 1)程序的运行情况。A.好;B. 中;C. 差。2)对程序的结构解释。A. 好;B. 中 ;C.差。3)对某些局部模块的详细解释。A.好;B.中;C.差。4)对某些语句的现场编写情况。A.好;B.中 ;C.差。这些题目难度多层次,要经过看书学习,查资料跟同学讨论协助完成;通过答辩,评定学生对理论知识、程序的掌握程度以及编程能力并给学生建议。通过这种方式让编程能力好的学生带动其他学生,让其他学生体会学习的乐趣,编程的乐趣;让同学间互相协助。经过实验这种方法可行有效,但需要教师答辩,花费教师过多时间。

5 结束语

《C语言程序设计》的教学改革应围绕“以课程知识点为核心,以提高学生程序设计能力为主线,培养解决实际问题的应用型人才为目标”的思想,抓好课程理论、实验、考核的每一个环节,重点突出理论与实践相结合[3],根据学生实际情况,因材施教;培养出应用型程序设计人才以及提高教学质量。社会需求、生源都在不断变化,教学改革是个永久性的课题,要求教育工作者与时俱进不断改革创新,寻求适合的教育方法。

参考文献:

[1] 谭浩强.C程序设计[M].3版.清华大学出版社,2005.

c语言程序设计论文篇(4)

【关键词】C语言程序设计 实践教学方法 实践实践能力 积极性

【基金项目】2013年防灾科技学院教研教改项目(2013B24); 2012年防灾科技学院教研教改重点项目(2012A04)。

【中图分类号】G42 【文献标识码】A 【文章编号】2095-3089(2013)05-0246-01

公共基础课程C语言程序设计是面向非计算机专业本科生开设的,这门课程的教学目标是通过理论学习和编程训练,使学生较全面、系统地理解和掌握C程序设计的基本概念、语法知识和计算机程序设计的基本思想和方法,初步具备运用C程序解决实际问题的能力。通过本课程的学习培养学生利用计算机处理问题的思维方式,启发学生主动将计算机引入到其他基础课和专业课[1]。

C 语言是一门实践操作性很强的课程,要学好C 程序设计不仅要掌握好理论知识,实验教学更不容忽视。通过上机实验,不仅可帮助学生消化和巩固课堂所学知识,也可帮助学生验证学习中的疑难问题,更重要的是可激发和提高学生学习C 语言程序设计的兴趣[2]。

1.C语言程序设计实践课存在的问题

通过进行问卷调查非计算机专业学生,有69%的学生认为C语言课程对自己今后的学习与工作中比较有用;有81.25%的学生希望理论和实验课时比例为1:1,有56.25%的学生把影响学习积极性的主要原因归咎于教师、课程内容等方面;主动研究、解决问题的学生仅占37.5%,68.8%的学生课下基本不看有关C语言程序设计的书籍,75%的学生基本不会进行学习小结,68.75%的学生课下基本不会主动复习、预习新课;在C语言程序设计课程学习过程中遇到的问题,出错时希望得到教师辅导的占51.3%,只有37.5%的学生课下会花时间编写程序。

笔者从事C语言程序设计教学工作多年,通过实际教学和综合调查分析,学生层面问题突出主要体现在以下几个方面:

1)对课程认识不够重视

有的学生对C 语言认识不足,觉得没什么用,学习上缺乏主动性和积极性;有的同学又觉得C 语言很难,学习缺乏信心,对计算机程序产生一种畏惧的心理。有的学生对实验课不重视,抱着应付的态度,不愿投入很多的时间和精力[3]。

2)学生学习兴趣有待提高

在C语言的教学中,实验课的时间仅占课程的三分之一,明显感觉学生无法按时完成当次实验所要完成的任务,只能依靠学生课下自己找时间再继续完成,这样势必会存在一些问题,学生可能抄袭现象严重,还可能因为在完成实验任务的时候,对于遇到的问题不能及时得到辅导与解决,而会“知难而退”,大大消减了学生对课程学习的积极性[4]。

3)课下投入精力不足

有的学生只是在课堂上听讲,课下没有进行总结归纳、认真复习、做习题、主动查阅学习资料、不能将实验作业提前预习准备。导致知识掌握不牢固,不能有效利用实验课有限时间。

4)有效学习方法欠缺

有的学生在实践过程中过分依赖指导老师,有任何问题就找老师,自己缺乏必要的思考。在学生逐渐掌握并积累一些常用的编程方法和技巧后,可以把总结归纳作为一种重要的学习方法,提高学习效率。

由于以上的各种问题,使得实验课效果不佳,从而影响了C 语言课程的整体教学效果。

2. C语言程序设计实践教学方法的探讨

经过几年的教学实践、观察总结以及研究尝试,本文针对以上问题,总结提出几点建议来改善实践教学的效果。

1)明确学习目的,加强对C 语言认识的重要性

让学生认识到学习C 语言是具有普遍适用性的,根据各专业的不同特点,使学生明白C 语言作为一门基础性程序设计语言,对理工科各专业后续课程的开设起着开路先锋的作用,而且通过C 语言培养起来的逻辑思维和计算能力,是伴随我们学习全程的。另外,要使学生树立信心,使他们能正确地认识到自己在经过一段时期的学习以后是可以编写程序的,可以通过计算机解决本专业领域的问题,从而提高学习的主动性和积极性[3]。

2)培养学习兴趣

兴趣是学习的最好动力之一,兴趣源必须由教师来创造,并贯穿于教师授课全过程的各个环节中。针对C 语言程序设计这门课程的特点教师可采用以下方法提高学生对本课程的兴趣。

教师在课程刚开始时,能够对学生指出日常生活中哪些产品或工作可以是C语言进行程序设计完成的,并能够演示,以便吸引学生的眼球和激发学生学习的兴趣。在日后的课程中,逐渐利用已学知识来解决生活和专业学习中的实际问题。

3)充分利用实践课程

在实验教学中,由于实验课时间相对有限,建议老师在布置作业时一般要难易适当,使学生在经过努力后,基本都能编程实现,这样学生编完程序后就有一种成就感。如果作业太简单,学生轻松实现,印象不深,成就感不强烈,觉得太容易,没有兴趣。如果作业太难,学生难于实现,就会出现放弃或抄袭现象,也会丧失学习本课程的兴趣,更无从谈起学生的成就感。

对于后续课程的综合程序设计,可以将实验任务提前布置,留给学生更多的准备和预习时间,可以要求学生将作业在实验课之前写在作业本或编辑为电子版,对于出现的问题在实践课上进行独立、求助老师来解决,这样有助于问题的解决和提高学习效率,并且能够督促学生利用课余时间来进行复习和预习。这样学生对每个题目已经了解,避免学生上机时现看教材、现编程序的现象。

4)建设课程资源平台

创建资源丰富的课程资源平台,网站资源包含课程介绍、教学大纲、教学日历、教学材料、课程通知、答疑讨论、教学邮箱、课程作业等丰富的基本教学资源,所有资源实现资源共享,学生可以自行下载课件、学习资料,并进行交流讨论,为教师的教和学生的学提供学习和交流的平台,能更好地提高学生的学习主动性和学习效率。

3.结束语

本学期的C 语言程序设计课程在实践环节采取了上述教学方法后,学生对实验课的学习态度发生了根本变化,学生虽然有压力,却很有成就感,感觉学有所用。实践证明,以上实践教学方法极大地提高了学生,学习主动性和动手实践等综合能力,取得了良好的教学效果,在C语言程序设计实践课程教学中切实可行。当然,要真正上好《C 语言程序设计》的实验课,还必须将各种有效措施有机地结合起来,我们要在教学实际中总结新经验、勤于探索新方法并不断改进,才能在教学实践中取得好的教学效果,提高学生用C语言解决实际问题的综合能力。

参考文献:

[1]王冰.C 语言程序设计课程教学方法的探讨[J].计算机教育,2009 (2):142-144.

[2]程志梅,刘光萍,李荣.非计算机专业C 语言程序设计实验课程教学探讨[J].电脑知识与技术,2009(7):1649,1660.

c语言程序设计论文篇(5)

关键词:C语言;程序设计;建材建设;教学方法;

C语言程序设计是程序设计类课程的基础,是计算机专业和相关专业的核心课程,是“数据结构”、“软件工程”等后续专业课的基础课程。由于扩招和社会实际需要,很多高校都加大了对“C语言程序设计”课程教学的投入,包括教材的编写,课件的开发,实验室建设等。渤海大学是省属二本院校,鉴于生源状况和社会需求,从2003年开始,我们着手“C语言程序设计”课程的教材建设和教学方法研究。依据多年教学经验,综合考虑了课程内容的多学科、教学对象的多层次、表现形式的多样化、解决问题的多角度等不同层面的要求,综合运用了各种媒体并发挥其各自优势,形成媒体间的互动,强调各种媒体的立体化教学模式,注重激发学生的学习兴趣,构建了C语言程序设计立体化教材体系,提出了多元化的教学方法。五年的教学实践表明,C语言程序设计立体化教材体系的构建和多元化教学方法的实施,满足了多样化、个性化和实用化的教与学的需求,激发了学生的学习兴趣,提高了学生分析问题和解决问题的能力,为课程改革中的基础教育提供了一体化的解决方案。

1教材建设与教学方法研究的必要性

传统的C语言程序设计教材是一种根据培养目标和实际需要,按照教育规律编写的供教学人员使用的知识信息符号载体,教材内容围绕语言自身的语法,很少涉及应用,造成理论与实际脱节,忽略了给予学生自主学习与探究的机会,忽略了与学生的沟通与交流,忽视了对学生综合素质和创新能力的培养。另外,教材的体系结构、内容深度和例题习题配置上,使大多数学生感到不适应。其主要原因是实例少,例题和习题的配置过于数学化,理解起来有一定难度。教学过程虽使用多媒体课件作为教学手段进行讲授,但很多课件都是教材内容的复制,讲授的内容还是围绕语言自身的语法,不能调动学生学习的主动性和积极性。因此,依据“C语言程序设计”课程特点、生源状况和实际需要,编写有利于学生素质教育和创新能力的培养,注重激发学生的学习兴趣的教材,采用灵活有效、可充分发挥学生的主动性和能动性的教学方法是非常必要的。

2教材建设与教学方法研究的指导思想

根据“C语言程序设计”课程在课程体系中的地位、作用和任务确定教材内容;正确处理新理论、新技术与旧内容的关系,坚持先进性与实用性相结合、少而精的教材建设原则;以知识结构为主线,以程序设计为中心,融入科学的教学方法,理论与实际相结合。

3立体化教材建设

立体化教材是指以形成教学能力为目标,以传统纸质教材为基础,以学科课程为中心,以多媒介、多形态、多用途及多层次的教学资源和多种教学服务为内容的结构性配套教学出版物的集合。立体化教材主要包括:主教材、教学参考书、电子教案、试题库、多媒体课件及网络课程等。

3.1主教材建设

在立体化教材建设中,主教材建设通常是重点建设内容。2003年,依据课程特点和生源实际出版了《C语言程序设计教程》,对常规的C语言教材体系结构[1-2]进行了适当调整,将指针部分分散到相应的章节中分别进行讲授,增加了C语言图形绘制和C程序与DOS、BIOS接口两部分内容。强调学练结合、注重实践,与汇编语言课程形成紧密联系,便于学生掌握低级语言与高级语言的接口。依据同行专家、主讲教师和学生的意见,在此基础上进行了相应的修改,2005年,编写了《C语言程序设计》,并由清华大学出版社作为普通高校本科计算机专业特色教材出版。该教材整合了C语言程序设计课程和数据结构课程的重叠内容,结合经典案例,以设计为主线,以提高学生的理论水平、实践技能和创新能力为中心,在知识结构、内容安排、文字表述和习题配置等方面都根据生源做了反复认真地推敲,达到了教材难度与学生接受能力的最佳平衡[3-4]。增强了学生的自信心,激发了学生的学习兴趣。已被多所高校选作教材。

3.2实验指导书建设

依据主教材结构和实际需要,出版了《C语言程序设计习题解答和上机指导》。根据教学内容结合实际应用设计了16组具有代表性实验题目。要求学生每周完成一个与当前教学内容有关的实验题目,写出实验报告并演示程序。设计了10个综合性的实验题目,目的是要求学生对所学的知识进行综合利用,检查分析问题和解决问题的能力。该书的特点是体现教材的重点的难点,注重基础知识、基本技能和实际应用,强调对学生分析问题和解决问题能力的培养。

3.3电子教案建设

依据主教材内容,编写了与纸质教材配套的电子教案。电子反映了教师的教学思路、对知识点的把握及明确的教学方法,体现教材内容的精华, 也是学生复习的重要指南。

3.4多媒体课件建设

依据主教材内容,设计开发了“C语言程序设计教学演示系统”,其特点是采用了虚拟现实技术,功能强大、内容丰富完善、互动性好,能显著改善教学效果,对于学生逻辑思维方法的培养和训练具有显著的促进作用。2005年由大连理工大学电子音像出版社出版,已被省内外多所高校使用。

3.5网络资源建设

开发了“C语言程序设计”课程网络辅助教学平台,包括课程学习、电子教案、辅导答疑、网上考试、在线讨论、素材检索、重点难点、实验实训、习题与答案等大量功能模块及丰富的教学资源。学生可利用此网络资源进行自主学习和自主评价。C语言程序设计网络资源内容丰富完善,信息量大,特色鲜明,能满足现代教育技术中的交互性、个性化、及时反馈、学习者控制、协作学习等原则,能有效激发学生的学习兴趣,符合网络课程先进性、科学性、系统性、多样性的基本要求,为师生创设了一种全新的教学环境,使学生的学习完全突破了传统的时空限制而变得轻松、灵活,为课程的教学研究和教学改革提供了一个实施性强、操控性好的教学平台。

3.6试题库建设

为了做到既客观又公平,据教学大纲和实验大纲,建立了试题量大、覆盖面全、难易程度符合生源素质的笔试试题库和上机试题库。试题库按章节进行分类,试题类型以程序设计和分析为主,笔试题型包括单项选择、程序分析、程序填空、程序改错和程序设计,上机题型包括为程序改错、程序填空和程序设计。设计开发了笔试考试系统和上机考试系统,2005年由大连理工大学电子音像出版社出版,已被多所高校使用。试题的抽取和评卷都由计算机完成,使之科学化、现代化。保证了组卷、评卷的科学性和客观性。

4多元化教学方法

多元化教学方法是指以设计为主线,以提高学生的实践技能和创新能力为中心,依据教学内容灵活地使用任务驱动式、案例式、类比式、讨论式、引导式和启发式等教学方法,特别是多种教学方法的有机组合,并借助网络和多媒体课件等教学手段使这些方法得以有效实施[5-9]。

理论与实际相结合。例如,在讲授C语言概述时,通过几个典型案例介绍C语言的特点和功能。使学生感到学有所值、学有所用,增强了学生学好C语言的欲望。在多年的教学实践中,我们已经积累了大量具有代表性的案例,确保案例教学法的有效实施,有效地激发了学生的学习兴趣。

讲解与多媒体演示相结合。依据生源理解能力和接受能力,在教学过程中,借助动态的多媒体课件进行讲解。例如,将排序过程和函数递归调用过程形象地用课件展示,将抽象的问题具体化、复杂问题简单化。为教学过程注入了新的活力和生机。

教师讲授与学生讨论相结合。根据教学内容的重点和难点,设计讨论题目,组织学生进行讨论。例如,在讲授函数的参数时,要求学生讨论普通变量和指针变量作为函数的参数的区别。通过学生讨论,印象会更加深刻,理解会更加透彻。

教室课堂与网上课堂相结合。将电子教案、多媒体演示系统和项目案例都放在校园网上,供学生复习和自学。

面对面答疑和网上答疑相结合。规定时间和地点组织学生进行答疑,开发了网络答疑系统,开设了专题BBS,对观点不一致的问题定期进行面对面讨论并讲解。有效地调动了学生的学习积极性,促进了学生的积极思考,激发了学生的潜能。

5结语

经过5年的不懈努力,我们在主教材建设、实验指导书建设、电子教案建设、多媒体课件建设、试题库建设、网络课程建设和教学方法等方面都取得了较好的成果。2006年,“C语言程序设计”课程被评为辽宁省精品课程。2004年,“C语言程序设计教学法研究”获渤海大学优秀教学成果二等奖。2005年,《C语言程序设计》被评为渤海大学精品教材。2008年,“C语言程序设计课程教材建设与教学方法研究”获渤海大学优秀教学成果一等奖,2009年,获辽宁省优秀教学成果二等奖。

具有专业特色和适合人才培养的立体化教材体系优化了课程体系,整合了教学内容,反映了当前程序设计的主流技术和发展趋势。强调学练结合、注重实践、可操作性强。教师易教、学生易学。多元化的教学方法保证了整个教学活动以程序设计为主线,提高了学生的理论水平、实践技能和创新能力为中心。立体化教学平台保证了学生进行自主式学习、发现式学习、探究式学习、协作式学习等, 激发了学生的学习兴趣,增强了学生分析问题和解决问题的能力。培养了学生掌握在信息化社会中的自主学习能力。我校学生的程序设计水平有了显著提高,程序员考试合格率连续5年均超过了50%。在毕业实习中和毕业以后,大多数学生都能迅速胜任应用软件的设计与开发,学生就业率提高了21%。为其他课程的教材建设和教学方法研究起到了示范作用。

参考文献:

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

[2] 何钦铭. C语言程序设计[M]. 北京:高等教育出版社,2008.

[3] 马靖善,秦玉平. C语言程序设计[M]. 北京:清华大学出版社,2005.

[4] 蔡开裕,朱培栋,徐明. 国家精品课程“计算机网络”教材建设研究与实践[J]. 计算机教育,2008(8):69-70.

[5] 林小茶.“C语言程序设计”教学方法思考[J]. 计算机教育,2009(12):24-25.

[6] 王振岩,张玲. 探究式教学方法在C语言教学中应用的一些体会[J]. 计算机教育,2008(6):63-64.

[7] 范红,吴怡之. “C语言程序设计”趣味实例教学方法的探讨[J]. 计算机教育,2009(10):58-59.

[8] 王冰. C语言程序设计课程教学方法的探讨[J]. 计算机教育,2009(2):142-144.

[9] 严悍,衷宜,赵学龙. 编程语言教学实践中QDeV 方法探讨[J]. 计算机教育,2008(5):56-58.

Teaching Material Construction and Teaching Method Research on C Language Programming Course

QIN Yu-ping, MA Jing-shan

(College of Information Science and Technology, Bohai University, Jinzhou 121000,China)

c语言程序设计论文篇(6)

关键词:课程整合;模块化案例教学;启发教学;程序设计;解决问题能力

中图分类号:G642 文献标识码:B

1引言

“C语言”是从事计算机软、硬件开发和应用人员必备的专业知识。C语言既具有高级语言的特点,又具有低级语言的功能,语法结构简洁精妙,便于描述算法,写出的程序效率高,运用C语言可以编写系统底层的内核程序。C++、Java、C#、J#、perl等高级语言也是衍生自C语言,所以掌握了C语言,可以很容易掌握这些新型的语言去开发程序。因此在高等院校与计算机相关专业的教学计划中,“C语言程序设计”是一门必修的基础课及核心课程,是一门理论性和实践性均较强的课程。开设“C语言程序设计”课程主要培养学生掌握结构化程序设计的基本方法,建立严谨的程序设计思想及较强的动手编写及调试程序的能力,逐步培养独立分析问题和解决问题的能力。同时为数据结构、操作系统及其他高级语言课程等后续专业课程的学习打下扎实的理论和实践基础。

在以往的教学过程中,大部分学生对学习“C语言程序设计”存在畏难情绪,更不知如何运用C语言解决实际问题。教学效果不理想,给后续学习造成障碍。笔者在教学中调整了以往按部就班的教学模式和重理论轻实践的教学理念,将模块化案例教学引入“C语言程序设计”的课程中,进行了教材整合和强化实践教学,并围绕模块化案例展开C语言教学,以案例引出C语言的知识点。全部授课都以程序设计为目的,收到显著的教学效果。

2课程进行整合,建立模块化案例教学

2.1传统的教学模式以语言知识为主线

传统的“C语言程序设计”课程教学模式采用以语言知识为主线,按照变量、数据类型、表达式、数据输入/输出、流程控制、函数、指针、结构、文件等顺序进行教学,实训课多以验证为主。学生在学习的过程中每一知识点都是独立听记,不能将所学知识进行综合运用。因此,学生是边学边忘,学习后续内容没有前期知识支撑,学到5~6周就失去学习的兴趣和信心,甚至有些学生放弃对该门课的学习,到期末考试突击复习,不及格率比较高。

2.2课程整合以程序设计为主线

课程整合以程序设计为主线贯穿语言各知识点,就是将“C语言程序设计”课程内容分解为四个模块,即C语言基本程序设计模块、函数模块、指针模块、文件模块,每一模块都以案例展开C语言的知识点教学,讲解C语言的理论知识为目的,上机实训以授课中的案例贯穿始终,即强化理论知识的掌握,便于后续知识的学习,同时还要逐步培养学生编写C程序的能力,紧紧围绕这四个模块的案例举一反三展开程序设计的实训。

2.2.1基本程序设计模块

利用“统计一名学生的三门课程平均成绩”的程序,引导出变量、数据类型、表达式、数据输入/输出等C语言基本知识。这阶段主要是引导学生掌握C语言程序的基本结构,编写程序的基本方法,是学习C语言入门阶段。如图1所示。

2.2.2函数模块

C程序是由若干函数构成的,函数是C语言的核心知识。因此,在讲函数知识及设计函数程序时,将前面讲述的计算学生多门课程成绩组合成较完整的C程序案例。如图2所示。

通过这个案例讲清C语言中变量的存储类型的区别和功能,函数调用、参数传递的方式及要求,按值和按地址传递区别。在讲函数调用时启发学生逐步完成图2各个程序模块的组合。同时调动学生的积极性逐步扩展图2中的功能,将所学的知识进行综合应用,并提出预处理和文件包含知识概念及运用。

2.2.3指针模块

指针是C语言的重要功能,正确而灵活地运用指针,可以动态分配内存和对物理地址直接进行操作,方便地使用字符串和数组,有效地表示复杂的数据结构,在函数调用时能获得1个以上的函数值。指针内容非常丰富,而且复杂,这部分是C语言的重点,也是学习的难点。按常规模式教学,学生对指针知识理解难、运用更难,部分学生到此几乎放弃学习。采用模块案例教学,学生首先了解指针的运用,调动学生学习的兴趣和学习的欲望,然后逐步从指针案例中启发引出知识点,边学边用,通过实例反复练习,学生能较灵活运用指针知识编写程序。指针模块如图3所示。

首先利用演示链表案例引导出动态分配内存。然后演示用指针修改数组处理学生成绩排序的程序案例,或者设计较简单的对硬件操作的案例,让学生了解指针知识运用之后,再由学生模仿将函数模块中用数组存储数据修改为用指针进行数据处理。在知识引申的过程中,逐步提出字符串指针、指针数组及指针数组做main()函数的参数的运用。

2.2.4文件模块

主要讲述输入输出函数,将内存中存储的数据输出到外存上,仍然利用案例分析文件的概念及文件的运用。

3围绕案例展开教学

在基本程序设计模块中,以计算1名学生三科成绩的平均成绩这个程序开始引导C语言基本知识。程序如下:

#include

main()

{ int scor1,scor2,scor3;

float grade, total;

total = 0.0;

printf(“Enter grades: \n");

scanf("scor1=%d ,scor2=%d ,scor3=%d", &scor1, &scor2, &scor3);

total= scor1 + scor2 + scor3;

grade=total/3;

printf(“Grade average is %.2f\n", grade);

getch();

}

3.1案例启发教学,使学生轻松听课

在案例教学过程中,要求学生熟记模块中程序。例如:第一次课熟记“统计1名学生三科成绩”这个程序。然后调动学生学习的积极性和主动性,引导学生积极思考和参与,一起分析程序中语句的含义,在分析语句的过程中,采用启发式的循序渐进、由浅到深、由易到难,逐步提出新问题,引出C程序中新知识,用新知识解决新问题,再举一反三写出对应不同问题的C语言程序。例如:提出判断并输出学生三科成绩的最高分和最低分引出分支结构。提出若是8门课,进行总成绩统计的简便方法,由此引导出循环结构。根据对成绩升序或降序排序引导出一维数组,再计算多个学生中每个学生多科成绩引导出二维数组等,根据引导的知识逐步扩展和加深知识的运用。

保证学生动脑、用心听课。教师在讲解每个基本知识的过程中不要面面俱到,对常用的编程知识细讲熟练,不常用的知识略讲或用表格统解,有些基础知识是随着编程逐步引出或者以后应用时在自学,保证学生听课不疲劳。听得懂、跟得上、兴趣浓,兴趣是学习的动力,动力会产生效果。同时要求学生强化记忆判断最高分、成绩排序等程序,以便于后续课由用户建立的若干个自定义函数构成较完整的程序。在分析函数案例过程中,讲清数据存储类型的区别及参数的使用等知识。授课过程如图4所示,每节课结束前教师与学生共同总结本节课的重点知识,便于课后复习。

3.2培养阅读程序的能力

读程序是学习C语言入门最快,也是最好的方法。教师在讲述程序中各语句含义的时候,首先培养学生阅读程序的能力。在阅读程序的同时注重培养学生掌握C程序的结构。例如:编写程序首先根据表达式确定变量及变量的数据类型,然后给变量赋值(直接赋值或通过键盘接受值),再进行运算,最后输出计算后的结果等。要求学生不放过每一章中提到的所有例题,仔细研读程序,直到每一行都理解了。看懂别人是如何解决问题的,学习解决问题的方法和程序设计技巧,掌握程序结构。为了使学生尽快掌握编程思想和基本结构,教师课后给学生布置一些设计C程序作业,由学生根据自身能力,阅读程序、修改程序、给程序补充语句以及写出程序运行结果,强化训练。

3.3培养学生编写程序能力,掌握分析问题算法

3.3.1模仿编写程序

“C语言程序设计”是一门实践性很强的课程,“纸上谈兵”光学不练是学不好C语言的。在阅读程序的过程中,培养学生学会模仿编写程序,如果没有深刻地理解C语言的语句及掌握编写程序的基本方法,模仿编写程序也是一句空话。在模拟编写程序时,如果写不出来,回过头来再继续研究例题,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到熟练为止,在模仿编程的过程中培养学生养成良好的编程风格。

3.3.2分析算法

利用C语言编程解决实际问题,所需要的不仅仅是C语言语句,还需要相关的专业知识及算法。例如,如果你不知道计算π的公式,即使C语言学得再好也无法编写计算π的近似值的程序。如果不知道判断闰年的条件,就无法计算某年是否为闰年。所以在程序设计过程中,必须注重培养学生分析问题及找到解决问题的最优算法,这是设计程序的重要条件。

3.4强化编程能力的训练,树立编程信心

教师在全部的授课过程中,时时鼓励学生能学好C语言。因此教师在提供丰富多样的实验题目时,注重学生的差异,让学生根据自身水平和兴趣,选择自己能理解的训练题目。让每一个学生都能享受编写程序获得成功的喜悦,以促进学生坚定学习的信心和激情。同时教师鼓励学生在学习“C语言程序设计”的过程中,阅读一本C语言方面参考书,经常上一些好的C语言论坛进行学习、交流,开阔自己的视野。教师也经常组织学生进行师生间、学生间的学习交流活动,对实训题目采取自测、在线判题等活动。这些多种交流学习方式,其目的是充分发挥学生在教学活动中的主体地位,调动学生学习的主观能动性和求知欲望,使学生在交流中得到学习、思考,取长补短获取编程的技巧。成绩考核以笔试、实训、交流等多种形式,每一环节着重考核学生综合运用所学知识编写程序、解决实际问题的能力。

4围绕模块案例开展实训教学

在“C语言程序设计”的实训教学中,通过上机调试模块中的案例强化学生对所学知识的运用及深化理解,不仅培养学生编写程序、调试程序的专业技能,同时注重对学生的人际技能方面的培养。

4.1培养学生专业技能

4.1.1调试基本程序设计模块

初学者首先掌握C语言编程软件的使用及调试程序的基本方法,修改程序中出现的语句、语法、程序流程等错误,积累调试程序的经验。在调试程序的过程中,逐步培养学生主动思考、分析、探索、发现出错的原因,并且能独立加以解决。再通过修改已经运行程序的某些语句,查看程序发生的变化及分析结果变化的原因,加深对新学知识点的理解。实现“输入”程序加深知识的记忆,“修改”程序加深对知识的理解。记忆和理解相辅相成,相互促进编程能力的提高。

4.1.2培养综合实训能力

当学生掌握了基本调试程序方法之后,对函数模块、指针模块、文件模块案例进行调试,提高学生调试综合程序的能力,修改程序中出现的逻辑结构、流程错误。综合实训可以根据函数模块案例建立学习小组,每个自定义函数分配给小组中不同学生独立编写程序、调试、运行,逐步养成独立分析问题,运用知识解决问题的能力和自学能力。然后将小组中每个人编写的程序综合在一起,进行综合调试、运行。调动学生求知欲望及运用知识的能力,鼓励学生树立创新意识,增加程序的功能,利用开放的实训环境进行自主调试,培养学生自我发展的意识。

4.1.3撰写实验报告

实验报告是对实训的总结和知识的巩固,总结实训中调试程序的经验、收获、不足和需要解决的问题,便于后续实训课的操作。实验报告也是师生交流的最好手段,老师掌握每个学生实训过程中的问题、想法、效果等,可以调整授课进度和方法,提高学生学习效果。

4.2注重学生人际技能培养

当今企业用人原则是构建在以智力因素为基础的非智力因素上,看重员工的心智模式建设及工作中表现出的协同合作精神、诚实可信性、抗压抗挫折能力。因此在综合编程实训中,培养学生与人交流沟通的能力,在编写程序过程中遇到问题能在一起讨论、研究、共同解决,养成良好的团队合作精神、责任意识,以适应市场用人的需要。

c语言程序设计论文篇(7)

计算机程序设计入门课程(Introductory Programming)是指学生在学校中所学习的第一门程序设计语言课。通过该课程的学习使学生对计算机应用及计算机程序设计有一个基本的概念,为其以后的专业课学习打下基础。计算机应用已经成为科学研究、工程实践以及商业运作等各个行业不可分割的一部分,而被纳入不同专业的教学中。因此,程序设计入门课程无论是对于计算机专业的学生,还是其他非计算机专业的学生来说都是一门非常重要的基础课程。

关于程序设计入门课程的教学的讨论长期以来一直吸引着英国计算机教育界的广泛关注。在相关的计算机教育会议上,如ITiCSE (Innovation and Technology in Computer Science Education)、JICC (Java & the Internet in the Computing Curriculum Conference),这是一个具有高争论性的主题。从当前发表在这些会议上的论文来看,基本上没有一个公认的程序设计语言是最适合的程序设计入门语言,也没有一个公认的最好的方法来完成这个语言课程的教学(Chalk & Fraser, 2006)。例如,有的教师喜欢采用支持面向对象的程序设计语言,如Java, C++ 或者 C#,而有的教师钟情于支持命令格式的语言,如C语言或 Modula-2。还有的教师相信使用功能性的程序设计语言,认为 Haskell是最好选择,而另一些人则认为脚本式的或并发式的程序设计语言,如Python 或 ADA更适合初学者 (Watt, 2004)。同时,除了语言的选择以外,如何教好程序设计入门课程也有许多不同的观点。特别是在那些选择了使用面向对象程序设计语言的教师之中,这种争论更加明显。对于面向对象程序设计的教学方法主要分为两个流派。一种流派称为“对象先行的方法”(Object-first approach)。这一流派在教学中首先介绍对象、类和继承的概念。另一种流派称为“对象后行的方法”(Object-late approach)。这种方法在引入面向对象的概念之前先强调语言的程序设计方面的元素及功能 (Gibbons,1998)。

那么,在英国的高等院校中的程序设计入门课程采用哪种程序设计语言,如何进行教学的呢?这里介绍一项英国高等教育学会 (Higher Education Academy) 的调研报告。该项调研目的是定义在英国高等院校中的程序设计入门课程所采用的程序设计语言、应用的范围、以及在不同的程序设计单元中所采用的教学方法,并且试图发现它们与专业类型之间的关系。这项调研涉及英国高等教育学会下属的44所高校。共有52位专业负责人参与了问卷调查。

分析结果显示,有10种不同的程序设计语言被用于这些高校的程序设计入门课程,而且还有许多不同的版本。其中Java是应用为最广泛的。有超过30所高校使用Java作为程序设计入门课程的程序设计语言。位于第二位的是C++。其次是C#、VB及其他程序设计语言。图1给出了具体的程序设计语言及应用分布。

按照使用这些程序设计语言的学生数量分,大约有60%的学生以Java作为第一门程序设计语言。另外两种面向对象的语言(C++和C#)大约有15%的学生在使用。被教授Haskell和Python的学生人数最少,一共只有6%的学生学习这两种语言。图2给出了学习不同程序设计语言的学生数占所调研学生总数的百分比。

另外一项有关的分类是不同的专业对于第一门程序设计语言的要求。所调研的专业包括商科类(Business)、计算类(Computing)、程序设计类(Programming)、以及计算科学与工程类(Computational Science and Engineering(CSE))。商科类的专业包括信息技术和信息系统专业;计算类包括计算技术和数字媒体专业;程序设计类包括所有以特殊的程序设计语言为主体的专业;而计算科学与工程类则涵盖了计算机科学和软件工程专业。这项调研共涉及61个专业,其中计算类专业占44%,程序设计类专业占21%,计算科学与工程类专业占18%,商科类专业占17%。图3显示了各不同类型的专业所教授的程序设计语言课程。

正如图中数据所示,面向对象的语言(包括Java, C++, 和C#)在商科类专业中采用的最少,在程序设计类专业中采用的最多。在非商科类的专业中,计算科学与工程类专业更多的选择了Java;而C++和C#则在程序设计类专业中比较流行。

关于程序设计语言的教学方法,在这项调研中分为“对象先行”(object-first)、“对象后行”(object-late)及其他。当Java为程序设计入门语言时,有55%的教师采用了对象后行的方法。42%的教师采用对象先行的方法。另有3%采用了其他教学方法(见图4)。

在C++和C#的教学过程,大多数教师(80%)采用了对象后行的方法。只有10%的教师采用了对象先行的教学方法(见图5)。

这项调研的结果显示,面向对象的程序设计语言被广泛地应用于程序设计入门课程的教学中。其中Java是应用最多的语言。在参加调研的44所高校中有30所选择了Java。位于第二位的是C++,共有8所高校选择它作为程序设计入门课程的语言,而其他程序设计语言则只在很少的学校中使用。

从教学方法上看,对象后行的方法以及对于传统的命令模式的强调是主要教学方法。对象先行的方法在目前的教学中应用的并不普及,而且主要集中于Java的教学中(40%)。对于C++和C#的教学,大部分(80%)采用的是对象后行的方法。可能的原因是C++是一种混合型的语言,它允许程序的编写不必严格遵守面向对象的模式。所以,许多教师把对象、类、以及继承的概念放在后面讲。

值得注意的是,非面向对象的语言作为程序设计入门课程的语言主要应用于商科类的专业。一方面可能是由于面向对象的程序设计语言比非面向对象有程序的程序设计语言有一个更陡峭的学习曲线。另一方面,脚本语言的出现使得快速开发可视化的商业应用软件成为可能。

当然,这项调研有它的局限性。一是参加问卷调查的高校数量比较少,只有44所,不能完全地涵盖英国各高校关于计算机程序设计入门课程教学。二是专业的划分主要是依据专业的名称及程序设计语言的应用方向来决定的,具有一定的主观性。但是,这项调研给出了英国高校计算机程序设计入门课程教学的量化的统计结果。有助于了解英国高校的计算机教育在入门阶段的基本情况。对于国内高校的计算机程序设计入门课程的语言选择及教学方法的使用有一定的借鉴作用。对于那些正在或考虑进行程序设计入门课程教学的教师,特别是开发可重用的教学软件的开发者来说,这些信息是非常有帮助的。

参考文献

[1] Chalk, B., Fraser, K., (2006) A Survey on the teaching of introductory programming in Higher Education, Proceeding of JICC10, p1-6.