高校计算机类专业C语言程序设计教学改革尝试

来源 :课程教育研究·新教师教学 | 被引量 : 0次 | 上传用户:chueri1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要: C语言是计算机类专业学生必须熟练掌握的一种程序设计语言,在学生的知识体系中占据重要地位,但由于知识点多,教学方法单一,导致学生困惑,教学陷入困境。根据C语言的特点,提出一种“理论与实践并重,不同教学阶段侧重点不同”的教学方案。本方案遵循人类认知过程的规律,有效提高教学质量。
  关键词:C语言程序设计;教学改革;并重;分阶段;侧重点
  基金项目:河北北方学院教育教学改革课题(项目编号:JG201142);张家口市科学技术研究与发展计划项目(项目编号:1311020C); 科技部项目“农村医疗卫生知识库及远程医学服务系统及应用”(项目编号:2012BAH05F04).
  中图分类号:G642.0 文献标识码:A
  一、引 言
  《C语言程序设计》是高校计算机类专业最先开设的一门程序设计课程[1,2]。多数学生在此之前缺乏软件开发知识,更没有动手编程经历。在此情况下,该课程的教学改革不能像有些学者提出的那样一改到底,由过去“重语法轻实践”转而走向“轻语法重实践”,从一个极端转向另一个极端[3-5]。在没有积累必备知识的情况下就要求学生动手编写程序,违反人类认知规律,最终会导致学生学得一头雾水,进而产生畏难情绪,学习热情受挫,对后续专业课程的学习产生不良影响。“皮之不存,毛将焉附”,所以我们应该让学生在开始学习程序设计语言时就打下坚实的理论基础,养成良好的编程习惯,在此基础上对其适当提高要求,从而为其将来学习其它程序设计语言或从事软件开发工作奠定基础。
  二、教改思想
  本教改思想强调理论与实践并重,不同教学阶段侧重点不同。初期重视基本理论、语法的教学,后期则侧重于程序设计的指导。
  (一) 理论知识
  理论知识的教学从学期初的详细讲解到点拨指导,直至不单独讲解,而是让学生在做程序设计过程中琢磨理解。对于重点、难点及易错语法则需通过案例反复强化,以便学生熟练掌握运用。
  (二) 程序设计
  程序设计要遵循由易到难的规律,从模仿到自主编写简单的小程序,再到编写较复杂的大型程序,最后合作完成综合型的课程设计。
  总之,本教改思想强调语法理论和程序设计并重,编程中渗透理论,理论中掺杂编程,相互促进。最终培养学生的编程思想,养成良好的编程习惯,提高学生的编程能力。
  三、教学过程
  根据学生认知和接受知识的规律,本教改方案将教学过程分为四个阶段。
  (一)侧重理论教学阶段
  在学期初理论教学课堂上,教师需详细讲解C语言的基本语法理论知识,并辅以具体范例进行演示,让学生对相关理论知识有所掌握,在实验课上,学生应在教师指导下模仿案例编写简单的程序。在本阶段学生需重点掌握基本的语法知识,包括数据类型、输入输出函数、三种基本结构等,以便为后续程序设计奠定坚实的基础。
  如在讲解if语句时,引入将三个数a、b和c按从小到大的顺序输出的例子。首先利用课件讲解if语句的功能、用法等知识;然后引入例题的算法分析;最后用if语句将算法表示出来。比较两个数的大小时会有a>b和a≤b两种情况。我们只给学生详细讲解当a>b时,比较三个数大小的算法思想,然后学生就可以模仿给出a≤b的情况下,三个数如何比较大小,这样就建立起了分析问题的思路,完整的程序需要学生在实验课上自己模仿写出,并调试运行,由此学生就会更好地掌握if语句的使用。
  (二)理论与程序设计同步阶段
  在学生有了一定的理论基础后,要适当加快理论授课的进度,为后期课程设计留有足够的时间,在此期间要相应地增加编程练习,同时不断提高程序的难度,以此训练学生的动手编程能力,并养成勤于动脑、动手的良好编程习惯。
  本阶段涉及的主要知识点有数组、指针及结构体等。在这一阶段的学习过程中,要求学生提前预习,教师减少理论知识的讲解,上课时先简单讲解基本语法,重点解释学生自学时遇到的不懂、不理解的知识点;然后布置任务,安排与本次课需要掌握的内容难易程度适当的案例让学生通过自己动手编程完成。
  例如在讲解结构体时,要求学生提前预习,初步理解结构体类型定义、结构体变量、结构体数组及结构体指针变量的相关知识。课上粗略讲解基本知识点,而着重讲解学生迷惑的问题,如结构体的本质,强调其是一种数据类型而非变量。引入案例时,先由学生提出在描述一个学生的基本信息时需体现的属性有:姓名、性别、学习成绩等内容,这时我们可以定义一个描述学生基本信息的结构体,然后定义两个结构体变量,对每个结构体变量的学习成绩求总分,并比较两个结构体变量总分的大小关系。接下来学生在实验课上完成:设计简单学生档案管理程序,对10名学生的总分进行排序,要求使用结构体。由于具备了相关知识,并已理解老师所讲实例,所以学生能够轻松掌握。
  (三)编写程序阶段
  本阶段的教学任务是教师在课堂上确立较复杂的实战题目,引导学生分析、设计,然后由学生自主进行程序的编写工作。在此过程中,学生是主体,教师只起辅助指导作用。
  涉及的主要知识是文件和位运算,对于这两部分知识渗透到程序设计和调试过程中讲解。在实践过程中强化学生对难重点、易错语法知识的理解和运用。对具有共性的编程错误给学生做重点展示,让学生自己发现错误并改正,达到既锻炼了动手能力又不轻视语法知识的目的。
  如在讲文件时,可以要求学生输入某公司30名职工的基本信息到文件newcp.txt中。要解决这个题目,首先引导学生分析出程序所要完成的功能、涉及的知识点(如文件指针变量、结构体数组、循环结构等内容)。然后让学生自己用流程图将算法表示出来,最后着手编程实现。
  在学生动手完成程序后,要总结他们在编程过程中容易犯的错误,例如:打开文件时没有对是否成功进行判断,导致程序出现异常;各种库函数调用时参数不正确等。教师展示这些错误,并让学生自己予以纠正。由于有了前面编程过程中的经验和教训,学生对这些错误和重点、难点语法就会有更深的认识,从而达到了在实践中掌握语法的目的。   (四)课程设计阶段
  利用学期后三周时间给学生安排一个较大型的C语言程序设计任务。本课程知识掌握程度通过课程设计的方式考查。
  教师首先将班内同学按不超过3人的规模分组,并要求每组确定一个课程设计题目,如五子棋、贪吃蛇、扫雷、学籍管理系统等。设计题目可以由教师指定,亦可自拟。之后将课程设计按功能分解为不同模块,由不同学生分别编写。最后,大家通过查阅课外资料、请教老师、互相探讨等多种方式和途径共同协作完成整个课程设计。作品展示时,每位同学都要阐述自己在设计中的贡献,根据所做贡献、能力和态度,教师予以评分,这一分数在本门课程的最终成绩中所占比重为70%,其余比重由学生的出勤和平时实验报告成绩构成。
  课程设计就是对学生的学习成果进行验收,通过这样一个小型的完整程序设计,学生可以实际应用所学知识,同时也增强了学生的成就感,既培养了学生的编程思想,又培养了他们在工作中的合作意识和团队精神,并有利于后续专业课程的学习。
  四、教学中需特别注意的事项
  (一)明确学习C语言的重要性
  在正式讲授课程内容之前,要从C语言的发展历程、应用领域和就业前景等方面阐述《C语言程序设计》课程的重要性,以此激发学生学习兴趣,增加内在动力。
  (二)增加算法课教学
  在系统讲授C语言基本知识以前,给学生增加一节算法课是非常必要的,因为学生要想利用C语言解决实际问题,就必须保持清醒的头脑和对求解问题的准确分析能力,而这就要求他们熟练掌握算法设计、算法复杂度分析等知识。
  (三)渗透软件工程思想
  在后期的课程设计阶段,我们可以引入适量的软件工程知识。对于软件开发中的各阶段无需一一详细讲解,但可选取其中部分内容,如可挑选需求分析,总体设计及软件测试中的一些经典的方法。通过实践培养学生的软件工程思想,为学生的后续发展奠定良好基础。
  五、结束语
  C语言是一门基础程序设计语言,在计算机类专业学生所修课程中占据举足轻重的地位。提高教学质量,达到良好教学效果,使学生掌握并能熟练使用C语言是我们的主要教学目标。近两年的教学实践证明,“理论与实践并重,不同阶段不同侧重”的教学理念取得了预期效果,不仅改变了学生过去“会学不会用”的状态,而且避免了轻理论重实践导致的基础不牢弊端。
  参考文献:
  [1] 谭浩强. C语言程序设计[M],清华大学出版社,2005.
  [2] 赵喜清. C语言程序设计[M],中国农业科学技术出版社,2008.
  [3] 盛波. 项目教学法在C语言教学改革实践中的探索[J]. 科技风,2010,4:26.
  [4] 孙连坤, 叶华, 曲爽. 以能力培养为导向的C语言程序设计教学改革[J]. 吉林广播电视大学学报,2011,2:49.
  [5] 池云. 高职C语言程序设计教学改革的研究[J]. 辽宁行政学院学报,2011,13(4):122,127
其他文献
目的:   中国科学院金属研究所采用“高分子热解结合可控熔渗反应烧结方法”制备的仿生泡沫碳化硅材料,具有作为大段骨缺损修复或多孔种植体材料应用前景。前期实验已证实
研究目的:在口腔临床实践中,全冠修复体的固位力是修复成败的关键,而在全冠修复中粘结剂的厚度是影响全冠固位的一个重要因素。适合的粘结间隙可以增加摩擦力获得较好的固位效
目的:   通过比较直接粘接颊面管与带环的脱落率,评估使用直接粘接颊面管和带环的牙周炎症状况,进一步评价直接粘接颊面管的临床应用效果。   材料与方法:   选择2000
目的:利用三维有限元分析方法探讨修复单侧后牙游离端缺失的种植固定桥科学方法,使之结构和功能更加合理。修复单侧后牙游离端缺失,通过建立该设计的三维有限元模型,分析不同
目的:应用肌电图仪研究单侧髁突骨折手术治疗前后咬合力变化情况;根据咀嚼肌肌电波形、肌电数值的客观指标间接反映咬合力,为治疗方案和疗效评价提供参考依据。方法:1.检验肌
摘要:本文从钻研教材,整合书本相关知识,定出对比知识点;做好课件,将对比内容文字化,图像化;课堂灵活运用,讲授知识;布置课后作业,预习与巩固知识等方面介绍了对比教学法在组织胚胎学教学中的运用。  关键词: 对教学法 组织胚胎学 教学  中图分类号: R322-33  组织胚胎学是研究机体微细结构及相关功能的科学,也是医学中重要的基础学科之一,与医学基础课如解剖、病理、生化及生理等学科均有广泛联系。
摘 要:随着国内各个高校“发展战略处”等类似的与高等学校实施战略管理相关的职能部门和机构不断设立,高校对战略管理越来越重视。本文通过对研究国外战略管理的成功经验,分析国内高校战略管理情况,运用复杂性科学的方法论试图解析高校战略管理问题。  关键词:高校;战略管理;复杂性科学;  中图分类号:G47  基金项目:浙江农林大学科研发展基金 2013FK020。  高校战略管理是一个复杂系统,它既受到来