C语言程序设计课程架构研究

来源 :高校教育研究 | 被引量 : 0次 | 上传用户:kccsong
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】本文结合心理学及软件工程提出新的C语言程序设计课程架构,以便在C语言程序设计教学中采取多种有效的教学手段,使学生在掌握基本概念的同时提高解决实际问题的能力,培养学生的学习兴趣,提高全国计算机等级考试的合格率,增强就业竞争力。
  【关键词】C语言 程序设计 课程架构
  【中图分类号】G642 【文献标识码】A 【文章编号】1009-9646(2009)01(a)-0125-02
  
  我国高校理工科专业一般在大一第一学期开设C语言程序设计,采用传统课程架构进行教学,学生普遍感到学习有难度,特别在全国计算机等级二级C语言程序设计的考试笔试成绩一般都不理想,例如我国某全国重点大学考点在2008年4月考试中二级C语言的笔试合格率只为54.3%,而一般三本考生的合格率只为15%左右,现在理工科学生等级考试合格证书事实上已成为找到稍微理想的工作的必要条件,为此必需研究改革C语言程序设计课程架构,提高学生等级考试的合格率以及毕业就业率。
  
  1 立体化课程架构
  课本中的例题可分为说明性例题和应用性题例,说明性例题用于说明语法现象,应简明扼要,可读性强,应用性题例则主要为应用所学知识解决实现问题,应多选择趣味性强的程序,培养学生的学习兴趣。
  在二级等级考试中,还包括公共基础知识,具体为数据结构与算法、程序设计基础、软件工程基础和数据库设计基础,在笔试成绩中占30分,对于大部分非计算机专业,一般都没有开设这些课程,因此考分容易失分。对于公共基础知识的考试知识点,可精心安排“相关知识”,逐步讲解公共基础知识,再配以由真实等级考题改编的说明性例题,这样学生不但在不知不觉中扩大了知识面,也熟悉了考题内容与考试范围。
  为对不同基础的学生都有所帮助,每章都安排实例研究,选择有一定深度与有趣的项目,例如井字游戏,基因排序,在每章末尾还应安排程序陷阱,用于讲解程序中容易出错的语法现象。最后还应通过教学支持网站补充教学内容,例如课本中的所有程序、常用C编译器的使用方法以及课件等内容。
  
  2 按照学生认知能力与接受能力精心安排教学内容
  学生认知能力与接受能力是一个逐步提高的过程,学习知识也是一种螺旋式上升的过程,特别对于C语言,有的语法现象,学生开始学习时,这些内容已超过了他们的认知范围与接受能力,为此可先安排适合学生接受的基础知识,然后再在后继章节中逐步深化,使学生有不断提高与升化的过程,例如对于指针,可先讲解指针的概念、指针与数组、指针与函数参数、字符指针与字符串等基本内容,然后再在后继章节中逐步深入讲解动态内存的分配与释放、线性链表、指向函数的指针与返回指针的函数等内容。
  教学难点往往不是教学重点,更不是考试重点(事实上难点往往考得少甚至不考),可集中安排C语言高级主题,例如变长参数和命令行参数等内容,这部分内容,教师可根据教学课时的多少选讲或让学有余力的学生自学。
  根据心理学可知人一次的接受能力是有限的,内容越多记忆效果越差,因此对某个语法现象的说明不宜太多,最好不要超过5点,最好理解难度较大的要点可放在程序陷阱中加以讨论,只有理解的知识点才容易识记,因此对每个知识点都要通过说明性题例加以说明。
  
  3 程序可读性是教学成败的关键
  现在大部分C语言程序设计的教材的程序注释较少,很多程序根本没有注释,而注释是提高算法可读性的简便方法,因此在讲解程序时,应为程序加上详细的注释,最好对大部分语句以及程序的每个关键点都加以注释进行详细阐明含义及要点。
  以前的教材在介绍C语言时,认为C语言是一种介于低级语言与高级语言之间的一种高效语言,用C语言编写的程序的效率更高,强调编程的技巧性,习惯将用C语言编写的源程序编写得短小精精干,比如对于整形变量x,习惯于编写如下形式的代码:
  if (x) {……}
  else {……}
  而这样的可读性较差,如改为:
  if (x != 0) {……}
  else {……}
  则更容易理解。
  现在由于硬件技术的快速发展,也随着软件危险的出现及软件工程的发展,相对地,对于程序的运行速度相于地处于次要地位,更强调程序的可读性与开发程序的规范生,因此C语言的教学也应转变思想,应更多考虑程序的可读性与学生的接受能力,而不应过份地强调所谓的编程“技巧”。
  对于算法的描述可采用自然语言表示、流程图表示以及N-S图表示。应多考虑学生的接受能力,尽力避免过于强调算法细节而甚使程序不但长也难于理解,比如对于判断年份是否为闰年的算法,根据历法,闰年的条件为:
  年份能被4整除但不能被100整除或年份能被400整除
  由闰年条件很容易用自然语言描述如下:
  如果年份能被4整除但不能被100整除或年份能被400整除,则为闰年,否则平年
  C语言函数实现如下:
  int LeapYear(int year)
  /* 判断年份year是否为闰年,如果是闰年返回1,否则返回0 */
  {
   if (year % 4 == 0 && year % 100 != 0 /* 如果年份能被4整除但不能被100整除 */
  || year % 400 == 0) return 1; /* 或年份能被400整除,则为闰年 */
   else return 0; /* 否则为平年 */
  }
  如果采用N-S图进行描述容易陷入算法细节,比如如为闰年,就令leap=1,若为平年就令leap=0,最后返回leap。一般教材的N-S图如下:
  C语言函数实现如下:
  int LeapYear(int year)
  {
   int leap;
   if (year % 4 == 0)
   {
   if (year % 100 == 0)
   {
   if (year % 400 == 0)
   leap = 1;
   else
   leap = 0;
   }
   else
   leap = 1;
   }
   else
   leap = 0;
   return leap;
  }
  首先N-S图过于陷入细节的描述,还有上面的C函数无注释,可读性较差,这样不但会增加学生的学习负担,还可能使学生产生畏惧心理。
  
  4 兴趣是最好的老师
  只有学生对所学课程有兴趣,才会将学习过程变成一种享受,老师应尽力培养学生的兴趣,在课堂上结合例题尽量多讲一些有趣故事,用,例如在讲Fibonacci数列时,应讲解Fibonacci数据的故事,在讲1+2+3+…+n的程序时,应同时讲解高斯的故事,最后还应找一些有趣的应用性例题,例如石头、剪刀、布游戏与碰运气游戏,如例题太长,可留作课外阅读。
  
  5 精心设计习题与示例性例题,使学生尽快熟悉各种考试题型
  现在一般教材的例题都只是一些编程题,题型太单一,一般期末考试都有单项选择题,填空题,阅读程序题,程序填空题,程序改错题与编程题。全国计算机等级考试笔试只有单项选择题与填空题,但其中由于包含了大量的程序,实际上也包含了程序阅读题与程序填空题,在全国计算机等级上机试题中包含有程序填空题,程序修改题和程序设计题,因此在例题方面不但主要讲解程序设计,而且还应包含填空题,阅读程序题,程序填空题,程序改错题方面的题目,对于习题也应包含单项选择题,填空题,阅读程序题,程序填空题,程序改错题与编程题。
  在编写例题或习题时,应注意学习的理解能力与接受能力,难题不宜太多,应包含大量基本训练方面的题目,可从全国计算机等级考试试题中选择适当的题目加以改编。
  为满足不同层次学生的教学需求,可使用分层的思想,没加有星号“*”及“**”的部分为基本内容,适合所有学生学习;加有星号“*”的部分适合计算机专业的学生深入学习的选学部分;加有星号“**”的部分适合于感兴趣的同学研究,尤其适合于那些有志于ACM竞赛的读者加以深入研究。
  
  参考文献
  [1] 谭浩强.C程序设计[M].北京:清华大学出版社,2006.
  [2] 谭浩强.C程序设计教程[M].北京:清华大学出版社,2008.
  [3] 王紫薇,杨捧,刘金莲.高级语言程序设计教学模式的探索[J].前沿探索,2008,(4).
其他文献
一、 阅读下面这篇小说,完成1~4题。  五 九  老 舍    张丙,瘦得像剥了皮的小树,差不多每天晚上来喝茶。他的脸上似乎没有什么东西;只有一对深而很黑的眼睛,显出他并不是因为瘦弱而完全没有精力。当喝下第三碗茶之后,这对黑眼开始发光;嘴唇,像小孩要哭的时候,开始颤动。他要发议论了。  他的议论,不是有系统的;他遇到什么事便谈什么,加以批评。但无论谈什么事,他的批评总结束在“中国人是无望的,我刚
期刊
【摘要】本文结合近年来在学科建设方面的探索与实践,通过加强学术交流,增强学术氛围,改善科研工作环境和工作条件;加强研究室建设,改革科研管理体制;培育了大批优秀人才;抓好科研工作的四个主要环节,规范科研管理等途径使科学研究带动了学科建设各项内容高效快速综合发展,使学院的学科建设整体水平有了明显提高,发挥了科研在学科建设中的动力之源,实现学科建设目标主渠道的作用。  【关键词】科学研究 学科建设 师资
期刊
【摘要】本文分析了目前我国高校双语教学的现状及存在的问题,介绍了双语教学的基础概念,分析了《环境质量评价学》专业课程进行双语教学的必要性,并探讨了其实现方式和实践途径。  【关键词】环境质量评价 双语教学 探讨  【中图分类号】G642【文献标识码】A【文章编号】1009-9646(2009)01(a)-0040-02    1 双语教学的内涵  随着中国加入WTO以及全球经济一体化趋势的增强,开
期刊
【摘要】本文以西昌学院为例阐释了民族地区有民主党派的高校,各民主党派如何在校党委的领导下,在校统战部门的支持下,开展党派活动工作,并充分利用民主党派智力优势和超脱精神、发挥民主党派作用、提高教学质量、共谋学校发展,为培养社会高级人才服务。  【关键词】民族地区高校 民主党派 作用机制 理论 实践 研究  【中图分类号】G640【文献标识码】A【文章编号】1009-9646(2009)01(a)-0
期刊
【摘要】高水平研究型大学建设是当前高等学校建设的重要组成部分,富有一定的导向性意义。本文即以这一类型大学建设为核心目标,从招生工作这一角度,对新形势下招生工作强化的必要和基本导向给与较为全面的评述,并着重分析工作强化策略,以便提供有益的借鉴和启示。   【关键词】研究型大学 招生工作 强化策略  【中图分类号】G648.1【文献标识码】A【文章编号】1009-9646(2009)01(a)-007
期刊
【摘要】近年来,民办高校在校生人数不断增多,但学生素质相对较低,学生党员相对较少。因此,加强民办高校党的基层组织建设,作好学生党员发展工作是推动民办教育和谐发展的重中之重。本文就做好民办高校学生党员发展工作进行了一些思考。  【关键词】民办高校 学生 发展党员  【中图分类号】D263【文献标识码】A【文章编号】1009-9646(2009)01(a)-0088-02    民办高校是高校中的新生
期刊
【摘要】强化应用理论教学,是应用经济学学科、大学本科教学目标和服务于经济实际的客观需要。可是,我国大学本科国际经济与贸易专业的现行相关课程,就其本身性质和实际状况而言,都难以完全胜任这项使命。因此,该专业学生很少能够正确剖析贸易最惠国待遇一类重要的经济现象。  【关键词】应用经济学 国际经济与贸易 应用理论教学  【中图分类号】G642【文献标识码】A【文章编号】1009-9646(2009)01
期刊
【摘要】高职教育属高等教育层次,高职院校从中职向高职转型的过程,档案工作也要转型升级,与高校接轨,并要发挥后发优势,从“零”起步,抢占高地,建立档案信息网络系统,实现档案信息管理的网络化。与此同时,还要树立服务为本的理念,充分挖掘资源,做实做强服务。金华职业技术学院五年的档案工作实践,取得了一定的发展成效,走出了一条高职院校档案工作科学发展的新路径。  【关键词】高职院校 档案管理 后发优势  【
期刊
【摘要】目的:观察课前引导在药理学双语教学中的作用。方法:在2005级7年制的二个教学班中,随机选取一个班作为处理组,在双语教学前对药理学双语教学的目的、意义及实用性进行简介,另一班作参比组。双语教学后,设计问卷从对双语教学的意见、对本次课重点内容的掌握情况进行调查,采用等级资料Ridit分析法进行显著性分析。结果:与参比组比较,处理组在对双语教学的接受程度上、对教学要点的掌握程度上,明显优于参比
期刊
【摘要】本文以职业教育新课程的实施中促进教师专业化发展和学生全面发展为宗旨,针对现代职业教育的人才培养的发展状况,而设立新型教育模式进行了探讨;并把多元化的教育模式在服装专业中应用作了多方面研究。  【关键词】职业教育 服装教学 多元化 衔接 改革方向  【中图分类号】J523.5【文献标识码】A【文章编号】1009-9646(2009)01(a)-0094-02    校本研修是“为了学校,基于
期刊