基于OBE理念的C++课程应用型本科教学研究

(整期优先)网络出版时间:2022-12-16
/ 2

 基于OBE理念的C++课程应用型本科教学研究

雷茜茜

百色学院  信息工程学院 广西  百色  533000

摘要:针对应用型本科《C++程序设计》课程传统教学方式效果不好的问题,提出了基于OBE理念的教学目标和教学内容,根据学生专业对C++课程的教学目标,以学生为本,以最终成果为导向,采用多种教学方法,反向设计课程教学过程,并分阶段对阶段性成果进行评价,提升学生解决实际问题的能力。

关键词:OBE理念,C++课程,应用型本科教学

1 引言

《C++程序设计》一门编程基础教学课程,也是学生学习面向对象程序的入门课程,能否把这门课学好,对学生学习后续的专业课非常重要。C++是一门理论性和实践性并重的课程。目前,该课程的教学依然以教师讲解为主、学生听课、课后练习巩固的传统教学模式。由于C++的语法枯燥乏味、知识点多,学生产生畏难心理,因此学生学习积极性低,学习效果欠佳。且由于学生个体差异,存在 “两极分化”现象:部分学生学得很好,部分学生又一点都不会。课程仍偏重理论讲解。从而使学生的实际编程能力未得到提升。为解决这些问题,本文基于OBE“以学生为本,以成果为导向”的理念,对课程设计和教学实践进行研究改革,以提升C++课程的教学质量和学生使用面向对象技术解决实际问题的能力。

2 基于OBE理念的课程设计与实践

2.1课程目标设计

根据应用型本科专业毕业要求设计课程体系,从学生基础及专业出发,制定知识点学习目标及成果要求。

课程目标1:了解C与C++之间的关系,掌握C++程序的基本构成、数据存储及表示形式、基本运算方法,使学生熟练使用相应的集成开发工具,了解面向过程与面向对象程序设计的区别及联系,掌握C++程序编写和实现的方法和步骤,逐步了解使用面向对象编程思维的看待、分析和解决问题的方法和步骤。

课程目标2:掌握C++程序结构和语法、输入流与输出流的基本操作方法;应用函数实现指定功能的基本操作方法,利用指针与引用处理数据的基本操作方法。使学生逐步理解C++程序设计所涉及到的基本概念及利用这些知识进行编程的基本方法和步骤。

课程目标3:渗透面向对象的程序设计思维,理解类和对象的概念,掌握类和对象的定义及调用方法,掌握封装性、继承性和多态性等面向对象编程技术的应用;掌握利用面向对象编程技术解决实际问题的基本方法及步骤,能够独立调试、排错、测试程序。最终使学生能够独立完成面向对象程序的分析、设计和实现。

2.2 教学内容

序号

学时

教学内容

学习任务

评价方式

1

2

C++程序结构

(1)掌握C++程序的基本构成、程序编写和运行的方法和步骤。

(2)掌握C++程序结构和语法:顺序结构、分支结构、循环结构、输入流与输出流的基本操作方法。

学生编程实现:求两个数中的最大值、求水仙花数。

3

2

基本数据类型

(1)掌握C++中数据的存储及表示形式、基本运算方法。

学生编程实现:输出:3.5*2+3*7-a的值、对“China”进行译文。

4

4

函数

(1)掌握利用函数实现指定功能的基本操作方法。

学生编程实现:求n!,利用函数重载分别求圆、三角形、矩形的面积。

5

4

类和对象

(1)掌握类和对象的特性、成员及其访问方式、如何利用类的封装性实现信息隐蔽。

(2)掌握对象的初始化、动态建立和释放、复制,对象指针、对象数组等对象的使用方法。

(3)掌握如何保护共用的数据及不同对象间的数据共享、如何使用友元等。

学生编程实现:定义Student类,成员有学号、姓名 、成绩、setdata()、display() ,并定义构造函数、赋值构造函数、析构函数等。

6

3

继承性

(1)掌握类的继承性,培养学生根据实际问题抽取类和对象、完成类和对象的设计、并利用对象的构造函数和特性实现指定功能的实际编程能力和程序调试、排错、测试能力。

学生编程实现:定义Student类和Teacher类及这两个的派生类Graduate 。

8

6

多态性

(1)掌握类的多态性,培养学生根据实际问题抽取类和对象、完成类和对象的设计、并利用对象的构造函数和特性实现指定功能的实际编程能力和程序调试、排错、测试能力。

学生编程实现:定义抽象类shape及其派生类圆、三角形、长方形,要求使用多态性计算面积。

9

6

实例编程

掌握项目需求分析、功能设计、模块实现、调试、排错、测试能力,及综合编程能力。

使用C++编程实现一个简单的酒店管理系统。

2.3 课程模块化设计

根据课程目标,将授课内容模块化,模块从基础知识延伸到应用拓展,逐步提升学生的知识能力。每个模块有对应的目标及任务,以分阶段考核教学成果。以类的对象的定义为例,将模块细分为:简单类和对象的定义、有成员的类和对象的定义、使用封装性的类和对象的定义、具有构造函数和析构函数的类和对象的定义、具有友元的类的定义。通过由浅入深的模块化学习方式,逐步提升学生的知识储备,通过学有所成的成就感提升学生的学习兴趣和积极性,逐步获得独立编写调试程序的实践能力。

课程期末考核摒弃传统的笔试方式,以上机编程的方式,考核学生的分析问题、解决问题和编程实践能力。课程整体考核以课堂表现、实验成绩、模块化作业成绩、期末成绩综合决定,全过程考核学生的学习成果。

3 总结

本论文基于OBE理念,以百色学院《C++程序设计》课程为例,从课程目标制定、课程内容设计、课程考核方式多方面分析研究,全程贯穿“以学生为本,以成果为导向”构建课程体系并加以实践。课程结束后将阶段性成果与最终结果进行对比分析,客观评价教学成果和学习成果。实践证明,基于OBE理念的课程实践,有效提高了课程教学质量和学生的程序设计能力,达到了理想的教学效果。

参考文献:

[1] 段雄春.应用型本科教育课程设置与开发——基于OBE教育理念[J].东莞理工学院学报,2017,24(06):104-107.DOI:10.16002/j.cnki.10090312.2017.06.018.

[2]张景波,张云琦,孙海峰,孙秀玲.OBE理念在C++程序设计课程教学中的应用研究[J].电脑知识与技术,2020,16(29):178-179.DOI:10.14004/j.cnki.ckt.2020.3324.

[3] 吕格莉,刘卫国,蔡旭晖,罗芳,何小贤.“互联网+”背景下基于OBE理念的教学设计与实践——以“计算机程序设计基础(C++)”课程为例[J].工业和信息化教育,2020 (11):47-51.

1