2019年第16期
信息与电脑
China Computer & Communication
教学与教育信息化
项目式教学在《C++程序设计》课程中的应用
王耀飞
(内蒙古财经大学,内蒙古 呼和浩特 010070)
摘 要:《C++程序设计》课程是计算机类专业学生学习面向对象程序设计的一门重要的专业基础课。针对学生在C++语言学习过程中项目经验不足、难以理解面向对象程序设计特点等问题,设计并实践了《C++程序设计》课程项目式教学方法的教学过程及评价方式,激发了学生学习C++语言的兴趣,调动了学生的学习主动性。
关键词:项目式教学;C++程序设计;面向对象程序设计
中图分类号:TP311.1-4;G642.4 文献标识码:A 文章编号:1003-9767(2019)16-239-02 Application of Project-based Teaching in the Course of “C++ Programming”
Wang Yaofei
(Inner Mongolia University of Finance and Economics, Hohhot Inner Mongolia 010070, China) Abstract: C++ Programming is an important basic course for computer majors to learn object-oriented programming. Aiming at the problems of insufficient project experience and difficulty in understanding the characteristics of object-oriented programming in C++ language learning, we design and practice the teaching process and evaluation method of project-based teaching in C++ programming course, which stimulates students' interests in learning C++ language and mobilizes students' learning initiative.
Key words: project-based Teaching; C++ Programming; 0bject-oriented Programming
0 引言
随着科学技术的迅猛发展,人类创造了前所未有的物质财富,科技发展的关键在于创新,而创新的关键在于人才[1]。人才培养是推动社会进步的重要手段,然而现阶段高校培养的人才仍然存在动手能力不足、与企业人才需求不符等问题[2],这些问题在计算机类人才培养中表现得尤为明显。
在《C++程序设计》课程教学过程中,如何有效契合企业需求、提高学生动手实践能力,逐渐成为课程的教学重点。项目式教学可有效地将学生所学理论知识与实践技能相结合,具有整体性、综合性和探究性,让学生在解决实际问题的过程中边做边学,有利于激发学生的学习兴趣,充分调动学生的学习主动性。
1 项目式教学概述
1.1 项目式教学定义
项目式教学起源于欧洲的劳动教育思想,1918年美国学者克伯屈首次提出了“项目教学法(The Project Method)”,之后逐渐发展成为一个重要的教学理论。项目式教学是在教学过程中,利用具有教育价值的实践项目而完成的一项综合的、具有探究性和实际意义的教学活动,其参与主体是教师和学生,关键因素是教学项目。
类似于传统学徒制教育,教师通过布置一系列教学项目引导学生进行实践学习,加深其对理论知识的理解。学生在完成项目的过程中可自主安排自己的学习行为,教师仅仅进行项目答疑,并鼓励学生克服项目中遇到的问题。
1.2 项目式教学特点
项目式教学有5个特点。第一,任务性。教学项目是以知识结构为基础,以任务为驱动构建的一个完整项目,在项目完成过程中要以阶段为单位安排学习任务和学习时间,学生应在截止日期前完成阶段性目标,提交阶段性成果。第二,组织性。项目式教学应以小组为单位来组织,促进学生之间的学习交流,鼓励团队合作。第三,过程性。项目式学习过程不局限于课堂,鼓励学生有效利用讲座、学习交流小组、慕课等现有学习资源。第四,评价性。对学生项目的评价要根据不同的项目特点,采用多种评价方法进行综合评价。第五,主动性。要充分调动学生的学习积极性,鼓励学生自主
基金项目:内蒙古财经大学校级教育教学改革项目“‘新工科’建设背景下《程序设计基础二》课程项目式教学方法研究”(项目编号:JGKT201801)。
作者简介:王耀飞(1988—),男,内蒙古呼和浩特人,硕士研究生,助教。研究方向:计算机软件与理论、分布式系统。
2019年第16期
信息与电脑
China Computer & Communication
教学与教育信息化
探索有意义的项目,主动学习项目相关知识,相互交流学习心得并分享自己的学习成果。
1.3 《C++程序设计》课程项目式教学必要性
C++语言是一门面向对象的编程语言,而面向对象程序设计具有抽象、封装、继承和多态4个特性。在以往的教学过程中,发现学生通过简单的“图形、圆形、三角形”等实例,很难理解面向对象程序设计思维的魅力所在。这是因为这些小型示例程序的代码量太小,利用面向过程语言也可以设计出与面向对象语言媲美的程序。因此,《C++程序设计》课程的教学,有必要引入项目式教学方法,让学生在中小型教
学项目的锻炼中领略到通过类封装、通过继承复用代码的优势,充分理解面向对象特性,从而建立面向对象思维。
2 《C++程序设计》课程项目式教学实践
2.1 教学项目库建设
在项目式教学中,教学项目库的建设是一个持久且不断完善的过程。在每年的教学过程中应总结教学项目的难度、优势与不足,并及时更新项目,与时俱进。教学项目库的优劣直接影响着学生对这门课的学习效果。《C++程序设计》课程教学项目库中的每个项目应包含的模块如表1所示。
表1 教学项目库包含模块
序号名称描述
1项目题目简明,明确,有概括性
2项目难度5分制难度,初始建立时根据教师经验而定,在教学过程中根据学生项目完成情况调整
3项目总体描述描述项目的现实意义、立项目的及价值
4项目来源为提高学生兴趣,项目最好来源于企业项目,教师通过改编以适用于教学
5基本功能需求描述项目的基本功能,最好以条目形式给出,清晰明了
6拔高功能需求提高难度,在基本功能完成的情况下,方便学有余力的学生团队深入学习
7所涉及知识点描述项目预计需要使用到的知识点,给学生适当的提示
8
建议小组人数
根据项目难度给出教师建议的小组人数范围
根据表1所示标准化的设计每个项目,形成适用于本校生源的C++项目库。项目库中的项目类型要多种多样,拥有足够多的知识点,可包含文本处理类、图形图像类、网络类、游戏类和数据库类等。另外,为培养学生的多样性及创造性,应鼓励学生自拟题目。2.2 教学过程
项目式教学过程总体流程如图1所示。在开课前首先要建立起项目库,并制订与项目式教学契合的教学计划。在教学过程中,利用多半时间进行理论知识讲解,中间穿插教材中的小型C++
实例程序演示,帮助学生理解面向对象编程思想。
图1 项目式教学过程
进入项目阶段后,教师发布C++项目库,并解释具体的项目功能需求,同时完成学生组队、队长选举并确定所要完成的项目。教师要规定特定的时间节点提交所需文档,包括项目需求说明书、概要设计说明书、详细设计说明书、源码和最终汇报PPT ,最后根据各个小组完成情况及个人参与的工作进行项目综合评价。2.3 项目评价
项目评价的总体思路是首先确定每个项目组的得分,然
后根据组内成员分工及完成工作量的多少,在项目组分数的基础上上下浮动给分。项目组的评分是通过教师与4个高年级优秀学长在项目汇报阶段根据量化评分表给出,具体的量化评分表如表2所示。
大学编程课是学什么的表2 项目量化评分表
序号评分指标指标说明满分评分
1代码部署代码是否可以正常使用52界面界面布局是否合理
103基本功能是否完成项目基本功能,完成情况如何404拔高功能是否完成项目基本功能,完成情况如何
105代码可读性代码注释是否规范
106项目文档项目文档是否完整,完成情况如何207
汇报情况
汇报是否完整,PPT 是否美观
5
小组最终成绩计算方式如公式1所示。教师评分权重为0.4,每个高年级学长的评分权重为0.15。
4
10.40.15/4i i V G G ==××∑学长教师+()
(1)
3 结 语
通过《C++程序设计》课程项目式教学改革,充分调动
了学生的学习积极性。将所学理论知识应用在项目实践中,增强了学生的程序设计功底,提高了学生在
编程实践中解决问题的能力,锻炼了学生的团队沟通能力。同时,展示上一届学生的C++作品,能够为下一届学生树立良好的榜样,最终营造一个良好的学习氛围。
参考文献
[1]王晓辉.一流大学个性化人才培养模式研究[D].武汉:华中师范大学,2014:45.
[2]王颖.应用型创新人才培养问题及对策研究[J].教育理论与实践,2016,36(36):12-14.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论