独立学院学生C语言编程能力培养

摘 要:本文针对独立学院学生C语言编程能力培养的问题进行了研究,以发挥学生的主动性、积极性为核心,从教学方法、后续教育、考核方式等方面进行了多样化的尝试与探索.

关 键 词:编程能力在线考试系统后续教育

中图分类号:G642文献标识码:A文章编号:1673-9795(2014)04(b)-0073-02

《C语言程序设计》课程作为大学通识教育计算机公共基础的核心课程,是大学生学习程序设计知识的入门课程.这门课程的学习效果直接影响学生对其他专业课程的学习,是许多后续课程的重要基础,更是各种工程专业综合运用本专业知识、开展相关研究的重要表达工具和开发工具.例如,土木工程、机电一体化、自动化等专业.对于工程专业的学生,具备了C语言编程能力才能在以后的学习和研究中针对专业问题,建立数学模型,利用计算机这一工具,以及各种软件更好地从事专业领域的创新研究.

目前,独立学院学生C语言编程能力培养存在比较严重的问题,最主要体现在大学生编程应用能力不足.造成这种问题的具体原因有以下几个方面:

(1)教学模式落后.采用传统的主教学法即提出概念――解释概念――举例说明.

(2)教学后续不继.传统的课堂教学对学生的引导不够,学生的主体地位得不到保障.除课堂的编程教育外,其他时间主要靠学生个人自觉.但独立学院学生自觉性普遍较差,即使课堂教育质量再好,后续巩固不够,培养效果也不理想.

(3)考试方式不合理.《C语言程序设计》是一门实践性非常强的课程,笔试不能反映学生理解、掌握、应用C语言知识的实际情况,需要对考核内容和形式做适当调整.

针对这些问题,我校启动了一系列项目进行研究,设立了校级教改项目:《C语言在线考试系统》.C语言在线考试系统是“2013年度陕西民院校、独立学院教学改革研究项目――独立学院信息类专业学生编程能力培养研究”的子课题.该系统的设计主要是针对提高C语言编程能力进行的,其主要功能着重于编程题的练习,对编写正确的代码进行代码行统计以及在线考试.

以提升学生的编程能力为目标,以发挥学生的主动性、积极性为核心,从教学方法、后续教育、考核方式等方面对编程能力的培养进行了多样化的尝试与探索,取得了较好的效果.

1提高教学质量

1.1推行“问题式”教学法

“问题式”教学法,是一种以教师设置问题为出发点,以学生思考解决问题,教师重点讲解与点拨,使学生掌握新知识的教学法.按照“问题式”教学法的思想,教师在教学过程中要精心组织多种方式、多种目的、多种层次的问题.[1]教师可以自问自答,作为问题或一段内容的引入,避免交代式的讲解;还可以提出问题并要求学生作出判断并回答,让学生明白:新知识的提出是为了解决当前遇到的问题.

例如,学习结构体时,利用6位同学的信息管理程序来阐述结构体的知识点.这些内容同学熟悉,比较感兴趣,在此基础上,逐渐增加该程序的难度,利用前面所学函数知识,进行学生成绩的查询、统计、求平均值等的管理;学习文件的应用时,通过实现将学生的信息保存到磁盘文件以及从磁盘文件中读入学生信息进行处理的程序,使学生掌握有关文件操作函数的使用[2].相关内容学习结束后,一个简单的学生信息管理系统程序设计就完成了.

“问题式”教学法的正确使用对于强化学生学习的兴趣,调动学生的主观能动性,培养学生的创新能力有积极作用.

1.2建设习题库

提高编程能力首先是培养编程思维,即养成以程序的方式思考问题.正如我们日常生活中用语言时不必去费心地组织表达方式一样,C语言也是“语言”,是计算机语言,作为程序员对一些基本的程序逻辑应该运用自如.[3]“程序设计是高强度的脑力劳动,不是听会的、也不是看会的.而是练会的”.要养成编程思维,只有通过大量实际训练.开发的C语言在线考试系统,可帮助学生进行大量的训练.学生登陆C语言在线考试系统,可按章选择题目.编译、连接、运行正确后,系统自动统计该学生编写程序的代码行.

C语言在线考试系统的习题库包含第一章至第十章习题以及二级C语言上机题.其中,每一章的习题含20个题目,每个题目均为编程题.期中考试自动组卷是从第一章至第五章选取试题,每章随机抽取1个试题,考试时间为2小时;期末考试自动组卷是从第六章至第十章选取试题,每章随机抽取1个试题,考试时间为3小时.

由于所有的试题均来自习题库,学生为了考试能顺利通过就必须把所有的习题做一遍,“逼”学生进行大量实际训练.

我校计算机信息与技术系学生编写的正确代码行达到4000行及其以上才能进行学校组织的期末考试,达到从量变到质变的效果,从根本上提高学生的编程能力.

1.3改革实验教学内容

《C语言程序设计》是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行.在对学生进行《C语言程序设计》课程的教学中,实验教学是整个教学过程的重要组成部分,它可以培养学生两方面的能力:一是实际动手操作的能力;二是独立获取知识的能力.从某种意义上讲,实验课比理论课更为重要.笔者认为应注意以下几点:


(1)每次实验课之前,教师都根据授课进度,有系统地布置实验任务,设置必做与选做题,以满足各个层次学生的需要;要求学生认真准备实验课内容,在稿纸上编写好程序.实验过程中,学生应快速进行编辑,并在调试中发现问题,同时解决问题,从而不断提高自己.我们让学生以自己的学号+姓名+题号作为程序文件名,调试成功后发送到指导教师的,课程结束后按完成程序的多少及优劣来评定实验成绩.

(2)在实验课中,教师将发现的问题有选择性地进行讲解.

(3)学生上实验课时,教师多参与指导,即勤转、勤看、勤说、勤手把手操作.2改变考核方式

为了加强对学生学习的过程管理和督促作用,该课程的考核采用:平时成绩+期中成绩+期末成绩的方式,比例分配为3∶3∶4.

学生的学习过程管理是教学中的重要一环,对学习效果具有很大的影响.平时成绩包括上课出勤、上机情况、平时作业等,由任课教师根据学生的情况作出评定.期中考试则在课程完成一半后进行,期末考试侧重于对学生综合能力的考核.

学生学习效果的检验方式直接决定了最终的教学效果.如果想让学生真正学会独立动手并写出正确的程序就必须采用上机考试的方式.因此,期中考试和期末考试均采用上机考试的方式,要求学生针对问题写出最终可以正确运行并能解决问题的程序.这样做,可提高学生利用程序设计思想解决实际工程问题的能力.

3加强后续教育

C语言编程能力的培养是一个长期的任务,不能只靠教师单方面的努力.编程教育应当具有持续性,并且需要充分发挥学生的主动性.

学生的自主学习是编程能力培养的重要途径之一.然而,学生在自己学习编程的时候,编写的代码总出错,似乎只有在老师的指导下才能完成学习.因此,有必要找到一种有效的自我提高的方法.笔者归纳为如下的学习编程方法.

读代码:注重学生阅读程序能力的培养.要求学生将书上的例题看懂,了解程序&# 30340;流程,了解作者的编程思路,了解代码的优点和缺点.

写代码:这是第二阶段.要求学生自己动手将代码从头写一遍,经过编译、连接、运行代码后能得到正确的结果.如果遇到问题,可以通过对照样例来发现原因.

改代码:这是第三阶段.要求学生将读懂的代码做一些小的局部修改或扩展,得到不同的结果,并能解释原因.目的是使学生熟悉一些语句用法,把握解题思路、方法和步骤(即“算法”),从而让学生明白如何分析并解决实际问题,逐渐培养学生进行程序设计的正确思维模式.

这种学习方法强调了学习的渐进性,降低了学习难度,学生能力逐步提高;同时,由于有现成的样例程序为基础,碰到的大部分问题都可以对照样例程序来发现与解决.

另外,教师应当对学生的自学提供一定的指导与帮助,例如筛选一批经典的参考书目或精选出一批知名的网络技术组与博客等.让学生能够从中汲取到非常优秀的编程思想与观念,并领悟到行业与技术发展的方向.

有了一定编程基础之后,研究一份优秀的源代码.在没有看代码前,先根据软件的功能按照自己的思路进行设计,然后带着问题去看代码.与源代码相比较,找出自己思路的不足或作者代码的缺点,自己尝试写出比该代码更优秀的代码,才能够站在更高的角度上去分析和学习,才能达到“通透”的境界.

实践!实践!再实践!我们看代码是为了更好地写程序,要敢于把学到的先进知识、先进技术进行实践应用,只有用得多了,才能彻底理解和掌握.

4结语

C语言编程能力的培养是一个值得长期研究与探讨的问题.我们总结了几种有效的方法,在日常教学中加以运用,学生编程能力得到很大的提高.因此,在今后的教学工作中我们还要继续努力,勇于探索、善于总结,不断改进教学方法,进一步提高学生C语言的编程能力.

类似论文

C语言编程能力的培养

(浙江传媒学院浙江杭州310000)中图分类号:TP311 14文献标识码:A文章编号:41-1413(2012)01-0000-01摘。
更新日期:2024-1-16 浏览量:18900 点赞量:5097

提高独立学院学生英语应用能力

(河南财经政法大学成功学院,河南 巩义 451200) 摘 要:第二课堂作为课堂延伸型活动,是语言技能训练的主战场,是大学生素质。
更新日期:2024-5-15 浏览量:69580 点赞量:15877

如何培养中职生形成C语言编程思想

摘 要:C语言是面向过程的高级程序设计语言,它是目前举世公认的优秀的结构化程序设计语言之一,于2009年被纳入中。
更新日期:2024-8-23 浏览量:107945 点赞量:23818

独立学院学生动物医学临床技能的培养

摘 要:现在社会上很多公司反映大学本科毕业生到了工作单位后专业实践技能达不到公司的要求 动物医学专业是一个。
更新日期:2024-10-17 浏览量:132598 点赞量:29060