高校信息专业C语言教学改进体验论文
高校信息专业C语言教学改进体验论文(精选3篇)
高校信息专业C语言教学改进体验论文 第1篇
高校信息专业C语言教学改进体验论文
一、C语言教学的现状及改革的必要性
1、教学方法
(1)古老的C语言教学方法最初教授C语言程序设计,一般采用两节课讲理论,两节课上机,理论与实践1:1,上机课基本上是学生将课本上的例题调试通过就算成功,自己尝试编程很少,这样的结果是,一学期下来,学生根本就不会编程,效果很不理想。
(2)当前的C语言教学方法目前多数C语言教学采用一体化教学,即所有课程全部在机房上机,机房配有投影仪,边讲边练,这样的教学方式比传统的理论与实践分开教学要好很多,学生学习的知识能得到及时的巩固,但是,其教学内容还是没有跳出传统的C语言教学体系,传统的C语言教学内容有个致命的弱点,就是抽象,不直观,学生看不到C语言编程的强大功能,给人感觉学生不知道C语言到底能干什么,这样很难激起学生学习的兴趣,教学效果也很差,等到高年级发现可以利用C语言控制单片机和嵌入式系统,做出各种的项目,明白C语言的强大功能时,学生就开始后悔当初没好好学习C语言,可惜已经有些迟了。
2、学生现状与教学改革的必要性C语言编程学习需要有较强的抽象和逻辑思维能力,也许那些高考分数较高的一本院校学生,会对C语言感兴趣,高职高专的学生逻辑思维能力较差,自学能力,学习自觉性都较差,,加之现在90后功利心普遍比较强,对于那些短时间看不到实际效果的东西失去兴趣,因此,必须进行教学改革,将抽象的C语言赋予一些直观的元素,体现C语言强大的硬件控制能力,将C语言控制单片机和嵌入式系统进行融合,将C语言的知识点贯穿于嵌入式系统开发的多个案例之中,这样就使学生的学习热情大大提高,教学效果自然就好。
二、我们改革的具体做法
1、将51单片机中的7个经典案例融入C语言教学之中,这7个案例分别是流水灯控制、数码管显示控制、键盘扫描控制,音乐演奏器与电子琴设计,液晶显示控制,电子日历时钟闹钟设计,简易电子计算器设计,将C语言的.理论知识贯穿于这7个案例之中,每个案例下分若干个子案例,如流水灯中,最开始是点亮一个发光LED,再到点亮多个,然后到开始流水,流水又分多种方式,这中间就涉及到C语言的语法、语句、顺序结构程序设计、循环结构程序设计、函数的编写和使用、位运算等知识,数码管的显示控制就涉及到循环结构、数组、函数的知识,键盘扫描涉及到分支结构、位运算、函数的知识,音乐演奏器与电子琴的设计涉及到数组、指针、宏定义等知识,液晶LCD显示控制涉及指针、结构体等知识,电子日历时钟闹钟设计和简易电子计算器的设计较为综合,几乎涵盖了C语言所有章节的知识,这样就将C语言传统的章节打乱了,分别融入到这7个项目当中。
2、实际授课中,7个案例分解成若干个小案例,遵行的原则是从易到难,逐步过渡,用实际效果来吸引学生,激发学生的学习兴趣,引导学生掌握相关的知识点和相关技能,我们的教学步骤大概如下:第一步,给学生演示设计效果,告诉学生我们要完成的任务;第二步,讲解完成本任务需要的知识点;第三步,引导学生完成此任务的设计思路;第四步,学生分组开始着手设计和完成任务;第五步,教师观察学生完成任务情况并现场指导,根据学生完成情况作适当提示,鼓励先完成任务的学生帮助后进的学生;第六步,检查学生完成情况,让学生汇报成果和交流方法和心得;第七步,教师总结并指出学生完成任务的优点和不足,指出改进方法;第八步,教师扩充相关知识点;第九步,布置课外任务及说明下次课要完成的任务,要求学生预习相关知识点。
3、教学环境,整个课程在一体化教室完成,要求每生一台电脑,至少安装Keil4或者更高版本Keil软件,Protues仿真软件,VC6。0或者TurboC,要求配有投影仪。
4、教学中的注意事项
(1)安排课程尽可能4节或者8节连堂,这样做的好处是,有时候完成一个任务需要较长时间,有利于学生思维的衔接,完成任务的效率更高。
(2)考虑到部分学生学习C语言还可能走PC编程路线以及参加全国计算机二级C语言考试,教学中还需要补充相关内容,VC6。0或者TurboC底下编程以及一些常用例程的编写和调试,补充讲解单片机中较少涉及到的文件的操作,文件操作在嵌入式Linux中会用到。
(3)鼓励学生多多动手编程,这个很重要,C语言程序设计这门课,没有捷径,最好的办法就是多动手编程,看一百遍代码还不如自己编写一遍,不提倡照着现成代码敲,这样学习效果不如由自己编写来的快。
5、考核方式改革传统的C语言程序设计考核方式注重理论考试,只重视知识,不重视技能,学生会做题,但不会编程,我们要注重编程能力的考核,我们的做法是理论考试占总成绩的30%,实践编程能力考核占40%,平时表现占30%三。小结经过笔者多年C语言、单片机及嵌入式技术的教学,尝试过多种教学方法后发现,本文所述方法最受学生欢迎,教学效果也最好,以上是本人的一点尝试,不足之处在所难免,希望读者批评指正。
电子信息工程专业中的C语言教学 第2篇
电子信息工程专业为我校的特色专业, 本专业培养的是熟练掌握现代电子技术理论、通晓电子系统设计原理与设计方法, 具有软硬件工程开发能力的综合性技术人才。因此, 作为可以对硬件编程操作的中级语言, C语言对电子信息工程专业的人才培养是非常重要的。其重要性主要体现在以下几个方面:
1.1 重要赛事方面
由教育部举办的全国电子设计大赛、湖南省电子设计大赛和湖南省大学生程序设计大赛是电子信息工程专业学生检验自己、锻炼自己和提高自己的最佳途径, 本专业及相关职能部门领导都非常重视, 鼓励学生积极参与。
电子设计大赛作品的控制部分由MCU实现, 如DSP、51单片机等, 显然, 控制部分的软件部分也是由C语言完成。在笔者以前指导的电子设计大赛中, 用过汇编语言来实现控制部分, 但是在碰到一些具体问题的时候还是觉得非常不方便, 例如处理浮点数。C语言在此方面却非常简单方便, 这是因为浮点数在C语言中是以IEEE格式存储的, 一个浮点数占用四个连续字节, 例如, 浮点数34.526存为 (160, 26, 10, 66) 这四个数。要将一个浮点数存入EEPROM, 实际上就是要存这四个数。那么如果要访问浮点数, 只要设法找到存储位置就可以了。C语言中提供了一个void指针, 将此指针指向需要存储的浮点数, 然后将此指针强制转化成char型, 就可以得到组成该浮点数的各个字节的值了。
因此, 在电子设计大赛的培训阶段, 通常将C语言的编程练习作为其中一个非常重要的环节。
1.2 科技兴趣小组创新方面
作为多元化教学模式的一个重要环节, 通过班级导师积极组织、引导兴趣小组的建立和活动的开展, 先后组建了电子制作、家电维修、EDA设计、网页制作等班级、院级兴趣小组共16个。有相当一部分学生进入各类兴趣小组, 定期组织活动, 开展形式多样、不拘一格的活动。例如, C语言兴趣小组定期举办编程比赛, 选题如贪吃蛇、绘制余弦曲线或圆、捕鱼和分鱼等, 活动中学生学到了很多C语言库函数, 收获非常大, 而且很有成就感, 充分展现了个人风采。
1.3 毕业生就业方面
随着电子信息技术的高速发展, 各个公司为了提高市场占有率, 对软件或者硬件的开发人才要求越来越高。很多的大型企业要求求职者需要具备比较高端的硬软件开发技术, 如嵌入式系统、ARM单片机、DSP、FPGA等。据2011最新就业报道 (http://wenku.baidu.com/view/17c2002de2bd960590c6772b.html) , 在沿海大城市, 电子信息类工作中DSP最有前途, 接下来就是C底层开发和ARM单片机, 本科毕业5年后平均工资都有1万元左右。可见, 现在不再是“学好数理化, 走到哪里都不怕”的时代了, 而是“学好C语言, 走到哪里都不怕”!
2 目前电子信息工程专业中的C语言分布情况
目前, 电子信息工程专业的C语言分布主要体现在《信号与系统》、《单片机原理与应用》等专业必修课, 以及《DSP技术与应用》、《嵌入式系统及应用》等专业选修课中的实验以及课程设计中, 毕业设计中也广泛体现。这些专业课涉及到的处理器, 如单片机、DSP处理芯片等, 内部都有核心MCU, 因此对MCU编程选用C语言进行编程, 如《信号与系统》采用的是Borland C, 《〈单片机原理与应用〉课程设计》要求的是C51, 《DSP技术与应用》采用的是CCS2.0软件, 《嵌入式系统及应用》采用的是标准C。以《嵌入式系统及应用》课程为例, 共开设6个实验, 其中1个演示性实验、1个验证性实验 (软件) 、3个设计性实验 (分别为2个硬件实验, 1个软件实验) , 以及1个综合性实验 (硬软结合) , C语言程序设计占实验总数的50%。《信号与系统》课程开设了三次实验, 要求进行信号的合成与分解, 采用C语言实现。《DSP技术与应用》开设四次实验, 全都用C语言实现。将这些课程的实验或课程设计做了一个统计, C语言程序设计占实验总数 (含课程设计) 的64.7%。可以看出C语言在电子信息工程专业课程的实验和课程设计中所占的比例是非常高的。
3 C语言对于电子信息工程专业的课程的支撑作用
C语言的相关知识点, 如表达式、数组、指针、函数等, 对于电子信息工程专业的专业课程的学习是非常重要的。以函数指针为例, 单片机系统、嵌入式系统中都大量使用。如在程序设计中, 常常需要跳转到某一特定的地址上执行, 例如引导程序, 就需要运行如下C语言程序:
此代码使得主函数执行位于0x2000地址的程序代码。其中 ( (void (code*) (void) ) 表示指向代码段函数的指针, 它对数据0x2000进行了强制类型转换, 使函数指针指向地址为0x2000的代码段地址。通过反汇编窗口可以看到编译器生成了如下汇编代码:
C:0x000F 122000 LCALL C:2000
此外, 单片机系统、DSP系统以及嵌入式系统也广泛使用软件延时。由于控制系统从指令发出到执行部件的执行需要一段时间, 因此在程序设计中往往增加软件延时程序, 以满足执行部件有足够的时间。此时, 运用C语言的循环结构程序设计就能够非常方便地解决, 如:
除了以上两个例子, 大量控制系统和电子信息产品设计中都要广泛应用C语言的数据结构、数组等知识点, 可以看出掌握C语言对于电子信息工程专业的专业课程的学习非常重要, 也非常必要。
4 C语言对于电子信息工程专业的不足分析
C语言最大的优点是用户不需要了解控制系统的指令系统, 以单片机为例, 用户仅要求对单片机的存储器系统结构有初步了解。同时C51编译器对寄存器分配、不同存储器的寻址及数据类型处理等细节自动管理;程序可读性好, 移植容易。用C语言来编写目标系统软件, 会大大缩短开发周期, 且明显地增加软件的可读性, 便于改进和扩充, 从而研制出规模更大、性能更完备的系统。缺点是占用资源较多, 执行效率没有汇编高。例如:对于目前普遍使用的RISC架构的8bit MCU来说, 其内部ROM、RAM、STACK等资源都有限, 如果使用C语言编写, 一条C语言指令编译后, 会变成很多条机器码, 很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。
而汇编语言是一种用文字助记符来表示机器指令的符号语言, 是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。
因此, 使用C语言开发单片机系统或者其他控制系统, 则有助于提高程序的执行效率, 实现结构化的程序设计, 有利于学生编程思想的培养, 而汇编语言的学习有利于学生更好地理解并掌握控制器的内部结构及工作原理。例如在学习单片机内部结构及工作原理的一章时, 运用汇编语言就比较好, 特别是CPU内部专用寄存器的讲解。而在定时器与中断系统这一部分的介绍时, 利用C语言比较好, 程序简单明了。
5 结语
本文首先分析了C语言的特点、发展及分类, 并结合电子信息工程专业的特点, 对单片机、DSP、嵌入式等课程的C语言程序设计实验进行了统计, 并举例说明了C语言对于电子信息工程专业的专业课程的影响及支撑作用, 表明C语言教学对于电子信息工程专业的人才培养是非常有意义的。然后, 分析了C语言目前存在的不足, 并提出将C语言与汇编语言进行融合教学的思想, 以期作为参考。
摘要:本文针对本校电子信息工程专业的C语言教学的重要性、实施情况及不足进行了详细的介绍, 尤其对于该专业的C语言教学与其他专业的C语言教学进行了比较, 认为教学过程中应注重强化与专业知识相关的内容, 而无关的内容应该少讲或不讲。最后本文也将C语言与汇编语言进行了比较, 提出教学过程中应融合这两种语言, 各取所长, 相得益彰。
关键词:C语言,汇编语言,电信专业
参考文献
[1]龚丽.浅谈高职学院的C语言教学[J].广西轻工业, 2010, 12:99-100.
[2]钱建波, 于正永, 何晓凤.浅析高职院校项目化教学及其在C语言教学中的应用[J].科技教育创新, 2010, 21:252-253.
高校信息专业C语言教学改进体验论文 第3篇
关键词:C语言,指针,数组,函数
0.引言
C语言是国内外广泛使用的一种计算机语言, c语言功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好, 既具有高级语言的优点, 又具有低级语言的许多特点。因此, C语言不仅是计算机专业学生的一门重要课程, 也是高校中非计算机专业学生学习计算机知识的一门重要课程。学会使用C语言编写程序解决实际问题, 有利于提高学生的思维创新能力, 也有利于计算机方面相关课程的学习。本人多年从事非计算机专业C语言教学的研究, 文中介绍了非计算机专业学生学习C语言的方法, 指出了C语言学习的疑难问题所在, 并给出解决方案。希望对广大非计算机专业的读者学习和使用C语言有所帮助。
1. C语言教学方法的探析
1.1 把握C语言的特点, 培养学生对C语言的兴趣
C语言是计算机高级语言中执行效率较高的语言, 运用灵活, 使用方便。《C程序设计》详细介绍了c语言出现的历史背景、算法设计、书写流程及程序的调试等功能。由于c语言牵涉的改建比较复杂, 规则繁多, 使用灵活, 容易出错, 不少非计算机专业的初学者感到困难。但如果我们在教学中针对C语言的特点, 通过具体形象的程序实例让学生加以实践, 学生便会感觉到C语言的神奇, 有了神奇感, 学生就会产生学习c语言的兴趣, , 就能够领略C语言的魅力, 。在具体程序实例上, 再进行一些简单的修改, 让程序产生不同的结果, 并解释原因, 然后提出新的问题, 让学生思考如何修改程序以解决新的问题, 从而让学生明白实际问题分析解决与程序设计之间的转换过程, 逐渐培养学生进行程序设计的正确思维模式。
1.2 算法是程序的灵魂, 通过加强实验教学从而加深对算法与程序的理解
算法是c语言程序设计的灵魂, 程序能否正确解决某个问题的前提是要分析出解决该问题的正确算法, 因此在教学中必须将算法设计作为程序设计课程的教学重点, 以培养和提高学生分析和解决问题的能力。但对于非计算机专业C语言的初学者来说, 简单算法的分析与设计基本能够理解或者说具有一定解决问题的能力, 如求一元二次方程的解, 排序、查找等典型算法, 但如果将算法转化为程序似乎更难更抽象。C语言是一门实践性非常强的课程, 因此, 上机实践是C语言程序设计初学者入门的一条捷径。因此, 本人在对非计算机专业学生多年的教学中, 采用对算法精讲多练, 增加实验课时的方法, 加强实验教学, 使学生加深对算法与程序之间的抽象转换, 形成正确的思维模式, 养成良好的书写习惯, 取得了良好的教学效果。
1.3 教学过程中正确认识本课程的难点
作为教师, 如何高质量的完成教学任务, 不仅要对本课程的认识和理解具有一定的深度, 而且要认识到本课程的重点与难点。本人在多年的教学过程中, 通过教学研究和与学生交流, 认为c语言中函数和指针是课程的两个重点与难点, 主要表现在指针与数组和函数与指针的关系上。指针是C语言中的一个重要概念, 也是C语言的一个重要特色。正确而灵活地运用指针, 可以有效地表示复杂的数据结构、能动态分配内存、使用字符串、有效而方便地使用数组等, 可以说c语言中没有学会指针的使用等于没有学会c语言。但同时指针的概念和使用也难以理解, 尤其是指针与数组的关系, 给程序设计者的学习和应用带来很多困难。我们知道每个数组都有确定的起始地址, 数组名本身代表了该数组的起始地址, 这样, 数组就与程序的其他实体一样, 可以把数组的起始地址送入指针变量, 用指针变量指向数组, 然后通过指针变量访问数组中的元素, 以提高目标程序的质量。无论是指针与一维数组、二维数组, 还是指针与函数的关系, 主要在于指针与数组代表的基类型上。下面我们分别讨论在不同情况下指针的使用:
第一种情况:
int*p;/*指针p指向基类型为整型的变量*/
int a[m];/*数组a的基类型为整型*/
对于一维数组与一级指针, 显然可以通过p=a或p=&a[0]语句将数组a的首地址传给指针变量p, 也就可以通过指针变量p可以访问数组a, 二者的使用是完全相同的。
第二种情况:
int (*p) [n];/*指针p的基类型为含有n个整型元素的一维数组, 又称p为行指针*/
int a[m][n];/*数组a的基类型为含有n个整型元素的一维数组*/
对于这两个语句, 我们可以这样理解:在int (*p) [n]中将 (*p看作一个整体, 在int a[m][n]中将a[m]看作一个整体, 再根据第一种情况的形式, 我们显然可以通过p=a或p=&a[0]语句将数组a的首地址传给指针变量p, 也就可以通过指针变量p可以访问数组a, 二者的使用是完全相同的。
第三种情况:
int**p;/*指针p的基类型为指向基类型为整数的指针*/
int*a[m];/*数组a的基类型为指向基类型为整数的指针, 称a为指针数组*/
同样, 对于这两个语句, 我们可以这样理解:在int**p中将*p看作一个整体, 在int*a[m]中将a[m]看作一个整体, 再根据第一种情况的形式, 我们显然可以通过p=a或p=&a[0]语句将数组a的首地址传给指针变量p, 也就可以通过指针变量p访问指针数组a, 二者的使用是完全相同的。因此, 通过以上三种情况的对比使用, 使得初学者有一个比较清晰的认识, 也就在程序设计中一般不会用错。
1.4 传统教学方法与多媒体教学相结合, 不断改善教学手段与方法
针对C语言抽象、使用灵活、学习难度大、难记忆等特点, 课堂教学不能完全采用传统的教学方式, 只在讲台上给学生讲授程序应该如何如何书写, 程序的输出结果是什么什么, 而应采用多媒体教学和传统教学相结合教学模式, 采用引导式、启发式和互动式等教学方法, 引导学生积极思考, 主动学习。启发式是在教师在全面掌握讲授内容的前提下, 在讲解新的内容前, 通过对以前学习知识的复习, 引出新的问题, 从而进入新课程的讲解。例如在讲解选择结构程序设计章节时, 应先让学生回忆一下顺序结构程序的执行过程, 进而引出选择结构在C语言程序设计中的实现原理和编程思路。互动式教学是教师驾驭讲台能力的具体体现。教师授课时, 要不断观察学生的表情, 了解学生接受新知识的程度, 并及时调整教学进度和教学节奏, 必要时师生可以在课堂上进行交流。允许学生在不懂的时候随时提问, 教师根据实际情况决定是当场解答, 还是课下解答。真正实现课堂上的互动, 使学生主动思考, 自然接受, 其教学的效果必然会明显提高。对于难度大、有显著的特点的教学内容, 可采用对比的教学方法, 以加深学生的理解。
教学过程中在不同的阶段采用不同的教学模式, 在理论教学中建议采用多媒体教学与传统教学相结合的教学模式, 因为我们通过长期的教学实践发现, 传统教学方法的教学效果和纯粹的多媒体投影教学的教学效果都不尽如人意, 只有将两者有机的结合起来, 相互补充, 相互借鉴, 才能达到理想的教学效果。只有这样一方面通过现代化的教学手段, 能够使具体事例形象化, 抽象的问题具体化, 用传统的粉笔+黑板难以讲述的问题, 通过多媒体课件的演示, 使得复杂问题简单化, 抽象问题形象化, ;另一方面, 通过传统的教学模式多媒体教学模式的相互补充, 弥补了多媒体教学互动性差的一面。
2. 结语
C语言程序设计是高校非计算机专业的一门重要的计算机基础课程, 对于后续专业课程的学习非常重要, 因此C语言的教学模式与方法是一个非常值得研究探讨的问题, 要想取得良好的教学效果, 必须不断加强理论教学与实践教学的探索。
参考文献
[1].谭浩强.C程序设计 (第二版) [M].北京:清华大学出版社, 2002.1
[2]. (美) H.M.Deitel, P.J.Deitel著, 薛万鹏等译.C程序设计教程[M].北京:机械工业出版社, 2000.7
[3].李新霞.也谈C语言教学[J].计算机教育, 2004.12 (67)
[4].邵维忠, 杨芙清.面向对象的系统分析[M].北京:清华大学出版社, 1998
[5].王晓闽, 刘浩.二维数组数据结构分析[J].山东建筑工程学院学报, 2004.12 (70)
高校信息专业C语言教学改进体验论文
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。


