《C语言程序设计》教学探索与实践

来源 :电脑学习 | 被引量 : 0次 | 上传用户:tklsd
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:探索与实践C语言程序设计课程有效的学习方式与方法,在分组教学、项目教学法和行动导向方法的辅助下提升学生的程序设计能力和自主探究、协作学习的能力。
  关键词:C语言;编程能力;分组;项目式;行动导向
  中图分类号:G434
  文献标识码:A
  文章编号:1002-2422(2010)06-0078-03
  
  1 学生学习现状分析
  
  1.1 编程能力差,影响后续课程和就业方向
  通过对计算机专业学生的观察和调查,学完《C语言程序设计》课程后能熟练掌握、灵活运用的学生为5%左右,基本掌握的学生为25%左右,部分学生只是为了应付考试,甚至还有5%的学生采取完全放弃的态度。《c语言程序设计》课程是《数据结构》、《C#.NET程序设计》和《JAVA程序设计》等后续课程的重要基础和重要工具,但是当前学生所具备的C语言程序基础和编程能力较弱,对这些后续的课程具有非常大的影响。
  
  1.2 程序初学者没有有效的方法引导
  由于C语言是一门逻辑性强、难度较大的课程。其中基本语法和程序结构学生能理解,但是在算法分析和程序设计时却无从下手,实际应用能力较差,走上工作岗位后不能快速适应企业的岗位要求。究其原因:学生习惯了高中文化课的教授式学习方式,理论掌握较好,实践能力较弱。由于C语言的内容抽象,概念复杂,规则较多,使用灵活,容易出错,再加上Turbo C调试环境很不直观,如果没有有效的方法引导,不仅达不到课程的教学目标,也影响学生后期课程的学习方式。因此,需要借助现有教学资源,教授学生有效的学习方法,进而提升学生的学习兴趣和学习能力。
  
  1.3 程序编写能力差异大,需要扶优补差
  由于C语言程序设计难度大,对学生的程序编写能力要求较高,部分学生由于各方面原因,跟不上全班学习进度,慢慢失去兴趣,转为完全放弃该课程的学习。另一部分学生程序能力较强,完成课堂内容后需要进行引导提升。如何根据学生的现有能力水平,扶优补差,从实践中提升学生整体的程序编写能力,是急需解决的问题。
  
  2 教学策略
  
  2.1 树立软件工程和面向对象的观点,培养程序设计风格
  在计算机行业中,软件设计工作被当作一项系统工程来对待。《C语言程序设计》课程作为大多数工科院校学生接触的第一门程序设计语言,首先要让学生改变程序设计的观念,树立软件工程的观点,把“面向对象程序设计”思想融合到C语言教学中。在程序项目设计时强调一个项目就是一个工程,是处理对象有过程,要求结合软件工程开发的实际需要,用软件的生命周期管理对程序进行问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试、运行与维护。这样不仅让学生理解程序项目的应用意义,为学生将来从事软件开发打下基础,而且培养学生解决实际问题的综合能力。
  C语言是学生接触的第一门程序设计语言,要特别注意培养学生良好的程序设计风格。具有良好的设计风格应该是软件开发人员所具备的基本素质。从一开始就强调程序设计风格,不仅有助于提高程序的规范可读性,而且让程序的调试及运行直观易懂,能快速找出程序的错误所在,进而改善程序质量,也为以后进入工作岗位快速适应工作环境打下基础。在程序规范中要特别强调标识符的命名规范及“见名知义”的原则,并采用适当的注释,要求用序言性注释对程序的整体功能进行说明,在关键代码处用功能性注释描述出代码功能。在书写程序时每行只写一条语句,用分层缩进方式展现嵌套结构层次,特别强调IF语句和循环的多层嵌套层次在察看程序执行过程中有着非常重要的作用。书写表达式时适当使用空格或圆括号作隔离符,输入和输出满足“人性化”原则。输入数据时,要使输入前有提示,步骤和操作尽可能简单等。
  
  2.2 教授程序初学者有效的学习方法
  计算机技术日新月异,发展较快,在以后的实际生活和学习的应用中,学生会接触到不同的知识领域,因此需要在教给学生不同知识的同时还要教会学生获取这些知识的方法。在第一节课中,要先用大量的时间来让学生了解C语言程序设计的学习目标,教授学习该课程的方法。告诉学生C语言是“结构化程序设计”方法,结构化程序设计的过程是培养学生思维能力的过程,让学生明确C语言程序的质量首先取决于其结构,程序设计的基本方法是自顶向下地逐步求精和模块化。学习C语言不是理解语法规则和语句格式为重点,而是如何应用这些内容解决好实际问题。程序设计的实质就是编写处理对象的过程,需要改变高中时教师传授学生听的学习方式,明确大学的学习方法要自主探索研究。不要局限于书本知识,可通过教材、参考书和网络来拓展知识领域,发掘自身的潜力,勇于动手实践,在程序的编写与调试中学会取他人之长补自身之短,同学间互相帮助,学会协作学习。
  
  2.3 多种教学方法辅助教学
  教学方法的单一性不能反映教学的本质规律,C语言是一门以实践为主的较难的课程,在语法规则、语句格式和程序设计教学时,要采用不同的方法来解决程序初学者出现的各种问题。
  2.3.1 分组教学法
  分组教学方法已经在《计算机应用基础》和《办公软件综合应用》课程中进行探索与实践,取得了较好的效果。把这些成熟的经验借鉴到《C语言程序设计》课程中实践与总结,效果显著。
  分组教学体现了学生的主体地位,可以激发学习兴趣。根据班级人数和机房布置情况5人-6人分为一组,组长位置坐在中间,水平较好的学生挨着水平较差的学生。教师通过程序项目的方式下达任务后,组长组织成员进行算法的分析与设计,共同讨论与探索,并画出流程图或NS图。用组内举荐和教师随机抽查的方式找出学生进行算法分析讲解,难度较大的,请组长来分析。每个学生主动参与,在组内交流、讨论、争辩的过程中,思维异常活跃,算法思路越辩越清晰。在该组组员回答问题的时候,同组的同学还会不断地为他进行补充,如果老师对该组的回答再加以及时肯定,该组所有人的热情高涨,其他组也会受到感染,也会在想下次轮到自己组的时候也争取有个好的表现。
  分组教学可以实现提优补差。在程序调试的过程中,通过组长辅导,检查程序完成情况。基础好的学生通过辅导基础差的同学,帮着寻找程序语法错误和逻辑错误,巩固了已有的知识,同时遇到自己编程时没有出现的问题时会通过寻找问题的新的解决方法从而激发其深入研究的兴趣。水平较差的学生在遇到问题时得到及时帮助,能跟上全班进度,也增强了继续学习的信心。
  分组教学可以培养学生自主探究、合作学习能力。《C语言程序设计》课程是用程序项目的方式把实验内容布置下去,许多综合性程序项目要求以小组为单位完成。每个小组在分工与合作共同完成程序项目的过程中,既要独立自主寻找问题的解决方法、设计算法、编写代码和调试运行,又要互相帮助提高。进行程序代码的整合调试,遇到综合复 杂问题时,同组的学生共同讨论、集体探索,有助于培养独立求知与思维的能力及协作学习的能力。
  2.3.2 项目教学法
  结合教学大纲的要求,把C语言程序设计课程内容设计成小型程序项目和小型应用系统开发,一个项目就是一个工程,让学生在完成项目的过程中用软件工程的思想来设计程序。在学习C语言程序设计的基本知识时,提供程序项目让学生读程序,通过讲解程序代码功能教授理论知识,既让学生体会理论与实践的融合,又借鉴了优秀的程序设计。每次课结合课堂内容给出至少一半的时间让学生自己完成程序项目的算法分析、程序编写与调试,让学生实际感受程序设计的过程。每一章内容结束后,根据所学内容,完成小型应用系统的相应模块,如顺序结构讲授完成后让学生完成主菜单界面的设计;在选择结构完成后让学生实现主菜单到子菜单的切入;函数完成后让学生实现各功能的模块化,进行函数的编写。到学期结束每个学生就完成了一个小型应用程序的开发,积累了系统开发的相关经验。教授完所有内容后,利用8个左右的课时分组完成一个应用程序的开发,先通过组长抽签选择程序项目要求,由组长负责对组员进行任务的分工。每个组员完成一个功能模块,并把每个组员的任务分工情况写在纸上交给老师,在项目进行4-6课时左右,要求每组进行程序模块的整合,全组完成整个应用程序的调试。在完成项目后,教师对程序项目进行检查,从功能要求的完善性,界面的设计,程序设计规范等几个方面为程序打分,再对部分学生根据任务分工模块通过答辩的方式了解程序编写情况,组员协调情况等,最后给一组打出综合评分。
  通过许多小程序项目、一个小型应用系统和一个应用程序的开发,让学生掌握了程序项目的设计方法,学会用软件工程管理的思想对程序项目进行算法设计,代码编写与调试。在项目开发过程中,教师明确以能力为主的教育目标,教师的角色是组织者与引导者,实际教学时不再进行知识陈列,而是去引导或答疑。让学生进入工作角色,使学生体验到取得成就的快乐。同时加强组长的管理,调控组员的分工与协作,对学生遇到的问题给出建议或解决方案,保证程序项目完成预期的功能并正确运行。
  2.3.3 行动导向教学法
  行动导向教学法以能力培养和素质教育为目标,倡导创新学习和自主学习。要求把知识转化为能力和素质的“能力本位”。在程序项目的设计过程中,学生通过分组讨论法和大脑风暴法,结合上网查阅等手段主动建构并综合运用所学知识,既保证了绝大部分学生能够自主完成课堂要求,使学生建立起学习的兴趣,开阔思维。同时,又可以使编程能力较好的学生充分发挥潜能,在完成要求的程序编写后,教师增加程序项目功能、优化程序代码或进行编程思路的改变,用另一种思路考虑程序编写,给出更个性化的设计,从而进一步培养学生的创造性。在分工与合作、探究式的学习过程中,把职业技能教育渗入课堂教学,不仅提高了学生程序编写能力,培养了学生自主探究学习和创新能力,也培养了学生与人交流、与人合作、解决问题的社会能力。
  考核是检验教学效果的重要手段,与学习过程一致的考核方式可起到以考促学的目的。结合行动导向教学方法,设计了以“能力为本”的过程考核方案和评分标准。将考核贯穿于整个教学过程,提高平时考核比例为50%,期末考试为50%,同时加大学生课堂程序编写的数量和课外进行算法分析和程序编写的作业量。把学生的出勤、课堂纪律、程序编写能力和作业等按照比例放入到平时的考核中,既提高了学生对平时学习的重视程度,让学期成绩能真实地评估学生在学习过程中已具有的编程能力,又增加了学生的实践机会,督促了学生动手实践,提高程序的编写能力。
  
  3 结束语
  
  在分组教学、项目教学和行动导向方法的辅助下,以学生为主体,老师为引导,结合分组讨论、大脑风暴、项目教学、角色扮演等活动与方法。师生互动,从程序项目任务的提出、算法思想的描述、算法设计到程序的编写与调试,学生积极参与问题解决的整个过程,既提高了程序编写能力,激发了学生的学习兴趣,又培养了自主探究、协作学习的能力。
  
  参考文献
  [1]段淼.关于C语言程序设计课程教学的思考[J].吉林:吉林建筑工程学院学报,2010(6):118-120.
  [2]胡建荣,罗杰红.高职C语言程序设计课程实践教学体系的设计[J].北京:计算机教育,2010(5):150-152.
  [3]刘小燕,申艳梅.“C语言程序设计”教学方法探析[J].北京:计算机教育,2010(3):94-96.
其他文献
本文从设计完成的Web应用框架入手,针对应用框架从技术角度对其进行讨论和分析。
一放寒假,胖胖熊就对爸爸说:“爸爸,我明天要去旅行。”  “旅行?去哪儿旅行?你不写作业啦?你不参加补习班了吗?”爸爸抛出了一连串的问题。  “作业,作业,你就知道作业。我要出去旅行,旅行回来后,我可以把一路上的见闻写成作文呢。”  “你一定要去,我也不拦你。不过,路上可要注意安全,春节前一定得赶回来!”  “明白!儿子明白!” 胖胖熊急忙向爸爸保证,然后又严肃地向爸爸敬了一个礼。  第二天一大早
转基因抗虫棉喜温、喜光,抗虫性较强。前期生长发育缓慢,开花后生长发育较快,至开花结铃期个体生长发育和棉田长势都达到或超过常规棉。近几年来,根据安阳抗虫棉的生育特点采取了
把从键盘输入的二进制、八进制、十进制、十六进制字符数据转换成计算机能够识别的二进制数据.给出了各种进制通用的输入、转换方法及汇编语言程序段.通过字符串本身可以判断数
摘 要:介绍了常见病毒清除及预防的基本方法。   关键词:病毒清除 预防 安全模式 注册表 白动更新 系统扫描    1 病毒清除方法    1.1进入安全模式  计算机自检完成后,按住键盘F8键直到出现Windows高级选项菜单,光标指到“安全模式”项,然后按Enter键。  1.2卸载可疑的程序  部分病毒经常隐藏在一些安装程序中,对染毒机器,要果断地删除一些可疑的安装程序。如:372
MVC设计模式是将页面显示、商业逻辑和数据处理相分离,最大限度地降低系统各部分之间的耦合性,提高代码重用率,易于分工协作。而Struts是一个为开发基于MVC模式的应用架构的开源框架。 本文为全文原貌 未安装PDF浏览器用户请先下载安装
结合例子介绍了软件Regression Analyzer在曲线拟合中的应用.