编程能力的提高

2024-08-03

编程能力的提高(共7篇)

编程能力的提高 篇1

摘要:学生编程能力的高低反应了学生应用程序设计语言的能力, 目前大多数学生学习程序设计语言只重视理论轻应用, 能应付考试不能应用计算机语言解决实际问题。本文在分析实践教学各个环节对学生学习的影响情况的基础上, 优化综合实训的组织方式, 改善综合实训的教学效果, 提高学生的编程能力。

关键词:编程,实训教学,程序设计

对于多数学生而言, 在学习了程序设计语言后, 除能应付计算机等级考试外, 不能应用计算机语言去解决实际的问题, 而社会对人才的需求要求学校所培养的学生不仅要具备较扎实的理论基础, 而且要具备相应的专业技能和素养, 具有解决实际问题的能力。要具有解决问题的能力首先应该掌握计算机语言的理论基础, 然后是把计算机语言作为工具来解决实际问题。理论知识的获取无疑要通过理论课堂, 应用能力要靠实践, 现在的计算机语言课程设置也都是按照“理论+实践”模式, 那为什么学生学过语言课后普遍认为不会写程序, 不会应用计算机语言这个工具呢?本文在分析计算机语言教学存在的问题以及各个环节对学生学习的影响情况的基础上, 通过优化综合实训的组织方式, 让学生更好地利用程序设计综合实训的机会, 锻炼学生综合程序设计的能力。

一、实践教学现状

1.实践教学的目标

通过实践教学使学生加深对理论知识的理解掌握;培养学生的基本技能和专业技能, 使学生具有较强的实际操作和创新能力;培养学生良好的社会公德、责任意识和敬业精神, 培养实事求是、严肃认真的科学精神、探索精神和创新精神, 提高综合分析解决问题的能力, 塑造初步的创新能力。

2.目前实践教学的各个环节及对学生的影响分析

实践教学由课堂实践教学、综合实训、课外实践活动以及毕业设计环节组成。

课堂的实践教学针对教学内容的, 内容相对单一, 缺乏综合性;课外实践教学对于程序设计来说锻炼机会较少;毕业设计的完成往往是专业知识的综合训练, 要求学生已经具备一定的程序设计能力, 能够通过程序设计解决实际的专业问题, 因此, 在校阶段的综合程序设计实训尤为重要, 要通过综合实训锻炼学生进行程序设计的综合能力, 为专业服务。

二、理论课注意调整学生对课程的认识

心理作用对学习的影响非常重要, 学生对于计算机语言类课程的评价大多数是一个字“难”, 普遍感觉课程很难, 会把这门课当做一个独立的学科来对待, 本人认为这样对学习语言课是不利的, 计算机语言和我们日常讲话说的“汉语”是一样的, 都是交流的工具, 只不过汉语是人和人之间交流的工具, 而计算机语言是人和计算机之间交流的工具, 我们学习计算机语言, 目的是和计算机进行交流, 就如同我们学习英语, 是想和不会说汉语的人进行交流和讨论一样, 那我们要和计算机进行交流和讨论, 就需要计算机明白我们的意图, 计算机如何知道我们想要做什么呢, 就是通过约定好的计算机语言来表达我们的想法, 所以计算机语言是表达我们人类想法的工具。只有让学生从根本上明白计算机语言在日常生活中扮演的角色, 才会更好地建立让计算机帮助人类解决问题的思维模式, 才会更好地应用计算机语言转换自己的思想, 才会意识到只有通过多编程多练习才能熟练使用计算机语言这样的工具。

三、调整课程设置模式, 加强课内实践环节

目前, 计算机语言类课程教学安排大多采用“2+1”的课程模式, 也就是每周2个学时的理论课和1个学时的实践课, 实践课的安排一般采取“两周一次”的方式, 即每两周才上一次实践课, 每次课2个小时。例如, 对于结构化程序设计的语言来说, 三种控制结构会在2~3次课完成, 但是学生会用控制结构处理实际问题需要多练习多编程才能建立这样的思维模式, 对于刚开始接触计算机语言的学生, 应该针对每一种结构 (例如选择结构) 给出多道练习题, 让学生通过自己写程序来解决实际问题, 这样才能建立遇到同一问题多种解决路径的实际问题时, 会自然而然地想到采用选择结构。但是按照“2+1”的课程设置模式, 课内实践的时间不足以保证对单一知识点的很好掌握。因此, 加大课内实践的时间是有必要的。近几年, 我们将网络工程专业c/c++语言课程调整为“3+2”模式, 每周有实践课, 每周的理论课中增加对实际问题的分析和实验课前分析, 学生对单个知识点的掌握程度明显提高。

四、程序设计综合实训的组织和实施

进行程序设计综合实训是要求综合运用所学的知识解决实际问题, 增强对程序设计的理解并体验团队的合作精神。因此对于综合实训的内容安排、指导以及考核都要以综合实训的目的为核心。

1.综合实训的内容安排

学生能编出具有完整功能的实用程序时, 会具有强烈的成就感和自豪感, 这是最好的原动力, 可以很好地激发他们的潜能, 使他们的算法设计能力、程序设计能力和程序调试能力得到快速的提升, 因此确定一个能激发学生兴趣的题目很重要。

关于内容的安排有两种方式:

一是在一系列现有题目中选择。我们编写了程序实训指导书, 在书中列出了24个题目供学生选择, 这24个题目分数据库管理、游戏设计、图形、算法设计等分类, 学生根据兴趣自己选择实训题目。

二是根据不同的专业学生自己选题。鼓励学生根据本专业所学专业课, 自己选择在专业课中要解决的问题, 然后通过程序设计实训过程来完成。这种方式需要学生提前写一个报告, 包括简单的选题内容, 以及准备采取的方法, 指导老师根据报告决定该选题是否能作为实训选题, 并且提出补充建议。

2.综合实训的指导方法

综合实训采用结对编程的模式, 两个学生选择一个选题, 互相合作, 共同完成。整个过程要以学生为主体, 因此指导老师的作用是引导学生自己查找资料, 鼓励学生通过多种途径解决出现的问题。

3.成果考核和成绩评定

考核是督促学生学习的一种手段, 因此考核必不可少。一个完整的实训过程必须要有总结报告, 总结能使学生发现收获和不足, 为以后的进一步学习打下基础。

(1) 实训结束要求提交的资料

完成题目的基本要求, 提供正确的源程序;

提交实训报告, 实训报告符合要求, 给学生一个实训报告的模版, 其中包括实验内容、设计步骤、程序流程、主要算法设计、总结与体会等。

(2) 考核方式

按照平时考勤、程序源码、实训报告三方面, 按照2:3:5的比重考核打分, 最终成绩实行优秀、良好、中等、及格、不及格的五级评分制。

五、总结

从多个年级学生的实践结果来看, 加强课内实践, 重视综合实训, 并且严格实训组织和内容选择, 不仅能提高学生对程序设计的兴趣, 极大加强学生的实践动手能力、解决问题的能力, 也较好地培养学生的创新精神。

参考文献

[1]李凌.“程序设计实践”课程教学怎么做[J].计算机教育, 2006, (8) .

[2]李丽琼, 刘彦宾.从培养创新能力入手改革程序设计实践教学[J].遵义师范学院学报, 2006, (8) .

[3]赖涵.利用结对编程技术改进程序设计实践教学[J].微型机与应用, 2007, (6) .

[4]赵风.研究性教学与大学生创新能力的培养[J].当代教育论坛.

提高C语言编程能力的几点策略 篇2

C语言具有执行效率高、语法规则简单、移植性强等特点,同时具有其他高级语言不能实现的对硬件进行操作的特点,因此成为计算机类专业入门必修的计算机语言[1]。该课程一般是在大一第一学期开始,对于刚入大学校门的新生来说既感到新奇又迷惑,新奇是发现C语言能解决很多在高中没能快速解决的问题,迷惑的是如何才能学好它用好它。C语言还是《数据结构》、《操作系统》以及其他程序设计语言等计算机类专业核心课程的基础,如果C语言学不好,必然对整个大学期间其他课程学习受到影响。一般新生入学比高年级学生入学晚,又有军训,导致在大一第一学期学习该课程时存在时间紧、任务重、难度大等特点,从而导致教学过程中存在学生学习积极性不高,对课程不感兴趣,语法规则难以记住,分析和解决实际问题难,动手能力差等特点。根据存在的问题,总结多年教学经验,从上好第一次课、弱化细节、重视上机、布置综合练习等方面提出教学建议,通过实践,证明这些建议是可行的、有效的。

2 上好第一次课,确定学习目标

对于大学中的任何一门课程,都要让学生掌握本课程的学习目标,如果学习目标不明确,学习兴趣则将不高[2]。C语言课程教学一般在第1周学生学习的积极性都很高,对课程也很感兴趣,因为刚接触C语言,发现能控制电脑做自己想要的简单事情,如输出自己想要的一些内容或图形。但在后续的过程中兴趣慢慢地减少,觉得学习C语言枯燥无味,不感兴趣,难以坚持等。若从开始授课时不进行调整,不采取相关对策,势必影响后续的学习。

好的开始是成功的一半,在第一节课授课时,要以生动有趣的形式告诉学生本课程的功能、主要学习的内容及重要性,让学生有目的地去学习本课程。很多教师在第一次上课时都会告诉学生学习完本课程后要考全国计算机等级考试二级中的《C语言程序设计》科目,其实这是一种错误的引导,这种做法让学生误认为本课程的学习就是为了考过二级,导致学生在学习过程中以二级考核的内容和知识点来引导自己学习,这必然导致学生只注重细节,不注重编程思想的形成。

以计算机科学与技术专业为例,在第一次上课时给学生提出本课程的学习目标:1)本课程主要学习顺序结构、分支结构、循环结构这三种结构程序设计的基本思想和语法结构,数量掌握数组、函数、结构体、指针以及文件的使用,掌握这些知识后为后续课程《数据结构》、《Java语言程序设计》、《C#程序设计》等与编程相关课程打下基础。计算机编程语言的语法和思想基本相通[3],C语言不掌握,以后其他课程的学习就很困难,更谈不上软件开发。2)掌握使用编程知识解决实际问题的方法,如求素数、数列之和、球类循环赛编排等,同时演示1-100之间人与计算机猜数字的游戏,让学生对简单的实际问题有一个基本了解;3)基本掌握小型软件开发及合作开发的基本方法,同时演示学生成绩管理系统,该系统基于VC++6.0使用C语言开发,经过这样的演示,学生基本了解软件开发的结果是什么样子,激发了学生开发软件的兴趣。对于上述三个学习目标的解释及演示,学生既了解到本课程所需要学习的知识,又能了解到学完本课程后能做什么事情。

在第一次授课时,除开给学生讲解学习目标外,还需要告诉学生本课程的学习方法:上课认真听知识点的讲解,为做实例奠定基础;认真完成上课时讲解的实例,总结实例的解决方法,为解决其他问题提供解题思路;重视上机,通过上机查找程序编写的问题,提高编程能力;课后多讨论所布置或发现实际问题的解决方法,养成自学及协同工作的习惯。

3 弱化学习细节,强化趣味实践

任何一门课程所要学习和掌握的内容是非常多的,根据课程的作用,对学习的内容必须要有所取舍,如果上课时面面俱到,最终将导致学到最后一无所获,特别是对于C语言这种细节能进行很深入展开的课程[4]。但是很多C语言的教师在授课时总是不知不觉的强调注意细节,总怕学生如果这点不掌握就在考全国计算机二级时相关知识点的题目不会做,如强调自增自减运算符的使用、对每个转义字符进行讲解、解释for语句中三个表达式可以省略等,对这些细节的强调不仅不利于学生学习,反而让学生去纠结到底用i++好还是++i才好,去背每个转义字符的作用,这样导致学生总是去考虑细节如何记忆,而没花心思去想某个问题的解决思路,从而不利于培养学生解决实际问题的能力。

其实在授课时,对知识点的讲解以基本够用就行,重点在培养学生解决实际问题的能力,通过具体的编程学习相关的知识点。如在学习顺序结构时,只讲整型、字符型、浮点型变量的定义以及printf、scanf函数的基本格式,然后就讲解“输入两个整数,求这两个整数的和、差、积、商,并且要求输出商有2位小数”这个例子,在这个实例中引出强制类型转换的知识,让学生实现本实例后,再讲解如何通过scanf和printf设置符合实际需求的输入输出格式。这样通过实例来学习知识点,既能避免学习知识点的枯燥无味,又能让学生记住相关知识点及掌握实际问题的解决方法。

在实践教学过程中,寻找有趣、容易理解且能引出相关知识点的趣味实例是教学过程中较难的地方,也是教师在备课过程中重点要考虑的教学设计。如在学习循环语句的使用时,讲解while语句的基本格式后,就要求学生考虑猜数字实例:使用rand函数随机生成一个1至100之间的整数,然后最多给10次机会输入整数,判断所输入的整数是否等于随机生成的整数,如果猜对了就提示“正确”,否则提示“大了”或者“小了”,接着继续猜。这样的实例既有趣,又能把循环中涉及的循环初值、循环条件、重复事件与循环增值内容理清,还能复习if语句嵌套的使用,更能够引出新知识:当猜对时需要使用break提前结束循环。因此通过实践巩固所学知识时,趣味实例是一种很好的运用,更能促使教师在上课前需认真备课。

4 重视上机实践,提高编程能力

C语言教学过程中经常碰到的问题就是学生编程能力差,遇到问题不懂如何解决,害怕教师布置作业,害怕编程,编程过程中遇到错误不懂解决等[5]。这些问题如果不能得到较好的解决,将影响学生学习C语言的兴趣,进而影响后续课程的学习。

C语言是一门实践性很强的课程,只掌握理论知识就好比纸上谈兵,必须要通过上机实践来理解并巩固课堂所学知识,因此上机实践是C语言教学的一个重要环节,只有强化、重视上机,才能切实提高学生的编程能力。

错误容易吸引学生的注意力,在上机实践前,进行与知识点相关实例讲解的过程中经常故意设置一些错误地方。这种故意错误分为两种,一种是语法错误,程序编译通不过,跟学生一起解读错误提示来解决语法错误,以提高学生语法错误的修改能力;另一种错误是逻辑错误,程序能正常执行,但得不到正确结果,如讲解1++……+1/10的累加实例中,以a表示分子,b表示分母,在求和时故意写成sum=sum+b/a,这样的错误让学生对变量的起名要引起注意,要能够见名知意,否则在编程过程中容易误用变量。

在上机过程中,有目的的引导学生,既能够锻炼学生纠错编程问题的能力,还能够锻炼学生分析问题的能力。在上机过程中,先让学生完成课堂上讲解的实例,在完成课堂实例程序编写的过程中,如果遇到语法错误学生提问时暂不予以解决,先让学生之间商量解决,实在无法解决的再提示学生如何解决。在完成课堂实例后,布置新的且未讲解过的实例,让学生自己寻找解决问题的方法,自己测试结果是否正确。如学生完成在1++……+1/10的累加实例后,布置学生求1-2/3+5/5-10/7+17/9+……数列前20项之和,让学生自己寻找分子分母的规律。由于没有提醒学生,学生找到各种各样的规律,让学生自行发现规律能充分锻炼学生的编程能力和思维能力,如第一种规律:下一项的分母是上一项的分母加2,下一项的分子是上一项分子与分母之和;第二种规律:i从1开始,分母是2*i-1,分子是(i-1)2+1等等。在让学生做上述练习时,也不告诉学生最终结果,让学生2项、3项、4项、……的测试,这样能锻炼学生测试程序的习惯,依赖教师则会越来越少。在完成课堂实例及新实例后,让学生在课后自行考虑自己需要解决的问题,将问题及程序在课后发给教师,教师根据这些问题及程序,结合上课及上机情况,综合确定学生的平时分。

5 布置综合作业,锻炼解决实际问题的能力

学生学习完每章内容之后,通过相关的作业能巩固本章所学知识,学生也能感觉到相关知识已经掌握。但当本课程的所有内容讲解完之后,学生就会放松了,认为所有知识都已经学习并掌握了。其实不然,学生经过每章学习掌握的是零散的知识,如何将这些知识综合起来使用,则是检验所学知识能否灵活运用所学知识,这时就需要综合作业来进行检验,通过这样的检验能很好地锻炼学生实际问题解决的能力及协作能力。

在根据教学大纲要求讲解完所有章节内容之后,分2至3人一组,布置一些综合练习题,学生完成这些练习之后,既复习了旧知识,又巩固了本章的重点内容,还锻炼了学生解决实际的问题能力及小组协作能力。如布置学生完成并实现学生成绩管理系统,该系统要求能够将学生的成绩信息录入后保存在文件中,并能够对成绩实现增加、删除、修改、按学号查询以及按总分排序等功能。这样一个简单功能的小项目,就能综合检验学生一学期所学的知识,如在保存数据时能检验结构体和文件的使用,实现增加、删除、修改等独立功能时能检验循环、分支以及函数的使用,在排序时能检验排序算法的掌握能力,在录入数据时能让检验格式化输入输出的使用等。

6 总结

提高学生的编程能力和解决实际问题的能力是每个C语言授课教师在授课时需要解决的实际问题,不同的教师有不同的解决方法。本文从上好第一次课、强化实践、重视上机、布置综合作业等方面来实现来解决上述问题。经过实践,证明这些方法是可行的,即笔者经过认真的备课及实例准备后,在2014级、2015级计算机科学与技术专业实施上述教学方法,在期末考试时,平均分能达到78分,考试试题中编程题占35分,80%的学生都能30分及以上,但选择题考得较细,学生的得分率不高;而2012、2013级的学生考试成绩平均分仅有65分。上述提高学生编程能力的方法需要授课教师课前认真准备实例,这将花费大量的时间和精力。在确保学生的编程能力和解决实际问题能力不降低的情况下,如何能够提高教师的备课效率,并能兼顾学生细节方面知识的学习,这将是以后教学改革的研究方向。

参考文献

[1]谢竞博.C语言程序设计教学中的问题及改革建议[J].重庆邮电大学学报:社会科学版,2008,20(2):137-140.

[2]姚利民,段文彧.高校教学方法改革探讨[J].中国大学教学,2013(8):60-64.

[3]高云.计算机编程思想的发展研究[J].软件导刊,2012,11(11):5-6.

[4]乔良.C语言教学中的常见问题和解决方案[J].华北科技学院学报,2014,11(3):86-89.

编程能力的提高 篇3

计算机专业学生在编程课程的学习中, 往往在平台搭建、初始化参数设置、熟悉编程环境、程序调试等环节中遇到大量的问题, 特别是程序调试需要大量的时间和精力, 因为此过程需要经验的积累, 在上机实验中辅导老师要花费大量的时间去解决重复性的问题。利用网络教学平台就能较好的解决这一问题。网络教学平台中引入了专家系统, 把老师的经验作为知识库存入到计算机系统中, 学生通过网络教学平台把编程代码输入到计算机系统中, 知识库根据经验、规则对学生的输入进行推理判断, 返回给学生测试结果, 如果学生的结果错误, 计算机系统会给学生指出出错的地方, 从而达到对学生辅导的结果。系统会对学生的编程练习进行统计分析, 得出学生容易出错的知识点, 从而有针对性的提出类似的习题供学生练习。

1 网络平台设计方案

1.1 系统结构图

网络教学平台由用户接口、题库、推理机、知识库、规则库、统计分析6个模块构成, 如图1所示。

1.2 系统的工作原理

用户登录到网络平台后, 进入到用户接口, 选择相应题库进行练习, 然后把练习的结果输入到推理机中, 推理机根据用户输入与知识库的比较, 利用规则库进行判断, 把结果传入到统计分析模块中, 此模块把统计分析后的结果反馈到用户接口中, 使用户清楚地了解到练习的效果、出错的原因, 从而更加有针对性地练习。

2 题库、知识库、规则库的表示

2.1 题库

根据知识点、学生应该具备的逻辑分析能力而设计出练习题, 习题难度应该有区分。习题内容既要有独立性, 又要有相关性, 这样不仅包含了对单个知识点的测试, 也包括了对包含多个知识点的综合能力的测验。习题库结构应该合理, 按照教学内容比例进行构造, 从学生做习题的反馈来比较得出哪些习题能更加有效地对知识点进行掌握, 从而对题库进行扩充和优化。题库的设计分为知识点型和测试型, 测试型可以根据难度系数的设定某套习题的难度和区分度。根据统计分析模块得出的反馈, 可以定期对题库进行更新、补充和优化。

2.2 知识库

网络教学平台系统中知识库存储的是教师在编程实验中大量经验的集合。教师把经验、规律性的知识总结为计算机系统可表示的知识, 从而存储在知识库中。知识的数量和质量关系到网络教学平台的智能性和高效性, 知识的表示关系到系统的质量, 知识的存储和系统的效率密切相关。因此知识库要准确地描述出编程教师的经验和知识, 并且随着教师经验的增加, 可以对知识库进行更新和优化。随着手机网络平台的普及, 要求知识库不仅能在互联网更新, 而且要求知识库能够在手机平台上使用, 这就要求知识库实现跨平台性, 使知识库与应用程序可以分离。推理机能根据规则库对知识库进行推理, 使它们能够和好地利用知识库的知识。并且希望推理机能够按照教师的经验把结果推理到所预期的轨道上来[1]。

2.3 规则库

网络教学平台系统规则库存储了教师教学、上机实验调试的经验及规则, 这些规则的存储表示非常重要, 因此可以利用关系数据库在数据的存储管理、访问控制、数据共享、安全性等方面的优点来对规则进行存储。关系数据库的表是二维结构, 每行代表一个记录, 每列代表记录的一个属性, 按元组进行存储, 对结构性的数据存储是非常有效的。因此用关系型数据库对规则进行存储可以达到表述清晰、逻辑性强、管理高效的目标。按照对数据库的管理可以对规则库进行增删查改, 规则库的安全性由关系数据库管理系统来实现。数据库管理系统采用授权方式对规则库实施安全保障, 授权用户再分为不同的权限层次, 规则库的管理者拥有增删改的权限, 普通用户只能进行规则的查询工作[2]。

3 推理机

网络教学平台系统推理机模块接收了用户输入模块传递的值, 根据知识库、规则库进行推理, 从而对输入进行编译、调试, 给出最终结果, 传递给统计分析模块。推理机作为一个相对独立的程序运行环境, 提供对规则的编辑、预编译、运行调试功能[3]。此模块采用批处理和实时处理相结合的运行模式, 既允许用户把编辑好的程序传入给推理机又允许用户实时编辑程序, 推理机允许用户设置断点, 从推理开始到断点用户不可干涉。按照推理的控制方向可以分为正向推理、反向推理及双向推理。正向推理是从已知事实出发, 采用顺序推理规则以数据驱动即自底向上的推理方式。网络系统教学平台是以编程者的输入为开始, 通过用户接口把数据输入到推理机中, 因此此系统采用正向推理的控制方式。推理机利用用户输入与知识库、规则库的知识规则进行匹配, 从而得出推理结果。用户提供初始数据, 系统把它放入到动态数据库中, 推理机根据动态数据库的事实匹配知识库的知识, 形成匹配的知识集合, 按照冲突消解策略从知识库中选择出一条知识作为启用知识进行推理, 并把知识加入到动态数据库中, 作为推理过程中的已知事实。

4 统计分析与评价

推理机模块给出的结果输入到统计分析模块中, 此模块分析出普遍的有规律性的问题, 把这些问题反馈给用户模块。模块自动建立不同问题的分类索引, 系统遇到类似问题时会对索引进行检索, 从而提高分析的效率。并且它可以统计练习者的学习效果, 薄弱的知识点, 从而建立学习者的辅助教学模型, 从而设计出具有启发式教学方式的练习题, 从而改进、补充系统的题库。采用数据挖掘的方法对练习者做过的习题进行分析, 从这些大量的、有噪声的、模糊的、不完全的数据中, 找出有潜在规律的、有用的模式及规则。从而把这些规则知识概念、规律、约束, 结合知识库、规则库, 挖掘出学习者学习过程中出现的规律性的信息, 为老师、学生提供有实质性的教学方法和学习建议[4]。此模块还可以对学习者进行效果评价并提出个性化的学习建议, 能反映出学习者在网络平台中的学习状况信息, 呈现出学习者的学习过程及学习效果, 这有利于学习者能迅速得到学习的反馈效果, 可以从多个角度来分析自己的薄弱环节。可以根据学习者的学习记录来跟踪学生在某些知识点存在的共性问题, 如学生访问某些问题次数较多或者在某些问题上停留的时间过长、练习的过程和结果等信息。通过对这些数据的信息挖掘和模式匹配, 得到学习者的学习特征, 建立学习者的学习模型, 建立学生学习的数据库, 为学生提供针对性的学习内容、建议和方法。

5 总结

网络教学平台系统利用了计算机编程人机交互的特点, 它的推理模块采用了计算机程序设计的编译系统, 知识库和规则库利用了专家系统的原理, 它结合了教师的经验知识及计算机智能的因素, 可以对学生的编程练习进行有针对性的辅导, 使学生在学习过程中能够迅速的得到反馈从而针对不足强化练习, 增强了学生学习的乐趣, 提高了学生的学习效率。由于受专家系统在某些方面的不足, 使网络教学平台系统在自学习、教师经验对知识库更新等方面还有需要提高的地方, 这也是以后系统的努力方向。

摘要:网络教学平台系统是应用于计算机专业学生上机实验的系统, 它把教师的经验知识引入到系统中, 使学生能够快速的得到系统的反馈, 从而提高学生的学习效率和自学能力。本文提出了一个编程教学系统, 从用户接口、题库、知识库、规则库及统计分析等模块进行了分析设计, 系统能够较好达到预期的目的。

关键词:网络教学平台,知识库,规则库,推理机

参考文献

[1]李晓强, 崔德光, 基于关系数据库的知识库结构设计[J], 计算机工程与应用, 2001 (24) :102-103.

[2]吴伟民, 舒勤, 基于关系数据库表示产生式规则[J], 四川联合大学学报 (工程科学版) , 1998 (11) :88-95.

[3]高春鸣, 陈跃新等, 正向推理机系统研究[J], 计算机工程与应用, 2002 (19) :78-80.

借助编程培养学生的思维能力 篇4

一、思维深刻性的训练

思维的深刻性,又叫做思维的准确性或逻辑性,它是指思维活动抽象程度的逻辑水平。思维的深刻性是一切思维品质的基础,表现为思维活动的广度、深度和难度,也是教学的关键。由于学生的知识规律是由形象思维向抽象思维发展,当具体问题抽象化后,首先往往就认为无从检查了,因此在教学中,我们可通过设置陷阱、是非判断、上机验证等手段,使学生准确而深刻地理解算法思想,达到训练思维深刻性的目的。例如:在讲解判断一个整数是否为素数的问题中,从素数(即质数)的定义出发,得出除了1和本身之外,不能被其它任何整数整除的数。换一种说法,如果X是素数,它不能被2至X-1整除。这样的过程即可用一个循环完成,于是我顺着学生的思路编写出以下程序:

由于学生目前的思维停在问题的表面,编出的以上程序并不正确,因此在这里我设置了一个小陷阱。为加深问题的理解,我让学生先通过上机验证,自己进行是非判断,激发对问题的进一步思考。实践证明,这种让学生自己发现问题,引起他们的思考兴趣,比直接告诉他们效果好得多。

二、思维严密性的训练

编程序是理论与上机的有机结合,不论是在理论课上还是上机课上,讨论都是训练学生思维的最好方法,在此过程中教师始终扮演的是组织者的角色,教师不应用条条框框约束学生的思维,任由学生发挥,只需在某些技术环节给予点拔即可。学生通过讨论,可以各抒己见,举一反三,在交流观点的同时,思维处于积极状态,他们就会大胆质疑、主动思考,通过集思广益得到答案。这样就能充分发挥学生的主动性,训练学生的思维严密性,引导学生细致、周密、全面地分析设计过程,训练思维的严密性。继续上面的问题,通过上机验证得出,无论这个整数是否为素数,屏幕上都显示一样的结果:xxx IS A PRIME NUMBER。这样的结果激起了学生要找出根源、解决问题的决心。于是我从旁提示,用两个相反的例子手工做一遍,以使学生发现没有考虑到的问题。这样通过把握过程的训练又让学生回到了从分析到综合的严密思维上来。

三、思维灵活性的训练

思维的灵活性又称应变性。它包括两个方面的含义:一是思维灵活,迁移能力强,善于机动地动用知识贮备,从多方面思考问题。二是善于根据客观形势的变化,灵活机动地改变原先拟就的计划和方案,寻求新的解决问题的途径。培养思维的灵活性,引导学生善于发散思考;精心设计练习,让学生一题多解、一题多变;注意启发学生灵活机动地动用知识储备,培养思维的灵活性。同一个问题在程序设计中有许多不同的编法。只有积极地尝试一题多解,才能找出最优秀的设计方案,这一点对于学生良好编程风格的养成将大有好处。还是上面的问题,找出了根源就要解决问题,即如何把是否执行了条件语句区分开来?我让学生自由发挥。为形象说明该问题的实质,让抽象思维具体化,我又列举了生活中的一个例子。如五千米绕场跑,停下来有两种可能:一是未跑完,二是跑完五千米。那如何区分这两种情况呢?学生立刻活跃了思维。有同学说作标记,于是我抓住这一点,用FLAG语句作为标志说明已是水到渠成了;还有同学说用GOTO语句,我跳过说明是素数的语句,等等。

教师把思考的主动权交给学生,发挥自己导的作用,激起学生深思、多思,才能在编相类似的程序选择算法时游刃有余。

四、思维敏捷性的训练

这主要是指思维的速度。有的人思维机敏、反应迅速,有的人则思维缓慢、反应迟钝,这便是思维敏捷性的差异。当然,思维的敏捷性是以思维的深刻性为前提的,如果思维很快但不准确,那么敏捷性也就没有实际意义了。有了思维的敏捷性,在处理问题和解决问题过程中,人就能够积极地思维,周密地考虑,正确地判断和迅速地作出结论。教师可通过鼓励学生勇于克服消极的思维定势,不死套模式,在短时间内产生超常的编程思路,从而提高思维的敏捷性。例如:找出100以内的合数。一种常规思维是一个一个的判断。如果仔细分析事物的特征,即可知道除了2以外偶数都是合数,这样工作量又减少了一半,再从剩下的奇数中发现大于7的奇数,如果能被3或5或7整除也就是合数,这样工作量又减少了,很快找到了合数。经过多方面、多因素、多变量的系统观察,通过多种思维活动的互相联结、互相补充来揭示事物的本质即可迅速得出编程思路,而不是停留在问题的表面。

五、思维创造性的训练

思维的创造性(或称独创性)是现代青年必须具备的重要的思维品质。所谓创造性就是敢于超越传统习惯的束缚,摆脱常规思维定势的禁锢,善于综合运用所掌握的知识、信息,提出具有进步意义的新设想、新观点、新方案。这种思维的创造性,是培养创造型人才最重要的条件。培养学生思维的独创性品质,对学生的成长具有十分重要的意义。正如我国著名数学家华罗庚所说:“‘人’之可贵在于能创造性思维。”然而传统的习惯性思维常会妨碍思维中的突破和创新。爱因斯坦说过:“应当把发展独立思考和独立判断的一般能力放在首位。”提高创造思维能力必须在思维实践中不迷信前人,不盲从已有的经验,不依赖已有的成果,独立地发现问题,独立地思考问题,在独辟蹊径中找到解决问题的有效方法。为了培养学生创造性思维能力,我常在教学中有意识地帮助学生去发展直觉思维,鼓励猜测,打破思维定势,打破形式逻辑的束缚。因为直觉思维是创造性思维活跃的一种表现,它是创造发明的先导。例如:求1到N的N个自然数排成一列,共有1·2·3·…·N种不同的排列方法,试编程输出1到N的全部排列(假设N小于10)。这一题目可用穷举法完成,但为了求得更好的算法,我将N=5时所有排列展现给学生,让他们寻找不同排列之间的规律。学生通过直觉,大胆猜测,得出所有排列是按升序排的,从当前排列产生下一个排列时必然会造成某一位置上的数字变大,这一位置显然应尽量靠右,并且它左边位置上的数应尽量保持不变,找到这一位置即可产生下一排列,这样更好的算法就产生了。

总之,思维能力的训练是一种有目的、有计划、有系统的教育活动。教师在程序设计中有意识训练,不仅能提高学生对知识的理解,而且能够灵活运用,解决多种问题。这也许就是教学中所提倡的“授人以鱼,不如授之以渔”的道理。通过思维训练,提高学生的思维能力、思维水平,培养学生良好的思维品质,这样就能使学生主动地获取知识,学会正确地分析问题和解决问题。

摘要:本文作者立足于教学实际, 借鉴教育理论, 探讨了如何在程序设计中针对思维品质的五个方面对学生进行思维训练, 为灵活的编程打下坚实基础, 取得了较为满意的教学效果。

关键词:程序设计,思维品质,思维训练

参考文献

[1]宋晓林.计算机程序设计教学对学生思维的培养.理科爱好者 (教育教学版) , 2010, (2) .

提高铣直槽精度的编程方法 篇5

在数控铣床上,经常铣削键槽,尤其是铣削直槽。除了有特殊精度要求外,通常选择的键槽铣刀加工。以图1为例,槽的半径为6mm,槽的宽度是半径的2倍,即12mm。我们试用3种不同的编程方法编写数控加工程序,用立式数控铣床上对此直槽进行加工,比较不同编程方法对加工精度和效率的影响。通常,在加工直槽时,可根据零件图纸的具体要求,选择合理的工艺并编制正确加工程序,以加工出符合图纸要求的零件。

1 方法A

直接选用直径为10mm的键槽铣刀,在两端槽的中心P0处下刀铣削,由P0向P1铣削(只有X轴移动)至(0,0,3)处,沿Z向退刀,如图2所示。

程序段如下:

该方法的特点:(1)编程非常简单、效率高。(2)用此程序加工的槽宽度有较大的误差(0~+0.2mm)。(3)槽底的表面粗糙,且P0处有明显的接刀痕,导致槽底不平,铣削效果差。

主要适用于对槽的尺寸和加工精度要求不高的情况。

2 方法B

仍然直接选用直径为12mm的键槽铣刀,在两端槽的中心P0处下刀铣削,但是对加工路线及程序加以改进,即先让铣刀沿Z向进给到Z=-2.9处后,由P0向P1铣削(X、Z轴同时移动)至(0,0,-3)处,再由P1向P0铣削(X、Z轴同时移动)至(36,0,-3)处,沿Z向退刀,如图3所示。

程序段如下:

方法A的特点:(1)槽宽仍有较大偏差(0~+0.3mm)。(2)走刀路线长,加工时间长,效率略低。(3)槽底光洁度提高,P0处没出现接刀痕,槽底平整。

3 方法C

选择直径比槽宽稍小的键槽铣刀,进行粗、精铣。键槽刀直径选择是否合理,也是影响加工质量和效率的重要因素,因为它决定着留下的槽壁厚的加工余量。考虑综合因素,我们确定选择直径为10mm的键槽铣刀分别进行粗、精铣(当然也可以选用两把刀分别进行粗、精加工)。

刀具从一端的中心P0开始对槽进行粗加工,到另一端中心P1结束。到这个点后,刀具将朝着槽内侧做出一个标准的直线-圆弧导入,来回加工槽的轮廓线,最后回到起始点。如图4所示。

程序段如下:

方法C的特点:(1)槽宽尺寸精度较高(-0.02~+0.02mm)。(2)槽底光滑,无接刀痕。(3)走刀路线较繁杂,加工时间长,效率低。

4 结语

排除其他因素的影响,这3种不同的编程方法,对直槽的加工质量和效率影响还是很大的。方法A加工效率最高,但加工质量最差,主要适用于对直槽的宽度尺寸及槽底的质量要求不高的零件的编程加工;方法B加工效率次之,加工质量较方法A略高,主要适用于对槽宽要求不高,而对槽底质量要求较高的零件加工编程;方法C加工效率最低,但加工质量最高,编程也较为复杂,主要适用于对直槽质量(包括宽度、深度、槽底精度)等,要求较高的零件的编程加工。

因此,用数控机床加工零件时,一定要认真分析工件图纸的要求,以此为依据,选择适当的方法和指令编程,以达到最佳的效果。

摘要:针对直槽的数控铣削,文中介绍了3种不同的工艺和编程方法,通过比较,得到提高铣直槽精度的编程方法。在铣削直槽时,可根据具体要求选择使用不同的编程方法。

关键词:直槽,编程,铣削精度

参考文献

[1]Smid P.数控编程技术[M].北京:化学工业出版社,2008.

编程能力的提高 篇6

1 做到一视同仁, 并营造宽松和谐的学习氛围

作为教师不能带情绪上课, 为拉近师生的友谊, 每天都应该脸带微笑走进教室。很多上课开小差的学生都认为老师只是关注认真听课的学生, 忽略其他学生的存在。这往往会使的上课不认真的学生学习没有动力。那就要求教师在讲解编程指令时, 多采用师生互动提问探讨的方法, 使学生人人共同参与。每人编写一小段程序, 每节课都有许多同学参与回答问题, 力求最大限度地活跃课堂气氛, 消除学生厌学心里。此外, 还必须重视对学生的评价, 特别是对差等学生, 多给予关心和鼓励。

2 应用多种教学手段, 增强课堂吸引力

2.1 巧用多媒体

多媒体教学, 可以通过图片、动画的方式, 生动形象地展示一些抽象的内容, 使得教学内容更加丰富, 与此同时, 可以将专业知识学习和欣赏现代数控加工结合起来, 使学生对本门课产生浓厚兴趣和强烈的求知欲望。以现代化电教手段辅助教学, 贯穿整个教学过程, 增加了直观性和趣味性, 加大了课堂信息量。

2.2 应用数控仿真模拟软件

数控仿真模拟软件可以生动形象地展示刀具切削循环轨迹, 将抽象的内容具体化, 配合理论教学, 结合操作让学生更好的消化理解理论教学内容, 保证教学质量;把仿真加工有机地穿插在理论课的教学工程中, 使理论与实践有机地结合;让学生对机床编程与操作更容易掌握, 提高教学效果, 为以后的实际机床操作奠定基础。

3 使用各种教学方法

3.1 任务驱动、项目教学法

由于职业院校的学生都是普遍基础较低, 接受能力差, 不喜欢理论而好动手实践, 针对这样的学生, 教学过程中采用任务驱动、项目教学法, 可以增加学生的学习积极性。通过一个项目下来, 可以使学生掌握从项目分析、设计到加工、检验所需要的各种知识和技能, 还提高团队精神、需求分析与项目实施能力等;教师只要为学生提供典型零件的工作任务, 通过对工作任务的需要并讲解适当的理论内容, 让学生逐渐学会每个项目的完成方法;同时还可以让学生运用所学知识, 积极参与综合项目的完成。每个项目的完成, 可以使学生的综合分析及运用知识能力得到显著的提高。

3.2 案例教学法

案例教学法始终贯穿授课的全过程, 每一项目都针对着一个典型零件为具体实例, 实例最好是选择一些工艺品的图纸, 如在讲数控车床外圆粗车循环G71指令时, 以子弹为例。讲应用镗孔的时候以一个工艺酒杯为例, 好的实例可以激发学生学习兴趣, 学生有兴趣了自然就会认真听讲。教师在每个项目的工作任务提出后, 首先利用仿真软件加工出来, 让学生在由感性认识的前提下, 学习数控工艺和数控编程的理论知识;其次利用所学的理论知识编写出零件的数控程序, 然后输入到数控仿真软件完成程序的输入和加工, 并对加工后的零件进行质量检测和分析, 让同学在消化所学的理论知识的同时, 有效的促进实践知识的理解和掌握;最后在数控机床上加工出工作任务的典型零件, 为学生完整讲授加工技术的过程。与此同时, 还可以以企业典型产品的数控加工为案例, 通过多媒体的演示或到企业参观了解该产品的数控加工全过程, 使学生明确了学习本课程的目的, 激发了学习本课程的兴趣。

3.3 分解教学方法

例如:在讲一个比较综合的数控车削类零件时, 可以以综合的零件完整程序分为若部分讲解, 如外圆粗加工、精加工、切槽切断、切螺纹等。让学生一步一步地掌握综合的数控车削类零件编程的方法与技巧, 最后能轻松地汇总成整个加工程序, 分解了学生学习压力。

3.4 归类比较法

在复习或小结时, 多采用归类比较法, 功能相似, 格式参数较多, 轨迹复杂的指令加以对较、归类。让学生易记易背, 达到事半功倍的教学效果。这就要求教师不但要深入钻研教材, 精心设计课堂教学, 而且要了解学生的知识底细, 才能因材施教, 才能选择合适的教学方法。

4 教学内容要以做到“够用、实用”

数控技术的迅速发展, 行业对从业者的要求也大大提高, 这迫切要求职业院校培养出大量的在一线从事数控加工的技术人才。但是, 很多职业院校培养出来的学生, 却很多达不到企业的要求, 其主要原因是教学没有经过市场调研。教师必须能根据市场需求与学生的接受能力, 合理选择教学内容, 删繁就简, 确保重点, 真正做到“够用、实用”。

5 加强理论教学与实习教学的结合, 才能保证学生掌握好专业技能

《数控编程》采用“教、学、做”一体化教学的效果十分理想。教师可以在“做中教”, 学生可以在“做中学”。但现阶段很多学校因受实习设备和场地影响, 采用先理论教学再实习教学, 两种教学方法和讲授老师不同, 理论教学与实训教学会有明显的脱节, 做好理论教学与实训教学衔接是十分必要。作为一名“双师型”教师, 不仅在学生实训时要指导本组的学生实训情况, 还要与其他的实训指导老师交流, 这样才可以收集更多学生容易出现的问题, 如发生撞刀, 参数选择错误, 或少编一个程序段等, 并在以后的理论教学中提出来, 反复强调, 用理论知识分析产生废品或事故的原因, 提高学生运用理论知识解决实际问题能力。其次, 针对理论教学的重点、难点内容, 尽可能安排仿真与现场教学, 增加学生直观认识加深对数控编程指令的理解, 提高理论教学质量。

6 结语

在大力实施素质教育的今天, 要走出传统教学的模式, 以学生为主体, 千方百计地调动学生的学习积极性, 教师只有把课堂变为师生共同创造的场所, 让每一个学生都成为参与者、实践者, 这样才能真正提高教学的效果。

参考文献

编程能力的提高 篇7

注重工艺处理, 讲究有机整合

《数控设备与编程》课程教学侧重点是数控机床的程序编制。例如, 在第四章《数控车床的编程与操作》的讲解中, 大多数教师可能会重点突出讲解数控车编程的功能指令和不同加工内容的程序编制方法, 这当然无可争议。但是, 很多学生在自己首次接触实际的零件图纸时, 常会感到无从下手, 虽有能力较强的学生能熟悉指令和编写程序, 可是无法在实际操作时应用自如。出现问题的原因就在于, 此时学生还缺少或没有正确的工艺思路和实践体会。因此, 在教学中, 强化工艺处理, 并且融合所必需的专业理论和实践技能, 已成为有效解决这一症结的立足点和突破口。尤其是实际数控加工工艺知识, 更要求教师重点讲授, 主要内容包括图纸分析 (零件结构工艺性、轮廓几何要素、精度及技术要求等) 、数学处理 (基点和节点的计算方法和技巧) 、工艺方案和加工路线确定 (加工方法、阶段、工序、顺序、机床设备与数控系统、工件坐标系、对刀点和换刀点、测量和检验方法、热处理等) 以及毛坯、夹具、刀具、切削用量、量具的合理选择等工艺准备和要点, 这些知识已成为数控程序编制的基础和关键。

对《数控铣床的编程与操作》、《加工中心编程与操作》、《数控特种加工设备编程与操作》等章节的教学处理也同样必须注重工艺分析, 突破工艺难点, 并力求与其他专业理论知识 (如《数控加工技术》、《机械制造工艺学》、《机械制图》、《公差与配合》、《金属材料学》等课程) 和实践操作技能 (如金工、钳工等实训) 有机整合、同步并进。当学生对该课程知识之间的衔接、课程知识的有效性和实用性有一个更客观的认识和更深刻的理解时, 后阶段的编程教学和实操训练必将会有事半功倍的效果。

从感性中引导, 在理性中提炼

当学生刚接触《数控机床与编程》时, 对一些专业理论重点和难点知识的理解会有难度。在教学中, 针对这一问题, 笔者所采用的方法是从感性中引导学生, 在理性中提炼知识。如在第二章《数控加工设备的典型机械结构》中, 数控机床的主传动系统、进给传动系统、自动换刀装置、排屑装置等典型机械结构的教学, 笔者不仅仅只利用单一的文字和一些简要的图示、视频去进行抽象的描述, 而是围绕教学重点和难点提出若干问题和任务, 让学生感性接触实际的结构模型和机床设备, 在直观环境中, 通过师生的共同观察、演练、分析、讨论、归纳、总结, 驱动学生协作解决提出的问题, 完成布置的任务。经过几个环环相扣的实践环节, 促使学生对系统和机构的组成、特点、功能、工作原理等知识点在理性方面有一定的认识, 从而对知识的理解更深入、掌握更牢固。

在数控车和数控铣的编程功能指令讲解中, 学生初始阶段往往会对指令的内在含义不能正确理解, 在实际应用中感觉茫然。如程序指令中快速定位G00和直线插补G01的区别, 圆弧插补G02和G03的顺逆判别, 复合固定循环G71、G72、G73、G70的应用格式和轨迹路线差异等知识点的理解, 学生往往感觉有难度。而要想取得理想的教学效果, 必须从感性入手———结合在数控仿真软件中的模拟加工演练, 通过指令在实际中的真正应用和体现的功能特点, 更有效地引导学生在理性中切实理解和掌握知识。

结合实际系统, 遵循程序规范

在《数控设备与编程》课程教学中, 必须客观面对和有效解决一个实际问题, 就是教材中所涉及的数控系统和实际所用数控系统不一致。如果不能妥善处理这一问题, 学生所编程序在实际数控系统的应用就会因犯规而出错。因此, 教学中要求学生对编程中程序名、程序指令、程序段及程序格式的标准和规范不折不扣地照章执行。

尤其在初学阶段, 学生基础不牢, 如果教师过多地从编程简化上去引导学生, 必将使学生在实际应用中遇到障碍, 并有可能埋下事故的隐患和在真实加工时出现零件报损。在教学中, 教师不能从本本出发, 而要以现有的实际数控系统为依据, 在理解和掌握程序编制共性的同时, 更要抓住和突出不同数控系统的个性特点。如准备功能指令G90、G94在华中世纪星和FANUN两个系统中的含义和应用各不相同, 教学中教师应按实讲透, 让学生尽早走出编程误区, 更好地培养学生掌握规范的编程习惯。

加强仿真演练, 体验实操技能

《数控设备与编程》虽为专业理论课程, 但要求与实践相结合, 教师要充分调动和激发学生更高的学习热情, 促进学生更灵活和更牢固地掌握所学知识。在教学中, 教师有必要围绕重点和难点知识安排适时的实操练习。

学生实训的形式主要集中在数控车、铣或加工中心的仿真演练和实操体验上。仿真演练既是对所编程序正确性的验证, 又是进入实操加工前的练兵。虽是在虚拟环境中的模拟加工, 教学时教师仍应严格要求学生高度重视整个操作流程的规范性和合理性, 注意与实操环节和步骤的紧密衔接。对于仿真练习中常见的一些问题, 如系统未启动、回零后未切换到JOG或HND模式、小心碰刀、X或Y轴方向超程、对刀时机床主轴未开启、程序保护锁未打开、程序输入和格式错误、加工时未切换到自动模式、更换工件时请将主轴停转等等问题, 进行正确分析和及时解决, 以此为实操加工打下扎实的基础。实践出真知, 对理论知识的理解和掌握离不开来自实践的检验。因此, 实操训练能让学生的学习积极性提高, 纸上谈兵只会带来枯燥乏味。

虽有时只能演练几个关键的环节 (如系统启动、工件和刀具安装、对刀操作、程序输入、程序校验、试切加工、精度检测等) , 但足让学生受益匪浅, 尤其对各功能指令、程序段和程序格式、对刀点和换刀点、工件坐标系和机床坐标系、加工路线等理论知识学生会有更深入和透彻的理解。

探求教学规律, 突破知识难点

教学要遵循规律, 更要探求规律、挖掘规律。由于规律在教学中所带来的积极作用, 笔者在《数控设备与编程》课程几年的教学中一直努力追求, 并借此找到一条教和学的捷径。例如, 对数控车程序起始和结束段格式书写顺序, 手工排刀时直线、锥度、凹凸圆弧、螺纹等基本形状的走刀要求, 复合固定循环 (G71、G72、G73、G70) 的应用和轨迹特点, 节点和基点的计算技巧 (包括相似三角形等比关系、勾股定理、三角函数、直线和圆弧的联立方程、椭圆、双曲线、抛物线等三角和几何的计算方法) 等等。

参考文献

[1]杨仲冈.数控设备与编程[M].北京:高等教育出版社, 2002.

[2]朱鹏超.数控加工技术[M].北京:高等教育出版社, 2002.

上一篇:公平视角下一篇:职责任务