APP下载

《C++程序设计》课程实验教学改革与探索

2017-08-10徐洪智张彬连钟键

现代计算机 2017年15期
关键词:创新型程序设计实验教学

徐洪智,张彬连,钟键

(吉首大学软件服务外包学院,张家界 427000)

《C++程序设计》课程实验教学改革与探索

徐洪智,张彬连,钟键

(吉首大学软件服务外包学院,张家界 427000)

实践教学有助于巩固知识,培养观察问题、分析问题和解决问题的能力,提高实践教学质量对高校专业教育具有重要意义。考虑实验项目之间的递进性和连贯性,以及学生自学能力培养与个性发展需要,设计《C++程序设计》课程基础验证型、综合设计型、实践创新型三个层次的实验教学项目体系。基于CDIO模式教育理念进行实验项目的构思、设计、实施、运作,充分发挥学生在实验过程中的自主性,有效提升学生C++程序设计能力和创新能力。

C++课程;实验项目;CDIO;教学改革

0 引言

随着国家经济的快速发展,社会对毕业生的要求越来越高,不仅要求他们具备丰富的理论知识,同时还要有良好的创造性思维和扎实的实践能力。实验教学是一个培养学生动手、动脑的过程,既能培养学生实事求是的科学态度和探究问题的科学方法,又能帮助学生形成科学概念、理解和巩固科学知识,培养观察问题、分析问题和解决问题的能力,是高等教育提高学生实践能力和创新能力的重要途径之一。实践教学质量是教育质量的重要组成部分[1],提高实践教学质量对高校专业教育具有重要意义。

《C++程序设计》课程是软件工程等专业的专业基础课,也是实践性很强的课程[2],该课程对面向对象的软件设计思维培养具有重要作用[3]。通过对C++课程的学习,要求学生掌握面向对象程序设计中的抽象、封装、继承和多态等理论,理解软件的可重用性、可扩充性和可维护性等,能基于某种C++编程环境实现小型软件项目。由于C++本身涉及的知识较多,部分内容较为抽象难懂[4],所以该课程在开设形式上除设置理论教学环节之外,一般还会设置实验教学环节。经过多年实验教学的总结与探索,为进一步提高学生的实践能力与创新能力,通过对实验项目进行整合与优化,设计了C++程序设计课程实验教学体系。

1 实验教学项目设计总体构想

实验教学是培养学生动手能力与创新能力的重要环节,以往的C++课程实验教学基本围绕课程知识点展开,对学生工程实践能力和创新能力的培养还不够。因此,我们在原有的实践教学基础上,对实验教学进行改革,按逐层递进、连贯性和适应个性发展需要的思路对实验项目进行优化。

逐层递进。根据C++课程知识能力目标要求,结合教学进度安排与学生实际情况,实验项目难度基本遵循逐层递进的原则,从C++编程语法开始,到面向对象设计思维的培养,再到面向对象系统设计能力的提高。前十个实验项目包含C++程序设计的要点并尽量辐射到相关的专业课程知识,最后的研究创新型实验对课程知识进行综合运用,培养学生系统分析与设计能力。

连贯性。因为每个实验项目看起来是独立的,在进行实验项目设计时考虑各个项目之间的逻辑性与连贯性,使前后项目之间的内容衔接性更加紧密,前面的项目为后续项目提供基础,后面的项目是前面项目的拓展与深化。

适应个性发展需要。在实验项目选择与设计时,每个项目的基础功能比较简单,但可以通过一些拓展,使这个项目变得更具价值和挑战性。如在对象建立实验项目中,建立一个矩形对象后,不是简单地用cout显示这个矩形的相关信息,而是将这个矩形绘制出来,然后编写移动、着色等函数,这些拓展或可为将来的小游戏设计打下基础。考虑到实验项目拓展的需要,教师在课程理论教学时可提及EGE图形引擎的应用方法,要求学生自学一些相关内容。在具体的实验项目实施中,学生可自由拓展一些功能,实践创新型项目也可自由选择,项目功能可自由发挥,主要培养学生自主学习能力适应个性发展需要。

2 三层实验教学项目体系

按逐层递进的原则与连贯性思路,构建《C++程序设计》课程基础验证型、综合设计型、实践创新型三个层次的实验教学项目体系。其中,基础验证型实验主要加深学生对C++程序设计相关知识的理解,掌握面向对象程序设计的基本方法,如对象建立的实验要掌握类的定义方法,理解构造函数和析构函数何时被执行,对象在内存中的大小等;综合设计型实验内容涉及本课程的综合知识或与本课程相关课程知识,注重学生对理论知识的理解与综合应用,主要侧重于C++面向对象编程思想,培养学生面向对象的程序设计思维以及综合运用知识的能力,如多态和虚函数实验要求理解C++中的虚机制,掌握虚函数的应用,本实验还涉及图形的相关操作,要求学生自学图形引擎的相关函数并加以应用;实践创新型实验为一个小型应用项目,要求学生自己拓展项目的功能并按软件工程的方法设计与实现,撰写项目设计文档,项目结束时对项目进行演示和讲解,旨在培养学生的软件项目分析与实现能力。根据课程知识与能力线索设计C++课程实验项目表如表1所示。

3 实验项目实施

C++程序设计实验项目基于CDIO(Conceive,De⁃sign,Implement,Operate;构思,设计,实施,运作)教育理念进行实施,CDIO是一种指导工程教育人才培养模式改革的教育理念,强调学生在一个工程项目的生命周期中的自主学习和实践[5],注重培养学生获得扎实的基本理论和工程专业知识[6]。在实验项目的构思、设计、实施、运作过程中,学生是主体,实施“做中学”[7],教师是引导者,更多的是引导或指导学生学习。基于CDIO的项目实施方案如图1所示,为增强学生的工程实践能力,学院通过校企深度合作聘请企业技术专家与学校教师一起共同担任最后的实践创新型项目指导。

表1 C++课程实验项目表

图1 基于CDIO的项目实施

项目构思阶段主要培养学生获取软件项目需求的能力,要求学生根据项目基本描述理解项目的主要功能或业务需求,对于实践创新型项目,则由教师对学生进行编组,每个项目组需进行必要的项目调研,确定组员角色及任务分工;设计阶段主要培养学生进行软件项目设计的能力,《C++程序设计》课程实验项目主要为类和对象的设计,为了实现项目的功能,学生所要做的工作是确定定义哪些类,类中有哪些数据成员和成员函数,具体的算法是怎样的,输入和输出格式如何;项目实施阶段主要培养学生编码与调试能力,学生根据设计阶段产生的设计文档应用C++语言进行编码实现,并对代码进行调试与测试,本阶段要注意代码的风格,提高程序的可读性和可维护性;项目运作阶段主要学生归纳总结与表达能力,本阶段要求学生提交实验项目报告,实践创新型项目则进行项目评审,学生讲解项目设计思路,演示项目实现的功能,回答评审组教师的提问。

4 结语

C++是C语言的继承,它既支持面向过程的程序设计,又支持面向对象的程序设计,它不仅拥有高效运行的实用性特征,同时拥有程序设计语言的问题描述能力。设计《C++程序设计》课程基础验证型、综合设计型、实践创新型三层实验项目体系,基于CDIO教育理念进行实施,充分发挥学生在实验过程中的自主性,有效提升学生C++程序设计能力和创新能力。

[1]刘元林,孟庆强,潘莉,胡丹.实践教学质量监控与评价指标体系的构建研究[J].实验技术与管理,2011,28(1):19-21.

[2]马云吉.C++程序设计教学改革[J].计算机教育,2014(2):46-47.

[3]徐洪智.C++程序设计课程教学改革[J].计算机教育,2013(12):19-21.

[4]Stanley B.Lippman著,侯捷译.深度探索C++对象模型[M].武汉:华中科技大学出版社,2007.

[5]阮梦黎.CDIO导向下软件开发课程群建设的实践研究[J].中国成人教育,2015(17):158-160.

[6]陈澎,熊耀华,周慧.基于CDIO模式的软件工程实践教学课程建设的研究[J].软件工程,2016,19(1):1-3.

[7]查建中.论做中学战略下的CDIO模式[J].高等工程教育研究,2008(3):1-6.

Reform and Exploration of Experimental Teaching of C++Programming Course

XU Hong-zhi,ZHANG Bin-lian,ZHONG Jian

(Jishou University School of Software and Service Outsourcing,Zhangjiajie 427000)

Practical teaching is helpful to consolidate knowledge,cultivate the ability to observe,analyze,and solve problems.Improving the quality of practice teaching is of great significance to the professional education in Colleges.Takes into account the progressive nature of the experi⁃mental project,and the cultivation of students'self study ability and the development of students'personality,designs the system of experi⁃ment teaching project,which is based on the three levels of C++Programming curriculum verification,integrated design and practice inno⁃vation.The concept,design,implementation and operation of the experimental project play a student's autonomy in the experiment process, and enhance the C++program design ability and innovation ability.

徐洪智(1974-),男,湖南长沙人,副教授,研究方向为软件工程专业教学与管理

2017-03-06

2017-05-01

湖南省普通高校“十三五”专业综合改革试点项目(湘教通[2016]276号)、吉首大学教学改革研究项目(No.2014SYJG005、No.2016JSUJD037)

1007-1423(2017)15-0050-04

10.3969/j.issn.1007-1423.2017.15.013

张彬连(1978-),女,湖南湘潭人,硕士,副教授,研究方向为并行计算

钟键(1983-),男,湖南常德人,硕士,讲师,研究方向为图像处理技术

C++Programming Course;Experiment Project;CDIO;Teaching Reform

猜你喜欢

创新型程序设计实验教学
DARPA:美国创新型机构成功实例
学校创新型人才培养的实践与思考
关于基础教育阶段实验教学的几点看法
智能制造“四维”创新型人才培养方案研究
新工科下创新型人才培养的探索
医学专业“Python程序设计”课程教学改革总结与思考
小议初中化学演示实验教学
基于Visual Studio Code的C语言程序设计实践教学探索
对初中化学实验教学的认识和体会
从细节入手,谈PLC程序设计技巧