案例教学法在“C++程序设计”课程教学改革中的应用研究

来源 :计算机时代 | 被引量 : 0次 | 上传用户:woodcock999
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要: 对C++程序设计课程教学现状进行分析,阐述了案例教学法中案例的选取。分别选择了“简单图书管理系统”作为讲解“类和对象”的案例、“简单复数计算器”作为讲解“运算符重载”的案例和“简单公司员工管理系统”作为讲解“继承派生和多态性”的案例;阐述了案例教学法在课堂教学中的应用。通过案例教学法的实施推动“C++程序设计”课程教学改革。
  关键词: 案例教学法; 教学改革; C++程序设计; 教学效果
  中图分类号:G424 文献标志码:A 文章编号:1006-8228(2015)11-68-03
  Abstract: This paper analyzes the present situation of the teaching of "C++ programming" course, expounds the selection of cases in the case teaching. The "simple library management system" is chosen as a case to explain the class and object, "a simple complex number calculator" as a case to explain the operator overloading, and "simple company employee management system" as a case to explain the inheritance and derivation and polymorphism. Through the case teaching, the teaching reform for the course of "C++ programming" is promoted.
  Key words: case teaching method; teaching reform; c++ programming; teaching effect
  0 引言
  “C++程序设计”课程是计算机和软件工程专业的一门专业基础课程,是后继程序开发、数据库等专业课的前导课程。该课程的教学目标是使学生理解面向对象程序设计的有关概念,通过编程掌握面向对象程序设计的方法,但是该课程不是一门面向对象程序设计的理论课程,而是应用过程中引出面向对象程序设计的概念,通过编程过程理解面向对象程序设计方法,所以该课程对理论知识及实践环节的要求都很高[1]。笔者根据C++程序设计课程的特点,结合教学过程中遇到的实际情况,改变传统的教学方式,采用案例教学法开展教学,进而探索该课程的教学改革,与大家共勉,以求集思广益,共同提高本课程的教学效果[2]。
  1 教学现状分析
  传统的课堂教学,学生只能聆听主讲教师授课,学习主动性不足,不能激发学生学习兴趣[3];传统的教学方法基本上是首先讲解知识点,然后围绕知识点举一些关于知识点应用的例子,这样学生掌握的知识点比较零散,没有全局观念[4]。“C++程序设计”课程不仅要求学生掌握C++语言的语法和面向对象程序设计的思想,而且还要能够让学生进一步掌握理解软件设计中非常重要的思想“模块化设计”和“自顶向下,逐步细化”设计方法[5]。
  2 教学改革实施
  2.1 案例选取
  2014-2015学年第二学期,对软件工程专业实施了“C++程序设计”课程教学改革,本次课程改革主要采用 “案例教学法”对教学方法进行改革,“案例教学法”首先就要选取案例,将案例应用到教学过程中。在课程改革中选择了“简单图书管理系统”作为讲解“类和对象”的案例、“简单复数计算器”作为讲解“运算符重载”的案例和“简单公司员工管理系统”作为讲解“继承派生和多态性”的案例,如表1所示。
  表1 案例与对应的知识点表
  [案例\&知识点\&简单图书管理系统\&类和对象\&简单复数计算器\&运算符重载\&简单公司员工管理系统\&继承派生和多态性\&]
  ⑴ 简单图书管理系统:通过该案例让学生理解类和对象的含义,掌握类声明和对象定义的方法。在该案例中涉及到三个类,即图书类、读者类和管理员类。图书类能够描述图书的相关信息同时能够实现图书的显示、图书的状态、配合图书借还等功能;读者类描述了读者的相关信息同时能够实现读者信息的显示、配合图书借还等功能;图书管理员类描述了图书管理员的相关信息同时能够实现图书和读者的增加、删除、修改和查询功能以及图书的借还功能。
  ⑵ 简单复数计算器:通过该案例主要让学生理解运算符重载的含义和类型的含义,以及掌握运算符重载的方法和类型转换的方法。在该案例中,通过友元函数和成员函数的实现运算符的重载,实现复数的四则运算;通过转换构造函数实现一个标准类型向用户自定义类型的转换;通过类型转换函数实现用户自定义类型向标准类型的转换。
  ⑶ 简单公司员工管理系统:通过该案例让学生理解继承派生、多态性的含义和掌握派生类的特性和通过虚函数实现动态多态。在案例中首先声明员工类,员工类作为基类派生出管理人员类和程序开发人员类,实现简单的继承派生关系,再由案例功能需求引出实现动态多态的虚函数,通过虚函数与指针的配合使用实现面向对象程序设计中的一个非常重要特性即多态性。
  2.2 课堂教学
  “案例教学法”不仅能够激发学生的学习兴趣,而且能让学生体会软件设计中非常重要的“模块化设计”和“自顶向下,逐步细化”的设计思想和方法。教学过程按照“案例展示→任务描述→任务分析→知识点讲解→实现案例→疑难解析→归纳总结”等环节实施教学。以“简单公司员工管理系统”为例来展示教学过程。
  ⑴ 案例展示:课前准备好案例,课上将案例运行的结果展示给学生。图1所示为“简单公司员工管理系统”运行结果。   ⑵ 任务描述:根据案例运行的结果,描述案例的任务。图1案例主要是计算三类员工的工资即行政管理类员工、开发类员工和项目管理类员工的工资,每类员工根据级别的不同都有自已的工资、奖金和加班费的计算公式。
  ⑶ 任务分析:图1案例中涉及到三个类:行政管理员工类、开发型员工类和项目管理员工类。这三个类有共同的特性,都是该公司的员工,所以可以先定义一个员工类作为基类,再由员工类派生出行政管理员工类和开发型员工类两个派生类,而项目管理类员工既具有行政管理类员工的特性又具有开发人员员工的特性,所以把行政管理类员工和开发人员类员工作为项目管理类员工的共同基类。因为三类员工都要计算月薪,所以要把计算月薪的函数定义为虚函数。
  ⑷ 知识点讲解:根据前面的任务分析,完成该案例要用到继承派生以及虚函数和多态性,在这一环节中主要向学生讲解继承和派生的含义,以及派生类的声明和派生类的特征,另外还有虚函数的定义和虚函数与指针结合实现动态多态性。
  ⑸ 实现案例:声明公司员工类Company_Employee作为基类,以此类为基类派生出行政管理员工类Employee_Manager和开发人员类Employee_Developer,再以Employee_Manager和Employee_Developer为基类派生出项目管理员工类Employee_Branch,同时定义各类的成员函数和主函数。
  ⑹ 疑难解析:在这一环节中主要是解答学生在学习过程中存在的问题,该案例中主要的问题是多重继承即项目管理员工类Employee_Branch的特性和多态性,前一个问题是该的案例中难点但不是重点,而后一个问题既是该案例中的重点也是该案例中的难点。
  ⑺ 归纳总结:根据前面各环节,总结归纳该案例中难点、重点、编写程序中的注意点以及体会面向对象程序设计的思想和特征。
  2.3 教学总结
  此次课程改革虽然取得了一定的效果,但仍然存在不少问题,现将存在的问题和改进措施总结如下。
  ⑴ 案例选取,本次课程改革选取的“简单图书管理系统”和“公司员工管理系统”功能有点复杂,有些学生不能够完全理解,下学年再上这门课时,要选择相对比较简单的案例。
  ⑵ 团队合作精神,本次课程改革只是让学生单独完成一个程序,下学年再上这课时,先让学生单独完成一个作业,然后再团队合作完成一个功能相对复杂的系统。
  3 结束语
  本文对“C++程序设计”课程目前现状作了简要分析,在此基础上从案例选取、案例教学法的实施过程等方面提出了一些改革措施,在实际教学过程中能够在一定程度上激发学生学习兴趣,从学生考试的结果来看,学生编程动手能力得到一定的提高。教学改革是一个不断完善的过程,程序设计课程涉及到软件工程、数据结构、算法分析等多门课程,因此还需要引导学生拓展到多个相关课程进行深入学习。课程教学改革,是一项常做常新工作,要在教学过程中进一步加大“C++程序设计”课程教学改革的力度,不断努力,提高教学质量,真正落实“C++程序设计”课程在软件技术专业技能型人才培养中的作用。
  参考文献(References):
  [1] 姚利民,段文彧.高校教学方法改革探讨[J].中国大学教学,
  2013.8:60-64
  [2] 梁凤兰.基于CDIO的《数据库原理及应用》实践课程教学改
  革探究[J].软件导刊,2013.12:187-188
  [3] 李寒梅.案例教学在教师教育课堂教学中的观察与启示[J].
  中国大学教学,2013.6:70-72
  [4] 于启红.案例教学法在编程语言课程中的作用探讨[J].计算
  机时代,2014.11:62-64
  [5] 逮燕玲.基于CDIO教育理念的数据库课程实验设计[J].实验
  技术与管理,2013.1:22
其他文献
摘 要: 针对传统教学模式中理论教学和实践教学脱节的问题,结合C语言程序设计课程与应用技术类专业学生的学习特点,采用“教学做”一体化教学模式进行C语言程序设计教学实践。从教学场所、教学方案、考核方案、教学实施等方面进行研究。实践表明,这种教学方式有助于提高学生的实践能力和综合素质。  关键词: 教学做; C语言; 教学模式; 程序设计  中图分类号:G642 文献标志码:A 文章编号:1006-8
DOI:10.16644/j.cnki.cn33-1094/tp.2016.09.031  摘 要: 互联网不断地融合各大传统产业,人们的生活、工作乃至思维逻辑都逐步发生着改变。高等学校党务管理部门负责干部的培训,高校党务工作必须适应时代要求,步入科学化、信息化的新时代。以广东工商职业学院为例,分析并设计一套与“互联网+”相融合的高校党务管理系统。  关键词: 互联网+; 党务管理; 需求分析;
现代远程教育的开展推进了终身教育体系与终身学习社会的构建。在远程教育中,如何高效开展实验教学是困扰教育管理者的一大难题,而虚拟实验的出现,为解决这一难题提供了一种
无线多跳网络因为内外因素的影响而呈现出不同的服务质量。节点作为网络的参与者,需要在个体利益与群体效用之间做出合理的权衡,以适应无线网络的实时动态性。基于博弈理论的基
提出了Canny算子与小波变换相结合的道路边缘特征提取算法。首先用Canny算子对原图像提取边缘,与原图像进行叠加,再用小波变换对此图像进行二次边缘提取,有效地提取道路边缘特征,避免了Canny算子提取道路边缘不连续现象和小波变换提取边缘时出现的虚假边缘信息。
以杨凌职业技术学院信息工程分院为例,针对计算机实验实训室管理过程中存在的机器使用频率高、软件更换频繁、人员流动性及日常维护难度大等问题,从实训室人员的素质及现状、
完善高职人才培养评价机制是发展高职教育的有效手段,“点线面体”立体型高职人才培养评价机制是对高职人才培养模式的创新和探索。介绍了基于B/S结构的“点线面体”立体型高职
摘 要: 传统的C语言程序设计教学存在不足,不仅影响了本门课程的教学质量,还影响了后续语言类课程的学习。为了改善该课程的教学效果,提出从教学质量控制、教学互动、代码规范和考试等方面进行改革的措施。实践结果表明,这些改革措施明显改善了C语言程序设计课程的教学效果。  关键词: 软件工程; C语言; 教学改革; 考试改革  中图分类号:G642 文献标志码:A 文章编号:1006-8228(2015)
摘 要: 介绍了移动互联网行业的现状,分析了行业发展趋势和人才需求特点。针对当前高职院校移动应用开发技术人才培养现状,阐述了师资队伍建设的重要性并提出促进教师队伍专业知识和技术水平提高的策略。在教学实践的基础上总结了本教学团队建设所取得的经验。  关键词: 移动互联网; 移动应用开发技术; 教学团队建设; 产教融合  中图分类号:G712 文献标志码:A 文章编号:1006-8228(2015)1
研究了一种基于RBF神经网络的电力变压器故障诊断方法。该方法采用目前应用较多的隐含层为径向基函数的最小正交二乘法训练人工神经网络,克服了BP算法易陷入局部极小、收敛速