C语言实践

2024-05-19

C语言实践(精选12篇)

C语言实践 篇1

一、C语言中的关键字

关键字是C语言的基本单位, 就像人类语言的词语, 单词, 建筑物的砖瓦一样, 不论多么庞大的程序, 都是由这些基本单位组成的, 这些基本结构虽然数量不少, 但是不需要刚刚接触的时候就全都记住, 只要循序渐进, 慢慢的运用, 便可掌握, 根本不需要学生刻意去记忆, 所以难度并不大。而且好多关键字的意义都差不多, 只不过类型不同罢了。

二、数据类型

1. 基本数据类型:

int是声明整型变量或函数的关键字, long, float, short, char等关键字意义跟int差不多, 都是声明语句, 只不过long是声明长整型, short是声明短整型, float是声明浮点型, char是声明字符型。它们的作用是定义变量的数据类型。

2. 复杂数据类型:

struct是结构体声明关键字, 是一种复杂类型的数据类型, 是一种很多基本数据类型的集合, 它里面包含了很多基本的数据类型。比如一个结构体里面, 可以包含有整形, 浮点型, 长整型, 字符型等各种基本数据类型, 结构体的生成并不是固定的, 而是随时随地在内存中生成, 只要有结构体的地址, 就可以应用结构体参与运算, 所以结构体一般都是配合指针使用, 需要的时候生成, 存储数据, 依靠指针保存的地址运用结构体运算, 当运算完成后, 可以按照指针的地址, 释放掉结构体占用的内存, 这个结构体就消失了, 使得内存能够循环利用, 节省系统资源。

3. 数组:

数组是一种有序数据的集合, 它能够定义一个存放变量的数据集合, 存放很多同类型的数据, 减少定义同类变量的数量, 而且在数组中的数据能够一目了然它存放数据的类型, 增加程序的可读性, 使程序可以更简练, 它既可以保存基本数据类型的整形变量、浮点型变量、字符型变量等。也可以保存复杂型的数据, 即保存结构体的数组。

三、程序结构

1. 顺序结构:

最简单的程序结构, 是C语言教育实践的开端, 这种结构, 一般只有定义变量, 输入函数, 简单的加减乘除运算, 一般不涉及逻辑判断运算。程序的主函数流程从定义变量开始, 把数据通过输入函数赋值给变量, 然后变量经过一些简单的算数运算, 得出结果赋值给变量, 然后通过输出函数将变量的数值输出出来。

2. 选择结构:

选择结构是一种逻辑运算, 判定程序语句是否符合条件, 如果条件为真, 那么就执行, 如果条件为假, 那么就跳过。以此来控制程序的运行方向。常用的语句是, if () 语句1else语句2。如果if括号中的表达式判定的结果是1的话, 即为真, 那么就执行语句1, 如果if括号中的表达式判定结果是0, 即为假, 那么就执行语句2。这是最简单的选择结构, 如果需要判定的分支比较多, 还可以嵌套使用if () ;else, 达到多重判定的目的, 但是这种嵌套的多重判定有他的局限性, 就是只能上下级之间多重判定, 做不到同级之间的多重判定。那么就需要另外的语句来实现平级之间选择结构, switch就是这样的一个语句。它的格式是switch (变量x) {case‘变量1’语句1;····case‘变量n’语句n;default;语句;}, 当变量x等于变量1到变量n的时候, 就执行相应case后的语句。如果没有变量等于变量x, 那么就执行default后的语句。

3. 循环控制结构:

循环控制结构也是程序设计的基本结构之一, 最常用的循环控制语句有while和for两种。

在While (循环变量表达式) {语句1;···语句n;循环变量+1}结构中, 当循环变量表达式为真的时候, 那么就反复执行while中的语句, 直到while中的表达式为假的时候, 才跳出循环。

For语句的结构为For (表达式1 (循环变量赋初值) ;表达式2 (循环条件) ;表达式3 (循环变量增值) ) {语句1;····语句n;}, for语句是循序控制中最实用的, 它能在循环次数确定时用, 也能在循环次数不确定, 只有循环条件时用。

循环控制结构和顺序结构、选择结构作为各种复杂程序的基本构造单元。程序结构虽然就这么三种, 但是所有的复杂程序都是由这些基本的结构来完成的, 循环控制结构和顺序结构、选择结构作为各种复杂程序的基本构造单元。顺序结构决定程序整体流程, 选择结构决定程序的运行方向, 而循环结构通过循环判定条件达到程序的运算结果符合要求。而且三种控制结构都可以互相嵌套, 灵活运用。

四、函数

C语言各种函数中最常用的就是输入输出函数了, 输入输出函数是程序设计中人机互动的关键, 最基本的输入函数是scanf () 和输入函数printf () , scanf () 的作用是把需要运算的数据输入计算机, printf () 的作用是把程序的运算结果在屏幕上显示出来。它们的作用只是输入和输出, 对程序的运行没有任何的影响, 也就是说, 如果没有输入输出函数, 程序也能正常运行, 只不过没有输入函数, 程序只能在编程的时候输入数据。当需要这个程序运算别的数据时, 需要改动程序, 非常麻烦, 如加入输入函数的时候, 可以通过输入函数输入不两只数据进行运算, 做到灵活控制程序的运行。而输出函数是把程序运算的结果输出出来, 程序中如没有这个函数, 运算的结果只能靠程序员, 观察内存得出, 不能给别人直观的效果。所以说, 输入输出函数, 虽然不参与程序的运行, 但是却是程序的关键部分, 是人与计算机互动的桥梁。

五、结束语

C语言需要掌握的内容有很多, 但是最基本的要求, 就是数据类型, 控制结构和函数, 只要学生将这些最基本的都熟练掌握了, 那么其余延伸的部分也都可以随心所欲的应用了。掌握这些基础内容最有效的方法就是上机实践, 仔细体会C语言各种结构的作用, 当熟练后, 就可以任意组合, 达到能独立编写程序的目的。

摘要:随着计算机的高速发展, 用人单位对能实际操作的编程人员需求越来越大, 传统的理论教学已经不能满足社会的需求, C语言是一门理论和实际操作兼顾的高级编程语言, 能很好的兼顾教学和实践, 是一门非常适合高职高专教育的编程语言。

关键词:C语言,教学,实践

参考文献

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

[2]霍顿.C语言入门经典 (第4版) [M].北京:清华大学出版社, 2008.

[3]雷萌、赵亚妮.C语言疑惑经验谈[J].软件导刊, 2011 (03) .

[4]王进霞、马从彰.浅谈C语言的特点及语法[J].无线互联科技, 2013 (04) .

C语言实践 篇2

(2)掌握c的基本概念和基础知识。

(3)通过训练,能读懂复杂的C语言源程序,具备基本的C语言编程能力。

(4)掌握常用类的定义、继承和文件应用,为更好的理解面向对象打下更好的基础。

(5)通过实践训练,培养自己编写、调试、分析大型应用的能力。

(6)掌握面向对象的基本原理,提高学生的综合编程能力。

(7)培养独立解决问题和发现数据的能力。互相帮助、沟通和合作的团队精神。

(8)培养自己良好的学习兴趣和独立编程风格。

(9)通过实训,检查自己的学习不足,掌握C语言的基础知识和技能。

(10)《C语言程序设计》是计算机专业的一门重要课程。c语言功能丰富,表达能力强,使用灵活方便,可以编写实际应用软件。

(11)灵活运用C语言编程,巩固语句、变量定义、输入、输出、结构、指针、文件操作等概念和方法。

(12)提高调试程序的技能和编写软件的能力。学会编写结构清晰、风格良好、数据结构合适的C语言程序,从而具备解决综合实际问题的能力。

二、课程设计题目:学生成绩管理系统

三.课程设计报告的内容

1.学生成绩数据包括:学生人数、姓名、语言、数学、英语、总分2。使用结构数组存储学生成绩。

Typedef结构stud /学生成绩数据结构/

{ char id[10];

字符名称[20];

虞雯国际机场;

Int shuxue

在于颖

Int totalscore

} stud

学习科学;/学生成绩数组/

#定义N 60

3.实现功能:

输入数据

删除的数据

查询数据

更新数据

可视数据

数据可以保存在文件中

可以从文件中读取数据

有命令菜单提示

4.编写的程序要求功能齐全,用户界面友好,程序运行可靠。

5.设计步骤

(1)需求分析:了解基本原理,确定软件的基本功能,查找相关信息;

(2)总体设计:确定软件的总体结构、模块关系和总体流程;

(3)详细设计:确定模块的内部流程和实现算法。

(4)计算机编码和调试;

(5)用实际数据运行测试。

6.命名每个功能模块和功能

7.各功能模块介绍:

(1).输入结果

指定班级名称和学期

输入几条记录

添加到指定等级文件的末尾

(2).删除一个同学的成绩信息

指定班级名称和学期

输入学生的学号

打开班级和学期的成绩文件,读取所有数据,找到指定学号的成绩记录,如果找到则删除记录,将所有数据写回原始数据成绩文件

(3).查询学生的成绩

指定班级名称和学期

输入学生的学号

打开班级和学期的成绩档案,读取所有数据,找到指定学号的成绩记录并显示记录

(4).修改学生的成绩

指定班级名称和学期

输入学生的学号

打开班级和学期的成绩档案,读入所有数据,找到指定学号的成绩记录,找到记录输入正确的学生成绩

将所有数据写回原始数据分数文件

(5).退出系统

8.工艺流程

四.摘要

学生成绩管理系统的编写看似杂乱无章,其实不然。它的每个功能都可以分为模块。俗话说,大事小,小事小。c语言编程也是官方的情况,把一个大的程序分成几个独立的模块,这样每个模块的工作就变得简单明了,既降低了难度,又使思路清晰,很容易写出要做的程序,从而为设计一些更大的软件打下了良好的基础。

分析问题:

学生成绩管理的总体功能包括数据输入、数据删除、数据查询、数据修改和数据显示

五大板块。

设计的`数据对象包括塑形:各科成绩的人物类型和总分:姓名和学号。程序的编译和运行:

(1)发现错误是件麻烦的事,但要注意技巧,注意平时的经验

的积累。为了在最快的时间内找出错误

(2)用心去寻找。也许你会发现,错误并不难发现。

(3)如果程序编译成功,不要满足现状,要积极测试程序的可用性,积极改进和完善功能和缺点不尽人意的地方。

动词(verb的缩写)经历和感受

一周的C语言训练,虽然时间有点仓促,但是教会了我很多实用的技巧!

首先,实训的第一步是写一个功能单一的小程序。虽然是小程序,但是用到的知识是我们这学期学到的关键知识。做题过程中,让我们复习知识,强化知识!

其次,这项工作中遇到的问题在实际训练中已经有所触及,所以我们都很清楚这些问题的要求和算法。正因为如此,在编写小程序时,速度更快,算法更简单,操作更准确。我理解很多编程问题要写很多遍,修改很多遍,调试很多遍才能得到最简单的算法。

第三,我们平时学习C语言是为了考试或者做一些比较常规的题,但是这个训练给了我们把所学应用到解决实际问题的机会,让人更有激情。这是写软件的雏形,也让我们感受到了写软件程序的乐趣。但不仅如此,更重要的是,在应用所学知识的过程中,记住这些知识,广泛应用!

虽然我这次在写一个菜单程序,但是如果注意的话,我们身边有很多内置程序的电子设备。我们也可以在这种专门的训练之后,自行确定其他题目来写程序,可以加深和丰富我们的知识!

这次训练对我来说似乎是一次很大的考验。节目正在不慌不忙地进行。根据我自己的进度,提前完成是没问题的,但是很多客观条件让我不得不在最后一次交作业。每次写完程序,写的文件都因为每台电脑识别格式不同而一次次损坏。即便如此,我还是没有放弃,终于在截止日期前交了作业!

这一次写大作业的程序,让我觉得学习程序可以锻炼缜密的思维。因为平时练习小程序,所以句子少,有些错误很容易查出来。不过这次培训是几百句,比较难查,而且我好像也没有怎么查的经验。那一刻,我感到很焦虑,但我不知道该怎么办,但我没有轻易问老师。因为看起来挺简单的,我相信我能查出来,所以我一般都是独立完成,只有少数是在老师同学的讨论下完成的。

在编写程序时,决定成败的是细节,因为无论程序有多少条语句,只要有一条语句或语法不正确,程序就无法得到所需的结果。没有让自己写的程序等待想要的结果,说明它是一个不尽人意的程序,但对于这种写来说,它就是一个失败。

在训练的过程中,我把自己训练的很好,首先是兴趣方面。通过编写通讯录管理系统,我更喜欢编程,把我从以前的困惑中解放出来,让我明白了编程的真谛。我想这对我以后的生活会有很大的帮助。其次,通过写通讯录管理系统,对写程序有了一定的想法,让我明白了算法的意义和模块化的好处。

通过一周的编码,我对书本上的知识有了更深的理解,甚至很多我不理解的问题,在这个过程中自然也就明白了。对期末考试更有信心。在黄爽的悉心指导下,我对C语言有了更深的理解,大大提高了程序算法、数据定义和程序纠错的能力,大大增加了我对编程的注意力、耐心和兴趣,受益匪浅。

C语言实践 篇3

摘 要:C语言语法灵活,执行效率高,移植性强,在业界应用广泛。高职院校C语言程序设计课程教学强调面向实际岗位群,教学难度较大。本文针对C语言特点,结合自身教学实践,从各个教学环节探讨了提高课程教学质量的方法和实施手段。

关键词:C语言 实际岗位群 教学实践 教学方法

C语言程序设计课程是高职院校计算机专业核心课程。本门课程对于学生而言,是一门比较抽象难学的课程。下面从高职C语言程序设计课程教学实践入手,谈谈提高本门课程教学质量的方法与实施手段。

一、明确课程定位

C语言在软件开发领域具有重要地位,尤其在嵌入式系统、工业控制等行业有着广泛应用。C语言程序设计课程是计算机及电子信息类专业的专业基础课程,是学习单片机开发、计算机接口技术等课程的必修先导课。

二、科学配置教学资源

1.精选教材

高职C语言程序设计课程教材选择方面应该注重以下几个方面。

第一,教材教学任务实践性,理论知识尽量简洁,满足够用即可。

第二,知识安排从易到难,符合高职学生学习规律。

第三,编写与指定教材相配套的实践上机校本教材,内容围绕教材理论知识,设计面向实际岗位需求的实践点。

2.建设精品课程资源

(1)组建专业能力强、学历年龄结构合理的师资队伍。

(2)录制精品微课程,按照教学计划将教学视频进行融合。

(3)制作课程题库,提高编程能力需要大量的实践训练,制作质量高的题库,让学生可以反复练习,不断提高动手能力。

(4)发挥移动互联优势,开发基于移动设备的课程网站,使学生可以在任何时间地点学习知识,充分激发学习兴趣。

三、合理优化教学方法

高职C语言程序设计课程理论性强,因此,在教学中要注重多种教学方法相结合,理论与实际相结合。选取教学方法应始终围绕以下要点:以突出课程实践能力为重点;以激发学生学习积极性为主导;注重实践性环节,做到“教、学、做”相统一。

1.启发式教学法

启发式教学也称引导式教学。它要求教师依据学生学习规律,引导学生积极、主动思考问题,掌握知识。这种教学方法突出了以学生为主体,教师为引导的教学思想。

例如,在讲解顺序结构时,引导学生思考烧菜这件事情。有些步骤是不能颠倒的,比如洗菜和炒菜,否则就无法食用了,从而进一步指出解决问题要遵循一定步骤。编写顺序结构程序时,也一定要按照逻辑顺序进行。

在讲解选择结构时,我们展示交通红绿灯图片,引导学生思考,按照交通法规行人通过红绿灯如何进行选择,才能确保交通安全。因此,得出结论是满足绿灯亮这个条件就通行,红灯亮则等候。在此基础上引出我们讲解的条件表达式,以及用if…else…条件语句编写选择结构的C程序。

在讲解循环结构时,引导学生思考统计班级期末考试5门课程成绩的步骤。几个同学容易计算,但如果几百名同学计算量就大。其实每个人计算方法是一样的,此处存在重复的操作和人数的有限性。引出C语言实现重复操作的方法:循环结构,可利用while,for,do while语句实现该结构。

引导学生主动思考,让他们把抽象的理论和现实生活中的事例相结合,激发学习兴趣,提高学习主动性。

2.项目教学法

为了提高学生编程能力,项目教学法必不可少。笔者采用常见的LED字幕滚动屏作为项目选题,要求在屏幕上模拟实现字幕一边滚动一边闪烁。

项目教学过程为:首先对班级进行分组(2~3人为单位),要求分工协作,共同完成;然后,学生在小组内互相讨论,教师巡回查看,发现某组学生碰到困难,参与讨论,指导答疑;最后,在教师的指导下,学生以小组为单位完成模拟软件开发演练,培养和提高学生编程能力。

四、大力改进教学实施

为了使教学方法能在课堂中发挥最大效果,教师必须改进实施手段。结合高职C语言教学目标和实际岗位群的需求,理论教学坚持知识必需、够用的原则,将多种教学方法相结合;上机前人人动手编程,上机直接调试,综合性项目合作完成,撰写实验报告,找出问题,总结方法。

五、完善考核评价体系

采用多元化考核评价体系,过程性考核和结论性考核相结合,理论考核和实践考核相结合。合理分配各个指标的考核比重,使考核更加全面科学。其中过程性学习和实践考核占比20%,单项技能考核占比20%,项目设计技能考核25%,试卷考核35%。

六、小结

笔者分析了C语言在计算机语言中的重要地位及教学难度大等问题,结合自身C语言教学目标和自身教学实践,对提高C语言程序设计课程教学质量进行了探讨。

参考文献:

[1]孙静.C语言精品资源共享课程建设规划[J].吉林省教育学院学报,2015(1).

[2]张义.启发式教学法在C语言程序设计教学中的应用[J].电脑知识与技术,2013(19).

(作者单位:潘山,江西冶金职业技术学院机电工程系;

《C语言》教学改革实践 篇4

1 具体教学实践方法

首先,教师给出如下要求:让学生利用输出语句在屏幕上输出一个“觹”号。学生很快能运用前面学的知识写出如下语句:printf(“觹”);

接着将要求进行螺旋式递进:让学生在屏幕上输出一行连续的十个“觹”。学生也能顺利写出如下语句:printf(“觹觹觹觹觹觹觹觹觹觹”);这时提出问题:如果要连续输出一百个甚至更多数目的“觹”,是不是在语句中从键盘调入一百个甚至更多数目的“觹”?有没有别的更简便的方法?答案是肯定的。那就是利用循环语句来实现,将“输出一个星号”这个语句重复进行100次,语句格式如下:

由此引出循环语句的格式及使用时应注意的问题的讲解。

再进一步螺旋式递进:让学生在屏幕上输出如下图形:

部分学生可能会连续使用四个循环语句来实现,这时可引导学生思考:既然连续“输出十个星号”可以通过重复十次“输出一个星号”来实现,那么现在连续输出四行十个星号能不能用重复四次“输出十个星号”来实现?答案当然是能,由此引出双重循环的用法。程序如下:

在学生理解的基础上继续将要求递进:要求学生输出如下图形:

这些既可以作为课堂练习,也可以作为作业,让学生课内完成一部分,课外完成另一部分。通过这些实例的讲和练,学生能快速地理解和掌握循环语句的格式和用法,使得学生的学习既轻松又快速,也不会出现只听得懂仍不会编程的情况。

2 结束语

将上述教学方法运用于其他类似章节后,同学们不再说《C语言程序设计》难学难懂了,学起来也很有趣。

参考文献

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

c语言实践报告(范文模版) 篇5

二级学院:信息与工程学院 系别:计算机科学与技术系 专业:信息管理与信息系统 课程名称:高级语言程序设计

班级:姓名:

实验名称:

电话订餐信息处理

实验目的:

题目要求:

一个小饭馆的生意非常红火,要想用餐必须提前一天打电话预订,假设我们是饭馆负责接受电话预订的服务员,我们需要做些什么呢?首先,需要准备一张大小适当的白纸,等待顾客的电话。李红最先打进了电话,她预约第2天中午12点用餐,用餐人数5人,服务员在纸上做了如下记录:“李红 12点 5人”;接着,刘娜、汪涵、孙杰和赵君分别来了电话,服务员根据他们的要求做了记录,此时纸上记录的内容是: 李红 12点 5人 刘娜 11点 2人 汪涵 11点20分 3人 孙杰 10点30分 5人 赵君 13点20分 6人

孙杰随后又来电话,将用餐时间推后一个小时,那么记录的内容也应该做相应的修改。刘娜来用餐以后,可以将其信息从纸上划去 编写程序处理电话订餐的情况

实验步骤:

首先建立结构体类型,然后函数声明,编写主函数,定义函数,调用函数。完成后,对程序进行调试,确定所编写的程序是否能够运行。

实验内容:

#include #include #define max 30 struct guest { intnum;char name[40];char time[20];int sum;}guestlink[max];

void insert(int *p);void inquire(int);void change(int);void dele(int *p);void show(int);

void main(){ inti;int count=0;do {0 printf(“1.......插入n”);printf(“2.......查询n”);printf(“3.......修改n”);printf(“4.......删除n”);printf(“5.......显示n”);printf(“6.......退出n”);scanf(“%d”,&i);switch(i){ case 1: insert(&count);break;case 2: inquire(count);break;case 3: change(count);break;case 4: dele(&count);break;case 5: show(count);break;case 6:break;default:printf(“输入错误!”);break;} }while(i!=6);} void insert(int *p){ inti,number;if(*p==max){ printf(“用餐已满n”);return;} printf(“请输入编号:”);scanf(“%d”,&number);for(i=0;i<*p;i++)

if(guestlink[i].num==number)

{ printf(“已有相同的编号”);return;}

guestlink[i].num=number;

printf(“请输入姓名:”);scanf(“%s”,guestlink[i].name);

printf(“请输入人数:”);scanf(“%d”,&guestlink[i].sum);printf(“请输入用餐时间:”);scanf(“%s”,guestlink[i].time);(*p)++;} void inquire(int p){ inti,number,flag=1;printf(“请输入要查询的编号”);scanf(“%d”,&number);for(i=0;i

if(guestlink[i].num==number){ printf(“姓名:%s”,guestlink[i].name);printf(“用餐时间:%s”,guestlink[i].time);printf(“人数:%dn”,guestlink[i].sum);flag=0;}

if(i>=p&&flag==1)printf(“所查询的编号不存在”);

}

void change(int p){ inti,number,flag=1;printf(“请输入要修改的编号”);scanf(“%d”,&number);for(i=0;i

scanf(“%s”,guestlink[i].name);

printf(“请输入用餐时间:”);scanf(“%s”,guestlink[i].time);printf(“请输入人数:”);

scanf(“%d”,&guestlink[i].sum);flag=0;} if(i>=p&&flag==1)printf(“所查询的编号不存在”);}

void dele(int *p){ inti,j,number,flag=1;printf(“请输入要删除的编号”);scanf(“%d”,&number);for(i=0;i<*p&&flag;i++)if(guestlink[i].num==number){for(j=i;j<*p-1;j++)

guestlink[j]=guestlink[j+1];flag=0;

(*p)--;

} if(i>=*p&&flag==1)printf(“输入的编号不存在”);}

void show(int p){ inti;printf(“编号 姓名 用餐时间 人数n ”);for(i=0;i

实验结果:

实验体会:

C语言实践 篇6

关键词:c语言;结构调整;培养目标;工程考核

中图分类号:G434 文献标识码:B 文章编号:1673-8454(2012)05-0059-02

一、C语言在程序设计语言中的地位

C语言自从1978年被贝尔实验室正式发布以来.30多年历久弥新。另外从语法角度来说,C++、JAVA、C#均直接继承于C语言语法。因此,C语言作为程序设计语言的基础地位仍然无可替代。

二、C语言教学本质分析

C语言是一种属于机器的语言,所以对人来说,C语言就是一门新的外语。因此学习C语言与学习外语一样,都是易学难精。相比外语学习,C语言学习也是一个持续不断的过程,可以粗略分为三个境界:Itl

1.语法境界

在这个过程中,将主要学习变量定义方法、程序设计的三种基本结构(顺序、选择和循环)、函数定义及调用方法以及良好的编码规范等。对于语法问题。无论是谁,都只能去适应这门语言的规则,所以学生在学习C语言语法时普遍感到枯燥是可以理解的。

2.语义境界

在这个过程中.学习使用C语言完成某个特定的任务,比如“百钱买百鸡”、求素数、求最大公约数、求最小公倍数等经典编程问题。在此阶段主要解决使用C语言解决实际问题的能力。

对于这些C语言应用,学生普遍认为这些算法问题具有挑战性。这些题目经常成为C语言的考试内容,也是被很多学生认为能够从本门课程中学到的有用知识。

3.认知境界

在这个过程中,学习语言背后的计算机硬件、操作系统原理,学习与语言无关的算法设计(包括数据结构知识),学习软件工程知识(比如分层体系结构等)等。在此主要解决如何按照工程要求(比如正确性、可靠性、可维护性、性能等)解决实际问题的能力。

对于这些知识,学生在结课时认识仍然是模糊的。当然,这也不可能仅仅通过C语言一门课程就能够让学生达到改变认知的地步,但这是四年信息管理与信息系统专业本科学习的目标之一。

三、C语言教学实践改革

因为课堂教学在本质上是不可分割的一个整体,例如在讲授“百钱买百鸡”例子时完全可以同时涉及语法、算法和认知这三种境界。基于C语言教学本质的分析,根据信息管理与信息系统专业培养目标,结合学生实际具有的基础知识和基本技能,将C语言在教学实践中从结构方面进行如下调整:

1.淡化住运算讲授

作为计算机专业学生,应该掌握位运算。因为位运算不仅是一种基本运算,而且往往可以为工程提供一种高性能解决方案。但是作为信息管理与信息系统专业的学生.一方面位运算与计算机硬件高度相关,另一方面完全可以用其他方法来代替位运算解决方案,只是损失些性能而已。

2.弱化输入输出函数语法教学

虽然C语言的scanf和printf函数功能强大,但是能够正确运用却不是一件容易的事情,因为这里面涉及数据类型、数组、指针等众多内容。在输入输出基本通过GUI界面、数据存储大多经由DBMS的今天.熟练掌握scanf和printf函数已经不再是一种必需。

3.补充适当硬件知识

C语言提供的丰富数据类型让初学者有时难以理解:有必要如此区分整数和小数吗?不都是可以做四则运算吗?在不同数据类型统一运算时,因为自动类型转换得到的异常结果经常让初学者困惑不已。这个问题在编程语言层次上很难解释清楚,但是从硬件层次上却容易说明,因为其背后的硬件机理不同。

4.示范良好编码规范

在教学和上机实践中,始终贯穿并示范良好的编码规范。比如无论在循环中还是在分支中,坚持为程序块加上完整的块标志。在运算符的优先级讲述中,强调小括号可以改变并明晰计算的优先级,如此讲授不仅可以减少语法的讲授时间,同时也可以提高程序设计质量。在教学中有意识地示范如何在关键位置处加上调试输出语句.部分代替单步跟踪,提高程序调试效率。

5.强化程序设计方法教学

函数作为一个基础的程序设计工具,在实践中的地位非常重要,是软件工程、各种软件设计方法的实现基础。另外.在函数层次编程,可以锻炼一个人的问题抽象能力和模块划分意识。在教学中,有意识强化函数应用,比如要求以函数方式对问题进行设计,并且在上机实验中安排大作业,要求两个人协作完成,从而培养学生模块化问题解决意识和编程习惯。

6.侧重符合机器思维的算法讲授

在讲授如何求解最大公约数例子时,虽然辗转相除法效率很高,但是穷举法更容易理解和实现,而且也更加符合算法设计思维。辗转相除法对于专业软件来说意味着效率,但是对于初学者来说则意味着很高的门槛。对于常见的“数组越界”问题,采用的对策是让学生适应计算机从0开始的编址方案,尽管在初期学习中可能带来一些困难,但是如此坚持可以保证学生对计算机原理的理解上具有完整性和一致性。这样,采用一套理论就可以很好解决指针与多维数组的地址计算关系。

7.调整指针教学侧重点

为方便与后续课程的衔接(包括数据结构、数据库原理)。重点讲授与一维、二维数组、结构体、链表相关的指针应用。而对于其他的指针应用(如函数指针、双重指针等),则概括性提及,让学生了解C语言指针的强大和灵活,从而更全面理解C语言指针的本质,以及由此带来的程序调试挑战。

四、C语言教学考核

在课程考核中,参照工程要求,抛弃以往的那种单纯考核语法的题目(尤其是那些不常用的语法),代之以符合良好工程编程规范的程序阅读题和程序设计题,分别通过笔试和机试进行。经过两年实践,发现此种考核方法更有利于反映出学生的真实水平,但是由此产生的问题是经常无法满足对考核成绩的正态分布要求,呈明显的阶梯状分布。

C语言教学的实践与思考 篇7

调整教学内容, 改进教学方法, 激发学生学习兴趣

目前国内高等院校在进行C语言课程教学时, 多数仍通过教师讲解、板书和各种媒体作为教学的手段和方法向学生传授C语言中的概念、语句、语法规则等内容, 这种灌输模式能较好地保证所讲授知识的系统性, 但因为知识枯燥, 学生学习的积极性不高, 教学效果较差。同时在培养学生的实际应用能力和创新思维方面也暴露出许多弊端。我们说学习编程的最终目的是解决实际问题, 所以要理论联系实际。对程序设计而言, 重点讲授程序设计的思维、方法和设计风格, 使学生能从更高的角度认识该课程的学习目的, 不局限于对语言本身的学习和编程技巧的掌握, 更注重对语言应用能力的培养。为了更好地实现教学内容的组织思路, 在教学过程中采用案例驱动的主题式教学和基于任务驱动的教学相结合的方式。

1.案例驱动学习的积极性首先来源于兴趣。所谓案例教学就是在教师的指导下, 对案例提供的客观事实和问题, 用所学的相关理论知识进行分析研究, 教给他们分析问题和解决问题的方法, 进而加深他们对基本概念和基本原理的理解。以实例介绍语句功能、格式、特点, 分析执行过程等。在《C语言程序设计》课程教学中采用案例式教学法不是完全放弃传统的教学方式, 而是将案例教学与传统教学方式相结合, 在教学过程中将案例教学融入到教学过程中。学生在学习过程中不再是完全被动的“填鸭式”学习, 而是积极主动地参与到教学过程中, 从而增加学生学习的兴趣。

案例教学法根据所学内容对所要讲授的案例进行精心设计, 教师在设计案例时, 必须接近实际, 与实际生活或工作相关且具有一定规模, 又能让学生感兴趣, 用由易而难的C程序案例入手去组织教学。初级阶段的案例按教学顺序设计, 尽量避免涉及后续章节的知识, 后续高级阶段的案例尽可能涵盖前面的设计内容, 以加深和巩固所学知识, 此时案例不但应使学生感兴趣而且要具有一定难度。

2.基于任务驱动的教学方法。该教学方法使学生的学习活动与任务或问题相结合, 以探索问题来引导和维持学习者的学习兴趣和动机。教师运用建构主义教学理论, 把教学内容设计成一个或多个具体的任务, 让学生通过完成具体的任务, 来掌握教学内容, 完成整个教学任务。

由于C语言程序设计课程的教学课时有限, 而需要讲授的内容又比较多。在教学中应该强调突出教学重点, 要求学生掌握C语言基本知识, 以及程序设计的基本原理、结构化程序设计基本方法。在教学中, 将每一次讲课内容精心组织, 明确教学重点, 准备好课堂程序实例, 一般每一次8~10个程序, 实施“精讲精练”。老师讲解结束后, 学生在课堂内自己亲手运行程序, 调试程序, 老师随堂进行辅导。

强化实践教学环节

C语言课程的实践教学环节包首先要做到及时答疑, 精讲多练, 适当安排习题课。实际上, 在理解课程内容与能够较好完成习题之间还有明显差距。要避免这种情况, 教师应适当安排一些习题课, 及时答疑和批改作业;学生通过做一定量的习题, 可以积累一定的经验, 同时对程序设计的精髓会有所领悟, 从而重视上机实验环节。程序正确性判断的实用方法是上机进行程序调试, 而对程序调试这一艰苦工作的熟练掌握, 只有通过大量上机才能做到。因此, 加强程序设计的上机实践环节显得格外重要, 也是培养学生创造性思维的手段之一。在上机实验过程中教师要督促检查学生在调试程序时有可能会遇到各种问题, 针对出现的语法、逻辑、算法和运行等不同错误, 采用不同的方式去解决。

程序设计教学中自主学习

在当今信息时代, 知识总量以成倍速度递增, 自主学习的培养是现代教学发展的必然趋势, 是现代素质教育的灵魂。自主学习是指学习者在把握学习规律的基础上, 能够根据学习内容、学习情景、学习条件、个人学习的特点与因素, 自觉主动地选择学习方法, 组织调控学习活动, 最终表现为乐于学习、善于学习、实现自身发展的需要。实现课堂自主学习要在教师的指导下, 让学生成为教学的主体, 充分调动学生的自觉学习、主动学习、学会学习的积极性, 培养学生主动学习的意识、习惯和能力。C语言程序设计课程内容较多, 课堂教学中无法把所有内容都讲到, 这就要求我们必需在教学中努力培养学生的自主学习能力。运用问题引导教学手段来激发学生的思维, 使之达到自主参与、自觉发现、自我完善、自行掌握知识的目的。自主学习要让学生积极能动地参与教学活动, 积极主动地进行学习认知和学习实践活动。

教学是一门艺术, 它是教师的创造性、能动性、科学水平的综合体现。教师要想一个程序设计获得良好的效果, 其关键就在于对教学内容和教学方法进行合理的组合。但现实中由于教学目的、教学内容及学生情况等因素的千差万别, 没有一种教学模式或方法是普遍适用的, 惟一的原则就是根据实际情况采用合适的教学模式和教学方法。在理论与实践结合过程中传授和学习基本知识, 在动手实践中引导学生运用所学知识去分析问题和解决问题。通过课程教学方式的改变, 激发学生学习兴趣, 使学生不仅掌握高级编程语言的知识、编程技术和基本算法, 更重要的是掌握程序设计的思想和方法, 具备利用计算机求解实际问题的基本能力, 能灵活应用高级编程语言进行程序设计, 以适应社会发展的需求。

参考文献

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

[2]陈宝贤.C语言程序设计实验指导[M].北京:人民邮电出版社, 2005.8.

[3]石志国等.C++程序设计教程[M].北京:清华大学出版社北京交通大学出版社, 2005.7.

C语言教学改革探索与实践 篇8

关键词:C语言课程,教学改革

一.前言

C语言程序设计是高校计算机专业学生步入大学第一门专业课程, 也是一门非常重要的专业起步课程。如果掌握不好, 后续课程将很难理解。但是C语言课程概念较多, 内容抽象, 不像可视化语言一样生动, 所以学生的学习兴趣很容易在一段时间之后慢慢消退。而且目前很多关于C语言程序设计的书籍资料还应用着以往传统的编写方式, 有很大一部分老师还按照传统的教学方法教授学生知识, 这样就导致学生学习的质量不高, 学习效果不佳, 进而会造成对计算机的学习在开始便失去兴趣, 影响整个大学计算机学习生涯。

二.学生学习素质现状

目前刚步入高校的大学生几乎都是90年后出生的人, 他们从小生活环境优越, 独立思考能力强, 眼界较宽, 计算机基础掌握程度高。这些都是他们的优势, 同时也是劣势。首先优势是计算机上手快, 比如掌握C语言的运行环境速度快。这得益于他们很早就接触了计算机, 对于他们而言计算机并不陌生, 即便是C语言的开发环境有些复杂, 练习两遍后也基本可以掌握一个程序从开发到运行的整个过程。而且由于当代大学生的英语水平较高, 所以C语言中的英语和运行环境中的英语对他们来说都很容易理解, 这就为学习C语言打下了坚实的基础。劣势是自觉懂得多, 所以容易骄傲。90后出生的大学生本身有时代赋予的优势, 很多人骨子里有天然的优越感, 因此许多学生在学习C语言初始觉得很简单, 不需要多加练习就能编写出简单的程序, 所以没有给予足够的重视。等发现有些吃力的时候, 已经落下很多知识点, 又懒于张口, 越落越多, 到最后甚至放弃了学习。

三.态度的转变和教学方法的改革

首先是态度。这里的态度指的不仅是老师的自我学习态度, 还包括老师对学生学习C语言课程之前进行的学习态度的教育。

1.教师应具有不断抬高自我水平的态度。C语言虽然是计算机基础课程, 但是随着时代的不断发展, C语言应用范围也越来越广, 特别是与新兴的技术产业相结合的地方越来越多。作为一个C语言教学的老师不应该还只停留在过去只要教好C语言课程大纲要求就可以的目标上。虽然不可能完全掌握C语言与新兴的技术产业结合的各个方面, 但是至少应该抱着一颗学习的心尽量了解此方面的内容, 以便能在教授课程的过程中, 指引学生对未来学习的一方向。这就需要老师首先转变态度, 不要觉得自己掌握的知识在教学过程中已经足够, 而是要不断的扩充自己的知识领域, 使自己永远跟上C语言应用的脚步。

2.对学生在学习C语言初期进行学习态度的教育。对于现代这样一批思想独立, 缺乏恒心学习的学生, 在学习C语言初期就应该将学习C语言必须做到的几点要求贯穿到他们的思想中, 将会遇到的学习困难提前预警, 不要使学生因为前期知识的简单而不给予充分的重视。这需要老师做好学生的思想工作, 使学生有一个积极的学习态度, 这样无论遇到什么困难, 学生都会想办法克服。

其次, 在教学方法上, 本人也从几方面进行了改革尝试。

1.提高学生的学习兴趣。在开始C语言课程之前, 应该向学生阐述C语言在今后学习计算机相关知识的作用, 提高学生对此课程的认知程度, 增加学生学习的热情。而后, 将C语言在当前计算机领域范围内的应用做简单介绍。这需要教师要及早做好功课, 了解相关知识, 增加了一定的教师工作量。从这两方面着手来提高学生对学习C语言的热情, 能起到事半功倍的效果。

2.增加实验课程时间, 提高学生的动手能力。以往的教学模式, 基本是老师讲课, 学生听课。课后学生反映当时所有的理论都能听得懂, 但是课下自己再复习上课老师讲过的程序或者算法时, 有很多地方会忘记, 没有办法靠自己的能力完成。针对这种情况, 本人将C语言所有课程均调入机房授课环境, 每人一台计算机, 每讲解完一种算法让学生自己用C语言编写程序, 由于每个学生的想法不同, 所以编出的程序都有些差异, 然后将其中几种程序传阅于同学讨论, 这样不仅可以增强学生的动手能力, 而且提高学生的辨别能力和主动思考的积极性。

3.培养学生自我解决问题的能力。随着互联网的快速发展, 很多知识可以通过自己搜索查阅的方式得到。所以, 在C语言的教学中, 有很多知识不需要教师填鸭式的教授给学生, 可以给学生讲解一些基础知识, 而后深度的知识给学生足够的时间去网络上查阅, 待再上课时, 让学生互相讲解得到的信息, 如果不全面, 教师再给予及时的补充。比如, 在讲解数据类型时, 将float型的相关知识讲解完毕后, double型的数据类型的应用作为自查的内容, 让学生自己上网或者翻阅书籍查找, 然后将自己的理解再在课堂上讲解出来, 这样可以使学生得到学习的满足感, 增强学生的学习信心。

4.精心设计课后作业, 按时检查完成情况。当前有很大一部分学生缺乏主动复习的积极性, 针对这种情况, 在每次授课之后, 应安排与课程紧密结合的课后作业。比如, 当讲解循环语句时, 可以在课堂上讲解怎样求1到100的和, 那么作业就可以设计怎样求1到100的偶数和。

5.建立科学的考核方式。C语言教学的目的, 并不是让学生“记住”什么, 而是灌输初步的编程思想。传统的纸质考试, 并不能达到相应的效果。因此, 良好的考核方式, 才能够检验出学生对C语言的掌握程度。本人采用的考核方式是平时成绩+末考成绩的方式。平时成绩考核学生对学习的积极性, 包括课堂表现、作业完成情况、自主能力学习检验等。末考成绩考核学生对应该掌握的算法及C语言知识的掌握情况, 考核方式为上机抽取考试试题, 编写算法, 编写程序, 最终运行程序。通过这种考核方式, 不仅能够充分的调用学生平时学习的积极性, 而且增强了学生编程能力、积极创新及解决问题的能力。

四.总结

通过对以上几点改革尝试, 增强了学生的学习热情, 激发了学生自我学习的积极性, 学生反映良好, 最终成绩明显较以往有所提高, 取得了非常理想的教学效果。

参考文献

[1] .杨平.C语言教学改革探讨与实践.电脑学习.2011.4

[2] .张敬.关于C语言教学改革的若干思考.电脑知识与技术.2012.3

C语言课程评价系统的建构与实践 篇9

关键词:C语言,课程评价

教学评价是以教学目标为依据, 按照科学的标准, 运用一切有效的技术手段, 对教学过程及结果进行测量, 并给予价值判断的过程。《国务院关于加快发展现代职业教育的决定》(国发〔2014〕19号) 第十一点加强行业指导、评价和服务中提出:“参与指导教育教学、开展质量评价等职责”。可见, 教学评价成为中职教育教学的一个重要环节。随着现代教育技术的运用, 教学过程和教学效果得到了显 著改善 ,但必须采取相适应的评价方式才能有效地完成教学评价, 现实教学过程中呼唤着更多、更有效的学习评价体系。

1 建立 C 语言课程评价系统意义

C语言程序设计是中职计算机专业中一门专业性很强的基础专业课程, 而目前国内大部分中等职业学校免试入学, 生源复杂, 学生学习习惯和学习能力均存在很多的问题, 参差不齐。通过多年从事C语言教学工作以及学生反馈, 学生学习C语言时存在诸多困难, 艰深难懂, 学习难度很大, 逐渐形成一种恶性循环, 导致学生逐步对本门课程失去学习兴趣和最初的积极性。

而评价与教学相辅相成。科学合理的课程评价直接关系到学生C语言程序设计的学习效果、实践能力、创新精神、心理素质以及情绪、态度和习惯等综合素质。 通过评价, 使学生在课程的学习过程不断体验进步与成功, 认识自我, 建立自信, 促进学生综合运用能力的全面发展; 使教师获取教学的反馈信息, 对自己的教学行为反思和调整, 促进教师不断提高教育教学水平; 使学校及时了解课程标准的执行情况,改进教学管理, 促进课程的不断发展和完善。所以研究出适用于中职学生自己的C语言评价系统是我们从事教学一线专业教学教师必须面对的现实问题。我在计算机专业的实践教学中, 对C语言课程的教学评价方法进行了一些初步探索,希通过多元、高效的课程评价激发学生的学习兴趣, 真正体现“学生为主体, 能力为本位”的中职教育思想。

2 C 语言课程评价系统构建

2.1 构建多元评价主体

课程评价需要引进学生、教师、企业课程设计专家、企业人员等评价主体, 构建多元评价主体。学生评价分为学生自评和小组评价。学生自评有助于学生展示学习过程中的想法, 并对自己的学习过程进行反思。小组评价通过小组成员对自己的评价有助于学生全面、正确地认识和评价自己, 培养学生之间的团队协作精神。其中分组时需考虑两 个原则 :( 1) 小组成员 学习情况 具有层次 性 , 才能实现 互帮互助 ;(2) 每个小组必须至少有一名学生具有良好的组织、沟通能力, 这样才能保证项目、评价的有效实行。表1为C语言项目小组组内评价指标表。通过教师评价有助于引导学生完成学习目标、得到多方位的鼓励和帮助。同时, 因为C语言是一门实践操作很强的课程, 所以在C语言学习过程中引进课程开发人员更有利用于开发出更为科学的教学体系, 因为他们有着丰富的课程开发经验; 让企业人员参与评价, 可以使教与学更加贴近企业需要, 使学生毕业后更容易适应职业岗位。

注: 总分共 100 分, 为自评总分 *40%+他评总分 *60%

2.2 构建立体化评价方式

评价方式立体化要体现专业能力、道德规范和职业素养的评价。课程评价的主体内容是专业技能评价, 专业技能是学生职业能力的直接表现。C语言是程序设计的基础语言, 专业技能评价主要包括顺序、选择、循环等3种结构程序设计方法, 函数、数组、文件的编程方法及编程技巧。

道德规范的评价内容是校纪校规、文明礼仪、纪律履行等。C语言课程的道德评价包括在项目实施过程中, 学习态度、工作积极性、团队成员分工合作的能力、按时完成自己的任务, 协助他人完成团队任务的能力、遵守课程纪律、诚信有礼的个性等。

职业素养评价内容包括职业道德、职业技能、职业行为、职业意识规划等职业者在职业过程中表现出来的一种综合品质。C语言职业素养评价内容包含编程思维、编程习惯、编程能力、团队意识、 沟通能力、自主学习能力、获取知识的能力等。

2.3 构建过程性为主体的评价方法

在新课改中强调以项目化、任务式教学, 所以在构建C语言课程评价系统时采用“项目过关评价、综合素养形成”的评价方法。C语言的评价方法不能局限于知识与技能的书面测试, 而是要建立过程化评价方法。过程性评价也称形成性评价, 为教学效果评价的主要形式。将C语言课程分成多个子项目, 对各个子项目进行评价, 化终端评价为过程评价, 着重体现每个学生在项目实施过程中的各个方面的综合评价。表2为根据对口单招计算机专业C语言课程大纲要求建立项目表。

2.4 建立综合反馈机制

课程评价本身就是一个教学反馈的过程, 即通过课程评价确定课程实施与课程目标的差距, 不断修正以实现既定目标的过程。课程评价的反馈分为直接反馈、职能反馈、大众反馈。

直接反馈是评价主体向教师和学生直接反馈相关评价结论, 使师生及时、快速地了解教学和课程学习的效果, 引导、激励师生不断改进、完善自己的工作和学习。职能反馈是评价主体向学校行政职能部门或上级教育机构全面反馈C语言课程建设和课程实施的评价信息, 包括现状及建议 措施等 ,为他们提供决策依据。大众反馈是评价主体通过报纸、网络、期刊等媒体在一定范围内公布评价结果, 评价结论中既有公共价值又不涉及保密性的数据和信息, 作为教育同行进行研究时的有效资料, 促进教育事业发展。

2.5 构建数字化评价环境

信息化时代的今天, 学习环境也从传统的一支粉笔打天下转变为利用数字化学习环境、数字化学习资源和数字化学习方式整合的数字化学习 (e-learning)。这种新型学习形式迫切需要与之适应的数字评价系统环境, C语言课程评价探索也需与时俱进,采用数字化评价方式。评价数据库就是学生个体电子档案袋,各种评价因子在线生成, 可实时、动态地让学生了解自己的优点与不足, 进而调整自己的学习, 在不断完善中健康成长。

3 C 语言课程评价系统实施

3.1 考取相关职业资格证书

只有经过相应企业或过去主管部门的技术、技能的鉴定考核, 获得相应的职业资格证的学生, 才能体现中职教育的特色, 从而适应进入社会的岗位需求。在C语言的教学中,可以充分利用本校是全国计算机等级考试考点的优势, 要求学生参加全国计算机等级考试二级C, 较好地体现了学生对C语言课程的掌握的终结性评价。

3.2 将课堂行为纳入评价范围

职业学校不仅培养劳动者的专业技能, 更注重培养劳动者的职业道德意识。把考勤记录、学生对自己行为的认知和改进、对待批评的态度考虑到评价中。

3.3 课堂上引入合作学习

C语言对于中职学生而言 , 知识点多且复杂难记 , 没有任何编程基础, 学生总体反映课程难度大, 若使用传统的单打独斗式的学习, 更易产生厌学情绪。在课程设计过程中, 将所有内容化成项目, 将班级所有学生分组。比如在讲运算符时, 把所有要讲解的运算符全部列出, 尽量让学生自己选择感兴趣的运算符, 相同选择的学生组成一组学习, 最后每个小组派一名代表把学到的知识讲给大家听, 讲完后出题给全体学生做, 小组成员则分散到其他小组进行辅导, 让学生体验自己是如何学习的以及如何帮助同学进行学习。实践表明与教师授课相比, 学生有时候更愿意寻求伙伴的支持。

3.4 一些影响评价的其他因素

课堂笔记: 把学生的课堂笔记放到评价中, 用于考察学习态度。课堂笔记不是板书的抄写, 对那些结合了个人的思考和总结、问题解决方法的笔记要给予表扬, 好的方法要在学生中推广, 教会其他同学做有价值的笔记。

学习态度: 对于学习态度有明显好转的或者出现好的学习习惯的学生要及时给予关注和鼓励。考虑到不同层次学生的接受能力, 题目有难易度的区分, 并给予学生一定的选题权, 根据学生技能的进步程度进行评价。

观察能力和创新能力: C语言程序设计中有不少经典的例子, 可把程序直接交给学生, 由学生自己敲写、调试、分析程序的方式来学习, 同时鼓励学生在学习过程中自主 创新 ,尝试修改别人的程序。学生在课堂上“找碴”, 或者寻找解决的办法的行为在评价时都能得到不同程度的加分, 达到激励的作用。表3为C语言课程实施项目教学综合性考核评价的例子, 在实践使用中, 会不断改进、完善评价标准, 更好地调动学生参与的积极性与主动性。

注: 得分分别为 4、 3、 2、 1 四个等级。 4 分代表优秀; 3 分代表良好; 2分代表一般; 1 分代表较差。

4 结语

C语言教学改革的探索与实践 篇10

C语言作为大学生入学后的首门计算机语言课程, 也是计算机及相关专业中一门重要的计算机基础课程, 它兼有汇编语言和高级语言的双重优点, 在当今系统软件和部分应用软件的开发中具有较强的实用性, 从而也使其成为编程的首选语言, 为进一步学习其他高级语言打下坚实的基础[1]。但是教学实践表明, 教学效果并不理想, 学生并不能对本课程产生应有的兴趣, 所以对C语言教法改革的探讨就显得尤为重要了。

1 C语言课程教学现状

C语言课程是开设比较早的一门课, 与数学知识联系紧密, 计算机专业方面的知识量少, 难点比较集中, “教师难教, 学生难学”, 教学效果普遍不是很好, 是属于挂科率比较高的一门课。

在当前学生开设的科目中, 编程语言是最不受学生喜欢的。因为这门课不像组装或者网络课程操作性、实践性强, 学会当堂课的知识就可以马上在实践中去应用, 编程语言的学习比其他课程更加需要学生在学习时持之以恒, 学好基础知识。

2 C语言课程教学问题分析

2.1 学生学习目的性不强, 缺乏兴趣

在目前的课堂教学中, 还是以教师教授、学生被动接受的单向灌输为主, 而学生方面, 学生对学习C语言课程的重要性和必要性又缺乏深刻的认识, 致使听课没有兴趣, 缺乏主动性, 教学效果不理想。他们认为只有计算机组装、网络等这些科目对于将来找工作有用, 而编程对将来的学习和就业没什么用, 对这门课不重视。

2.2 教学模式陈旧、教学形式简单

很多教师仍采用传统的教学模式进行教学, 没有把学生放在主体的位置上, 师生间的互动很少, 难以调动学生学习的主动性。此外部分教师缺乏对该门课程的整体性把握的思想, 在教学上过多注重语法结构的知识, 缺少对学生编程思想的培养, 导致学生在学习时, 觉得内容枯燥, 无法将所学知识运用到实际中, 使学生丧失学习兴趣, 教学质量不高。

2.3 实践教学环节薄弱

C语言课程是一门实践性很强的学科, 书本中的理论只有在实践中才能得以验证, 然而, 许多学校由于硬件条件设施的限制使得许多实验不能正常开出, 即使开设的实验也对实验的目的及要求不明确, 许多学生把“上机实验”当成了“自由活动”, 在上机时玩游戏或做些和课程关系不大的活动, 致使达不到预期的效果。

3 C语言教学改革方案

在C语言课程教学过程中, 首先要求教师能够准确把握授课内容, 同时也要求教师注意应用相应的教学方法, 以此提高教学质量。针对以上问题, 结合教学实践, 提出以下几点方法和建议。

3.1 采用多种教学方式, 激发学生学习兴趣

兴趣是最好的老师, 是学习的基础和前提。由于C语言课程是学生接触的第一门计算机语言课程, 学生初学时不知学它何用, 还有一些学生认为C语言已经过时, 不应该再学习这样一个已经被“淘汰”的语言。针对这一现状, 就需要教师在上第一节课时先以实例阐明C语言与信息技术的关系, 以及在信息技术领域中的重要地位, 然后选择一些趣味性很强的例子给学生进行演示, 让他们充分欣赏C语言所带来的美丽与神秘。在惊奇和赞叹中, 学生对C语言产生了浓厚的兴趣, 从内心深处萌生了我要学会C语言的渴望, 从而有效地调动了学生的学习热情, 同时, 学生们也明确了学习的目的和必要性。

在讲课时, 改变先介绍定义和规则然后练习的授课方式, 从实际问题出发, 让学生带着问题去思考解决问题的方法, 并优先选择接近生活, 学生熟悉且有趣的事例, 通过这些形象生动的事例引出并讲解所学知识利于学生理解和掌握, 例如循环语句的讲解, 对于某些教学内容, 可以尝试采用学生上台讲述、老师补充、答题竞赛、难点疑点、课堂讨论等教学方式。在讲解数组与指针关系时, 对它的表现形式, 互换性、函数间传递方式等进行集中讨论, 提高学习效果, 合理地使用计算机多媒体, 通过多媒体的文字、声音、图形、图像、动画多种方式作用于学生的多种感观, 来弥补传统教学的不足, 不仅节省了板书时间, 加大了课堂内容量, 而且能很好地将教学过程中的图、文、声、动画有机地结合成为一体、多媒体的生动性、趣味性和鲜明的色彩性有助于吸引学生的注意力, 调动学生学习的积极性, 提高学生的学习兴趣。

3.2 教学模式和方法的改革

3.2.1 以“学生为中心, 教师为主导”的教学模式

根据不同的学生采用不同的教学方法, 老师不再死板的传授教材的内容, 而是根据教授内容的实际情况是自己成为课程的设计者、合作学习的组织者和伙伴以及教学反思的实践者, 从教学观念、教学内容、实验方法、辅导方式、评价手段和教学手段等方面进行了探索性研究, 为学生创设情境、协作学习和会话交流, 使学生主动学习, 去解决更生动、更有趣、难度系数更大的实际问题, 从而激发自主学习能力[2]。

3.2.2 组织课外活动小组, 实施协同学习方式

随着信息技术迅速发展, 个人获取知识的能力有限, 所以实施协同学习与合作研究方式。在课程教学开始, 根据学生的实际情况, 组建学习小组, 让学生明确课程学习的目标与考核要求, 建立目标式学习方式。在课程教学过程中, 除传统的课堂实验外, 还开展课程设计、典型程序分析与设计等实践环节, 推行小组式学习方式, 充分发挥群体智慧, 互相学习, 互相启发, 达到共同提高的学习目的。

同时, 在C语言教学中, 通过教师对实际项目的合理设计, 由学习组组长根据学生的能力水平和个性差异, 合理分配模块, 同时教师在学生学习和操作过程中给予引导, 组织C语言程序设计大赛, 鼓励学生参加程序员、高级程序员证书考试, 辅导学生参加各种编程竞赛, 将课堂教学与课外竞赛考试实践相结合, 以验证和提高学生解决问题的综合能力。

3.2.3 采用“启发式教学”的课堂教学方法

针对C语言概念多、知识点多的特点, 在课堂教学中, 采用实际的教学案例说明, 启发学生思考教学中的难理解和难记忆的内容, 使内容变得简单改变了以前死背硬记的讲法, 使学生爱学习肯思考, 主动要求自己动手动脑去设计, 在操作过程中探究和解决问题的积极性和主动性得到调动, 从而增强了学生自主学习的能力。

同时建立立体化教学资源。为了培养学生自主学习的能力, 把C语言课程的教学大纲、实验大纲、多媒体课件、模拟考试题、网上考试等教学资源全部上网, 这样, 学生既可以利用校园网上的C语言教学资源自主学习, 又可以通过Internet网查询资料, 还可以通过的电子邮件与教师进行课外交流, 为学生答疑解惑, 为学生提供了更为广泛的沟通渠道与环境。

3.3 任务驱动的上机练习, 加强调试能力培养

对大学一年级的学生来说, 学会补充、调试和编写程序是一个漫长的过程。而且, C语言是一门实践性很强的程序设计课程, 只靠听老师讲、拿着程序看, 或者纸上谈兵, 而不上机实践是学不好C语言的。鉴于上机实践对学生学习C语言的重要性, 为此, 我们将C语言课程改在机房授课。采用这种授课方式, 每个学时学生都有机会与教师同时上机, 同步编写程序、调试程序。授课环境的改革, 学生的程序设计能力和学习兴趣有了很大的提高。

只有在计算机上多编写程序、多上机调试程序, 才能更快、更好地理解和掌握程序设计的思想、实质和精髓。另外, 通过上机实践, 也能尽快掌握C语言的一些语法规则和语句的基本形式。目前, 绝大多数院校的C语言上机教学, 是由教师根据教材挑选一些习题或例题, 作为学生的上机实验内容, 或者选用与教材配套的实验指导书, 指导学生按照上面的实验题进行操作。这种传统的教学方式存在以下不足:实验题目的设计很大程度受教材限制;文字教材很难及时更新;学生上机实验目的性不强, 任务不够明确, 教师对学生实验操作内容的控制性差。为克服上述不足, 我们根据教学要求设计一批研究性实验课题, 提出明确的要求, 并提供帮助文件, 给出难点提示及必要说明, 由学生独立完成课题。经过一段时间的训练, 学生在遇到难点时, 能够自觉查找帮助文档, 并逐渐养成良好的编程习惯[3]。学生的上机目的性强, 任务明确, 大大提高了实验教学的效果。

3.4 改革考核方式

作为教学评价重要手段, 考试对学生掌握知识和教师教学质量都具有重要的衡量和导向作用。以往的一卷决定学生最终考试成绩的做法, 对教师平时的教学管理起不到任何帮助作用。因为将近半年的时间才能进行考试, 因此, 一些学生平时紧张不起来, 存在懒散、厌学和旷课现象。衡量这门课学习的好坏, 不是看学生知不知道, 而是会不会干[4]。

为了提高学生的学习积极性和主动性, 扭转这种懈怠的学习态度, 我们对考核方式进行了改革。所以对学生学习成绩的评定, 采用期末总成绩=期末考试成绩 (占60%) +期中考试成绩 (占25%) +平时出勤 (占5%) +作业 (占10%) , 得出本课程综合考评分。

这种考核办法不但能更客观地反映学生的学习情况, 这一考核方法的实施极大促进了学生的学习主动性, 他们上课认真听讲, 课堂按照老师的要求完成学习任务, 有问题主动问老师或学生。大部分学生都能利用课后时间到机房练习。一改以往那种, 平时不学习, 考试出现突击的现象。综合评定成绩更侧重学生学习过程的管理, 既能促进学生平时的学习, 又能较为全面地反映学生的实际水平。

4 结束语

要学好C语言, 使学生掌握C语言的基本规则, 切实培养学生分析问题, 解决问题的能力, 培养学生的创新精神, 团队意识, 为学生提供更好地展示才华的舞台, 因此需要对教学方式不断进行改革和创新。对C语言课程改革方面进行更深一步的探索和实践使C语言的教学更能适应新的发展需要。

摘要:C语言是初学者学习计算机语言的一门重要的程序设计语言课程, 在学校开设C语言程序设计课程有着重要意义。通过分析目前C语言教学现状, 针对C语言教学存在的问题, 从学生自身、教学模式、教学方式、实践能力和考核方法等方面阐述了教学改革的思路和方法。

关键词:C语言,教学,改革

参考文献

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

[2]马新.C语言程序设计课程教学方法与手段的改革与实践[J].高校讲坛, 2010 (33) .

[3]张敏霞.程序设计语言课程教学方法改革的探索与实践[J].中国高教研究, 2004 (2) :90.

C语言实践 篇11

关键词:C语言;过程化;独立学院;教学改革

一、问题提出

通过对笔者近两年对所在独立学院学生的调研,了解到C语言程序设计课程的学习现状不容乐观,学生的课程学习效果不是很理想,尤其是实践动手能力比较薄弱,从大量调查数据反映出约有三成学生在学习完课程后编程能力薄弱,近五成学生会简单编程。通过分析发现造成该现象的主要原因有以下几点:

1.课程难度大,兴趣不足。通过调查发现有相当一部分学生是专业调剂的,有八成多的学生认为该课程的要求与难度大,实践动手能力要求高,知识应用灵活,有四成多的学生对该课程不太感兴趣。

2.缺乏良好的学习习惯、学习主动性较差。独立学院学生较普通本科学生在学习主动性、自律性上面要差些,通过对所在学院400多学生的调查,发现有将近六成学生学习不用功,有将近四成学生做作业时候参考他人或者不想做,自觉性与自律性较为薄弱。

3.缺少教学互动和学习效果反馈,过程管理薄弱。传统教学过程中,教师与学生主要通过书面作业来衡量课程的学习情况,学生完成作业后无法及时给予反馈和针对性指导,无法及时了解教学效果和学生学习状况,过程管理较困难。

二、教学改革和实践的思路与方法

为了改善教学效果,提升课程教学质量,课程团队以提高学生的能力为目标,以过程化管理为手段,进行了一系列的课程教学改革的探索与研究,通过近几年的实践,取得了良好的成效。

(一)改革思路

在理论教学上,打破传统教材对知识点系统化的编排顺序,更注重初学者学习程序设计的认知过程,重新梳理课程知识点编排体系,根据学生的接受程度,调整知识点编排次序,从而能够让学生循序渐进接受新的知识内容。

在实践教学上,教学团队采用了实践教学自动评测系统,采用案例驱动的实践教学方法,通过系统的自动评测,实时跟踪与监控,采用过程化管理方式,实现主动性和针对性的教学指导,从而提高实践教学效果与质量。

在整个教学过程中,依托自动评测系统的实践平台和课程评价机制的约束,要求学生必须做到课前预习、理论教学、实践教学、课外自主实践的几个阶段,并进行过程化评价。如图1所示。

(二)具体实践过程和方法

1.确定课程目标与能力

确定课程学习目标,明确课程学习完成后应该具备什么样的能力。因此在实践过程中,笔者结合学院办学定位和应用型人才的培养目标,结合独立学院学生的特点和C语言程序设计课程的特点,确定了“能读懂、会编程、能应用”三个课程学习层次阶段与“掌握程序设计的基本方法、具备问题分析与简单算法设计”两个方面的能力。

2.教学改革实施过程

课程改革的实施主要体现在理论教学内容组织与实践教学方式的改革上展开,突出理论指导实践,实践提升理论的教学理念。

在理论教学上,根据学生的特点与基础,注重学习程序设计的认知过程,重新梳理知识点编排体系,精心组织教学内容及教学案例,采用案例式教学,引导学生分析问题,解决问题。

在实践教学上,笔者结合实践自动评测系统平台,重新组织实践教学方式,如图2所示。每次实践教学过程,教师会事先安排不同难度层次的实践任务,学生选择实习任务后,把编程结果提交到系统上,由系统及时给出评判结果,如果结果错误,学生可以分析简单错误原因并继续改进,同时教师可以监控到学生的错误信息,查看程序代码,针对性给予分析指导,并鼓励优秀学生在完成实践任务后参与指导工作。

传统的实践方式,教师会事先布置实践任务,并在实践过程中指导学生完成,以书面的形式提交实践结果。这种方式存在如下弊端:主讲教师无法及时掌握学生实践的过程和结果,无法主动发现共性问题并给予针对性指导(只有学生主动提出才会发生,实际上主动提出指导需求的学生并不多)。新的实践教学方式,能够较好解决上述问题,同时,学生还可以全天候进行练习;教师可以实现过程化管理,同时大大减少批改书面作业的时间,有更多的时间和精力投入到课程的教学问题分析、研究和改进,优秀案例的设计与组织,更有效的提高课程教学效果。

课外延伸,除了全天候的课外自主练习外,积极鼓励学生参与各类程序设计竞赛,引导部分学习优秀的学生更加深入的掌握专业知识,培养探索新知识的兴趣,发现问题分析和解决问题的能力。

3.课程考核方式及评价改革

传统的程序设计课程考核方式主要以笔试为主,考核内容包括基本概念,程序阅读能力,程序设计能力等。课程采用上机考核方式,重点考察学生程序设计能力和实践动手能力,加强过程管理,安排了3次阶段性考核。课程的评价结合了课前预习与课后练习评价(10%),实践教学评价(40%),阶段性考核(20%)与期末考核(30%)。在实践教学的评价中,引入了竞赛排名机制(以数量和速度为依据),通过不同阶段的评价权重值与排名相结合,能更加真实的反映学生程序设计水平与实践动手能力。

(三)改革实践效果

通过过程化教学管理与考核的C语言课程教学改革,基本达到了课程教学的整体目标。尤其是通过自动评测系统中各种约束机制的设计,实践教学课程学生动手主动性明显加强,课外自觉实践练习明显增多,积极性明细增强,少数学生在学习完课程后能把自动评测系统中的题目几乎全部做完。课程考核评价更加客观合理,平时过程化评价成绩(平时成绩)与综合测试成绩(期末成绩)基本趋于一致,整体的平均分差在1~3分左右,明显优于传统笔试效果,课程不及格率有了明显的降低。学生的程序设计能力有了大幅提高,通过对比历史统计数据,在程序设计题的得分率要比传统笔试考核方式高出70~80%,效果十分明显。该课程的教学改革获得了宁波大学课堂教学三等奖和教学创新一等奖。

三、结束语

通过几年的探索和实践,过程化管理的C语言课程教学改革在笔者所在独立学院的应用型本科人才培养方面取得了一定的成绩,得到了同行的认可,但仍需不断的完善教学方法和课程评价方法,提高教学评价的合理性。笔者在文中提到的自动评测系统(在线判题系统)在整个教学改革中起到了很重要的作用。

参考文献:

[1] 应新洋,刘慰.能力导向的应用型本科数据库教学改革与实践[J].大学教育.2015(6).

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

[3] 蒋宗礼.以能力培养为导向 提高计算学科教育教学水平[J].中国大学教学.2008(8).

C语言教学改革的创新与实践 篇12

然而近年来,软件市场应用不断深化,市场对人才的需求也在变化,这就加速了高等院校人才培养的转型发展。作为一门传统而又重要的专业课程,面对当前形势的需求,在教学内容、教学模式和评价方式上也需要进行创新与实践。

1 传统教学模式存在的问题

1.1 教学内容的组织方式过于守旧

C语言作为一门编程语言来说,非常经典,在很多高校它是计算机相关专业的入门专业课。它的编程思想、编程习惯、思维过程、调试测试等内容,都对学生未来在软件技能方面的进一步学习和提高,产生着深远的影响。然而,恰是因其经典,传统教学内容在组织与教学方面,存在着严重的弊端。教学目的和内容的定位不准确,在C语言的教学内容安排上,忽略学生对课程的掌握程度和难点所在,侧重占偏向基本原理和基础应用,容易挫伤学生学习的积极性,由于C语言本身的灵活性,部分教师只是套搬一些经典传统的实例来进行讲解和验证所讲的基本语法,忽略了应用C语言实际动手能力的培养。导致部分学生在学完C语言后,自己不能动手写一段程序,与实际应用严重脱轨,从而致使学生不爱听课,学习积极性不高,遇到不明白的地方就主动放弃,达不到理想的教学效果。

知识的学习贵在“窥一斑而知全豹”,然而,传统软件教程在教学内容的组织上存在一个共性的缺点,知识点学习了很多,却没有整体概念,就是所谓的只窥斑点,不见全豹,对于软件究竟能作什么没有直观而切身的体会。

软件开发方向的转变、开发软件的转变、学时的压缩等问题,都要求教学内容的选择和组织方式方面不能墨守成规几十年不动摇。

1.2 教学方法没有创新

目前,课堂教学多停留在以老师“教”为中心的教学模式。在这种模式下,老师是中心,老师是主导,老师教什么,学生学什么。这样学生的主体地位没有体现,师生之间缺乏交互,学生的主观能动性没有得到充分体现。

1.3 评价手段单一

平时的考勤、实验项目成绩和期末成绩等是形成学成学生最终成绩的重要组成部分。这种方式存在着严重的弊端,已经被众多老师认识到。C语言是一门实践性、设计性非常强的课程,其考核手段应该更为多样化一些。如何培养和体现学生的创新思维,都是评价改革应该思考的问题。

1.4 上机实践流于形式

在C语言理论课上,教师往往是按照教学大纲的要求完成了相应的教学计划,并没有明确布置实践课的上机任务,这就导致学生不清楚实践课的内容,无法进行明确的实践课前准备。即使是在上机实践课上也是将课本中的实例或是教师上课时所讲的案例录入到计算机上,无法进行详细具体的分析算法和它的语法结构,最终导致实践课程流于形式,无法达到巩固理论课的知识点,提高学生动手调试程序的目的。

2 以项目为依托,改革教学内容

2.1 重视自编讲义

教师的讲义编写,是其对教学内容的二次创造。如何选择教学内容,以何种方式来传授,其对教学用时、教学环境、教学对象等因素的考虑,都体现出了教师的创造性劳动。C语言教学的内容基本是大同小异的,然而,如何传授教学内容,如何对内容进行选取,如何根据不同专业背景的需要,作出相应的调整,这都是教师在备课时需要思考的问题。因此,自编讲义是教师对教学对象、教学内容、教学过程和教学方法等内容的深入思考的结晶。

2.2 以项目为驱动,重组教学内容

学习动机,尤其是成就动机可调动学生的学习C语言的兴趣[5] 。C语言是一门重要的编程语言,也是软件开发的重要工具。以一个实际的项目来教学,通过对相应知识点的分解与重组,可使学生对知识的获取更为直观。C语言知识点非常多,如果按传统方式来教学,学生会对所学内容没有整体概念。通过调研,在很多高校存在着C语言教学与学习的共性不足,那就是学生学完这门课程,只是“听说”能做什么,而却不知该如何去做,是典型的纸上谈兵。

另外,做一个项目并不需要用到C语言所有的知识点。通过做项目,来完成相关知识点的学习,可使学生对知识的理解与运用,更为深刻和直观。但是以项目驱动来教学,也必然会带来部分知识点没有讲到的现象。然而,通过分析与实践发现,培养学生学习的能力比学学到知识更为重要。“授人以鱼不如授人以渔”,教授学生学习方法,通过项目,把教学知识穿插其中,在这个过程中,以“抛出问题”,“思考问题”,“解决问题”的方式,传授学生解决问题的方法,逐步培养学生分析问题、解决问题的能力。

3 重视教学过程改革,突出创新思维的培养

3.1 教学环境的改革

“讨论式”教学并不适合现有的教学模式,一个班级60-70人,无法达到学生中心地位的体现,师生的良好交互更无从体现。随着实验教学条件的改善,可以对实验教学环境进行优化,可实施小班教学,分组讨论。建议每次教学分5-6个自然组,每组4-5人。

3.2 教学过程的阶段化改革

把教学过程分解为多个阶段,学生是教学的主体,教师的角色没有变,但在这个过程中,教师的作用发生变化。针对教学过程的不同阶段,不同任务,教师应做到“启-导-评-拓”,实现教学过程的“教-学-做”一体化。

3.3 注重学习思维的培养

通过改革,教学过程发生变化,如图2所示。先由老师给出问题,各小组分别讨论,接着集中讨论。针对问题形成结论,然后通过实验进行验证。根据不同的实验结果,教师要进行点评,引导学生进行分析和解决。最后,针对问题进行拓展。在这个过程中,教师要做好四个作用。首先是“启”的作用,面对问题,从不同角度启发学生来思考。其次是“导”的作用,对于学生的想法或结论,要给予指导,面对困惑,也要适度引导。第三,教师要做好“评”的作用,针对实验验证出现的问题和结果,教师要尽量作出客观全面的评价。最后,教师要做好“拓”的作用。鼓励学生把问题向横向或纵向深入思考。

3.4 培养学生自主合作学习意识

培养学生合作学习的意识,从C语言学期末的调查结果来看,学生在经过一个学期的C语言合作学习之后,在C语言合作学习活动开展过程中,小组中的成员自愿承担起各自的任务与责任,C语言合作学习小组内的成员基本上能够做到互相帮助、积极主动的投入到C语言合作学习中。积极参加组内头脑风暴,逐渐地,同学之间的交流增多了,思想碰撞频繁了,学生的学习C语言思路也得到了极大的扩展。大部分学生越来越喜欢这种灵活、自主的学习方式,并且还表示希望能够以这种方式学习其他课程。

按照这个模式通过多次训练,培养学生面对问题、思考问题、解决问题的能力。不仅可以培养学习思维、创新思维能力,而且可以有助于团队合作能力的培养。

4 改革评价模式,促进学生全面发展

4.1 重视从结果评价到过程评价的转变

结果评价是一种简单的评价方式,却也是一种过于单一、不能全面评价学生的评价方式。面对结果评价,很多学生平时应付学习,无论从出勤、作业、回答问题、精神状态等各个方面,都展现出了消极、不配合的现象。他们认为期末认真复习,考及格就行了。或者,他们认为大学几年,只能顺利拿到毕业证或学位证就行了。至于说个人的能力和素质提高,却并没有得到重视。

然而,具有这种想法的学生并不在少数,而且有相当的普遍性,这就需要我们思考现有评价方式是否不够合理,是不是可以改进。过程评价是对结果评价的转变,它突出了学生在学习期间的整体表现。

4.2 过程评价的点要更为丰富和灵活

通过对学生学习过程的分析和思考,我认为过程评价点应该包含以下内容:出勤、作业、态度、创新、期末成绩。出勤是一种约束,也是对其学习态度的基本衡量。作业是阶段性的学习任务的体现,也属于传统衡量的一部分。态度决定一切,出勤、作业都能完成,然而,如果一直是应付的状态,那么,注定这个学生在C语言上不会有好的收获。创新是一个民族进步的灵魂,是一个国家兴旺发达的动力。高校是培养创新型人才的摇篮,高校学子创新能力强不强,某种程度上决定了一个国家乃至一个民族的未来。创新是一种高标准的考察点,它和态度一起,是教师对学生平时表现的综合衡量。C语言是一门设计性的语言,在分组讨论或实验验证的过程中,针对学生创新的想法,要给予肯定。

4.3 评价点的比重要更为合理

合理的考评点及其比重,将会对学生的学习产生深远影响。如图3所示,为了突出考评的全面性、客观性,把传统阶段考核的比重由70%降低到30%。这样,就要求学生主动参与到教学的各个环节。

当然,这种考核方式也对教师提出了更高的要求。比如学生态度的考核、学生创新思维和设计的考核,需要老师及时记录,并及时公开,接受学生的评价与反馈。

5 结论

通过对C语言教学内容、教学过程、评价方式的创新改革与实践,不仅使学生在课堂教学的参与性明显提高,而且,也使教学目标更趋合理与完善。作为计算机相关专业的一门核心专业课程,C语言不仅发挥着不可替代的重要作用,而且正在向更多的新领域深入发展。

摘要:以项目为驱动,对C语言教学内容进行重组。改革教学环境和教学过程相关环节,提升学生的参与性和交互性,发挥教师的“启-导-评-拓”作用。丰富评价点、改进评价比重,使评价更为全面、客观、有效。

上一篇:护理毕业生毕业论文下一篇:养殖系统