- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计课程教学探析_0
程序设计课程教学探析摘 要:本文从程序设计课程教学现状出发,提出了程序设计教学中需要从编程方法、编程风格及规则的引导出发,在重视算法教学的基础上,引导学生在程序设计过程中开展研究性学习,从而提高程序设计的质量。
关键词:程序设计 教学 算法
程序设计是我国高校各专业学生必修的一门核心课程,该课程的教学目的是使学生掌握程序设计的基本方法和理论,应用某一程序设计语言编写具体的程序。程序设计的教学质量将影响到学生的程序设计能力,影响到学生创新思维的培养。
一、程序设计课程教学现状
“程序设计”课程长期沿袭传统教学模式,即以一种高级语言的语句体系为脉络展开教学,详细地讲解其语句、语法甚至一些细节内容,学生每学习一个语句需要做一些与该语句有关的习题。课程枯燥无味,学生学习积极性不高,很少动手实践。课程学完后,学生除了学到一些呆板的语句外,收获甚微。
1.理论基础薄弱
有些教师过分重视程序设计语言的教学,而对于程序设计中所涉及的程序设计理论、程序设计的方法和算法的设计思想等理论知识的讲解不够深入、透彻。
2.学生缺乏创新能力
学生可以解决那些和已经学过的知识有直接或有密切联系的问题,而面对一个需要用已经学过的知识进行综合求解的程序设计问题时,就不知从何下手,对所学知识做不到举一反三,缺乏程序设计的创新能力。
3.动手能力不强
学生实际动手能力差,具体表现在两个方面。其一,学生上机调试程序的能力差,难以找到错误产生的原因;其二,实际编写程序的能力不强,编写的程序功能不够完善,风格不一,程序健壮性差。
针对以上出现的问题,我们认为应该在教学过程中对学生各方面的编程素养进行引导和培养。
二、编程方法引导
程序设计的观念虽然发生过很多变化,但程序的基本结构仍然是顺序、选择和循环三种。因此,在学生初学程序设计时就应该注意渗透结构化程序设计的思想,以便使学生养成良好的程序设计习惯。
我们这里谈的不是纯粹的程序设计方法,如结构化的、面向对象的等,而是在教学中渗透程序设计的技巧。这里举一个结构化程序设计的例子。
例:求100以内的素数。
经过分析可以发现,除了“2”以外,偶数不可能为素数,所以外循环有50次是多余的,同理在内循环中,也不必用偶数测试。再进行分析又发现,一个合数最小的因子不会大于它的平方根,所以内循环中的次数被再次减少。最后程序变为:
通过不断改进程序,可以使程序效率得到不断提高,当然这些提高是在数据规模不断增长时才能体现出来。尽管现在很多人认为硬件的速度发展很快,我们应该把速度提高的任务交给硬件去实现,这样的想法未免过于武断。姑且不论类似上述的技巧对于程序执行效率的提高有多少益处,单从基于问题的学习方法这个角度的出发,程序的衍生对于提高程序员的编程水平也是一个很好的训练方法,所以这样的编程技巧是不可多得的,我们在教学过程中就是要进行这方面的引导。
三、编程风格和规则引导
前面提到我们在进行程序设计教学时,传统教学模式比较少注意编程风格和规则的引导,所以很多时候,学生编制出来的程序都是一路下来齐刷刷,缺乏良好风格,死套语法,缺乏考虑可能的不安全因素。
由于学习程序设计是一个循序渐进的过程,所以在教学中如果潜移默化地引导学生从程序设计入门开始,就注意程序设计的一般风格和应该遵守的规则,就能让学生更快更好地编制出高质量的程序来,并且具备良好的编程习惯。
举例说明。我们知道,free和delete都可以把指针所指的内存给释放掉,比如:
这段程序运行一定没问题,但如果在其后加上这样一段代码:
我们会发现出错了!这是因为,p所指内存被释放,但是p存放的地址值仍然不变,即p成了“野指针”。尽管尝试用if(p!=NULL)来判断p的可用性,我们却发现出错处理并没有起作用。所以,良好的习惯是在free和delete后,都要对指针作置空处理,即p=NULL。有人会说如果要这种情况出现在程序结束时,一切指针也会消亡,动态内存也会被操作系统回收,所以P置空是多余的。但是如果有人将这段程序取出来用到其他地方会怎样呢?结果不是我们想见到的。
四、算法设计概念的引入
程序=算法+数据结构。这就提出我们在进行程序设计教学过程中,不仅要重视语法的讲授,也要重视算法的讲授,甚至是要将算法提到更为重要的地位。程序设计是要解决问题,语言只不过是为解决问题而使用的工具,真正解决问题的是算法,难怪专家说“算法是魂,程序是衣”。
如在C语言程序设计课程教学中,当完成分支结构程序、循环控制和数组,进入内容较多的算法设计教学后,我们将教学内容分为以下五个方面。
(1)一般数据组织算法:查找、排序、字符串处理、求素数、筛选、迭代、
您可能关注的文档
最近下载
- Q∕GDW 11894-2018 -电力监控系统网络安全监测装置检测规范.pdf VIP
- 电工基础:数字电路概述.pptx VIP
- 师德师风培训类师德讲座.pdf VIP
- 工艺装置蒸汽伴热管的设计与计算.pdf.pdf VIP
- 一种便携式紧凑型双作用丝杆螺母式手轮机构.pdf VIP
- 临边防护安全检查要点.pptx VIP
- 2025北京市知识产权局所属事业单位下半年招聘4人备考题库及答案解析.docx VIP
- 行业分析报告:高端装备制造产业-先进轨道交通装备行业_轨道交通电气化与供电系统.docx VIP
- 铝合金黑色微弧陶瓷氧化 .pdf VIP
- 中小学校教师师德师风专题培训讲座PPT课件.pptx VIP
文档评论(0)