谈引入软件工程思想的C语言案例教学法

时间:2022-11-16 08:20:56 硕士论文 我要投稿
  • 相关推荐

谈引入软件工程思想的C语言案例教学法

  [摘 要]针对目前C语言课程教学中广泛存在的学生综合应用能力不高的问题,文章提出在C语言案例教学中引入软件工程思想,以帮助学生培养良好的编程习惯,提高软件研发能力,并结合学生信息管理系统进行了教学示范。

谈引入软件工程思想的C语言案例教学法

  [关键词]C语言 案例教学法 软件工程 软件分析

  C语言是目前使用最广泛的高级程序设计语言之一。C语言表达能力强、使用方便灵活,目标程序执行效率高、可移植性好,既可用于编写系统软件,也可用于编写应用软件。因此很多高校把C语言作为计算机程序设计的入门语言。但是由于C语言开课时问早(常常在第一学期或第二学期),此时学生多数只是使用过诸如办公自动化等软件,对程序设计语言接触不多,对软件开发了解甚少,在学习C语言时困难重重,尤其是对于循环、数组、函数、指针和结构体等知识点较难理解。为此我们进行了一些探索尝试,也取得了些许经验。

  1.C语言课程教学现状

  目前,C语言课程的学时主要是60~8O学时,由于学时有限,C语言课程侧重语法的教学,教材中的例题是针对个别知识点的,主要以数学问题为主,源代码较短,致使学生在学习C语言的过程中很难遇到超过100行的源程序。而与C语言相关的后续课程,如数据结构、操作系统和编译原理等,其算法的难度远远超过C语言教学中例题的难度,跨度过大,学生较难接受。

  针对上述问题,我们认识到,为了加深学生对C语法的理解,同时有利于后续课程衔接,应该在C语言教学中增加学生的代码量,而系统地使用案例教学法就可以达到此目的。本文接下来就讨论如何系统的使用案例教学法,同时将软件工程思想引入,从学生一开始接触编程语言就培养其良好的软件开发能力。

  2.引入软件工程思想的C语言案例教学法

  2.1案例教学法

  案例教学法于19世纪末出现在美国,2O世纪3O年代由美国哈佛商学院倡导,广泛应用于商业教育中,当时是采取一种很独特的案例形式的教学,这些案例都是来自于商业管理的真实情境或事件,透过此种方式,有助于培养和发展学生主动参与课堂讨论,实施之后,颇具绩效。

  20世纪7O年代后,迅速在普通教育领域受到重视并开始普及。目前已有很多教师将案例教学法应用于C语言程序设计课程的教学,常采用两种形式:一种是在每章教学结束后引入案例,另一种情况是在整门课程教学结束后引入案例。

  第一种在每章教学结束后引入案例,这实际上并不是真正意义上的案例,只是在各章节语法教学环节针对相应知识点所设计的例题而已,通常以简单算法为主,其目的是帮助学生对C语言语法的掌握。此时如果再结合设陷法,对该语法可能存在的问题,有针对地设计一些小错误,让学生去改错、调试。这样的练习,势必会加深学生对C语法的理解,同时学生调试程序的能力也在不断地提高,对C语言的学习兴趣也在点滴中增强。但是这样的实例对于C语言的综合应用能力的培养是远远不够的,而且还不利于衔接后续课程,如:数据结构、操作系统和编译原理等专业课程的学习是对C语言各知识点的综合应用,要求学生不但要熟练掌握C语言语法,同时还要具备一定的编程能力,光凭各章节的几个例题是无法达到的。

  第二种在整门课程教学结束后引入案例,确实可以让学生体会到软件开发的过程和乐趣,同时也是对C语言各语法的综合应用,这才是本文要讨论的案例,它的实现具有一定的应用价值,代码量达到一定规模,有利于培养学生软件开发能力。但是结合以往教学经验发现,这样引入案例并没有达到所预期的效果,由于之前知识点的遗忘,很多学生在课程结束面对案例时还是无从下手。我们认为应该系统地使用案例,即选取一个案例使其贯穿C语言教学始终,在每一阶段的教学中都有一个相对比较完整的程序呈现在学生面前,前一阶段成果是下一阶段工作的基础,下一阶段工作是前一阶段工作的改进或完善。这样已学知识点会被反复使用,从而既巩固对已学知识点的掌握,又是自身软件开发能力的不断提高。

  2.2软件工程思想

  在20世纪60年代为解决“软件危机”问题软件工程课程迅速发展起来,它是一门建立在系统化、规范化、数量化等工程原则和方法上的,关于软件开发各阶段的定义、任务和作用的工程学科。它包括两方面内容:软件开发技术和软件项且管理。软件开发技术包括软件开发方法学、软件工具和软件工程环境;软件项目管理则包括软件度量、项目估算、进度控制、人员组织、配置管理和项目计划等。

  经典的软件工程思想将软件开发分为3个阶段:软件定义、软件开发和软件维护。软件定义可进一步划分为问题定义、可行性分析和需求分析。在这一阶段,通过对应用问题及其环境的理解与分析,建立系统模型,将用户的需求精确化、完全化。软件开发阶段可进而划分为:总体设计、详细设计、编码和测试。总体设计阶段的主要任务是如何得到一个能够实现用户需求的理想的系统结构,详细设计的任务是进行系统所需要的数据结构设计或者数据库的物理设计以及模块逻辑开发。编码即软件系统的实现阶段,在现代的软件工程中,编码阶段所占的比重正在逐渐地缩小。软件测试是软件工程过程的一个重要阶段,其主要任务是对软件分析、设计和编码各阶段的产品进行检查,保证软件开发产品的正确性、完全性和一致性,检测并修正软件中出现的错误。软件维护是在软件产品交付给用户之后进行的修改工作,维护工作的好坏直接影响到用户的满意程度,关系到开发者的信誉。

  2.3引入软件工程思想的C语言案例教学法

  软件工程思想在软件开发过程中的重要性不言而喻,但是在高校计算机专业课程设置中软件工程课程可能在第6~7学期开设,此时学生对于软件开发已有所体验,也已形成一些软件开发的想法和习惯,这些想法和习惯也许并不利用软件开发,光凭一门课程的学习想要改变可能太晚了。因此我们认为软件工程思想应该是贯穿计算机相关课程教学的,从学生接触编程语言开始,教师就应该不断的引导学生,让其在不断接触过程中潜移默化,从而具备优秀的软件开发能力和素质。

  本文将软件工程思想引人C语言的案例教学法,在进行案例教学的同时结合软件工程思想以帮助学生更好地建立软件开发的思想,也容易与后续课程衔接。这里涉及两个问题:1)案例的选取;2)案例的引入和教学。

  那么案例如何来选取呢?我们建议要符合以下几个条件:1)案例背景不能太复杂,应该是学生容易理解的,2)案例规模适中,要能全面表现C语言各要素,但是系统不能过于庞大,应该适合教学。管理系统是不错的选择,如学生信息管理、图书管理等,这里我们选择的案例是学生信息管理系统。

  有关案例的引入和教学,我们认为案例可以在讲授C语言概述之后引入,为了培养学生的学习兴趣,提高其参与感,在引入案例之后,系统功能的确定应该是教师与学生共同完成的。接下来跟随教学的进程,确定所需变量及变量类型,实现系统功能。该系统的实现贯穿C语言教学的始终,而且要求在不同教学阶段,该系统都是可以运行的,而不是把所有代码留到课程的最后。同时建议在每一阶段完成一定的文档说明,这是很多学生甚至教师都不给予重视的。下面通过一个教学示范来说明结合软件工程思想的C语言案例教学法。

  3.教学示范

  本文以学生信息管理系统为例介绍前述案例教学法在C语言教学中的应用。学生信息管理系统,要求实现如下功能:学生信息的输入输出、插入、删除、查询、成绩的排序和统计等。C语言的教学通常按如下内容及顺序进行:C语言概述一数据类型、运算符与表达式→顺序程序设计→选择结构程序设计 →循环控制→数组→函数→预处理命令→指针→结构体与共用体→文件。

  学生信息管理系统实现的各阶段任务与C语言教学内容及软件工程思想阶段的对应关系。其中C语言概述和数据类型、运算符与表达式部分的教学后,很难完成具有实质性的编程工作,作为软件定义、分析阶段,先确定功能,由于本系统与学生密切相关,功能最好教师不要指定,而是与学生一起讨论得出,接着分析各数据含义确定变量类型。从顺序程序设计到文件的教学作为软件开发阶段,顺序程序没计部分的教学,打印完成一个菜单;选择结构程序设计部分的教学,实现上述菜单的功能选择;循环结构的教学则实现菜单的循环选择;数组部分实现大多数功能,此时具备一定代码规模,可以适时引出模块化思想;接下来函数部分将按功能设计函数,至此一个相对比较完整的学生信息管理系统应该已完成。后续部分教学归属于维护阶段,前述系统代码量较大,可以在预处理命令部分将程序文件分出多个文件,指针部分可以扩充其他功能或重写函数部分得到的系统并对比,结构体与共用体部分的教学将学生信息改为结构体类型后重新实现前述系统,最后文件部分将学生信息存人文件。

  4.结束语

  本文对C语言程序设计的教学方法进行探讨,将软件工程思想结合案例教学法引入C语言的教学中,从学生接触编程语言开始就培养软件工程思想,有助于学生从整体上体会软件开发的全过程。

【谈引入软件工程思想的C语言案例教学法】相关文章:

谈“异步教学法”的运用06-13

探析在项目教学中引入隐性分层教学的思想05-31

关于校应用写作教学法摭谈08-14

谈现实案例在理财规划课程案例教学中的应用08-13

案例教学法在市场营销的新应用的论文04-15

谈“和而不同”思想中蕴含的伦理思想08-03

谈哲学思想的艺术发挥08-02

谈计算机应用基础任务驱动教学法08-06

谈《老子》哲学思想与设计论文04-13

谈语言与文化的关系论文04-30